linux/drivers/scsi/isci
Dan Williams c132f69208 [SCSI] isci: kill iphy->isci_port lookups
This field is a holdover from the OS abstraction conversion.  The stable
phy to port lookups are done via iphy->ownining_port under scic_lock.
After this conversion to use port->lldd_port the only volatile lookup is
the initial lookup in isci_port_formed().  After that point any lookup
via a successfully notified domain_device is guaranteed to be valid
until the domain_device is destroyed.

Delete ->start_complete as it is only set once and is set as a
consequence of the port going link up, by definition of getting a port
formed event the port is "ready".

While we are correcting port lookups also move the asd_sas_port table
out from under the isci_port.  This is to preclude any temptation to use
container_of() to convert an asd_sas_port to an isci_port, the
association is dynamic and under libsas control.

Tested-by: Maciej Trela <maciej.trela@intel.com>
[dmilburn@redhat.com: fix i686 compile error]
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2012-02-29 15:05:05 -06:00
..
Makefile isci: merge sata.[ch] into request.c 2011-07-03 04:04:52 -07:00
host.c [SCSI] libsas: introduce sas_drain_work() 2012-02-19 13:48:51 -06:00
host.h [SCSI] isci: kill iphy->isci_port lookups 2012-02-29 15:05:05 -06:00
init.c [SCSI] isci: kill iphy->isci_port lookups 2012-02-29 15:05:05 -06:00
isci.h [SCSI] isci: oem parameter format v1.3 (cable select) 2012-01-16 11:43:04 +04:00
phy.c [SCSI] isci: kill iphy->isci_port lookups 2012-02-29 15:05:05 -06:00
phy.h [SCSI] isci: kill iphy->isci_port lookups 2012-02-29 15:05:05 -06:00
port.c [SCSI] isci: kill iphy->isci_port lookups 2012-02-29 15:05:05 -06:00
port.h [SCSI] isci: kill iphy->isci_port lookups 2012-02-29 15:05:05 -06:00
port_config.c [SCSI] isci: fix io failures while wide port links are coming up 2012-01-16 11:46:59 +04:00
probe_roms.c [SCSI] isci: update afe (analog-front-end) recipe for C1 2012-01-16 11:40:29 +04:00
probe_roms.h [SCSI] isci: oem parameter format v1.3 (cable select) 2012-01-16 11:43:04 +04:00
registers.h [SCSI] isci: enable clock gating 2012-02-19 08:09:00 -06:00
remote_device.c [SCSI] isci: kill iphy->isci_port lookups 2012-02-29 15:05:05 -06:00
remote_device.h [SCSI] isci: No need to manage the pending reset bit on pending requests. 2011-10-31 13:20:28 +04:00
remote_node_context.c isci: kill 'get/set' macros 2011-07-03 04:04:52 -07:00
remote_node_context.h isci: kill 'get/set' macros 2011-07-03 04:04:52 -07:00
remote_node_table.c isci: retire scic_sds_ and scic_ prefixes 2011-07-03 04:04:52 -07:00
remote_node_table.h isci: retire scic_sds_ and scic_ prefixes 2011-07-03 04:04:52 -07:00
request.c [SCSI] libsas: remove ata_port.lock management duties from lldds 2012-02-19 13:50:12 -06:00
request.h [SCSI] isci: Remove redundant isci_request.ttype field. 2011-10-31 13:19:47 +04:00
sas.h [SCSI] isci: fix support for large smp requests 2011-10-02 13:07:17 -05:00
scu_completion_codes.h isci: uplevel register hardware data structures and unsolicited frame handling 2011-07-03 04:04:47 -07:00
scu_event_codes.h isci: uplevel register hardware data structures and unsolicited frame handling 2011-07-03 04:04:47 -07:00
scu_remote_node_context.h isci: move remote_device handling out of the core 2011-07-03 04:00:38 -07:00
scu_task_context.h [SCSI] isci: T10 DIF support 2012-02-19 09:14:24 -06:00
task.c [SCSI] libsas: fix sas_find_local_phy(), take phy references 2012-02-29 13:01:06 -06:00
task.h [SCSI] libsas: remove ata_port.lock management duties from lldds 2012-02-19 13:50:12 -06:00
unsolicited_frame_control.c [SCSI] isci: fix 32-bit operation when CONFIG_HIGHMEM64G=n 2011-08-23 19:50:27 -07:00
unsolicited_frame_control.h [SCSI] isci: fix 32-bit operation when CONFIG_HIGHMEM64G=n 2011-08-23 19:50:27 -07:00