Message ID | 55E83D39.4030107@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Charles Chiou <ch1102chiou@gmail.com> writes: > From 9d7973dfa05a7785d0eb1e9bcfb0fb6d2c493209 Mon Sep 17 00:00:00 2001 > From: Charles <charles.chiou@tw.promise.com> > Date: Wed, 2 Sep 2015 20:41:56 +0800 > Subject: [PATCH 1/3] scsi:stex.c Support to Pegasus series. > > Pegasus is a high performace hardware RAID solution designed to unleash > the raw power of Thunderbolt technology. > > 1. Add code to distinct SuperTrack and Pegasus series by sub device ID. > It should support backward compatibility. > > 2. Change the driver version. > > V2: Remove blank lines > > Signed-off-by: Charles Chiou <charles.chiou@tw.promise.com> > --- > drivers/scsi/stex.c | 32 ++++++++++++++++++++++++++------ > 1 file changed, 26 insertions(+), 6 deletions(-) > > diff --git a/drivers/scsi/stex.c b/drivers/scsi/stex.c > index 98a62bc..0c93f1f 100644 > --- a/drivers/scsi/stex.c > +++ b/drivers/scsi/stex.c > @@ -1,7 +1,7 @@ > /* > * SuperTrak EX Series Storage Controller driver for Linux > * > - * Copyright (C) 2005-2009 Promise Technology Inc. > + * Copyright (C) 2005-2015 Promise Technology Inc. > * > * This program is free software; you can redistribute it and/or > * modify it under the terms of the GNU General Public License > @@ -37,11 +37,11 @@ > #include <scsi/scsi_eh.h> > > #define DRV_NAME "stex" > -#define ST_DRIVER_VERSION "4.6.0000.4" > -#define ST_VER_MAJOR 4 > -#define ST_VER_MINOR 6 > -#define ST_OEM 0 > -#define ST_BUILD_VER 4 > +#define ST_DRIVER_VERSION "5.00.0000.01" > +#define ST_VER_MAJOR 5 > +#define ST_VER_MINOR 00 > +#define ST_OEM 0000 > +#define ST_BUILD_VER 01 > > enum { > /* MU register offset */ > @@ -327,6 +327,7 @@ struct st_hba { > u16 rq_count; > u16 rq_size; > u16 sts_count; > + u8 supports_pm; > }; > > struct st_card_info { > @@ -1568,6 +1569,25 @@ static int stex_probe(struct pci_dev *pdev, const struct > pci_device_id *id) > > hba->cardtype = (unsigned int) id->driver_data; > ci = &stex_card_info[hba->cardtype]; > + switch (id->subdevice) { > + case 0x4221: > + case 0x4222: > + case 0x4223: > + case 0x4224: > + case 0x4225: > + case 0x4226: > + case 0x4227: > + case 0x4261: > + case 0x4262: > + case 0x4263: > + case 0x4264: > + case 0x4265: > + break; > + default: > + if (hba->cardtype == st_yel) > + hba->supports_pm = 1; > + } > + > sts_offset = scratch_offset = (ci->rq_count+1) * ci->rq_size; > if (hba->cardtype == st_yel) > sts_offset += (ci->sts_count+1) * sizeof(u32); I somehow find that switch() above awkward to read, but if no-one else objects, who am I to do. Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Hi all, Ping? Does this patch has others issues need to fix? Thank you. Charles On 09/03/2015 10:16 PM, Johannes Thumshirn wrote: > Charles Chiou <ch1102chiou@gmail.com> writes: > >> From 9d7973dfa05a7785d0eb1e9bcfb0fb6d2c493209 Mon Sep 17 00:00:00 2001 >> From: Charles <charles.chiou@tw.promise.com> >> Date: Wed, 2 Sep 2015 20:41:56 +0800 >> Subject: [PATCH 1/3] scsi:stex.c Support to Pegasus series. >> >> Pegasus is a high performace hardware RAID solution designed to unleash >> the raw power of Thunderbolt technology. >> >> 1. Add code to distinct SuperTrack and Pegasus series by sub device ID. >> It should support backward compatibility. >> >> 2. Change the driver version. >> >> V2: Remove blank lines >> >> Signed-off-by: Charles Chiou <charles.chiou@tw.promise.com> >> --- >> drivers/scsi/stex.c | 32 ++++++++++++++++++++++++++------ >> 1 file changed, 26 insertions(+), 6 deletions(-) >> >> diff --git a/drivers/scsi/stex.c b/drivers/scsi/stex.c >> index 98a62bc..0c93f1f 100644 >> --- a/drivers/scsi/stex.c >> +++ b/drivers/scsi/stex.c >> @@ -1,7 +1,7 @@ >> /* >> * SuperTrak EX Series Storage Controller driver for Linux >> * >> - * Copyright (C) 2005-2009 Promise Technology Inc. >> + * Copyright (C) 2005-2015 Promise Technology Inc. >> * >> * This program is free software; you can redistribute it and/or >> * modify it under the terms of the GNU General Public License >> @@ -37,11 +37,11 @@ >> #include <scsi/scsi_eh.h> >> >> #define DRV_NAME "stex" >> -#define ST_DRIVER_VERSION "4.6.0000.4" >> -#define ST_VER_MAJOR 4 >> -#define ST_VER_MINOR 6 >> -#define ST_OEM 0 >> -#define ST_BUILD_VER 4 >> +#define ST_DRIVER_VERSION "5.00.0000.01" >> +#define ST_VER_MAJOR 5 >> +#define ST_VER_MINOR 00 >> +#define ST_OEM 0000 >> +#define ST_BUILD_VER 01 >> >> enum { >> /* MU register offset */ >> @@ -327,6 +327,7 @@ struct st_hba { >> u16 rq_count; >> u16 rq_size; >> u16 sts_count; >> + u8 supports_pm; >> }; >> >> struct st_card_info { >> @@ -1568,6 +1569,25 @@ static int stex_probe(struct pci_dev *pdev, const struct >> pci_device_id *id) >> >> hba->cardtype = (unsigned int) id->driver_data; >> ci = &stex_card_info[hba->cardtype]; >> + switch (id->subdevice) { >> + case 0x4221: >> + case 0x4222: >> + case 0x4223: >> + case 0x4224: >> + case 0x4225: >> + case 0x4226: >> + case 0x4227: >> + case 0x4261: >> + case 0x4262: >> + case 0x4263: >> + case 0x4264: >> + case 0x4265: >> + break; >> + default: >> + if (hba->cardtype == st_yel) >> + hba->supports_pm = 1; >> + } >> + >> sts_offset = scratch_offset = (ci->rq_count+1) * ci->rq_size; >> if (hba->cardtype == st_yel) >> sts_offset += (ci->sts_count+1) * sizeof(u32); > > I somehow find that switch() above awkward to read, but if no-one else > objects, who am I to do. > > Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> > -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>>> "Charles" == Charles Chiou <ch1102chiou@gmail.com> writes:
Charles> Does this patch has others issues need to fix?
Please resubmit your patch series with the review tag from Johannes
added.
Thank you!
diff --git a/drivers/scsi/stex.c b/drivers/scsi/stex.c index 98a62bc..0c93f1f 100644 --- a/drivers/scsi/stex.c +++ b/drivers/scsi/stex.c @@ -1,7 +1,7 @@ /* * SuperTrak EX Series Storage Controller driver for Linux * - * Copyright (C) 2005-2009 Promise Technology Inc. + * Copyright (C) 2005-2015 Promise Technology Inc. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -37,11 +37,11 @@ #include <scsi/scsi_eh.h> #define DRV_NAME "stex" -#define ST_DRIVER_VERSION "4.6.0000.4" -#define ST_VER_MAJOR 4 -#define ST_VER_MINOR 6 -#define ST_OEM 0 -#define ST_BUILD_VER 4 +#define ST_DRIVER_VERSION "5.00.0000.01" +#define ST_VER_MAJOR 5 +#define ST_VER_MINOR 00 +#define ST_OEM 0000 +#define ST_BUILD_VER 01 enum { /* MU register offset */ @@ -327,6 +327,7 @@ struct st_hba { u16 rq_count; u16 rq_size; u16 sts_count; + u8 supports_pm; }; struct st_card_info { @@ -1568,6 +1569,25 @@ static int stex_probe(struct pci_dev *pdev, const struct pci_device_id *id) hba->cardtype = (unsigned int) id->driver_data; ci = &stex_card_info[hba->cardtype]; + switch (id->subdevice) { + case 0x4221: + case 0x4222: + case 0x4223: + case 0x4224: + case 0x4225: + case 0x4226: + case 0x4227: + case 0x4261: + case 0x4262: + case 0x4263: + case 0x4264: + case 0x4265: + break; + default: + if (hba->cardtype == st_yel) + hba->supports_pm = 1; + } + sts_offset = scratch_offset = (ci->rq_count+1) * ci->rq_size; if (hba->cardtype == st_yel)