[GIT PULL] isci merge candidate

From: Dan Williams
Date: Fri May 13 2011 - 15:55:48 EST


[ Linus, only cc'ing you in case a new-driver merge exception can be
entertained at this very late date. James made clear he needed this in
advance of rc7, and this still needs Christoph's ack, but I would be
remiss not to send this after reaching this milestone...]

James, Christoph,

The isci driver team has now completed the major rework items addressed
in the review on linux-scsi (including removal of state handlers,
merging lldd and 'core', cleaning up the source code layout).

git://git.kernel.org/pub/scm/linux/kernel/git/djbw/isci.git master

We are now at a diffstat of:

46 files changed, 27172 insertions(+), 0 deletions(-)

...which is a massive improvement compared to where we started at the
beginning of this year.

161 files changed, 64288 insertions(+), 0 deletions(-)

This driver supports the 6Gb/s SAS/SATA capabilities of the upcoming
Intel(R) C600 series chipset family, where 2.6.39 is likely to be the
latest upstream kernel release available at that time. Below I include
the full diffstat of the current driver, followed by the changes since
the last release. I want to take this opportunity to thank the
reviewers and highlight that they have been credited with Reported-by's
(55 in total), with Christoph coming out on the top of that list with
44.

drivers/scsi/Kconfig | 13 +
drivers/scsi/Makefile | 1 +
drivers/scsi/isci/Makefile | 9 +
drivers/scsi/isci/firmware/Makefile | 19 +
drivers/scsi/isci/firmware/README | 36 +
drivers/scsi/isci/firmware/create_fw.c | 99 +
drivers/scsi/isci/firmware/create_fw.h | 77 +
drivers/scsi/isci/host.c | 3241 ++++++++++++++++++++++
drivers/scsi/isci/host.h | 828 ++++++
drivers/scsi/isci/init.c | 598 ++++
drivers/scsi/isci/isci.h | 554 ++++
drivers/scsi/isci/phy.c | 1454 ++++++++++
drivers/scsi/isci/phy.h | 583 ++++
drivers/scsi/isci/pool.h | 199 ++
drivers/scsi/isci/port.c | 1960 +++++++++++++
drivers/scsi/isci/port.h | 398 +++
drivers/scsi/isci/port_config.c | 826 ++++++
drivers/scsi/isci/probe_roms.c | 270 ++
drivers/scsi/isci/probe_roms.h | 273 ++
drivers/scsi/isci/registers.h | 1934 +++++++++++++
drivers/scsi/isci/remote_device.c | 1548 +++++++++++
drivers/scsi/isci/remote_device.h | 481 ++++
drivers/scsi/isci/remote_node_context.c | 652 +++++
drivers/scsi/isci/remote_node_context.h | 227 ++
drivers/scsi/isci/remote_node_table.c | 598 ++++
drivers/scsi/isci/remote_node_table.h | 188 ++
drivers/scsi/isci/request.c | 3687 +++++++++++++++++++++++++
drivers/scsi/isci/request.h | 805 ++++++
drivers/scsi/isci/sas.h | 228 ++
drivers/scsi/isci/sata.c | 234 ++
drivers/scsi/isci/sata.h | 79 +
drivers/scsi/isci/scu_completion_codes.h | 283 ++
drivers/scsi/isci/scu_event_codes.h | 336 +++
drivers/scsi/isci/scu_remote_node_context.h | 229 ++
drivers/scsi/isci/scu_task_context.h | 942 +++++++
drivers/scsi/isci/scu_unsolicited_frame.h | 117 +
drivers/scsi/isci/state_machine.c | 162 ++
drivers/scsi/isci/state_machine.h | 124 +
drivers/scsi/isci/task.c | 1557 +++++++++++
drivers/scsi/isci/task.h | 368 +++
drivers/scsi/isci/timers.c | 245 ++
drivers/scsi/isci/timers.h | 88 +
drivers/scsi/isci/unsolicited_frame_control.c | 354 +++
drivers/scsi/isci/unsolicited_frame_control.h | 251 ++
firmware/Makefile | 1 +
firmware/isci/isci_firmware.bin.ihex | 16 +
46 files changed, 27172 insertions(+), 0 deletions(-)

--
Dan for the isci driver team

The following changes since commit 364815082e2069616a6129bc4e59a1e80e33853f:

isci: kill scic_sds_remote_device.state_handlers (2011-05-01 17:15:51 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/djbw/isci.git master

Adam Gruchala (1):
isci: merge phy substates

Artur Wojcik (1):
isci: unify isci_host data structures

Dan Williams (38):
isci: remove compile-time (Kconfig) silicon configuration
isci: fix ata locking
isci: implement I_T_nexus_reset
isci: unify phy data structures
isci: unify port data structures
isci: move stp request info to scic_sds_request
isci: make sgl explicit/aligned request object member
isci: move task context alignment from run-time to compile time
isci: make command/response iu explicit request object members
isci: unify request data structures
isci: unify constants
isci: move core/controller to host
isci: uplevel register hardware data structures and unsolicited frame handling
isci: uplevel state machine
isci: uplevel request infrastructure
isci: uplevel phy infrastructure
isci: uplevel port infrastructure
isci: merge ssp task management substates into primary state machine
isci: merge smp request substates into primary state machine
isci: merge stp request substates into primary state machine
isci: unify request abort handlers
isci: unify request frame handlers
isci: remove request task context completion state handler
isci: remove the completion and event state handlers
isci: unify phy start handlers
isci: unify phy stop handlers
isci: unify phy reset handlers
isci: remove phy destruct handlers
isci: unify phy frame handlers
isci: unify phy event handlers
isci: unify phy consume_power handlers
isci: clarify phy to port lookups
isci: unify port start_io and complete_io handlers
isci: unify rnc event handlers
isci: unify rnc destruct handlers
isci: unify rnc suspend/resume handlers
isci: unify rnc start{io|task} handlers
isci: add some type safety to the state machine interface

Dave Jiang (16):
isci: Removing unused define SCIC_SDS_4_ENABLED
isci: Convert SATA fis data structures to Linux native
isci: Convert ATA defines to Linux native defines
isci: Convert SAS identify address frame to Linux Native format
isci: Collapsing of phy_type data structure
isci: renaming sas_capabilities to scic_phy_cap
isci: Fixup SSP command IU and task IU
isci: Convert of sci_ssp_response_iu to ssp_response_iu
isci: Fixup of smp request
isci: Converting smp_response to Linux native smp_resp
isci: remove redundant copies of IAF
isci: fixup SAS iaf protocols data structure
isci: Remove SCIC_SWAP_DWORD()
isci: Using Linux SSP frame header
isci: removing intel_*.h headers
isci: Removing unnecessary functions in request.c

Edmund Nadolski (2):
isci: kill scic_controller_get_port_handle function
isci: remove scic_sds_port_increment_request_count

Jacek Danecki (1):
isci: rnc state machine table c99 conversion

Piotr Sawicki (9):
isci: unify request start handlers
isci: c99 port state handlers
isci: merge port ready substates into primary state machine
isci: remove port start handler
isci: unify port stop handlers
isci: remove port destruct handler
isci: unify port reset, add_phy, and remove_phy handlers
isci: remove port frame and event handlers
isci: unify port link_up and link_down handlers

drivers/scsi/Kconfig | 18 -
drivers/scsi/isci/Makefile | 19 +-
drivers/scsi/isci/core/intel_ata.h | 554 ----
drivers/scsi/isci/core/intel_sas.h | 737 -----
drivers/scsi/isci/core/intel_sat.h | 95 -
drivers/scsi/isci/core/intel_sata.h | 280 --
drivers/scsi/isci/core/intel_scsi.h | 474 ---
drivers/scsi/isci/core/sci_base_state.h | 84 -
drivers/scsi/isci/core/sci_controller.h | 69 -
drivers/scsi/isci/core/sci_controller_constants.h | 215 --
drivers/scsi/isci/core/sci_status.h | 409 ---
drivers/scsi/isci/core/sci_util.c | 100 -
drivers/scsi/isci/core/sci_util.h | 108 -
drivers/scsi/isci/core/scic_config_parameters.h | 299 --
drivers/scsi/isci/core/scic_controller.h | 143 -
drivers/scsi/isci/core/scic_io_request.h | 328 --
drivers/scsi/isci/core/scic_phy.h | 306 --
drivers/scsi/isci/core/scic_port.h | 97 -
drivers/scsi/isci/core/scic_sds_controller.c | 3081 ------------------
drivers/scsi/isci/core/scic_sds_controller.h | 599 ----
drivers/scsi/isci/core/scic_sds_phy.c | 2405 --------------
drivers/scsi/isci/core/scic_sds_phy.h | 462 ---
drivers/scsi/isci/core/scic_sds_port.c | 2484 ---------------
drivers/scsi/isci/core/scic_sds_port.h | 450 ---
.../isci/core/scic_sds_port_configuration_agent.h | 108 -
drivers/scsi/isci/core/scic_sds_port_registers.h | 66 -
drivers/scsi/isci/core/scic_sds_request.c | 1800 -----------
drivers/scsi/isci/core/scic_sds_request.h | 484 ---
drivers/scsi/isci/core/scic_sds_smp_request.c | 628 ----
drivers/scsi/isci/core/scic_sds_smp_request.h | 68 -
drivers/scsi/isci/core/scic_sds_ssp_request.c | 243 --
.../scsi/isci/core/scic_sds_stp_packet_request.h | 114 -
drivers/scsi/isci/core/scic_sds_stp_pio_request.h | 105 -
drivers/scsi/isci/core/scic_sds_stp_request.c | 1813 -----------
drivers/scsi/isci/core/scic_sds_stp_request.h | 196 --
drivers/scsi/isci/core/scic_task_request.h | 147 -
drivers/scsi/isci/core/scu_constants.h | 151 -
drivers/scsi/isci/core/scu_viit_data.h | 178 --
drivers/scsi/isci/host.c | 2869 +++++++++++++++++-
drivers/scsi/isci/host.h | 671 ++++-
drivers/scsi/isci/init.c | 18 +-
drivers/scsi/isci/isci.h | 503 +++-
drivers/scsi/isci/phy.c | 1397 ++++++++-
drivers/scsi/isci/phy.h | 527 +++-
drivers/scsi/isci/{core/sci_pool.h => pool.h} | 0
drivers/scsi/isci/port.c | 1907 ++++++++++--
drivers/scsi/isci/port.h | 343 ++-
...ds_port_configuration_agent.c => port_config.c} | 264 +-
drivers/scsi/isci/probe_roms.c | 2 -
drivers/scsi/isci/probe_roms.h | 125 +-
.../isci/{core/scu_registers.h => registers.h} | 110 +-
drivers/scsi/isci/remote_device.c | 152 +-
drivers/scsi/isci/remote_device.h | 3 +-
drivers/scsi/isci/remote_node_context.c | 1135 ++-----
drivers/scsi/isci/remote_node_context.h | 105 +-
drivers/scsi/isci/remote_node_table.c | 2 -
drivers/scsi/isci/remote_node_table.h | 9 +-
drivers/scsi/isci/request.c | 3305 +++++++++++++++++---
drivers/scsi/isci/request.h | 485 +++-
drivers/scsi/isci/sas.h | 228 ++
drivers/scsi/isci/sata.c | 138 +-
drivers/scsi/isci/sata.h | 4 -
drivers/scsi/isci/sci_environment.h | 125 -
.../scsi/isci/{core => }/scu_completion_codes.h | 0
drivers/scsi/isci/{core => }/scu_event_codes.h | 0
drivers/scsi/isci/{core => }/scu_task_context.h | 0
.../scsi/isci/{core => }/scu_unsolicited_frame.h | 0
.../sci_base_state_machine.c => state_machine.c} | 26 +-
.../sci_base_state_machine.h => state_machine.h} | 71 +-
drivers/scsi/isci/task.c | 322 +--
drivers/scsi/isci/task.h | 51 +-
drivers/scsi/isci/timers.c | 1 +
...frame_control.c => unsolicited_frame_control.c} | 20 +-
...frame_control.h => unsolicited_frame_control.h} | 19 +-
74 files changed, 12145 insertions(+), 22709 deletions(-)
delete mode 100644 drivers/scsi/isci/core/intel_ata.h
delete mode 100644 drivers/scsi/isci/core/intel_sas.h
delete mode 100644 drivers/scsi/isci/core/intel_sat.h
delete mode 100644 drivers/scsi/isci/core/intel_sata.h
delete mode 100644 drivers/scsi/isci/core/intel_scsi.h
delete mode 100644 drivers/scsi/isci/core/sci_base_state.h
delete mode 100644 drivers/scsi/isci/core/sci_controller.h
delete mode 100644 drivers/scsi/isci/core/sci_controller_constants.h
delete mode 100644 drivers/scsi/isci/core/sci_status.h
delete mode 100644 drivers/scsi/isci/core/sci_util.c
delete mode 100644 drivers/scsi/isci/core/sci_util.h
delete mode 100644 drivers/scsi/isci/core/scic_config_parameters.h
delete mode 100644 drivers/scsi/isci/core/scic_controller.h
delete mode 100644 drivers/scsi/isci/core/scic_io_request.h
delete mode 100644 drivers/scsi/isci/core/scic_phy.h
delete mode 100644 drivers/scsi/isci/core/scic_port.h
delete mode 100644 drivers/scsi/isci/core/scic_sds_controller.c
delete mode 100644 drivers/scsi/isci/core/scic_sds_controller.h
delete mode 100644 drivers/scsi/isci/core/scic_sds_phy.c
delete mode 100644 drivers/scsi/isci/core/scic_sds_phy.h
delete mode 100644 drivers/scsi/isci/core/scic_sds_port.c
delete mode 100644 drivers/scsi/isci/core/scic_sds_port.h
delete mode 100644 drivers/scsi/isci/core/scic_sds_port_configuration_agent.h
delete mode 100644 drivers/scsi/isci/core/scic_sds_port_registers.h
delete mode 100644 drivers/scsi/isci/core/scic_sds_request.c
delete mode 100644 drivers/scsi/isci/core/scic_sds_request.h
delete mode 100644 drivers/scsi/isci/core/scic_sds_smp_request.c
delete mode 100644 drivers/scsi/isci/core/scic_sds_smp_request.h
delete mode 100644 drivers/scsi/isci/core/scic_sds_ssp_request.c
delete mode 100644 drivers/scsi/isci/core/scic_sds_stp_packet_request.h
delete mode 100644 drivers/scsi/isci/core/scic_sds_stp_pio_request.h
delete mode 100644 drivers/scsi/isci/core/scic_sds_stp_request.c
delete mode 100644 drivers/scsi/isci/core/scic_sds_stp_request.h
delete mode 100644 drivers/scsi/isci/core/scic_task_request.h
delete mode 100644 drivers/scsi/isci/core/scu_constants.h
delete mode 100644 drivers/scsi/isci/core/scu_viit_data.h
rename drivers/scsi/isci/{core/sci_pool.h => pool.h} (100%)
rename drivers/scsi/isci/{core/scic_sds_port_configuration_agent.c => port_config.c} (80%)
rename drivers/scsi/isci/{core/scu_registers.h => registers.h} (95%)
create mode 100644 drivers/scsi/isci/sas.h
delete mode 100644 drivers/scsi/isci/sci_environment.h
rename drivers/scsi/isci/{core => }/scu_completion_codes.h (100%)
rename drivers/scsi/isci/{core => }/scu_event_codes.h (100%)
rename drivers/scsi/isci/{core => }/scu_task_context.h (100%)
rename drivers/scsi/isci/{core => }/scu_unsolicited_frame.h (100%)
rename drivers/scsi/isci/{core/sci_base_state_machine.c => state_machine.c} (86%)
rename drivers/scsi/isci/{core/sci_base_state_machine.h => state_machine.h} (71%)
rename drivers/scsi/isci/{core/scic_sds_unsolicited_frame_control.c => unsolicited_frame_control.c} (96%)
rename drivers/scsi/isci/{core/scic_sds_unsolicited_frame_control.h => unsolicited_frame_control.h} (93%)

commit de2ac6c33c407c8bf73549b95822ac310ffcae94
Author: Dave Jiang <dave.jiang@xxxxxxxxx>
Date: Fri Apr 22 06:39:48 2011 +0000

isci: Removing unused define SCIC_SDS_4_ENABLED

Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit f3bc679e4267bee67eaf677d360b9e102e9d7d68
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Wed May 4 13:49:32 2011 -0700

isci: remove compile-time (Kconfig) silicon configuration

Pre-production silicon support is deprecated, and will be removed
completely in the future.

Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 2810ee48ca4bb953e4aba11c8d7e53bd3ea7c0d3
Author: Dave Jiang <dave.jiang@xxxxxxxxx>
Date: Wed May 4 15:02:02 2011 -0700

isci: Convert SATA fis data structures to Linux native

Converting of sata_fis_reg_d2h to dev_to_host_fis
Converting of sata_fis_reg_h2d to host_to_dev_fis

Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit b997bba32c8b5ad364a8f4e5d72fb0924751f7c9
Author: Dave Jiang <dave.jiang@xxxxxxxxx>
Date: Wed May 4 15:02:03 2011 -0700

isci: Convert ATA defines to Linux native defines

* Removing all intel_sata and intel_ata defines
* Removing the usage of SAT_PROTOCOL_*. We can get everything from sas_task
* Moved SATA FIS types to local sas.h. These defines will have to go
into include/scsi/sas.h eventually.
* Added offsets for SATA FIS header in order to grab the values

Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 3d5a05d40473d3489ba3f3dc785d39174daf3b68
Author: Dave Jiang <dave.jiang@xxxxxxxxx>
Date: Wed May 4 15:37:52 2011 -0700

isci: Convert SAS identify address frame to Linux Native format

Convert struct sci_sas_identify_address_frame to struct sas_identify_frame

Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit a438e964357df049235d93eee837f431e67adb04
Author: Dave Jiang <dave.jiang@xxxxxxxxx>
Date: Wed May 4 16:13:17 2011 -0700

isci: Collapsing of phy_type data structure

Collapsing of struct scic_sds_phy phy_type data structure

Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit ab004c814754df4ab8534fdcf57a1e5f7ff1b162
Author: Dave Jiang <dave.jiang@xxxxxxxxx>
Date: Wed May 4 16:16:44 2011 -0700

isci: renaming sas_capabilities to scic_phy_cap

This seems to be a data structure that represents the phy capabilities
register from the hardware and has nothing to do with SAS data structs.
Moving and fixup

Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit b3b4593bedf134f8edb3f212583c57dacb19f34d
Author: Dave Jiang <dave.jiang@xxxxxxxxx>
Date: Wed May 4 17:44:54 2011 -0700

isci: Fixup SSP command IU and task IU

Fixup of SSP command IU and SSP task IU to something that looks like Linux

Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit af4522b2b7cb3c9084ec48b2cf943e36a0c6e3aa
Author: Dave Jiang <dave.jiang@xxxxxxxxx>
Date: Wed May 4 17:53:24 2011 -0700

isci: Convert of sci_ssp_response_iu to ssp_response_iu

Converting to Linux native format. However the isci driver does a lot of
the calculation based on the max size of this data structure and the
Linux data structure only has a pointer to the response data. Thus the
sizeof(struct ssp_response_iu) will be incorrect and we need to define
the max size.

Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 57719e478ca7f1cd31c408060aa57b3cffa99b4b
Author: Dave Jiang <dave.jiang@xxxxxxxxx>
Date: Wed May 4 18:01:22 2011 -0700

isci: Fixup of smp request

The struct smp_request data structure has be fixed up for Linux consumption.
This probably should go to scsi/sas.h eventually.

Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 114d9668d68a43d18376949dec917eee254d1e53
Author: Dave Jiang <dave.jiang@xxxxxxxxx>
Date: Wed May 4 18:07:09 2011 -0700

isci: Converting smp_response to Linux native smp_resp

Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 4ed8872de3b76708819eb510ef3982ce35ae627f
Author: Dave Jiang <dave.jiang@xxxxxxxxx>
Date: Wed May 4 18:08:35 2011 -0700

isci: remove redundant copies of IAF

We need to remove the extra copies of identify address frame that's
being kept around. We only need the one copy that libsas is using.

Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
[further cleanups]
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit e7e68e596c9bf0c3dc35b101f0d46b14b6905fcd
Author: Dave Jiang <dave.jiang@xxxxxxxxx>
Date: Wed May 4 18:22:33 2011 -0700

isci: fixup SAS iaf protocols data structure

Moved the actual data structure that's read from the phy register to phy
header. Removed the parsing of identify address frame protocol bits as
that seemed not necessary and we can use existing information.

Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 7eac8f6083bd6b31f99492cb720c2ddacbf4c3c1
Author: Dave Jiang <dave.jiang@xxxxxxxxx>
Date: Wed May 4 18:28:32 2011 -0700

isci: Remove SCIC_SWAP_DWORD()

Use Linux native swab32() call instead of SCIC_SWAP_DWORD().

We need to swab() because the hardware munges the data into a
"big-endian dword" stream which is byte-swapped from the sas definition
regardless of host endian.

Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 390b33cf7630ebe2aa18574da15db687f64c53de
Author: Dave Jiang <dave.jiang@xxxxxxxxx>
Date: Wed May 4 18:45:05 2011 -0700

isci: Using Linux SSP frame header

Removing of struct sci_ssp_frame_header and migrate to struct ssp_frame_hdr.

Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 70e346fccd1745e5828c6ecaa11c23cf2c66a96b
Author: Dave Jiang <dave.jiang@xxxxxxxxx>
Date: Wed May 4 19:01:01 2011 -0700

isci: removing intel_*.h headers

Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 5109c4077e06d00fa50c30c231251dee2768a5a9
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Thu May 5 17:47:44 2011 -0700

isci: fix ata locking

Upstream commit a29b5dad "libata: fix locking for sas paths" switched
libsas ata locking to the ata_host lock. We need to do the same when
returning ata tasks from the execute path.

Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit fd0ef2c28ff6e6040f31bc4c1206ef9e0fb677e1
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Mon May 2 13:59:25 2011 -0700

isci: implement I_T_nexus_reset

This is a requirement for 2.6.39's new libata eh.

Still some questions about lldd_dev_gone racing against dev->lldd_dev
lookups, but we are at least no more broken than mvsas in this regard.

We also short-circuit I_T_nexus_reset invocations from the device
discovery path (IDEV_EH similar to MVS_DEV_EH) to filter out the
resulting domain rediscoveries triggered by the reset.

Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit bf128b79b7a6425891c5b11f2a24f10ee5d64ee0
Author: Artur Wojcik <artur.wojcik@xxxxxxxxx>
Date: Wed May 4 07:58:16 2011 +0000

isci: unify isci_host data structures

Make it explicit that isci_host and scic_sds_controller are one in the same
object.

Signed-off-by: Artur Wojcik <artur.wojcik@xxxxxxxxx>
[removed ->ihost back pointer]
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 8b5b701b86d89c70732b4359526e4f980c44f146
Author: Dave Jiang <dave.jiang@xxxxxxxxx>
Date: Fri May 6 02:17:37 2011 +0000

isci: Removing unnecessary functions in request.c

No need for wrappers, just access sas_task directly.

Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit c76dd82133f4e53a7aef0c3c746b86449e9ded1e
Author: Edmund Nadolski <edmund.nadolski@xxxxxxxxx>
Date: Thu May 5 01:11:43 2011 +0000

isci: kill scic_controller_get_port_handle function

This function is just overkill and its usage is inconsistent. Replace
with inlined code.

Signed-off-by: Edmund Nadolski <edmund.nadolski@xxxxxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 5f475beafa9c124844c54fb7380c655793e6d00f
Author: Edmund Nadolski <edmund.nadolski@xxxxxxxxx>
Date: Thu May 5 01:11:49 2011 +0000

isci: remove scic_sds_port_increment_request_count

Removes excessive encapsulation function.

Signed-off-by: Edmund Nadolski <edmund.nadolski@xxxxxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 8498b81db8ab656b8675e04aedc903f518f096ec
Author: Jacek Danecki <Jacek.Danecki@xxxxxxxxx>
Date: Tue May 3 04:21:07 2011 +0000

isci: rnc state machine table c99 conversion

This makes the subsequent patches to delete rnc->state_handler more
clear.

Signed-off-by: Jacek Danecki <Jacek.Danecki@xxxxxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 9161854f50bdc6f8f150e810f7b5c52806d604aa
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Fri May 6 17:36:38 2011 -0700

isci: unify phy data structures

Make scic_sds_phy a member of isci_phy and merge their lifetimes which
means removing the phy table from scic_sds_controller in favor of the
one at that isci_host level.

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 29687c7bc306079af7e103ac6a9256c901c68fc9
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Sat May 7 10:11:43 2011 -0700

isci: unify port data structures

Make scic_sds_port a member of isci_port and merge their lifetimes which
means removing the port table from scic_sds_controller in favor of the
one at the isci_host level. Merge ihost->sas_ports into ihost->ports.
_
Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 29ac6fee477cec1b83c5d27d4cffad272156bcbe
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Sat May 7 15:59:09 2011 -0700

isci: move stp request info to scic_sds_request

In preparation for unifying allocation of all request information make stp
data available in all requests. Incidentally collapse indentation.

Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 03e2d94c2e3dcdfb127d7e347b55021f917e2deb
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Sun May 8 01:56:57 2011 -0700

isci: make sgl explicit/aligned request object member

Towards unifying request objects we need all members to be defined in the
object and not carved out of anonymous buffer space.

Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 3a2629eab4c972daef0240ff6da602b3a3916590
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Sat May 7 19:07:14 2011 -0700

isci: move task context alignment from run-time to compile time

Remove usage of PTR_ALIGN by arranging for the task context to be aligned by
the compiler. Another step towards unifying isci_request and
scic_sds_request. Once this is complete the task context in the request can
likely be removed in favor of building the task directly to tc memory (see:
scic_sds_controller_copy_task_context). It's not clear why this needs to be
cacheline aligned if we just end up copying before submission...

Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit f3aa5407b946f61e9dd21786cb882a6421763fc1
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Sun May 8 02:35:32 2011 -0700

isci: make command/response iu explicit request object members

Final elimination of the anonymous data at the end of the request
structure.

Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 201ad9b45a5f0597c12c46cf44745c46d3bc7541
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Sun May 8 11:47:15 2011 -0700

isci: unify request data structures

Make scic_sds_request a proper member of isci_request. Also let's us
get rid of the dma pool object size tracking since we now know that all
requests are sizeof(isci_request). While cleaning up the construct
routine incidentally replaced SCI_FIELD_OFFSET with offsetof.

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit f6edc9bb505c709561ad0b9b9caa2bc2461247b0
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Sun May 8 15:49:15 2011 -0700

isci: unify constants

cross driver constants are spread out over multiple header files, consolidate
them into isci.h, and push some includes out to the source files that need
them.

TODO: remove SCI_MODE_SIZE infrastructure.
TODO: task.h is full of inlines that are too large

Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 933dd596a1e25eac842ec8c5c03ac53ae94b4825
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Sun May 8 17:34:44 2011 -0700

isci: move core/controller to host

Now that the data structures are unified unify the implementation in
host.[ch] and cleanup namespace pollution.

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit fa7c74b1f7f251eb7634a79ac1277e24b6bd7204
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Sun May 8 21:36:46 2011 -0700

isci: uplevel register hardware data structures and unsolicited frame handling

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit b5be45e2f19bf02f4a86db0c2de897c3de0f7776
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Sun May 8 22:15:10 2011 -0700

isci: uplevel state machine

unify core/sci_base_state.h and core/sci_base_state_machine.[ch] into
state_machine.[ch]

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 234ef4864c222af1eb63ad4fa69ebcdf2f50fa19
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Tue May 10 02:28:45 2011 -0700

isci: uplevel request infrastructure

* Consolidate tiny header files
* Move files out of core/ (drop core/scic_sds_ prefix)
* Merge core/scic_sds_request.[ch] into request.[ch]
* Cleanup request.c namespace (clean forward declarations and global
namespace pollution)

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 9adac25a927f4465b0e678178709b43d8adf3f41
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Tue May 10 02:28:45 2011 -0700

isci: uplevel phy infrastructure

Merge core/scic_sds_phy.[ch] into phy.[ch]

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit d18e754f0733203e9ae7b3d7e4fe3c5419516da2
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Tue May 10 02:28:46 2011 -0700

isci: uplevel port infrastructure

* Move port configuration agent implementation
* Merge core/scic_sds_port.[ch] into port.[ch]

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 7a2b2f700b9f6834759706b003894f06944e2383
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Tue May 10 02:28:47 2011 -0700

isci: merge ssp task management substates into primary state machine

Remove usage of the request substate machine for ssp task management
requests identified by:
ireq->ttype == tmf_task && dev->dev_type == SAS_END_DEV;

The only routine that checks the base 'started' state is
scic_sds_io_request_tc_completion which calls the substate machine
handler if we are not in the 'started' state or we are 'started' and no
substate machine is defined. This routine requires no conversion
because we have transitioned out of 'started' and the substate routine
will be called naturally as a result.

There are also no side effects of this conversion on exiting the
'started', state because it only stops the substate machine, which is no
longer relevant for this transaction type.

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 9172b21beaaf8160eae5d50143c932a16677929a
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Tue May 10 02:28:48 2011 -0700

isci: merge smp request substates into primary state machine

Remove usage of the request substate machine for smp requests identified by:
task->task_proto == SAS_PROTOCOL_SMP

While merging over the smp_request infrastructure noticed that all the
assign buffer implementations are now equal, so moved it to
scic_sds_general_request_construct.

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 12ce26b30513806128ba311354acbedfadf48781
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Tue May 10 02:28:49 2011 -0700

isci: merge stp request substates into primary state machine

Remove usage of the request substate machine for stp requests, and kill
the request substate infrastructure.

Similar to the previous conversions this adds the substates to the
primary state machine and arranges for the 'started' state to transition
to the proper stp substate.

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 6234bd737b5d0a06d201ec7ce204cc85f9e1d371
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Tue May 10 02:39:11 2011 -0700

isci: unify request abort handlers

Unify the implementation in scic_sds_io_request_terminate and kill the state
handler.

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 1761433a3c3bcb602d09bfe0de1c2de0d343f09d
Author: Piotr Sawicki <piotr.sawicki@xxxxxxxxx>
Date: Tue May 10 23:50:32 2011 +0000

isci: unify request start handlers

Unify the implementation in scic_sds_request_start and kill the state
handler.

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Piotr Sawicki <piotr.sawicki@xxxxxxxxx>
[remove scic_sds_request_constructed_state_start_handler]
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 32f7215e45b9ab5b3ffb6f83b2dae4ac9f12627b
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Wed May 11 08:27:47 2011 -0700

isci: unify request frame handlers

Unify the implementation in scic_sds_io_request_frame_handler and kill
the state handler.

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit e0b70d098c39108bbae012446dab630cb434676a
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Wed May 11 08:27:47 2011 -0700

isci: remove request task context completion state handler

Unlike the other conversions this only updates
scic_sds_io_request_tc_completion() to call the old state handlers directly
(with less verbose names). This was done for future patch readability, the
implementations have only minor differences for different completion codes.
Without a reference to the function name it would be difficult to dicern which
state is being updated. Considered changing the order to look up the
completion code before the state but that was not a clean conversion either.

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit d25de0260c436a240116f54aa4a9a74a18a052ac
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Wed May 11 08:29:56 2011 -0700

isci: remove the completion and event state handlers

With these handlers gone the rest of the state handler infrastructure is
removed.

Added some WARN_ONCEs where previously we would cause NULL pointer
dereferences or silently run handlers from a previous state.

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit fee682b2523209be5c0f85a2b01e88b981da014e
Author: Adam Gruchala <adam.gruchala@xxxxxxxxx>
Date: Tue May 10 23:54:23 2011 +0000

isci: merge phy substates

Merged states and substates into one state machine, as we always
unconditionally transitioned to the substate machine it was straightforward to
enter that substate from the starting state.

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Adam Gruchala <adam.gruchala@xxxxxxxxx>
[fixed construction, starting_state_enter, and starting check]
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 6f48c086d209242ba577d952cae54614364f9d4e
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Thu May 12 03:44:24 2011 -0700

isci: unify phy start handlers

Implement all handlers in scic_sds_phy_start(), and kill the state handler

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 8b420c28b084eae3c0e5fe61fe47f5e7f6459c7e
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Thu May 12 04:01:03 2011 -0700

isci: unify phy stop handlers

Merge all implementations in scic_sds_phy_stop(), and kill the state handler

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit bccca56e9d4dae9714725ff643f8e3feffd828eb
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Thu May 12 04:02:07 2011 -0700

isci: unify phy reset handlers

Unify the implementations in scic_sds_phy_reset(), and kill the state handler

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit c6791c98bf4a265696f88536f4ed14301d4ec019
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Thu May 12 04:10:41 2011 -0700

isci: remove phy destruct handlers

Unused infrastructure.

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit b661e4cbaa1b11cc3e08d593f0de6466bf9ce58c
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Thu May 12 04:17:51 2011 -0700

isci: unify phy frame handlers

Unify the implementations in scic_sds_phy_frame_handler(), and kill the state handler

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit c8a8f82cf6b4d87a54d1a64c2f3f81c631db26f1
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Thu May 12 04:27:29 2011 -0700

isci: unify phy event handlers

Unify the implementations in scic_sds_phy_event_handler(), and kill the state handler

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit f303b153b8d91272423a5719c3f1a47cc15085bf
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Thu May 12 04:51:41 2011 -0700

isci: unify phy consume_power handlers

Unify the implementations in scic_sds_phy_consume_power_handler(), and kill
the state handler plus infrastructure.

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit cc6df933c4ca68992b805873fd0a60f7aad27209
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Thu May 12 06:00:31 2011 -0700

isci: clarify phy to port lookups

While cleaning up the driver it is very tempting to convert scic_sds_get_*
macros to their open coded equivalent. They are all just pointer dereferences
*except* scic_sds_phy_get_port() which returns NULL if the phy is assigned to
the dummy port. Clarify this by renaming it to phy_get_non_dummy_port().

Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 4dd184072b1bcdd0bc5f1b76c821a9a32679b66c
Author: Piotr Sawicki <piotr.sawicki@xxxxxxxxx>
Date: Wed May 11 23:52:16 2011 +0000

isci: c99 port state handlers

Name the table fields for consistancy and clarity.

Signed-off-by: Piotr Sawicki <piotr.sawicki@xxxxxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 57754861a6f1a1f31eae0c48e1b4d0b4db2f93d4
Author: Piotr Sawicki <piotr.sawicki@xxxxxxxxx>
Date: Wed May 11 23:52:21 2011 +0000

isci: merge port ready substates into primary state machine

This conversion was complicated by the fact that the ready state exit routine
took unconditional action beyond just stopping the substate machine (like in
previous conversions). In order to ensure identical behaviour every state
transition needs to be instrumented to catch ready-->!ready transitions and
execute scic_sds_port_invalidate_dummy_remote_node()

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Piotr Sawicki <piotr.sawicki@xxxxxxxxx>
[fix ready state exit handling]
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 51fac19d6444e74916f4d6b0eb9f0383fed2ed59
Author: Piotr Sawicki <piotr.sawicki@xxxxxxxxx>
Date: Wed May 11 23:52:26 2011 +0000

isci: remove port start handler

remove the handler from the port state handler table and implement the
logic directly in scic_sds_port_start().

Signed-off-by: Piotr Sawicki <piotr.sawicki@xxxxxxxxx>
[remove a level of indirection]
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit f839d90f59a2cba316665260639e09a27f68f044
Author: Piotr Sawicki <piotr.sawicki@xxxxxxxxx>
Date: Wed May 11 23:52:31 2011 +0000

isci: unify port stop handlers

Implement the stop handlers directly in scic_sds_port_stop()

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Piotr Sawicki <piotr.sawicki@xxxxxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 014de5fc8d4e3792d3ccee80bd66a8029a694edb
Author: Piotr Sawicki <piotr.sawicki@xxxxxxxxx>
Date: Wed May 11 23:52:37 2011 +0000

isci: remove port destruct handler

The handler was never used.

Signed-off-by: Piotr Sawicki <piotr.sawicki@xxxxxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit b62ddc1249ca1c356914dede54d890e5582d4e4a
Author: Piotr Sawicki <piotr.sawicki@xxxxxxxxx>
Date: Thu May 12 19:10:03 2011 +0000

isci: unify port reset, add_phy, and remove_phy handlers

Unify the implementations and remove the state handlers.

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Piotr Sawicki <piotr.sawicki@xxxxxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 523fc82d825ba522dff4db6ceee3c5550f51f3ab
Author: Piotr Sawicki <piotr.sawicki@xxxxxxxxx>
Date: Thu May 12 19:10:08 2011 +0000

isci: remove port frame and event handlers

Unused infrastructure.

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Piotr Sawicki <piotr.sawicki@xxxxxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit a04243ef266acff0cebc684b45da3bb73181fe43
Author: Piotr Sawicki <piotr.sawicki@xxxxxxxxx>
Date: Thu May 12 19:10:14 2011 +0000

isci: unify port link_up and link_down handlers

Unify the handlers and kill the state handler implementations.

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Piotr Sawicki <piotr.sawicki@xxxxxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 4c7a6cdae93385ad4025d2861cba0b411d3d68ff
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Thu May 12 07:16:06 2011 -0700

isci: unify port start_io and complete_io handlers

Unify the handlers and kill the state handler infrastructure.

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit db4d55bf4774b589bb4ffcbef114635bbb542208
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Thu May 12 07:46:59 2011 -0700

isci: unify rnc event handlers

Unify rnc event handlers and delete the state handler.

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit d28f3adba2228d55a8f5479a3e3bb21327ab70d3
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Thu May 12 08:26:56 2011 -0700

isci: unify rnc destruct handlers

Unify rnc destruct handlers and delete the state handler.

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit ae0b906dad84c094c588fc79dc798f01b537515b
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Thu May 12 08:50:23 2011 -0700

isci: unify rnc suspend/resume handlers

Unify rnc suspend/resume handlers and delete the state handlers.

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit 42944bd5c4ef835811019f3ee4f83d4d94716fbf
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Thu May 12 09:27:52 2011 -0700

isci: unify rnc start{io|task} handlers

Unify rnc start{io|task} handlers and delete the state handler
infrastructure.

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

commit b0733ad3d6efab9659bd77b405587b36d03fe276
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Thu May 12 07:42:17 2011 -0700

isci: add some type safety to the state machine interface

Now that any given object type only has one state_machine we can use
container_of() to get back to the given state machine owner.

Reported-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/