History log of /drivers/scsi/isci/remote_node_context.c
Revision Date Author Comments
d7a0ccdd9bd78b5b74d2963ec7ab67c9d896902a 10-Feb-2012 Dan Williams <dan.j.williams@intel.com> [SCSI] isci: debug, provide state-enum-to-string conversions

Debugging the driver requires tracing the state transtions and tracing
state names is less work than decoding numbers.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
34a991587a5cc9f78960c2c9beea217866458c41 01-Jul-2011 Dan Williams <dan.j.williams@intel.com> isci: kill 'get/set' macros

Most of these simple dereference macros are longer than their open coded
equivalent. Deleting enum sci_controller_mode is thrown in for good
measure.

Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
89a7301f21fb00e753089671eb9e4132aab8ea08 01-Jul-2011 Dan Williams <dan.j.williams@intel.com> isci: retire scic_sds_ and scic_ prefixes

The distinction between scic_sds_ scic_ and sci_ are no longer relevant
so just unify the prefixes on sci_. The distinction between isci_ and
sci_ is historically significant, and useful for comparing the old
'core' to the current Linux driver. 'sci_' represents the former core as
well as the routines that are closer to the hardware and protocol than
their 'isci_' brethren. sci == sas controller interface.

Also unwind the 'sds1' out of the parameter structs.

Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
d9dcb4ba791de2a06b19ac47cd61601cf3d4e208 01-Jul-2011 Dan Williams <dan.j.williams@intel.com> isci: unify isci_host and scic_sds_controller

Remove the distinction between these two implementations and unify on
isci_host (local instances named ihost). Hmmm, we had two
'oem_parameters' instances, one was unused... nice.

Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
78a6f06e0e82125787d7aa308fe28c2c8381540c 01-Jul-2011 Dan Williams <dan.j.williams@intel.com> isci: unify isci_remote_device and scic_sds_remote_device

Remove the distinction between these two implementations and unify on
isci_remote_device (local instances named idev).

Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
5076a1a97e2fa61c847a5fdd4b1991faf7716da6 27-Jun-2011 Dan Williams <dan.j.williams@intel.com> isci: unify isci_request and scic_sds_request

They are one in the same object so remove the distinction. The near
duplicate fields (owning_controller, and isci_host) will be cleaned up
after the scic_sds_contoller isci_host unification.

Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
fd53660120b5eda06539225de56755dc389a4e64 20-Jun-2011 Jeff Skirvin <jeffrey.d.skirvin@intel.com> isci: Explicitly decode remote node ready and suspended states

The remote node context should only signal a device reset condition
in a suspended state.

Signed-off-by: Jeff Skirvin <jeffrey.d.skirvin@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
12ef65444de9d387a383b9991960848bed5bbe74 02-Jun-2011 Edmund Nadolski <edmund.nadolski@intel.com> isci: additional state machine cleanup

Additional state machine cleanups:

o Remove static functions sci_state_machine_exit_state() and
sci_state_machine_enter_state()
o Combines sci_base_state_machine_construct() and
sci_base_state_machine_start() into a single function,
sci_init_sm()
o Remove sci_base_state_machine_stop() which is unused.
o Kill state_machine.[ch]

Signed-off-by: Edmund Nadolski <edmund.nadolski@intel.com>
[fixed too large to inline functions]
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
e301370ac553a9a0ac0d1d25e769b86cf60395b3 02-Jun-2011 Edmund Nadolski <edmund.nadolski@intel.com> isci: state machine cleanup

This cleans up several areas of the state machine mechanism:

o Rename sci_base_state_machine_change_state to sci_change_state
o Remove sci_base_state_machine_get_state function
o Rename 'state_machine' struct member to 'sm' in client structs
o Shorten the name of request states
o Shorten state machine state names as follows:
SCI_BASE_CONTROLLER_STATE_xxx to SCIC_xxx
SCI_BASE_PHY_STATE_xxx to SCI_PHY_xxx
SCIC_SDS_PHY_STARTING_SUBSTATE_xxx to SCI_PHY_SUB_xxx
SCI_BASE_PORT_STATE_xxx to SCI_PORT_xxx and
SCIC_SDS_PORT_READY_SUBSTATE_xxx to SCI_PORT_SUB_xxx
SCI_BASE_REMOTE_DEVICE_STATE_xxx to SCI_DEV_xxx
SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_xxx to SCI_STP_DEV_xxx
SCIC_SDS_SMP_REMOTE_DEVICE_READY_SUBSTATE_xxx to SCI_SMP_DEV_xxx
SCIC_SDS_REMOTE_NODE_CONTEXT_xxx_STATE to SCI_RNC_xxx

Signed-off-by: Edmund Nadolski <edmund.nadolski@intel.com>
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
9269e0e898594c65dee6b20d4ed48e33dbbd4eeb 12-May-2011 Dan Williams <dan.j.williams@intel.com> 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@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
f34d9e5d3f34f395a497a8747316b04ef3e865b1 12-May-2011 Dan Williams <dan.j.williams@intel.com> isci: unify rnc start{io|task} handlers

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

Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
ed3efb7784cb0772558e9cc9440bd6c9a3139be4 12-May-2011 Dan Williams <dan.j.williams@intel.com> isci: unify rnc suspend/resume handlers

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

Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
c845ae96bcb1625a093003248ffaf13b92a81ac2 12-May-2011 Dan Williams <dan.j.williams@intel.com> isci: unify rnc destruct handlers

Unify rnc destruct handlers and delete the state handler.

Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
338e386d12c2440e39c987d35fda403d319a79a0 12-May-2011 Dan Williams <dan.j.williams@intel.com> isci: unify rnc event handlers

Unify rnc event handlers and delete the state handler.

Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
e2f8db509fdd354bb7a68c86515e9d2d8909ccc9 10-May-2011 Dan Williams <dan.j.williams@intel.com> isci: uplevel port infrastructure

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

Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
f1f52e75939b56c40b3d153ae99faf2720250242 10-May-2011 Dan Williams <dan.j.williams@intel.com> 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@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
3bff9d54ecba84e538da822349a9a6fd6e534539 09-May-2011 Dan Williams <dan.j.williams@intel.com> 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@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
cc9203bf381a465cd115762b9cf7c9a313c874bc 09-May-2011 Dan Williams <dan.j.williams@intel.com> 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@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
a98a7426bc91700ac8613701daf8470efe2ad2d2 03-May-2011 Jacek Danecki <Jacek.Danecki@intel.com> 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@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
af23e85737253624cde84704008be40355ff6922 29-Apr-2011 Maciej Patelczyk <maciej.patelczyk@intel.com> isci: Removed sci_base_object from scic_sds_remote_node_context.

The 'struct sci_base_object' was removed from the struct
scic_sds_remote_node_context.

Signed-off-by: Maciej Patelczyk <maciej.patelczyk@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
9a0fff7bf0ffd4f57fc71d8075a92008b606eb61 29-Apr-2011 Maciej Patelczyk <maciej.patelczyk@intel.com> isci: Removed struct sci_base_object from state machine.

Changed any occurrence of struct sci_base_object into void.

Signed-off-by: Maciej Patelczyk <maciej.patelczyk@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
1f4fa1f958ca678ea021b95c2799b018b2cebc9c 26-Apr-2011 Dan Williams <dan.j.williams@intel.com> isci: remove scic_sds_remote_device_get_port_index

Longer to type than the open-coded equivalent.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
a3d568f0dfbb6bc786df04ad13e0b401f80e614c 26-Apr-2011 Dan Williams <dan.j.williams@intel.com> isci: remove usage of sci_sas_address in scic_sds_remote_device

The sas address can be retrieved from the domain device and then
converted to the always little-endian format in the remote node context.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
00d680ef84570bc7aea023772d27e85b0052004c 25-Apr-2011 Dan Williams <dan.j.williams@intel.com> isci: kill smp_discover_response

An lldd need never look at the contents of an smp_discover_response frame.
Kill the remaining locations where isci is looking at it:

1/ covering for expanders that do not set the stp_attached bit (already
handled by sas_ex_discover_end_dev)
2/ an overkill method to notifiy the rest of the driver about remote_device
sas addresses

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
a1a113b0a1ea437daf099b44f8a39e93a02a3f47 22-Apr-2011 Dan Williams <dan.j.williams@intel.com> isci: kill smp_discover_response_protocols in favor of domain_device.dev_type

This is step 1 of removing the contortions to:
1/ unparse expander phy data into a smp discover frame
2/ open-code-parse the smp discover fram into a domain_device.dev_type equivalent

libsas has already spent cycles determining the dev_type, so now that
scic_sds_remote_device is unified with isci_remote_device we can
directly reference dev_type.

This might also change multi-level expander detection as we previously only
looked at dev_type == EDGE_DEV and we did not consider the FANOUT_DEV case.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
88f3b62ac131e2549b6c262cacbd47e8cca42d6e 23-Apr-2011 Dan Williams <dan.j.williams@intel.com> isci: move remote_device handling out of the core

Now that the core/lldd remote_device data structures are nominally unified
merge the corresponding sources into the top-level directory. Also move the
remote_node_context infrastructure which has no analog at the lldd level.

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