Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 675e0655 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull SCSI updates from James Bottomley:
 "First round of SCSI updates for the 4.6+ merge window.

  This batch includes the usual quota of driver updates (bnx2fc, mp3sas,
  hpsa, ncr5380, lpfc, hisi_sas, snic, aacraid, megaraid_sas).  There's
  also a multiqueue update for scsi_debug, assorted bug fixes and a few
  other minor updates (refactor of scsi_sg_pools into generic code, alua
  and VPD updates, and struct timeval conversions)"

* tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (138 commits)
  mpt3sas: Used "synchronize_irq()"API to synchronize timed-out IO & TMs
  mpt3sas: Set maximum transfer length per IO to 4MB for VDs
  mpt3sas: Updating mpt3sas driver version to 13.100.00.00
  mpt3sas: Fix initial Reference tag field for 4K PI drives.
  mpt3sas: Handle active cable exception event
  mpt3sas: Update MPI header to 2.00.42
  Revert "lpfc: Delete unnecessary checks before the function call mempool_destroy"
  eata_pio: missing break statement
  hpsa: Fix type ZBC conditional checks
  scsi_lib: Decode T10 vendor IDs
  scsi_dh_alua: do not fail for unknown VPD identification
  scsi_debug: use locally assigned naa
  scsi_debug: uuid for lu name
  scsi_debug: vpd and mode page work
  scsi_debug: add multiple queue support
  bfa: fix bfa_fcb_itnim_alloc() error handling
  megaraid_sas: Downgrade two success messages to info
  cxlflash: Fix to resolve dead-lock during EEH recovery
  scsi_debug: rework resp_report_luns
  scsi_debug: use pdt constants
  ...
parents d974f09e e7ca7f9f
Loading
Loading
Loading
Loading
+7 −10
Original line number Original line Diff line number Diff line
@@ -23,11 +23,10 @@ supported by the driver.


If the default configuration does not work for you, you can use the kernel
If the default configuration does not work for you, you can use the kernel
command lines (eg using the lilo append command):
command lines (eg using the lilo append command):
	ncr5380=port,irq,dma
	ncr5380=addr,irq
	ncr53c400=port,irq
	ncr53c400=addr,irq
or
	ncr53c400a=addr,irq
	ncr5380=base,irq,dma
	dtc3181e=addr,irq
	ncr53c400=base,irq


The driver does not probe for any addresses or ports other than those in
The driver does not probe for any addresses or ports other than those in
the OVERRIDE or given to the kernel as above.
the OVERRIDE or given to the kernel as above.
@@ -36,19 +35,17 @@ This driver provides some information on what it has detected in
/proc/scsi/g_NCR5380/x where x is the scsi card number as detected at boot
/proc/scsi/g_NCR5380/x where x is the scsi card number as detected at boot
time. More info to come in the future.
time. More info to come in the future.


When NCR53c400 support is compiled in, BIOS parameters will be returned by
the driver (the raw 5380 driver does not and I don't plan to fiddle with
it!).

This driver works as a module.
This driver works as a module.
When included as a module, parameters can be passed on the insmod/modprobe
When included as a module, parameters can be passed on the insmod/modprobe
command line:
command line:
  ncr_irq=xx   the interrupt
  ncr_irq=xx   the interrupt
  ncr_addr=xx  the port or base address (for port or memory
  ncr_addr=xx  the port or base address (for port or memory
               mapped, resp.)
               mapped, resp.)
  ncr_dma=xx   the DMA
  ncr_5380=1   to set up for a NCR5380 board
  ncr_5380=1   to set up for a NCR5380 board
  ncr_53c400=1 to set up for a NCR53C400 board
  ncr_53c400=1 to set up for a NCR53C400 board
  ncr_53c400a=1 to set up for a NCR53C400A board
  dtc_3181e=1  to set up for a Domex Technology Corp 3181E board
  hp_c2502=1   to set up for a Hewlett Packard C2502 board
e.g.
e.g.
modprobe g_NCR5380 ncr_irq=5 ncr_addr=0x350 ncr_5380=1
modprobe g_NCR5380 ncr_irq=5 ncr_addr=0x350 ncr_5380=1
  for a port mapped NCR5380 board or
  for a port mapped NCR5380 board or
+8 −3
Original line number Original line Diff line number Diff line
@@ -27,13 +27,15 @@ parameters may be changed at runtime by the command
	aic79xx=	[HW,SCSI]
	aic79xx=	[HW,SCSI]
			See Documentation/scsi/aic79xx.txt.
			See Documentation/scsi/aic79xx.txt.


	atascsi=	[HW,SCSI] Atari SCSI
	atascsi=	[HW,SCSI]
			See drivers/scsi/atari_scsi.c.


	BusLogic=	[HW,SCSI]
	BusLogic=	[HW,SCSI]
			See drivers/scsi/BusLogic.c, comment before function
			See drivers/scsi/BusLogic.c, comment before function
			BusLogic_ParseDriverOptions().
			BusLogic_ParseDriverOptions().


	dtc3181e=	[HW,SCSI]
	dtc3181e=	[HW,SCSI]
			See Documentation/scsi/g_NCR5380.txt.


	eata=		[HW,SCSI]
	eata=		[HW,SCSI]


@@ -51,8 +53,8 @@ parameters may be changed at runtime by the command
	ips=		[HW,SCSI] Adaptec / IBM ServeRAID controller
	ips=		[HW,SCSI] Adaptec / IBM ServeRAID controller
			See header of drivers/scsi/ips.c.
			See header of drivers/scsi/ips.c.


	mac5380=	[HW,SCSI] Format:
	mac5380=	[HW,SCSI]
			<can_queue>,<cmd_per_lun>,<sg_tablesize>,<hostid>,<use_tags>
			See drivers/scsi/mac_scsi.c.


	max_luns=	[SCSI] Maximum number of LUNs to probe.
	max_luns=	[SCSI] Maximum number of LUNs to probe.
			Should be between 1 and 2^32-1.
			Should be between 1 and 2^32-1.
@@ -65,10 +67,13 @@ parameters may be changed at runtime by the command
			See header of drivers/scsi/NCR_D700.c.
			See header of drivers/scsi/NCR_D700.c.


	ncr5380=	[HW,SCSI]
	ncr5380=	[HW,SCSI]
			See Documentation/scsi/g_NCR5380.txt.


	ncr53c400=	[HW,SCSI]
	ncr53c400=	[HW,SCSI]
			See Documentation/scsi/g_NCR5380.txt.


	ncr53c400a=	[HW,SCSI]
	ncr53c400a=	[HW,SCSI]
			See Documentation/scsi/g_NCR5380.txt.


	ncr53c406a=	[HW,SCSI]
	ncr53c406a=	[HW,SCSI]


+1 −1
Original line number Original line Diff line number Diff line
@@ -7593,10 +7593,10 @@ M: Michael Schmitz <schmitzmic@gmail.com>
L:	linux-scsi@vger.kernel.org
L:	linux-scsi@vger.kernel.org
S:	Maintained
S:	Maintained
F:	Documentation/scsi/g_NCR5380.txt
F:	Documentation/scsi/g_NCR5380.txt
F:	Documentation/scsi/dtc3x80.txt
F:	drivers/scsi/NCR5380.*
F:	drivers/scsi/NCR5380.*
F:	drivers/scsi/arm/cumana_1.c
F:	drivers/scsi/arm/cumana_1.c
F:	drivers/scsi/arm/oak.c
F:	drivers/scsi/arm/oak.c
F:	drivers/scsi/atari_NCR5380.c
F:	drivers/scsi/atari_scsi.*
F:	drivers/scsi/atari_scsi.*
F:	drivers/scsi/dmx3191d.c
F:	drivers/scsi/dmx3191d.c
F:	drivers/scsi/dtc.*
F:	drivers/scsi/dtc.*
+1 −1
Original line number Original line Diff line number Diff line
@@ -294,7 +294,7 @@ static int icside_dma_init(struct pata_icside_info *info)


static struct scsi_host_template pata_icside_sht = {
static struct scsi_host_template pata_icside_sht = {
	ATA_BASE_SHT(DRV_NAME),
	ATA_BASE_SHT(DRV_NAME),
	.sg_tablesize		= SCSI_MAX_SG_CHAIN_SEGMENTS,
	.sg_tablesize		= SG_MAX_SEGMENTS,
	.dma_boundary		= IOMD_DMA_BOUNDARY,
	.dma_boundary		= IOMD_DMA_BOUNDARY,
};
};


+3 −3
Original line number Original line Diff line number Diff line
@@ -81,7 +81,7 @@ MODULE_PARM_DESC(cmd_sg_entries,


module_param(indirect_sg_entries, uint, 0444);
module_param(indirect_sg_entries, uint, 0444);
MODULE_PARM_DESC(indirect_sg_entries,
MODULE_PARM_DESC(indirect_sg_entries,
		 "Default max number of gather/scatter entries (default is 12, max is " __stringify(SCSI_MAX_SG_CHAIN_SEGMENTS) ")");
		 "Default max number of gather/scatter entries (default is 12, max is " __stringify(SG_MAX_SEGMENTS) ")");


module_param(allow_ext_sg, bool, 0444);
module_param(allow_ext_sg, bool, 0444);
MODULE_PARM_DESC(allow_ext_sg,
MODULE_PARM_DESC(allow_ext_sg,
@@ -2819,7 +2819,7 @@ static int srp_add_target(struct srp_host *host, struct srp_target_port *target)
	spin_unlock(&host->target_lock);
	spin_unlock(&host->target_lock);


	scsi_scan_target(&target->scsi_host->shost_gendev,
	scsi_scan_target(&target->scsi_host->shost_gendev,
			 0, target->scsi_id, SCAN_WILD_CARD, 0);
			 0, target->scsi_id, SCAN_WILD_CARD, SCSI_SCAN_INITIAL);


	if (srp_connected_ch(target) < target->ch_count ||
	if (srp_connected_ch(target) < target->ch_count ||
	    target->qp_in_error) {
	    target->qp_in_error) {
@@ -3097,7 +3097,7 @@ static int srp_parse_options(const char *buf, struct srp_target_port *target)


		case SRP_OPT_SG_TABLESIZE:
		case SRP_OPT_SG_TABLESIZE:
			if (match_int(args, &token) || token < 1 ||
			if (match_int(args, &token) || token < 1 ||
					token > SCSI_MAX_SG_CHAIN_SEGMENTS) {
					token > SG_MAX_SEGMENTS) {
				pr_warn("bad max sg_tablesize parameter '%s'\n",
				pr_warn("bad max sg_tablesize parameter '%s'\n",
					p);
					p);
				goto out;
				goto out;
Loading