[PATCH v2 18/23] hisi_sas: add v2 code to send smp command

2016-01-25 Thread j00310691
From: John Garry Signed-off-by: John Garry --- drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 71 ++ 1 file changed, 71 insertions(+) diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c index ab6ea25..2c6a753 100644 --- a/driv

[PATCH v2 21/23] hisi_sas: add v2 slot error handler

2016-01-25 Thread j00310691
From: John Garry Signed-off-by: John Garry --- drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 421 + 1 file changed, 421 insertions(+) diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c index cea0b36..481aff9 100644 --- a/dri

[PATCH v2 16/23] hisi_sas: add v2 cq interrupt handler

2016-01-25 Thread j00310691
From: John Garry Also include slot_complete_v2_hw handler Signed-off-by: John Garry --- drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 190 + 1 file changed, 190 insertions(+) diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw

[PATCH v2 23/23] hisi_sas: update driver version to 1.1

2016-01-25 Thread j00310691
From: John Garry Signed-off-by: John Garry --- drivers/scsi/hisi_sas/hisi_sas.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/hisi_sas/hisi_sas.h b/drivers/scsi/hisi_sas/hisi_sas.h index f00b55b..9f08c0c 100644 --- a/drivers/scsi/hisi_sas/hisi_sas.h +++ b/driv

[PATCH v2 09/23] hisi_sas: add v2 hw init

2016-01-25 Thread j00310691
From: John Garry Add code to initialise the hardware. Support is also added to deal with the "am-max-transmissions" (amt) limitation in hip06 controller #1. This is how many connection requests we can send on the system bus before waiting for a response. Due to chip bus design, controller #1 is

[PATCH v2 11/23] hisi_sas: add v2 phy init code

2016-01-25 Thread j00310691
From: John Garry Signed-off-by: John Garry --- drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 49 ++ 1 file changed, 49 insertions(+) diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c index 6f05333..1990d65 100644 --- a/driv

[PATCH v2 17/23] hisi_sas: add v2 path to send ssp frame

2016-01-25 Thread j00310691
From: John Garry Include code to prep ssp frame and deliver to hardware. Signed-off-by: John Garry --- drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 185 + 1 file changed, 185 insertions(+) diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas

[PATCH v2 15/23] hisi_sas: add v2 SATA interrupt handler

2016-01-25 Thread j00310691
From: John Garry Signed-off-by: John Garry --- drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 100 + 1 file changed, 100 insertions(+) diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c index 5af2069..c4a887c 100644 --- a/dri

[PATCH v2 00/23] HiSilicon SAS v2 hw support

2016-01-25 Thread j00310691
From: John Garry This patchset introduces support for the HiSi SAS v2 hw. The major difference between v1 and v2 hw is support for SATA/STP. Known limitation: - We cannot connect a SATA disk through an expander which enables DMA setup auto-activate, as our controller does not support this fe

[PATCH v2 01/23] devicetree: bindings: hisi_sas: add v2 HW bindings

2016-01-25 Thread j00310691
From: John Garry Add the dt bindings for HiSi SAS controller v2 HW. The main difference in the controller from dt perspective is interrupts. The v2 controller does not have dedicated fatal and broadcast interrupts - they are multiplexed on the channel interrupt. Each SAS v2 controller can issue

[PATCH v2 08/23] hisi_sas: add v2 register definitions

2016-01-25 Thread j00310691
From: John Garry Signed-off-by: John Garry --- drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 237 + 1 file changed, 237 insertions(+) diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c index 0f7f2af..31e4fdc 100644 --- a/dri

[PATCH v2 20/23] hisi_sas: add v2 path to send ATA command

2016-01-25 Thread j00310691
From: John Garry Signed-off-by: John Garry --- drivers/scsi/hisi_sas/hisi_sas.h | 4 + drivers/scsi/hisi_sas/hisi_sas_main.c | 8 ++ drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 162 + 3 files changed, 174 insertions(+) diff --git a/drivers/scsi/hisi_sas/

[PATCH v2 12/23] hisi_sas: add v2 int init and phy up handler

2016-01-25 Thread j00310691
From: John Garry Signed-off-by: John Garry --- drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 171 + 1 file changed, 171 insertions(+) diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c index 1990d65..a7b83bd 100644 --- a/dri

[PATCH v2 13/23] hisi_sas: add v2 phy down handler

2016-01-25 Thread j00310691
From: John Garry Signed-off-by: John Garry --- drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 49 ++ 1 file changed, 49 insertions(+) diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c index a7b83bd..35ce7b6 100644 --- a/driv

[PATCH v2 07/23] hisi_sas: add bare v2 hw driver

2016-01-25 Thread j00310691
From: John Garry Just add enough to build and init the module. Signed-off-by: John Garry --- drivers/scsi/hisi_sas/Makefile | 2 +- drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 48 ++ 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 driv

[PATCH v2 19/23] hisi_sas: add v2 code for itct setup and free

2016-01-25 Thread j00310691
From: John Garry Signed-off-by: John Garry --- drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 92 ++ 1 file changed, 92 insertions(+) diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c index 2c6a753..8b51acf 100644 --- a/driv

[PATCH v2 10/23] hisi_sas: add init_id_frame_v2_hw()

2016-01-25 Thread j00310691
From: John Garry Signed-off-by: John Garry --- drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 40 ++ 1 file changed, 40 insertions(+) diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c index da9c375..6f05333 100644 --- a/driv

[PATCH v2 22/23] hisi_sas: add v2 tmf functions

2016-01-25 Thread j00310691
From: John Garry Signed-off-by: John Garry --- drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 23 +++ 1 file changed, 23 insertions(+) diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c index 481aff9..58e1956 100644 --- a/drivers/scsi/hi

[PATCH v2 14/23] hisi_sas: add v2 channel interrupt handler

2016-01-25 Thread j00310691
From: John Garry This also includes broadcast handler. Unlike v1 hw, broadcast does not have its own dedicated interrupt. Signed-off-by: John Garry --- drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 79 ++ 1 file changed, 79 insertions(+) diff --git a/drivers/scsi/hi

[PATCH v2 05/23] hisi_sas: add hisi_sas_err_record_v1

2016-01-25 Thread j00310691
From: John Garry Since the error record structure is different for v2 hw, make hisi_sas_err_record opaque and add hisi_sas_err_record_v1. Signed-off-by: John Garry --- drivers/scsi/hisi_sas/hisi_sas.h | 12 +--- drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 17 +++-- 2 fil

[PATCH v2 04/23] hisi_sas: reduce max itct entries

2016-01-25 Thread j00310691
From: John Garry Since v2 hw only supports 2048 itct entries, as opposed to 4096 for v1 hw, set the max itct entries to the lower of the two. It is not anticipated that any device with v1 will ever require to connect > 2048 devices. Signed-off-by: John Garry --- drivers/scsi/hisi_sas/hisi_sas

[PATCH v2 06/23] hisi_sas: rename some fields in hisi_sas_itct

2016-01-25 Thread j00310691
From: John Garry Since hisi_sas_itct format is different between v1 and v2 hw, give more general names for some fields. Signed-off-by: John Garry --- drivers/scsi/hisi_sas/hisi_sas.h | 13 + 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/drivers/scsi/hisi_sas/hisi_sa

[PATCH v2 02/23] hisi_sas: relocate DEV_IS_EXPANDER

2016-01-25 Thread j00310691
From: John Garry Relocate DEV_IS_EXPANDER to hisi_sas.h as it will be required for v2 hw support. Signed-off-by: John Garry --- drivers/scsi/hisi_sas/hisi_sas.h | 4 drivers/scsi/hisi_sas/hisi_sas_main.c | 4 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers

[PATCH v2 03/23] hisi_sas: set max commands as configurable

2016-01-25 Thread j00310691
From: John Garry Since v2 hardware permits different numbers of commands to v1, set this as configurable in hisi_sas_hw. Signed-off-by: John Garry --- drivers/scsi/hisi_sas/hisi_sas.h | 2 +- drivers/scsi/hisi_sas/hisi_sas_main.c | 24 drivers/scsi/hisi_sas/his