On Monday 12 October 2015 23:20:19 John Garry wrote:
> +int hisi_sas_ioremap(struct hisi_hba *hisi_hba)
> +{
> + struct platform_device *pdev = hisi_hba->pdev;
> + struct device *dev = >dev;
> + struct resource *res;
> +
> + res = platform_get_resource(pdev, IORESOURCE_MEM,
Each completion queue has a structure. This is mainly for
passing to irq handler so we know which queue the irq occured
on.
Signed-off-by: John Garry
---
drivers/scsi/hisi_sas/hisi_sas.h | 6 ++
drivers/scsi/hisi_sas/hisi_sas_init.c | 6 ++
2 files changed,
Hannes Reinecke writes:
> On 10/08/2015 06:54 PM, Vitaly Kuznetsov wrote:
>> Some host adapters (e.g. Hyper-V storvsc) are known for not respecting the
>> SPC-2/3/4 requirement for 'INQUIRY data (see table ...) shall contain at
>> least 36 bytes'. As a result we get tons on 'scsi
Allocate DMA and non-DMA memories for the controller. Also
create DMA pools.
These include:
- Delivery queues
- Completion queues
- Command status buffer
- Command table
- ITCT (For device context)
- Host slot info
- IO status
- Breakpoint
- host slot indexing
- SG data
- FIS
- interrupts names
On Mon, 2015-10-12 at 17:10 +0200, Arnd Bergmann wrote:
> The advansys drvier uses the request_dma function that is used on ISA
> machines for the internal DMA controller, which causes build errors
> on platforms that have ISA slots but do not provide the ISA DMA API:
>
> drivers/scsi/advansys.c:
On Monday 12 October 2015 08:28:01 James Bottomley wrote:
> >
> > diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
> > index d2f480b04a52..d4aa6a1a806c 100644
> > --- a/drivers/scsi/Kconfig
> > +++ b/drivers/scsi/Kconfig
> > @@ -499,6 +499,7 @@ config SCSI_ADVANSYS
> > tristate
On Monday 12 October 2015 23:20:16 John Garry wrote:
> +
> + shost = scsi_host_alloc(_sas_sht, sizeof(void *));
> + if (!shost)
> + return -ENOMEM;
> +
> + hisi_hba = hisi_sas_hba_alloc(pdev, shost, np);
> + if (!hisi_hba) {
> + rc = -ENOMEM;
> +
On Monday 12 October 2015 23:20:17 John Garry wrote:
> + interrupt_count = of_property_count_u32_elems(np, "interrupts");
> + if (interrupt_count < 0)
> + goto err_out;
> +
> + if (of_property_read_u32(np, "#interrupt-cells", _cells))
> + goto err_out;
On 10/08/2015 06:54 PM, Vitaly Kuznetsov wrote:
> Some host adapters (e.g. Hyper-V storvsc) are known for not respecting the
> SPC-2/3/4 requirement for 'INQUIRY data (see table ...) shall contain at
> least 36 bytes'. As a result we get tons on 'scsi 0:7:1:1: scsi scan:
> INQUIRY result too short
On 10/08/2015 10:25 AM, Christoph Hellwig wrote:
> Request_module gets really unhappy when called from async probing, so
> revert to not auto load device handler modules during the SCSI bus
> scan. While autoloading would be really useful we never did this
> until 4.3-rc and it turns out that
On 10/04/2015 09:45 AM, Christoph Hellwig wrote:
> On Fri, Oct 02, 2015 at 06:44:57AM -0700, James Bottomley wrote:
>> I think I prefer restoring that to having to build in every dh module to
>> get them to work. If we take your proposed fix for the sync module load
>> in the current scheme, any
This includes registers for core SAS controllers
and also SAS control registers.
Signed-off-by: John Garry
---
drivers/scsi/hisi_sas/hisi_sas.h | 2 ++
drivers/scsi/hisi_sas/hisi_sas_init.c | 25 +
2 files changed, 27 insertions(+)
diff
Add function methods for tmf's.
Signed-off-by: John Garry
---
drivers/scsi/hisi_sas/hisi_sas.h | 7 +
drivers/scsi/hisi_sas/hisi_sas_init.c | 6 +
drivers/scsi/hisi_sas/hisi_sas_main.c | 385 ++
3 files changed, 398 insertions(+)
Add handlers for fatal interrupts.
Signed-off-by: John Garry
---
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 118 +
1 file changed, 118 insertions(+)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
Add method for lldd_control_phy. Currently link rate
control and spinup hold is unsupported.
Signed-off-by: John Garry
---
drivers/scsi/hisi_sas/hisi_sas.h | 7
drivers/scsi/hisi_sas/hisi_sas_init.c | 1 +
drivers/scsi/hisi_sas/hisi_sas_main.c | 64
Add path to send ssp command to HW.
Signed-off-by: John Garry
---
drivers/scsi/hisi_sas/hisi_sas.h | 23 +++
drivers/scsi/hisi_sas/hisi_sas_init.c | 1 +
drivers/scsi/hisi_sas/hisi_sas_main.c | 246 +
This is for expander broadcast event.
Signed-off-by: John Garry
---
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 31 +++
1 file changed, 31 insertions(+)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
On 10/08/2015 04:47 PM, John Garry wrote:
> On 08/10/2015 15:22, Arnd Bergmann wrote:
>> On Thursday 08 October 2015 15:17:49 John Garry wrote:
>>> Hi,
>>>
>>> For a new driver I am preparing for a SAS controller, I need
>>> defintions
>>> for the SSP command and TMF iu structures. Currently these
On Mon, 2015-10-12 at 14:45 +0200, Hannes Reinecke wrote:
> On 10/04/2015 09:45 AM, Christoph Hellwig wrote:
> > On Fri, Oct 02, 2015 at 06:44:57AM -0700, James Bottomley wrote:
> >> I think I prefer restoring that to having to build in every dh module to
> >> get them to work. If we take your
Add support for smp function, which allows devices
attached by expander to be controlled.
Signed-off-by: John Garry
---
drivers/scsi/hisi_sas/hisi_sas.h | 4 ++
drivers/scsi/hisi_sas/hisi_sas_main.c | 9 +++-
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 97
The xfer_rdy, command, and task frame's iu structures
are not available in , but only aic94xx
driver folder.
Add them to include/scsi/sas.h
Signed-off-by: John Garry
---
drivers/scsi/aic94xx/aic94xx_sas.h | 49 -
include/scsi/sas.h
Add function calls for lldd_dev_gone and lldd_port_deformed.
Signed-off-by: John Garry
---
drivers/scsi/hisi_sas/hisi_sas.h | 7 +++
drivers/scsi/hisi_sas/hisi_sas_init.c | 2 +
drivers/scsi/hisi_sas/hisi_sas_main.c | 80 ++
The advansys drvier uses the request_dma function that is used on ISA
machines for the internal DMA controller, which causes build errors
on platforms that have ISA slots but do not provide the ISA DMA API:
drivers/scsi/advansys.c: In function 'advansys_board_found':
On Mon, Oct 12, 2015 at 02:45:38PM +0200, Hannes Reinecke wrote:
> You cannot easily use the driver model here as the scsi_device is
> already (potentially) bound to the ULDs.
> If you were to go with the driver model you'd have to introduce
> another sub device between scsi_target and
On Thu, 2015-10-08 at 15:47 +0100, John Garry wrote:
> On 08/10/2015 15:22, Arnd Bergmann wrote:
> > On Thursday 08 October 2015 15:17:49 John Garry wrote:
> >> Hi,
> >>
> >> For a new driver I am preparing for a SAS controller, I need defintions
> >> for the SSP command and TMF iu structures.
I support this addition as it can be done without the module reload
provided by my prior patch.
Reviewed-by: Laurence Oberman
On Mon, Oct 12, 2015 at 12:31 AM, Seymour, Shane M
wrote:
>
> Change st driver to allow enabling or disabling debug output
>
Add devicetree bindings for HiSilicon SAS driver.
Signed-off-by: John Garry
---
.../devicetree/bindings/scsi/hisilicon-sas.txt | 63 ++
1 file changed, 63 insertions(+)
create mode 100644 Documentation/devicetree/bindings/scsi/hisilicon-sas.txt
Add functionality to register device as a scsi host.
The SAS domain transport ops are empty at this point.
Signed-off-by: John Garry
---
drivers/scsi/hisi_sas/hisi_sas.h | 32 +
drivers/scsi/hisi_sas/hisi_sas_init.c | 125 ++
Add functions for scsi host template scan_finished
and scan_start methods.
Signed-off-by: John Garry
---
drivers/scsi/hisi_sas/hisi_sas.h | 4
drivers/scsi/hisi_sas/hisi_sas_init.c | 2 ++
drivers/scsi/hisi_sas/hisi_sas_main.c | 24
3
This includes:
- host port structure initialisation
- host device structure initialisation
- wq initialisation
- host structure timer init
- DMA mask configuration
- call to scan host
Signed-off-by: John Garry
---
drivers/scsi/hisi_sas/hisi_sas.h | 56
Add abnormal irq handler. This handler is concerned with
phy down event.
Signed-off-by: John Garry
---
drivers/scsi/hisi_sas/hisi_sas.h | 1 +
drivers/scsi/hisi_sas/hisi_sas_main.c | 24 +++
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 56
Add cq interrupt handler and also slot error handler
function.
Signed-off-by: John Garry
---
drivers/scsi/hisi_sas/hisi_sas.h | 4 +
drivers/scsi/hisi_sas/hisi_sas_main.c | 46 +
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 327 +
This patch adds the initial bare driver for the HiSilicon
SAS HBA. The driver includes no HW interaction, but only
the changes to build and load the driver module.
The HBA is a platform device.
Signed-off-by: John Garry
---
drivers/scsi/Kconfig | 1 +
Add functionality to init slot indexing.
Slot indexing is for the host to track which slots
(or tags) are free and which are used.
Signed-off-by: John Garry
---
drivers/scsi/hisi_sas/Makefile| 2 +-
drivers/scsi/hisi_sas/hisi_sas.h | 2 ++
Add definitions for v1 controller HW.
Signed-off-by: John Garry
---
drivers/scsi/hisi_sas/Makefile | 2 +-
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 402 +
2 files changed, 403 insertions(+), 1 deletion(-)
create mode 100644
Add functions to deal with lldd_dev_found and lldd_port_formed.
Signed-off-by: John Garry
---
drivers/scsi/hisi_sas/hisi_sas.h | 12
drivers/scsi/hisi_sas/hisi_sas_init.c | 2 +
drivers/scsi/hisi_sas/hisi_sas_main.c | 125 +
This is the driver patchset for the HiSilicon SAS driver. The driver
is a platform driver.
The driver will support multiple revisions of HW. Currently only "v1"
HW is supported.
The driver uses libsas framework within the SCSI framework.
The v1 HW supports SSP and SMP, but not STP/SATA.
John
Signed-off-by: John Garry
---
drivers/scsi/hisi_sas/hisi_sas.h | 1 +
drivers/scsi/hisi_sas/hisi_sas_main.c | 55 ++
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 24 +++
3 files changed, 80 insertions(+)
diff --git
This SAS ID is chosen as Huawei IEEE id: 001882
Signed-off-by: John Garry
---
drivers/scsi/hisi_sas/hisi_sas_init.c | 15 +++
1 file changed, 15 insertions(+)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_init.c
b/drivers/scsi/hisi_sas/hisi_sas_init.c
index
Add complete code to initialise HW to the point where
we can get a phy up interrupt when a disk is connected.
Signed-off-by: John Garry
---
drivers/scsi/hisi_sas/hisi_sas.h | 10 +
drivers/scsi/hisi_sas/hisi_sas_init.c | 20 ++
Add maintainer for HiSilicon SAS driver.
Signed-off-by: John Garry
---
MAINTAINERS | 7 +++
1 file changed, 7 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index 797236b..edea297 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -4935,6 +4935,13 @@ F:
Signed-off-by: Fengguang Wu
---
hisi_sas_init.c |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_init.c
b/drivers/scsi/hisi_sas/hisi_sas_init.c
index 8f1e856..066c339 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_init.c
Hi John,
[auto build test WARNING on scsi/for-next -- if it's inappropriate base, please
suggest rules for selecting the more suitable base]
url:
https://github.com/0day-ci/linux/commits/John-Garry/HiSilicon-SAS-driver/20151012-231929
reproduce:
# apt-get install sparse
make
Looks Good - Thank you Sudip.
Reviewed-by: James Smart
-- james s
On 9/23/2015 6:32 AM, Sudip Mukherjee wrote:
kmalloc() can return NULL and without checking we were dereferencing it.
Moreover if kmalloc succeeds but the function fails in other parts then
we were
On Monday 12 October 2015 23:20:24 John Garry wrote:
> @@ -387,6 +392,21 @@ static int hisi_sas_probe(struct platform_device *pdev)
> }
>
> hisi_sas_init_add(hisi_hba);
> +
> + rc = hw_init_v1_hw(hisi_hba);
> + if (rc)
> + goto err_out_ha;
> +
> +
On Mon, Oct 12, 2015 at 10:39 AM, Christoph Hellwig wrote:
> On Mon, Oct 12, 2015 at 02:45:38PM +0200, Hannes Reinecke wrote:
>> You cannot easily use the driver model here as the scsi_device is
>> already (potentially) bound to the ULDs.
>> If you were to go with the driver model
On Mon, Oct 12, 2015 at 02:08:04PM -0600, Jens Axboe wrote:
>> No that's definitely fine with me, imho most error handling callbacks
>> should be in process context for ease of use in the driver.
>
> Took a closer look. The patch looks incomplete. The hot path for blk-mq is
> blk_add_timer(),
On 10/12/2015 02:22 PM, Christoph Hellwig wrote:
On Mon, Oct 12, 2015 at 02:08:04PM -0600, Jens Axboe wrote:
No that's definitely fine with me, imho most error handling callbacks
should be in process context for ease of use in the driver.
Took a closer look. The patch looks incomplete. The
For some pending NVMe work I'd really love to be able to get my timeouts
from process context. So far it seems only SCSI and NVMe use the blk-mq
timeout handler, and both don't seem to be particularly excited about
being called from time context. Does anyone have an objection against
the patch
On 10/12/2015 01:29 PM, Christoph Hellwig wrote:
For some pending NVMe work I'd really love to be able to get my timeouts
from process context. So far it seems only SCSI and NVMe use the blk-mq
timeout handler, and both don't seem to be particularly excited about
being called from time context.
On Mon, Oct 12, 2015 at 03:29:45PM -0400, Mike Snitzer wrote:
> What may be getting lost during this discussion is that historically
> it has been important to be able to attach the scsi_dh during the SCSI
> scan. As the scsi_dh alters the SCSI midlayer's sense code processing
> (via callout to
On 10/12/2015 01:34 PM, Jens Axboe wrote:
On 10/12/2015 01:29 PM, Christoph Hellwig wrote:
For some pending NVMe work I'd really love to be able to get my timeouts
from process context. So far it seems only SCSI and NVMe use the blk-mq
timeout handler, and both don't seem to be particularly
Signed-off-by: Fengguang Wu
---
hisi_sas_main.c |6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c
b/drivers/scsi/hisi_sas/hisi_sas_main.c
index 44cb9085..f7ee97a 100644
---
Hi John,
[auto build test WARNING on scsi/for-next -- if it's inappropriate base, please
suggest rules for selecting the more suitable base]
url:
https://github.com/0day-ci/linux/commits/John-Garry/HiSilicon-SAS-driver/20151012-231929
reproduce:
# apt-get install sparse
make
te:
> > Hi John,
> >
> > [auto build test WARNING on scsi/for-next -- if it's inappropriate base,
> > please suggest rules for selecting the more suitable base]
> >
> > url:
> > https://github.com/0day-ci/linux/commits/John-Garry/HiSilicon-SAS-driver/20151012-2
Hi John,
[auto build test ERROR on scsi/for-next -- if it's inappropriate base, please
suggest rules for selecting the more suitable base]
url:
https://github.com/0day-ci/linux/commits/John-Garry/HiSilicon-SAS-driver/20151012-231929
config: m68k-allmodconfig (attached as .config)
reproduce
Hi John,
[auto build test WARNING on scsi/for-next -- if it's inappropriate base, please
suggest rules for selecting the more suitable base]
url:
https://github.com/0day-ci/linux/commits/John-Garry/HiSilicon-SAS-driver/20151012-231929
reproduce:
# apt-get install sparse
make
Hi John,
[auto build test WARNING on scsi/for-next -- if it's inappropriate base, please
suggest rules for selecting the more suitable base]
url:
https://github.com/0day-ci/linux/commits/John-Garry/HiSilicon-SAS-driver/20151012-231929
reproduce:
# apt-get install sparse
make
Signed-off-by: Fengguang Wu
---
hisi_sas_main.c |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c
b/drivers/scsi/hisi_sas/hisi_sas_main.c
index 12af29c..a01e8c0 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c
Hi John,
[auto build test WARNING on scsi/for-next -- if it's inappropriate base, please
suggest rules for selecting the more suitable base]
url:
https://github.com/0day-ci/linux/commits/John-Garry/HiSilicon-SAS-driver/20151012-231929
reproduce:
# apt-get install sparse
make
https://github.com/0day-ci/linux/commits/John-Garry/HiSilicon-SAS-driver/20151012-231929
> reproduce:
> # apt-get install sparse
> make ARCH=x86_64 allmodconfig
> make C=1 CF=-D__CHECK_ENDIAN__
>
>
> sparse warnings: (new ones prefixed by >>)
Y
Hi John,
[auto build test WARNING on scsi/for-next -- if it's inappropriate base, please
suggest rules for selecting the more suitable base]
url:
https://github.com/0day-ci/linux/commits/John-Garry/HiSilicon-SAS-driver/20151012-231929
reproduce:
# apt-get install sparse
make
Hi John,
[auto build test WARNING on scsi/for-next -- if it's inappropriate base, please
suggest rules for selecting the more suitable base]
url:
https://github.com/0day-ci/linux/commits/John-Garry/HiSilicon-SAS-driver/20151012-231929
reproduce:
# apt-get install sparse
make
Signed-off-by: Fengguang Wu
---
hisi_sas_main.c |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c
b/drivers/scsi/hisi_sas/hisi_sas_main.c
index 72831db..08b2af8 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c
Hi John,
[auto build test ERROR on scsi/for-next -- if it's inappropriate base, please
suggest rules for selecting the more suitable base]
url:
https://github.com/0day-ci/linux/commits/John-Garry/HiSilicon-SAS-driver/20151012-231929
config: m68k-allmodconfig (attached as .config)
reproduce
On 10/12/2015 05:10 PM, Arnd Bergmann wrote:
> The advansys drvier uses the request_dma function that is used on ISA
> machines for the internal DMA controller, which causes build errors
> on platforms that have ISA slots but do not provide the ISA DMA API:
>
> drivers/scsi/advansys.c: In
66 matches
Mail list logo