[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <46942F02.2020204@garzik.org>
Date: Tue, 10 Jul 2007 21:14:42 -0400
From: Jeff Garzik <jeff@...zik.org>
To: Mikael Pettersson <mikpe@...uu.se>
CC: akpm@...ux-foundation.org, linux-ide@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] sata_promise: SATA hotplug support, take 2
Mikael Pettersson wrote:
> This patch enables hotplugging of SATA devices in the
> sata_promise driver. It's been tested successfully on
> both first- and second-generation Promise SATA chips:
> SATA150 TX2plus, SATAII150 TX2plus, SATAII150 TX4,
> SATA300 TX2plus, and SATA300 TX4.
>
> The only quirk I've seen is that hotplugging (insertion)
> on the first-generation SATA150 TX2plus requires a lengthier
> EH sequence than on the second-generation chips.
> On the second-generation chips a simple soft reset seems
> to suffice, but on the first-generation chip there's a
> "port is slow to respond" after the initial soft reset,
> after which libata issues a hard reset, and then the
> device is recognised.
>
> The hotplug checks are high up in the interrupt handling
> path, not deep down in error_intr as in ahci/sata_sil24.
> That's because the chip doesn't signal hotplug status changes
> in the per-port status register: instead a global register
> contains hotplug control and status flags for all ports.
> I considered following the ahci/sata_sil24 structure, but
> that would have required non-trivial changes to the interrupt
> handling path, so I chose to keep the hotplug changes simple
> and unobtrusive.
>
> Signed-off-by: Mikael Pettersson <mikpe@...uu.se>
> --
> This patch depends on the "sata_promise: cleanups" patch.
>
> Changes since the previous version (posted June 19):
> - Correct pdc_interrupt() to increment 'handled' also in
> the hotplug case. This prevents IRQ_NONE from being
> returned when an interrupt only has hotplug events to
> handle, which could confuse the kernel's IRQ machinery.
> - Added testing on the SATAII150 TX4.
>
> drivers/ata/sata_promise.c | 41 ++++++++++++++++++++++++++++++++++++-----
> 1 files changed, 36 insertions(+), 5 deletions(-)
applied
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists