Messages in this thread |  | | | Date | Thu, 07 Dec 2006 07:25:53 -0500 | | From | Jeff Garzik <> | | Subject | Re: [PATCH 2.6.19-git7] sata_promise: new EH conversion, take 2 |
| |
Mikael Pettersson wrote: > This patch converts sata_promise to use new-style libata error > handling on Promise SATA chips, for both SATA and PATA ports. > > * ATA_FLAG_SRST is no longer set > * ->phy_reset is no longer set as it is unused when ->error_handler > is present, and pdc_sata_phy_reset() has been removed > * pdc_freeze() masks interrupts and halts DMA via PDC_CTLSTAT > * pdc_thaw() clears interrupt status in PDC_INT_SEQMASK and then > unmasks interrupts in PDC_CTLSTAT > * pdc_error_handler() reinitialises the port if it isn't frozen, > and then invokes ata_do_eh() with standard {s,}ata reset methods > * pdc_post_internal_cmd() resets the port in case of errors > * the PATA-only 20619 chip continues to use old-style EH: > not by necessity but simply because I don't have documentation > for it or any way to test it > > Since the previous version pdc_error_handler() has been rewritten > and it now mostly matches ahci and sata_sil24. In case anyone > wonders: the call to pdc_reset_port() isn't a heavy-duty reset, > it's a light-weight reset to quickly put a port into a sane state. > > The discussion about the PCI flushes in pdc_freeze() and pdc_thaw() > seemed to end with a consensus that the flushes are OK and not > obviously redundant, so I decided to keep them for now. > > This patch was prepared against 2.6.19-git7, but it also applies > to 2.6.19 + libata #upstream, with or without the revised sata_promise > cleanup patch I recently submitted. > > This patch does conflict with the #promise-sata-pata patch: > this patch removes pdc_sata_phy_reset() while #promise-sata-pata > modifies it. The correct patch resolution is to remove the function. > > Tested on 2037x and 2057x chips, with PATA patches on top and disks > on both SATA and PATA ports. > > Signed-off-by: Mikael Pettersson <mikpe@it.uu.se>
applied
Now that new EH is in place, I bet hotplug support would be easy.... Jeff
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |