diff mbox

[v2,1/3] scsi:stex.c Support to Pegasus series.

Message ID 55E83D39.4030107@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Charles Chiou Sept. 3, 2015, 12:29 p.m. UTC
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(-)

  		sts_offset += (ci->sts_count+1) * sizeof(u32);

Comments

Johannes Thumshirn Sept. 3, 2015, 2:16 p.m. UTC | #1
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>
Charles Chiou Jan. 29, 2016, 11:21 a.m. UTC | #2
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
Martin K. Petersen Feb. 2, 2016, 12:34 a.m. UTC | #3
>>>>> "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 mbox

Patch

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)