packages: kernel/linux-2.6-adp94xx.patch (NEW) - driver from Adaptec for 94...
marcus
marcus at pld-linux.org
Mon Mar 15 18:07:42 CET 2010
Author: marcus Date: Mon Mar 15 17:07:42 2010 GMT
Module: packages Tag: HEAD
---- Log message:
- driver from Adaptec for 94xx xontrollers
---- Files affected:
packages/kernel:
linux-2.6-adp94xx.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: packages/kernel/linux-2.6-adp94xx.patch
diff -u /dev/null packages/kernel/linux-2.6-adp94xx.patch:1.1
--- /dev/null Mon Mar 15 18:07:42 2010
+++ packages/kernel/linux-2.6-adp94xx.patch Mon Mar 15 18:07:37 2010
@@ -0,0 +1,45932 @@
+diff -uNr linux-2.6.16.old/drivers/scsi/Kconfig linux-2.6.16/drivers/scsi/Kconfig
+--- linux-2.6.16.old/drivers/scsi/Kconfig 2010-03-14 22:19:41.097357377 +0000
++++ linux-2.6.16/drivers/scsi/Kconfig 2010-03-14 22:20:03.548872170 +0000
+@@ -381,6 +381,7 @@
+ depends on SCSI && PCI
+
+ source "drivers/scsi/aic7xxx/Kconfig.aic7xxx"
++source "drivers/scsi/adp94xx/Kconfig"
+
+ config SCSI_AIC7XXX_OLD
+ tristate "Adaptec AIC7xxx support (old driver)"
+diff -uNr linux-2.6.16.old/drivers/scsi/Makefile linux-2.6.16/drivers/scsi/Makefile
+--- linux-2.6.16.old/drivers/scsi/Makefile 2010-03-14 22:07:50.800694000 +0000
++++ linux-2.6.16/drivers/scsi/Makefile 2010-03-14 22:13:22.225541458 +0000
+@@ -66,6 +66,7 @@
+ obj-$(CONFIG_SCSI_AIC7XXX) += aic7xxx/
+ obj-$(CONFIG_SCSI_AIC79XX) += aic7xxx/
+ obj-$(CONFIG_SCSI_AACRAID) += aacraid/
++obj-$(CONFIG_SCSI_ADP94XX) += adp94xx/
+ obj-$(CONFIG_SCSI_AIC7XXX_OLD) += aic7xxx_old.o
+ obj-$(CONFIG_SCSI_IPS) += ips.o
+ obj-$(CONFIG_SCSI_FD_MCS) += fd_mcs.o
+diff -uNr linux-2.6.16.old/drivers/scsi/adp94xx/How_To_Compile_SCSI_Drivers.txt linux-2.6.16/drivers/scsi/adp94xx/How_To_Compile_SCSI_Drivers.txt
+--- linux-2.6.16.old/drivers/scsi/adp94xx/How_To_Compile_SCSI_Drivers.txt 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.16/drivers/scsi/adp94xx/How_To_Compile_SCSI_Drivers.txt 2007-04-05 23:35:00.000000000 +0000
+@@ -0,0 +1,110 @@
++How To Compile SCSI Drivers
++===========================
++$Id$
++
++Assumptions
++-----------
++
++Kernel tree root is at /usr/src/linux and the current
++working directory is the kernel tree root, "cwd" or . for
++short.
++
++You should probably read the /usr/src/linux/README file.
++
++
++The kernel has to be configured
++-------------------------------
++
++Make sure that your kernel is configured. If you do not
++have .config file in your kernel root, then your kernel is
++not configured. If you have that file but you're unsure if
++your kernel is configured, then run "make oldconfig".
++
++You need a configuration file in order to configure the
++kernel. You get one by manually configuring the kernel
++("make menuconfig") or by copying a provided one from your
++vendor/distributor or by getting the one currently used by
++your running kenrel.
++
++The latter two choices work as follows: copy the config file
++of your desire from configs/ directory to . and rename it
++".config". Then run "make oldconfig". Or you can copy
++/proc/config.gz (if present, not all kernels support this)
++to . and then unzip it using gunzip(1) and then rename it to
++".config". Then run "make oldconfig".
++
++2.4.x
++-----
++
++Make the driver directory present in the kernel tree:
++
++cd drivers/scsi/
++mkdir adp94xx
++lndir <driver source directory> adp94xx
++
++Alternatively you can just copy the whole directory
++("cp -a") into "drivers/scsi/", just as long as it is called
++"adp94xx". Or you can create a symlink to the actual
++directory from drivers/scsi/ as long as the pointing symlink
++is called "adp94xx".
++
++Edit the "Makefile" to include the fact that we're building
++that driver. In the beginning after a bunch of lines
++starting with "subdir-$(..." add this line:
++
++subdir-$(CONFIG_SCSI_ADP94XX) += adp94xx
++
++Further down after the "ifeq" statement regarding
++"aic7xxx/aic79xxx" add this statement:
++
++ifeq ($(CONFIG_SCSI_ADP94XX),y)
++ obj-$(CONFIG_SCSI_ADP94XX) += adp94xx/adp94xx.o
++endif
++
++Edit the "Config.in" file to include this line:
++
++source drivers/scsi/adp94xx/Config.in
++
++after "source drivers/scsi/aic7xxx/Config.in" line.
++
++Then,
++
++cd ../../
++make oldconfig
++
++You will be asked only one question regarding the "new"
++driver which has just been added, which whould be the
++"adp94xx" driver. Answer 'm' for module. If you answer
++'n', stop reading here. If you answer 'y', the driver will
++be built into the kernel.
++
++Then you're ready to build it.
++
++make SUBDIRS=drivers/scsi/adp94xx modules
++
++The driver will be "drivers/scsi/adp94xx/adp94xx.o".
++
++To insert it into the kernel, do, as root:
++
++insmod drivers/scsi/adp94xx/adp94xx.o
++
++You may want to give options. See the readme.txt file in
++this directory.
++
++
++2.6.x
++-----
++
++cd <driver source directory>
++mv Makefile Makefile.2_4
++mv Makefile.2_6 Makefile
++make -C /usr/src/linux M=`pwd`
++
++The driver will be "adp94xx.ko".
++
++To insert it into the kernel, do:
++
++insmod adp94xx.ko
++
++You may want to give options. See the readme.txt file in
++this directory.
+diff -uNr linux-2.6.16.old/drivers/scsi/adp94xx/Kconfig linux-2.6.16/drivers/scsi/adp94xx/Kconfig
+--- linux-2.6.16.old/drivers/scsi/adp94xx/Kconfig 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.16/drivers/scsi/adp94xx/Kconfig 2007-04-05 23:35:00.000000000 +0000
+@@ -0,0 +1,11 @@
++#
++# adp94xx 2.5.x kernel configuration file.
++#
++# $Id$
++#
++config SCSI_ADP94XX
++ tristate "Adaptec AIC94xx SAS/SATA support"
++ depends on PCI && SCSI
++ help
++ This driver supports all of Adaptec's 3Gb/s PCI-X
++ based SAS/SATA controllers.
+diff -uNr linux-2.6.16.old/drivers/scsi/adp94xx/Makefile linux-2.6.16/drivers/scsi/adp94xx/Makefile
+--- linux-2.6.16.old/drivers/scsi/adp94xx/Makefile 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.16/drivers/scsi/adp94xx/Makefile 2007-04-05 23:35:00.000000000 +0000
+@@ -0,0 +1,28 @@
++#
++# Makefile for the Linux adp94xx SAS driver.
++#
++# $Id$
++#
++
++EXTRA_CFLAGS += -Idrivers/scsi -UASD_DEBUG -DSEQUENCER_UPDATE -DSATA_SKIP_FIX -DCONCURRENT_SUPPORT -UNO_SES_SUPPORT -UEXTENDED_SCB
++
++ifeq ($(CONFIG_SCSI_ADP94XX),)
++ CONFIG_SCSI_ADP94XX=m
++endif
++
++obj-$(CONFIG_SCSI_ADP94XX) += adp94xx.o
++
++# OSM and HWI Specific Files
++adp94xx-y += adp94xx_osm.o \
++ adp94xx_hwi.o \
++ adp94xx_seq.o \
++ adp94xx_discover.o
++
++# IOCTL Specific File
++adp94xx-y += adp94xx_ioctl.o
++
++# SATA Specific File
++adp94xx-y += adp94xx_sata.o
++
++
++
+diff -uNr linux-2.6.16.old/drivers/scsi/adp94xx/adp94xx_discover.c linux-2.6.16/drivers/scsi/adp94xx/adp94xx_discover.c
+--- linux-2.6.16.old/drivers/scsi/adp94xx/adp94xx_discover.c 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.16/drivers/scsi/adp94xx/adp94xx_discover.c 2007-04-05 23:37:42.000000000 +0000
+@@ -0,0 +1,8138 @@
++#define NO_VPD_WORKAROUND
++#define SMP_OVERRUN_WORKAROUND
++#define SMP_UNDERRUN_WORKAROUND
++/*
++ * Adaptec ADP94xx SAS HBA device driver for Linux.
++ *
++ * Copyright (c) 2004 Adaptec Inc.
++ * All rights reserved.
++ *
++ * Adapted by : Robert Tarte <robt at PacificCodeWorks.com>
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions, and the following disclaimer,
++ * without modification.
++ * 2. Redistributions in binary form must reproduce at minimum a disclaimer
++ * substantially similar to the "NO WARRANTY" disclaimer below
++ * ("Disclaimer") and any redistribution must be conditioned upon
++ * including a substantially similar Disclaimer requirement for further
++ * binary redistribution.
++ * 3. Neither the names of the above-listed copyright holders nor the names
++ * of any contributors may be used to endorse or promote products derived
++ * from this software without specific prior written permission.
++ *
++ * Alternatively, this software may be distributed under the terms of the
++ * GNU General Public License ("GPL") version 2 as published by the Free
++ * Software Foundation.
++ *
++ * NO WARRANTY
++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
++ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
++ * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
++ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
++ * POSSIBILITY OF SUCH DAMAGES.
++ */
++/*
++ * The source in this file is adapted from: SASDiscoverSimulation.cpp,
++ * from the SAS-1.1 draft, sas1r07.pdf, project T10/1601-D,
++ * ISO/IEC 14776-151:200x.
++ */
++/*
++ * This is an implementation of the initiator based expander discovery
++ * and configuration. Structure names used are equivalent to those
++ * referenced in the SAS document.
++ * Basic assumptions:
++ *
++ * 1. Change primitives will initiate a rediscovery/configuration sequence.
++ * 2. Table locations for SASAddresses are deterministic for a specific
++ * topology only, when the topology changes, the location of a SASAddress
++ * in an ASIC table cannot be assumed.
++ * 3. A complete discovery level occurs before the configuration of the
++ * level begins, multiple passes are required as the levels of expanders
++ * encountered between the initiator and the end devices is increased.
++ * 4. Configuration of a single expander occurs before proceeding to
++ * subsequent expanders attached.
++ * 5. The Attached structure is filled in following OOB and is available
++ * from the initialization routines.
++ *
++ * $Id$
++ *
++ */
++#define DISCOVER_DEBUG 0
++
++#include "adp94xx_osm.h"
++#include "adp94xx_inline.h"
++#include "adp94xx_sata.h"
++#if KDB_ENABLE
++#include "linux/kdb.h"
++#endif
++
++/*
++ * this defines the type of algorithm used for discover
++ */
++#if 0
++int DiscoverAlgorithm = SAS_SIMPLE_LEVEL_DESCENT;
++#else
++int DiscoverAlgorithm = SAS_UNIQUE_LEVEL_DESCENT;
++#endif
++
++#define ROUTE_ENTRY(expander, i, j) \
++ (expander->RouteTable + \
++ ((expander->num_phys * (i) * SAS_ADDR_LEN) + \
++ (j) * SAS_ADDR_LEN))
++
++#define DUMP_EXPANDER(s, expander) \
++ asd_dump_expander((uint8_t *)__FUNCTION__, __LINE__, (s), expander)
++
++#define NEW_STATE(new_state) new_state(sm_contextp, new_state)
++
++struct state_machine asd_DiscoverySM = {
++ asd_DiscoverySM_Initialize,
++ asd_DiscoverySM_StateMachine,
++ asd_DiscoverySM_Finish,
++ asd_DiscoverySM_Abort,
++ ASD_STATE_DISCOVER_START
++};
++
++struct state_machine asd_DiscoverExpanderSM = {
++ asd_DiscoverExpanderSM_Initialize,
++ asd_DiscoverExpanderSM_StateMachine,
++ asd_DiscoverExpanderSM_Finish,
++ asd_DiscoverExpanderSM_Abort,
++ ASD_STATE_REPORT_AND_DISCOVER_START
++};
++
++struct state_machine asd_DiscoverFindBoundarySM = {
++ asd_DiscoverFindBoundarySM_Initialize,
++ asd_DiscoverFindBoundarySM_StateMachine,
++ asd_DiscoverFindBoundarySM_Finish,
++ asd_DiscoverFindBoundarySM_Abort,
++ ASD_STATE_FIND_BOUNDARY_START
++};
++
++struct state_machine asd_DiscoverConfigSetSM = {
++ asd_DiscoverConfigSetSM_Initialize,
++ asd_DiscoverConfigSetSM_StateMachine,
++ asd_DiscoverConfigSetSM_Finish,
++ asd_DiscoverConfigSetSM_Abort,
++ ASD_STATE_CONFIG_SET_START
++};
++
++struct state_machine asd_ConfigureExpanderSM = {
++ asd_ConfigureExpanderSM_Initialize,
++ asd_ConfigureExpanderSM_StateMachine,
++ asd_ConfigureExpanderSM_Finish,
++ asd_ConfigureExpanderSM_Abort,
++ ASD_STATE_CONFIG_EXPANDER_START
++};
++
++struct state_machine asd_ConfigureATA_SM = {
++ asd_ConfigureATA_SM_Initialize,
++ asd_ConfigureATA_SM_StateMachine,
++ asd_ConfigureATA_SM_Finish,
++ asd_ConfigureATA_SM_Abort,
++ ASD_STATE_CONFIGURE_ATA_START
++};
++
++struct state_machine asd_InitSATA_SM = {
++ asd_InitSATA_SM_Initialize,
++ asd_InitSATA_SM_StateMachine,
++ asd_InitSATA_SM_Finish,
++ asd_InitSATA_SM_Abort,
++ ASD_STATE_INIT_SATA_START
++};
++
++struct state_machine asd_SATA_SpinHoldSM = {
++ asd_SATA_SpinHoldSM_Initialize,
++ asd_SATA_SpinHoldSM_StateMachine,
++ asd_SATA_SpinHoldSM_Finish,
++ asd_SATA_SpinHoldSM_Abort,
++ ASD_STATE_SATA_SPINHOLD_START
++};
++
++struct state_machine asd_InitSAS_SM = {
++ asd_InitSAS_SM_Initialize,
++ asd_InitSAS_SM_StateMachine,
++ asd_InitSAS_SM_Finish,
++ asd_InitSAS_SM_Abort,
++ ASD_STATE_INIT_SAS_START
++};
++
++struct state_machine asd_InitSMP_SM = {
++ asd_InitSMP_SM_Initialize,
++ asd_InitSMP_SM_StateMachine,
++ asd_InitSMP_SM_Finish,
++ asd_InitSMP_SM_Abort,
++ ASD_STATE_INIT_SMP_START
++};
++
++extern void
++asd_scb_internal_done(struct asd_softc *asd, struct scb *scb,
++ struct asd_done_list *dl);
++extern void asd_run_device_queues(struct asd_softc *asd);
++struct asd_target *asd_discover_get_target(struct state_machine_context
++ *sm_contextp,
++ uint8_t * dest_sas_address,
++ struct list_head *old_discover_listp,
++ struct list_head *found_listp,
++ unsigned conn_rate,
++ TRANSPORT_TYPE transport_type);
++
++struct asd_DiscoverySM_Context;
++
++static void asd_invalidate_targets(struct asd_softc *asd,
++ struct asd_port *port);
++static void asd_validate_targets_hotplug(struct asd_softc *asd,
++ struct asd_port *port,
++ struct asd_DiscoverySM_Context *ctx);
++static void asd_validate_targets_init(struct asd_softc *asd);
++static void asd_apply_conn_mask(struct asd_softc *asd,
++ struct list_head *discover_list);
++static int asd_discovery_queue_cmd(struct asd_softc *asd,
++ struct scb *scb, struct asd_target *targ,
++ struct asd_device *dev);
++
++#if DISCOVER_DEBUG
++static void asd_dump_tree(struct asd_softc *asd, struct asd_port *port);
++#else
++static void asd_dump_tree(struct asd_softc *asd, struct asd_port *port)
++{
++}
++#endif
++
++void asd_print_conn_rate(unsigned conn_rate, char *s)
++{
++ switch (conn_rate) {
++ case SAS_RATE_30GBPS:
++ printk(" 3.0-GBPS");
++ break;
++ case SAS_RATE_15GBPS:
++ printk(" 1.5-GBPS");
++ break;
++ default:
++ printk(" \?\?-GBPS");
++ break;
++ }
++ printk("%s", s);
++}
++
++void asd_print_state(unsigned state, char *s)
++{
++ switch (state) {
++ case ASD_STATE_DISCOVER_START:
++ printk("ASD_STATE_DISCOVER_START");
++ break;
++
++ case ASD_STATE_DISCOVER_ATTACHED:
++ printk("ASD_STATE_DISCOVER_ATTACHED");
++ break;
++
++ case ASD_STATE_FIND_BOUNDARY:
++ printk("ASD_STATE_FIND_BOUNDARY");
++ break;
++
++ case ASD_STATE_CONFIG_BOUNDARY_SET:
++ printk("ASD_STATE_CONFIG_BOUNDARY_SET");
++ break;
++
++ case ASD_STATE_CONFIG_ATTACHED_SET:
++ printk("ASD_STATE_CONFIG_ATTACHED_SET");
++ break;
++
++ case ASD_STATE_FINISHED:
++ printk("ASD_STATE_FINISHED");
++ break;
++
++ case ASD_STATE_SATA_SPINHOLD:
++ printk("ASD_STATE_SATA_SPINHOLD");
++ break;
++
++ case ASD_STATE_INIT_SATA:
++ printk("ASD_STATE_INIT_SATA");
++ break;
++
++ case ASD_STATE_INIT_SAS:
++ printk("ASD_STATE_INIT_SAS");
++ break;
++
++ case ASD_STATE_INIT_SMP:
++ printk("ASD_STATE_INIT_SMP");
++ break;
++
++ case ASD_STATE_FAILED:
++ printk("ASD_STATE_FAILED");
++ break;
++
++ case ASD_STATE_REPORT_AND_DISCOVER_START:
++ printk("ASD_STATE_REPORT_AND_DISCOVER_START");
++ break;
++
++ case ASD_STATE_ISSUE_REPORT_GENERAL:
++ printk("ASD_STATE_ISSUE_REPORT_GENERAL");
++ break;
++
++ case ASD_STATE_ISSUE_DISCOVER_LOOP:
++ printk("ASD_STATE_ISSUE_DISCOVER_LOOP");
++ break;
++
++ case ASD_STATE_REPORT_AND_DISCOVER_FINISHED:
++ printk("ASD_STATE_REPORT_AND_DISCOVER_FINISHED");
++ break;
++
++ case ASD_STATE_REPORT_AND_DISCOVER_FAILED:
++ printk("ASD_STATE_REPORT_AND_DISCOVER_FAILED");
++ break;
++
++ case ASD_STATE_FIND_BOUNDARY_START:
++ printk("ASD_STATE_FIND_BOUNDARY_START");
++ break;
++
++ case ASD_STATE_FIND_BOUNDARY_LOOP:
++ printk("ASD_STATE_FIND_BOUNDARY_LOOP");
++ break;
++
++ case ASD_STATE_FIND_BOUNDARY_FINISHED:
++ printk("ASD_STATE_FIND_BOUNDARY_FINISHED");
++ break;
++
++ case ASD_STATE_FIND_BOUNDARY_FAILED:
++ printk("ASD_STATE_FIND_BOUNDARY_FAILED");
++ break;
++
++ case ASD_STATE_CONFIG_SET_START:
++ printk("ASD_STATE_CONFIG_SET_START");
++ break;
++
++ case ASD_STATE_CONFIG_SET_ISSUE_DISCOVER:
++ printk("ASD_STATE_CONFIG_SET_ISSUE_DISCOVER");
++ break;
++
++ case ASD_STATE_CONFIG_SET_CONFIGURE_EXPANDER:
++ printk("ASD_STATE_CONFIG_SET_CONFIGURE_EXPANDER");
++ break;
++
++ case ASD_STATE_CONFIG_SET_FINISHED:
++ printk("ASD_STATE_CONFIG_SET_FINISHED");
++ break;
++
++ case ASD_STATE_CONFIG_SET_FAILED:
++ printk("ASD_STATE_CONFIG_SET_FAILED");
++ break;
++
++ case ASD_STATE_CONFIG_EXPANDER_START:
++ printk("ASD_STATE_CONFIG_EXPANDER_START");
++ break;
++
++ case ASD_STATE_CONFIG_EXPANDER_ROUTE:
++ printk("ASD_STATE_CONFIG_EXPANDER_ROUTE");
++ break;
++
++ case ASD_STATE_CONFIG_EXPANDER_ROUTE_LOOP:
++ printk("ASD_STATE_CONFIG_EXPANDER_ROUTE_LOOP");
++ break;
++
++ case ASD_STATE_CONFIG_EXPANDER_FINISHED:
++ printk("ASD_STATE_CONFIG_EXPANDER_FINISHED");
++ break;
++
++ case ASD_STATE_CONFIG_EXPANDER_FAILED:
++ printk("ASD_STATE_CONFIG_EXPANDER_FAILED");
++ break;
++
++ case ASD_STATE_INIT_SATA_START:
++ printk("ASD_STATE_INIT_SATA_START");
++ break;
++
++ case ASD_STATE_INIT_SATA_REPORT_PHY:
++ printk("ASD_STATE_INIT_SATA_REPORT_PHY");
++ break;
++
++ case ASD_STATE_INIT_SATA_IDENTIFY:
++ printk("ASD_STATE_INIT_SATA_IDENTIFY");
++ break;
++
++ case ASD_STATE_INIT_SATA_CONFIGURE_FEATURES:
++ printk("ASD_STATE_INIT_SATA_CONFIGURE_FEATURES");
++ break;
++
++ case ASD_STATE_INIT_SATA_FINISHED:
++ printk("ASD_STATE_INIT_SATA_FINISHED");
++ break;
++
++ case ASD_STATE_INIT_SATA_FAILED:
++ printk("ASD_STATE_INIT_SATA_FAILED");
++ break;
++
++ case ASD_STATE_SATA_SPINHOLD_START:
++ printk("ASD_STATE_SATA_SPINHOLD_START");
++ break;
++
++ case ASD_STATE_SATA_SPINHOLD_PHY_CONTROL:
++ printk("ASD_STATE_SATA_SPINHOLD_PHY_CONTROL");
++ break;
++
++ case ASD_STATE_SATA_SPINHOLD_DISCOVER:
++ printk("ASD_STATE_SATA_SPINHOLD_DISCOVER");
++ break;
++
++ case ASD_STATE_SATA_SPINHOLD_FINISHED:
++ printk("ASD_STATE_SATA_SPINHOLD_FINISHED");
++ break;
++
++ case ASD_STATE_SATA_SPINHOLD_FAILED:
++ printk("ASD_STATE_SATA_SPINHOLD_FAILED");
++ break;
++
++ case ASD_STATE_INIT_SAS_START:
++ printk("ASD_STATE_INIT_SAS_START");
++ break;
++
++ case ASD_STATE_INIT_SAS_INQUIRY:
++ printk("ASD_STATE_INIT_SAS_INQUIRY");
++ break;
++
++ case ASD_STATE_INIT_SAS_GET_DEVICE_ID:
++ printk("ASD_STATE_INIT_SAS_GET_DEVICE_ID");
<<Diff was trimmed, longer than 597 lines>>
More information about the pld-cvs-commit
mailing list