Tejun Heo 7d1ce682d0 [PATCH] sil24: add sil24_restart_controller
When an error condition is raised by device via D2H FIS or SDB.  sil24
controller should be restarted by setting PORT_CS_INIT and waiting
until PORT_CS_RDY is asserted instead of resetting the controller.
This patch implements sil24_restart_controller for those cases.  This
patch also makes sure that PORT_CS_RDY is asserted on
sil24_reset_controller completion.

Signed-off-by: Tejun Heo <htejun@gmail.com>

--

Jeff, delay is reduced to 1us and cnt increased to 10k.  My sil3124
turns on PORT_CS_RDY on the second iteration even without any delay.
I think 10k * 1us should be more than enough.

I tried to convert both restart and reset to use msleep's with work
queue, but if we do that, host_set lock should be released after
initiating restart or reset, leading to race condition among
reset/restart, other interrupts and timeout.  Implementing
synchronization among those in low-level driver doesn't seem right.
Well, reduced timeout should work for the time being.

Thanks.
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-11-18 13:11:39 -05:00
..
2005-04-16 15:20:36 -07:00
2005-11-09 15:48:20 -05:00
2005-11-10 21:25:04 -08:00
2005-11-09 15:48:20 -05:00
2005-11-07 07:54:01 -08:00
2005-10-28 21:04:15 -05:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-10-28 21:04:15 -05:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-11-16 11:06:59 -05:00
2005-11-16 11:06:59 -05:00
2005-04-16 15:20:36 -07:00
2005-11-04 22:29:52 -06:00
2005-11-07 07:54:01 -08:00
2005-04-16 15:20:36 -07:00
2005-11-07 07:54:01 -08:00
2005-11-09 15:44:09 -05:00
2005-11-09 15:44:09 -05:00
2005-04-16 15:20:36 -07:00
2005-10-28 21:04:15 -05:00
2005-04-16 15:20:36 -07:00
2005-11-07 07:54:01 -08:00
2005-04-26 07:43:42 -07:00
2005-04-16 15:20:36 -07:00
2005-11-09 15:48:20 -05:00
2005-11-09 15:48:20 -05:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-11-09 15:48:20 -05:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-11-09 15:48:20 -05:00
2005-04-16 15:20:36 -07:00
2005-11-09 15:48:20 -05:00
2005-11-09 15:48:20 -05:00
2005-11-04 22:29:52 -06:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-11-06 13:13:11 -06:00
2005-11-09 15:48:20 -05:00
2005-09-20 12:36:35 -05:00
2005-11-16 11:06:59 -05:00
2005-04-16 15:20:36 -07:00
2005-11-09 15:46:55 -05:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-11-09 15:48:20 -05:00
2005-11-09 15:48:20 -05:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-11-09 15:48:20 -05:00
2005-11-09 15:48:20 -05:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-05-20 12:53:13 -05:00
2005-05-20 12:53:13 -05:00
2005-05-20 12:53:13 -05:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-11-16 11:06:59 -05:00
2005-11-16 11:06:59 -05:00
2005-11-16 11:06:59 -05:00
2005-11-16 11:06:59 -05:00
2005-11-16 11:06:59 -05:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-11-08 16:09:53 -05:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-11-09 15:48:20 -05:00
2005-04-16 15:20:36 -07:00
2005-11-06 12:31:30 -06:00
2005-11-04 22:29:52 -06:00
2005-11-04 22:29:52 -06:00
2005-04-16 15:20:36 -07:00
2005-11-09 09:31:46 -05:00
2005-04-16 15:20:36 -07:00
2005-08-28 11:14:12 -05:00
2005-04-16 15:20:36 -07:00
2005-11-07 07:54:01 -08:00
2005-04-16 15:20:36 -07:00
2005-10-28 21:04:15 -05:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00