RE: RE: [PATCH] ahci: add a boot option to enable promise ahci

From: Tony Hung - PTT ???
Date: Tue Sep 25 2012 - 01:43:02 EST




On 2012/9/25 11:05 AM, Jeff Garzik wrote:
>
> On 09/23/2012 10:34 PM, Tony Hung - PTT ??? wrote:
>
> > linux-3.2.0/drivers/ata/ahci.c: In function 'ahci_init_one':
>
> >
>
> > Use promise_enable to disable AHCI control PCI RAID.
>
> >
>
> > Signed-off-by: Tony Hung <tony.hung@xxxxxxxxxxxxxx>
>
> > ---
>
> >
>
> > diff --git a/linux-3.2.0/drivers/ata/ahci.c b/linux-3.2.0/drivers/ata/ahci.c
>
> > --- a/linux-3.2.0/drivers/ata/ahci.c 2012-08-29 13:40:26.046851693 +0800
>
> > +++ b/linux-3.2.0/drivers/ata/ahci.c 2012-08-30 17:23:10.207838960 +0800
>
> > @@ -430,6 +430,9 @@ static int marvell_enable = 1;
>
> > module_param(marvell_enable, int, 0644);
>
> > MODULE_PARM_DESC(marvell_enable, "Marvell SATA via AHCI (1 =
>
> > enabled)");
>
> >
>
> > +static int promise_enable;
>
> > +module_param(promise_enable, int, 0644);
>
> > +MODULE_PARM_DESC(promise_enable, "Promise SATA via AHCI (1 =
>
> > +enabled)");
>
> >
>
> > static void ahci_pci_save_initial_config(struct pci_dev *pdev,
>
> > struct ahci_host_priv *hpriv)
>
> > @@ -1049,6 +1052,16 @@ static int ahci_init_one(struct pci_dev
>
> > if (pdev->vendor == PCI_VENDOR_ID_MARVELL && !marvell_enable)
>
> > return -ENODEV;
>
> >
>
> > + /*
>
> > + * In RAID mode, Promise software RAID need to replace
>
> > + * original AHCI module, but if AHCI driver build-in kernel,
>
> > + * Promise AHCI module need a boot option to disable it
>
> > + */
>
> > + if (promise_enable &&
>
> > + ((pdev->class >> 8) == PCI_CLASS_STORAGE_RAID) &&
>
> > + (pdev->vendor == PCI_VENDOR_ID_ATI ||
>
> > + pdev->vendor == PCI_VENDOR_ID_AMD))
>
> > + return -ENODEV;
>
>
>
> We need the patch for the Promise Software RAID driver, to accept this...
>
>
>
> Jeff



Patch file is in attachment, and sorry for error descript.



Best wishes,

Tony Hung

Attachment: [PATCH]ahci-add-a-boot-option-to-enable-promise-ahci.patch
Description: [PATCH]ahci-add-a-boot-option-to-enable-promise-ahci.patch