Re: Regression 3.2 -> 3.3-rc1 10 sec hang at boot and resume, COMRESETfailed

From: Jeff Garzik
Date: Thu Feb 16 2012 - 11:22:48 EST


On 02/15/2012 06:39 PM, Brian Norris wrote:
On Wed, Feb 15, 2012 at 11:18 AM, Jeff Garzik<jeff@xxxxxxxxxx> wrote:
On 02/15/2012 01:31 PM, Tejun Heo wrote:
The problem is that there's no way to identify the controller in
question, so we can't do this automatically, so might just as well do
it in the simplest way for now. :(


See ahci_devtype[] and ahci_port_info[] in ahci_platform.c for how to do
this. Brian would not have to tweak the driver out of tree as claimed; we
put all changes in tree, and the platform calls itself "spec-strict-ahci" or
whatever string you prefer.

OK, so can it seems I would add a flag in include/linux/libata.h that
can be added to a new entry in ahci_port_info[]? It seems a little
awkward to put in "libata.h", plus I'm not sure if all the flags have
direct meaning to ATA or if they can be AHCI-specific.

Nothing needs to go into libata.h. grep for IMX53_AHCI, and see how that differentiates ata_port_info information. There you may vary AHCI-specific flags (defined in ahci.h), port operations, or anything else specific to the controller.

Create a flag, add it to ahci.h, guard the spec-strict behavior creating problems with said flag, and apply said flag to your controller in ahci_platform.

Jeff


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/