Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1561917 > unrolled thread
| Started by | John Garry <john.garry@huawei.com> |
|---|---|
| First post | 2017-01-18 17:10 +0100 |
| Last post | 2017-01-19 10:00 +0100 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH 2/7] scsi: hisi_sas: modify some values of ITCT table John Garry <john.garry@huawei.com> - 2017-01-18 17:10 +0100
Re: [PATCH 2/7] scsi: hisi_sas: modify some values of ITCT table Johannes Thumshirn <jthumshirn@suse.de> - 2017-01-19 09:50 +0100
Re: [PATCH 2/7] scsi: hisi_sas: modify some values of ITCT table John Garry <john.garry@huawei.com> - 2017-01-19 10:00 +0100
| From | John Garry <john.garry@huawei.com> |
|---|---|
| Date | 2017-01-18 17:10 +0100 |
| Subject | [PATCH 2/7] scsi: hisi_sas: modify some values of ITCT table |
| Message-ID | <t10Ya-6eP-13@gated-at.bofh.it> |
From: Xiang Chen <chenxiang66@hisilicon.com>
Set SMP connection timeout and continue AWT timer;
Clear ITCT table when dev gone.
Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com>
Signed-off-by: John Garry <john.garry@huawei.com>
---
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
index 6c787eb..452e329 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
@@ -334,6 +334,8 @@
#define ITCT_HDR_MCR_MSK (0xf << ITCT_HDR_MCR_OFF)
#define ITCT_HDR_VLN_OFF 9
#define ITCT_HDR_VLN_MSK (0xf << ITCT_HDR_VLN_OFF)
+#define ITCT_HDR_SMP_TIMEOUT_OFF 16
+#define ITCT_HDR_AWT_CONTINUE_OFF 25
#define ITCT_HDR_PORT_ID_OFF 28
#define ITCT_HDR_PORT_ID_MSK (0xf << ITCT_HDR_PORT_ID_OFF)
/* qw2 */
@@ -696,6 +698,8 @@ static void setup_itct_v2_hw(struct hisi_hba *hisi_hba,
qw0 |= ((1 << ITCT_HDR_VALID_OFF) |
(device->linkrate << ITCT_HDR_MCR_OFF) |
(1 << ITCT_HDR_VLN_OFF) |
+ (0xfa << ITCT_HDR_SMP_TIMEOUT_OFF) |
+ (1 << ITCT_HDR_AWT_CONTINUE_OFF) |
(port->id << ITCT_HDR_PORT_ID_OFF));
itct->qw0 = cpu_to_le64(qw0);
@@ -705,7 +709,7 @@ static void setup_itct_v2_hw(struct hisi_hba *hisi_hba,
/* qw2 */
if (!dev_is_sata(device))
- itct->qw2 = cpu_to_le64((500ULL << ITCT_HDR_INLT_OFF) |
+ itct->qw2 = cpu_to_le64((5000ULL << ITCT_HDR_INLT_OFF) |
(0x1ULL << ITCT_HDR_BITLT_OFF) |
(0x32ULL << ITCT_HDR_MCTLT_OFF) |
(0x1ULL << ITCT_HDR_RTOLT_OFF));
@@ -714,7 +718,7 @@ static void setup_itct_v2_hw(struct hisi_hba *hisi_hba,
static void free_device_v2_hw(struct hisi_hba *hisi_hba,
struct hisi_sas_device *sas_dev)
{
- u64 qw0, dev_id = sas_dev->device_id;
+ u64 dev_id = sas_dev->device_id;
struct device *dev = &hisi_hba->pdev->dev;
struct hisi_sas_itct *itct = &hisi_hba->itct[dev_id];
u32 reg_val = hisi_sas_read32(hisi_hba, ENT_INT_SRC3);
@@ -738,8 +742,7 @@ static void free_device_v2_hw(struct hisi_hba *hisi_hba,
dev_dbg(dev, "got clear ITCT done interrupt\n");
/* invalid the itct state*/
- qw0 = cpu_to_le64(itct->qw0);
- qw0 &= ~(1 << ITCT_HDR_VALID_OFF);
+ memset(itct, 0, sizeof(struct hisi_sas_itct));
hisi_sas_write32(hisi_hba, ENT_INT_SRC3,
ENT_INT_SRC3_ITC_INT_MSK);
--
1.9.1
[toc] | [next] | [standalone]
| From | Johannes Thumshirn <jthumshirn@suse.de> |
|---|---|
| Date | 2017-01-19 09:50 +0100 |
| Message-ID | <t1gzT-7DU-7@gated-at.bofh.it> |
| In reply to | #1561917 |
On Thu, Jan 19, 2017 at 12:32:48AM +0800, John Garry wrote:
> From: Xiang Chen <chenxiang66@hisilicon.com>
>
> Set SMP connection timeout and continue AWT timer;
> Clear ITCT table when dev gone.
>
> Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com>
> Signed-off-by: John Garry <john.garry@huawei.com>
> ---
> drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 11 +++++++----
> 1 file changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
> index 6c787eb..452e329 100644
> --- a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
> +++ b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
> @@ -334,6 +334,8 @@
> #define ITCT_HDR_MCR_MSK (0xf << ITCT_HDR_MCR_OFF)
> #define ITCT_HDR_VLN_OFF 9
> #define ITCT_HDR_VLN_MSK (0xf << ITCT_HDR_VLN_OFF)
> +#define ITCT_HDR_SMP_TIMEOUT_OFF 16
> +#define ITCT_HDR_AWT_CONTINUE_OFF 25
> #define ITCT_HDR_PORT_ID_OFF 28
> #define ITCT_HDR_PORT_ID_MSK (0xf << ITCT_HDR_PORT_ID_OFF)
> /* qw2 */
> @@ -696,6 +698,8 @@ static void setup_itct_v2_hw(struct hisi_hba *hisi_hba,
> qw0 |= ((1 << ITCT_HDR_VALID_OFF) |
> (device->linkrate << ITCT_HDR_MCR_OFF) |
> (1 << ITCT_HDR_VLN_OFF) |
> + (0xfa << ITCT_HDR_SMP_TIMEOUT_OFF) |
^~ You may want to give that magic value a name.
Other than that,
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
--
Johannes Thumshirn Storage
jthumshirn@suse.de +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
[toc] | [prev] | [next] | [standalone]
| From | John Garry <john.garry@huawei.com> |
|---|---|
| Date | 2017-01-19 10:00 +0100 |
| Message-ID | <t1gJA-7Hu-19@gated-at.bofh.it> |
| In reply to | #1562477 |
On 19/01/2017 08:44, Johannes Thumshirn wrote: > On Thu, Jan 19, 2017 at 12:32:48AM +0800, John Garry wrote: >> From: Xiang Chen <chenxiang66@hisilicon.com> >> >> Set SMP connection timeout and continue AWT timer; >> Clear ITCT table when dev gone. >> >> Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com> >> Signed-off-by: John Garry <john.garry@huawei.com> >> --- >> drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 11 +++++++---- >> 1 file changed, 7 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c >> index 6c787eb..452e329 100644 >> --- a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c >> +++ b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c >> @@ -334,6 +334,8 @@ >> #define ITCT_HDR_MCR_MSK (0xf << ITCT_HDR_MCR_OFF) >> #define ITCT_HDR_VLN_OFF 9 >> #define ITCT_HDR_VLN_MSK (0xf << ITCT_HDR_VLN_OFF) >> +#define ITCT_HDR_SMP_TIMEOUT_OFF 16 >> +#define ITCT_HDR_AWT_CONTINUE_OFF 25 >> #define ITCT_HDR_PORT_ID_OFF 28 >> #define ITCT_HDR_PORT_ID_MSK (0xf << ITCT_HDR_PORT_ID_OFF) >> /* qw2 */ >> @@ -696,6 +698,8 @@ static void setup_itct_v2_hw(struct hisi_hba *hisi_hba, >> qw0 |= ((1 << ITCT_HDR_VALID_OFF) | >> (device->linkrate << ITCT_HDR_MCR_OFF) | >> (1 << ITCT_HDR_VLN_OFF) | >> + (0xfa << ITCT_HDR_SMP_TIMEOUT_OFF) | > ^~ You may want to give that magic value a name. > Thanks for having a look. We will create a new patch without the mysterious value. Regards, John > Other than that, > Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> >
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web