linux/drivers/scsi/isci
Edmund Nadolski 5553ba2be0 isci: replace isci_timer list with proper embedded timers
Rather than preallocating a list of timers and doling them out at runtime,
embed a struct timerlist in each object that needs one.  A struct sci_timer
interface is introduced to manage the timer cancellation semantics which
currently need to guarantee the timer is cancelled while holding
spin_lock(ihost->scic_lock).  Since the timeout functions also need to acquire
the lock it currently prevents the driver from using del_timer_sync() for
runtime cancellations.

del_timer_sync() is used however before the objects go out of scope.

Signed-off-by: Edmund Nadolski <edmund.nadolski@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2011-07-03 04:04:49 -07:00
..
firmware isci: namespacecheck cleanups 2011-07-03 04:00:36 -07:00
host.c isci: replace isci_timer list with proper embedded timers 2011-07-03 04:04:49 -07:00
host.h isci: uplevel port infrastructure 2011-07-03 04:04:47 -07:00
init.c isci: move core/controller to host 2011-07-03 04:04:47 -07:00
isci.h isci: replace isci_timer list with proper embedded timers 2011-07-03 04:04:49 -07:00
Makefile isci: merge stp request substates into primary state machine 2011-07-03 04:04:47 -07:00
phy.c isci: add some type safety to the state machine interface 2011-07-03 04:04:49 -07:00
phy.h isci: clarify phy to port lookups 2011-07-03 04:04:48 -07:00
pool.h isci: move core/controller to host 2011-07-03 04:04:47 -07:00
port_config.c isci: clarify phy to port lookups 2011-07-03 04:04:48 -07:00
port.c isci: replace isci_timer list with proper embedded timers 2011-07-03 04:04:49 -07:00
port.h isci: replace isci_timer list with proper embedded timers 2011-07-03 04:04:49 -07:00
probe_roms.c isci: move core/controller to host 2011-07-03 04:04:47 -07:00
probe_roms.h isci: uplevel port infrastructure 2011-07-03 04:04:47 -07:00
registers.h isci: uplevel register hardware data structures and unsolicited frame handling 2011-07-03 04:04:47 -07:00
remote_device.c isci: add some type safety to the state machine interface 2011-07-03 04:04:49 -07:00
remote_device.h isci: unify constants 2011-07-03 04:04:47 -07:00
remote_node_context.c isci: add some type safety to the state machine interface 2011-07-03 04:04:49 -07:00
remote_node_context.h isci: unify rnc start{io|task} handlers 2011-07-03 04:04:49 -07:00
remote_node_table.c isci: uplevel request infrastructure 2011-07-03 04:04:47 -07:00
remote_node_table.h isci: unify constants 2011-07-03 04:04:47 -07:00
request.c isci: add some type safety to the state machine interface 2011-07-03 04:04:49 -07:00
request.h isci: remove the completion and event state handlers 2011-07-03 04:04:48 -07:00
sas.h isci: removing intel_*.h headers 2011-07-03 04:04:46 -07:00
sata.c isci: uplevel request infrastructure 2011-07-03 04:04:47 -07:00
sata.h isci: Convert ATA defines to Linux native defines 2011-07-03 04:04:46 -07: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 isci: uplevel register hardware data structures and unsolicited frame handling 2011-07-03 04:04:47 -07:00
scu_unsolicited_frame.h isci: uplevel register hardware data structures and unsolicited frame handling 2011-07-03 04:04:47 -07:00
state_machine.c isci: add some type safety to the state machine interface 2011-07-03 04:04:49 -07:00
state_machine.h isci: add some type safety to the state machine interface 2011-07-03 04:04:49 -07:00
task.c isci: uplevel request infrastructure 2011-07-03 04:04:47 -07:00
task.h isci: unify constants 2011-07-03 04:04:47 -07:00
timers.c isci: unify constants 2011-07-03 04:04:47 -07:00
timers.h isci: rework timer api 2011-07-03 03:55:28 -07:00
unsolicited_frame_control.c isci: uplevel request infrastructure 2011-07-03 04:04:47 -07:00
unsolicited_frame_control.h isci: uplevel register hardware data structures and unsolicited frame handling 2011-07-03 04:04:47 -07:00