- 26 11月, 2015 40 次提交
-
-
由 John Garry 提交于
Include initialisation. Signed-off-by: NJohn Garry <john.garry@huawei.com> Reviewed-by: NArnd Bergmann <arnd@arndb.de> Reviewed-by: NHannes Reinecke <hare@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 John Garry 提交于
Signed-off-by: NJohn Garry <john.garry@huawei.com> Reviewed-by: NArnd Bergmann <arnd@arndb.de> Reviewed-by: NHannes Reinecke <hare@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 John Garry 提交于
Signed-off-by: NJohn Garry <john.garry@huawei.com> Reviewed-by: NArnd Bergmann <arnd@arndb.de> Reviewed-by: NHannes Reinecke <hare@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 John Garry 提交于
The SAS address for the HBA comes from the device tree. Signed-off-by: NJohn Garry <john.garry@huawei.com> Reviewed-by: NArnd Bergmann <arnd@arndb.de> Reviewed-by: NHannes Reinecke <hare@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 John Garry 提交于
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: NJohn Garry <john.garry@huawei.com> Reviewed-by: NArnd Bergmann <arnd@arndb.de> Reviewed-by: NHannes Reinecke <hare@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 John Garry 提交于
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: NJohn Garry <john.garry@huawei.com> Reviewed-by: NArnd Bergmann <arnd@arndb.de> Reviewed-by: NHannes Reinecke <hare@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 John Garry 提交于
This patch also includes relevant memory/pool freeing and sas/scsi host removal. Signed-off-by: NJohn Garry <john.garry@huawei.com> Reviewed-by: NArnd Bergmann <arnd@arndb.de> Reviewed-by: NHannes Reinecke <hare@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 John Garry 提交于
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 Signed-off-by: NJohn Garry <john.garry@huawei.com> Reviewed-by: NArnd Bergmann <arnd@arndb.de> Reviewed-by: NHannes Reinecke <hare@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 John Garry 提交于
Signed-off-by: NJohn Garry <john.garry@huawei.com> Reviewed-by: NArnd Bergmann <arnd@arndb.de> Reviewed-by: NHannes Reinecke <hare@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 John Garry 提交于
Scan the device tree for all properties. Also do this: - do ioremap for SAS registers - allocate memory for interrupt names Signed-off-by: NJohn Garry <john.garry@huawei.com> Reviewed-by: NArnd Bergmann <arnd@arndb.de> Reviewed-by: NHannes Reinecke <hare@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 John Garry 提交于
Add functionality to register device as a scsi host. The SAS domain transport ops are empty at this point. Signed-off-by: NJohn Garry <john.garry@huawei.com> Reviewed-by: NArnd Bergmann <arnd@arndb.de> Reviewed-by: NHannes Reinecke <hare@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 John Garry 提交于
This patch adds the initial bare main driver for the HiSilicon SAS HBA. This only introduces the changes to build and load the main driver module. The complete driver consists of the core main module and also a module platform driver for driving the hw. The HBA is a platform device. Signed-off-by: NJohn Garry <john.garry@huawei.com> Signed-off-by: NZhangfei Gao <zhangfei.gao@linaro.org> Reviewed-by: NArnd Bergmann <arnd@arndb.de> Reviewed-by: NHannes Reinecke <hare@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 John Garry 提交于
Add devicetree bindings for HiSilicon SAS driver. Signed-off-by: NJohn Garry <john.garry@huawei.com> Signed-off-by: NZhangfei Gao <zhangfei.gao@linaro.org> Acked-by: NRob Herring <robh@kernel.org> Reviewed-by: NArnd Bergmann <arnd@arndb.de> Reviewed-by: NHannes Reinecke <hare@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 John Garry 提交于
The xfer_rdy, command, and task frame's iu structures are not available in <scsi/sas.h>, but only aic94xx driver folder. Add them to include/scsi/sas.h Signed-off-by: NJohn Garry <john.garry@huawei.com> Reviewed-by: NArnd Bergmann <arnd@arndb.de> Reviewed-by: NHannes Reinecke <hare@suse.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
Move 870-specific init code to a separate function atp870_init() Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
Move 885-specific init code to a separate function atp885_init() Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
Move 880-specific init code to a separate function atp880_init() Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
Call _init_tables before chip-specific initialization. This avoids code duplication and fixes a bug(?) in 880 init where the values read from flash into atpdev->sp are then overwritten by calling init_tables. Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
scam_on is used only during probe, no need to keep it later. Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
Allocate IRQ later during probe to avoid code duplication and also remove the need for weird locking in _probe. (It was probably there to prevent race with the IRQ handler?) Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
Use pci_request_regions and do it before accessing the I/O ports. Also add missing pci_disable_device() call to atp870u_remove(). Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
Introduce chip type inline functions to simplify code, allowing to delete dev_id from struct atp_unit. Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
Move shpnt common code to the top, remove base_io, use pci_resource_len. Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
chip_ver is used for wide chip detection only. Remove it and use a local variable instead (for 870; 880 and 885 are always wide). Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
Move scsi_host_alloc() to the top of _probe() to remove code duplication, *p and unneeded atpdev (de)allocation and copying. While at it, fix the error paths to return real error codes and also add missing pci_disble_device() call. Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
tscam_885() is empty (except a delay) so remove it. Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
The code for setting host adapter ID is the same for all chips. Move it to a common function. Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
The ioport region is 0x20 bytes long so accessing 0x3a register using writeb_io is incorrect. Use writeb_base instead. There's no change in behavior as 870 chips have ioport = baseport. Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
tscam() is using port 0x80 access for delays but that's x86-only. Use udelay(2) instead. Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
Now that all the is* functions except is885() are gone, rename is885() to atp_is() to avoid confusion. Don't know what "is" means, though... Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
Now that is885() supports everything from is870() and the rest of the code is almost identical, remove is870() and use is885() instead. Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
Move few remaining 870-specific code lines out of is870() Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Ondrej Zary 提交于
Add remaining 870 support to is885(): - different synw, no synuw - synu[4] = 0x0c - atp_writeb_io(dev, c, 0x04, 0x00); instead of atp_writeb_io(dev, c, 0x14, 0x00); (isn't that a bug?) - atp_writeb_io(dev, c, 0x14, 0xff); instead of atp_writeb_io(dev, c, 0x14, 0x06); - different mbuf[3] and mbuf[4] checks Signed-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NHannes Reinicke <hare@suse.de> Acked-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-