RE: [PATCH] ahci: add a boot option to enable promise ahci
From: Tony Hung - PTT ???
Date: Tue Sep 25 2012 - 01:39:17 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 'hptiop_host_request_callback':
>
> >
>
> > Use min_t(size_t, ...) to fix.
Correct this,
linux-3.2.0/drivers/ata/ahci.c: In function 'ahci_init_one':
Use variable promise_enable to disable RAID PCI controlled by original AHCI.
>
> >
>
> > 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
--- Begin Message ---
On 09/23/2012 10:34 PM, Tony Hung - PTT ??? wrote:
> linux-3.2.0/drivers/ata/ahci.c: In function 'hptiop_host_request_callback':
>
> Use min_t(size_t, ...) to fix.
>
> 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
--- End Message ---