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

Commit 84cbd722 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull first round of SCSI updates from James Bottomley:
 "The patch set is mostly driver updates (usf, zfcp, lpfc, mpt2sas,
  megaraid_sas, bfa, ipr) and a few bug fixes.  Also of note is that the
  Buslogic driver has been rewritten to a better coding style and 64 bit
  support added.  We also removed the libsas limitation on 16 bytes for
  the command size (currently no drivers make use of this)"

* tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (101 commits)
  [SCSI] megaraid: minor cut and paste error fixed.
  [SCSI] ufshcd-pltfrm: remove unnecessary dma_set_coherent_mask() call
  [SCSI] ufs: fix register address in UIC error interrupt handling
  [SCSI] ufshcd-pltfrm: add missing empty slot in ufs_of_match[]
  [SCSI] ufs: use devres functions for ufshcd
  [SCSI] ufs: Fix the response UPIU length setting
  [SCSI] ufs: rework link start-up process
  [SCSI] ufs: remove version check before IS reg clear
  [SCSI] ufs: amend interrupt configuration
  [SCSI] ufs: wrap the i/o access operations
  [SCSI] storvsc: Update the storage protocol to win8 level
  [SCSI] storvsc: Increase the value of scsi timeout for storvsc devices
  [SCSI] MAINTAINERS: Add myself as the maintainer for BusLogic SCSI driver
  [SCSI] BusLogic: Port driver to 64-bit.
  [SCSI] BusLogic: Fix style issues
  [SCSI] libiscsi: Added new boot entries in the session sysfs
  [SCSI] aacraid: Fix for arrays are going offline in the system. System hangs
  [SCSI] ipr: IOA Status Code(IOASC) update
  [SCSI] sd: Update WRITE SAME heuristics
  [SCSI] fnic: potential dead lock in fnic_is_abts_pending()
  ...
parents 80cc38b1 a3fda7dd
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
* Universal Flash Storage (UFS) Host Controller

UFSHC nodes are defined to describe on-chip UFS host controllers.
Each UFS controller instance should have its own node.

Required properties:
- compatible        : compatible list, contains "jedec,ufs-1.1"
- interrupts        : <interrupt mapping for UFS host controller IRQ>
- reg               : <registers mapping>

Example:
	ufshc@0xfc598000 {
		compatible = "jedec,ufs-1.1";
		reg = <0xfc598000 0x800>;
		interrupts = <0 28 0>;
	};
+22 −0
Original line number Diff line number Diff line
Release Date    : Wed. May 15, 2013 17:00:00 PST 2013 -
			(emaild-id:megaraidlinux@lsi.com)
			Adam Radford
			Kashyap Desai
			Sumit Saxena
Current Version : 06.600.18.00-rc1
Old Version     : 06.506.00.00-rc1
    1. Return DID_ERROR for scsi io, when controller is in critical h/w error.
    2. Fix the interrupt mask for Gen2 controller.
    3. Update balance count in driver to be in sync of firmware.
    4. Free event detail memory without device ID check.
    5. Set IO request timeout value provided by OS timeout for Tape devices.
    6. Add support for MegaRAID Fury (device ID-0x005f) 12Gb/s controllers.
    7. Add support to display Customer branding details in syslog.
    8. Set IoFlags to enable Fast Path for JBODs for Invader/Fury(12 Gb/s)
    controllers.
    9. Add support for Extended MSI-x vectors for Invader and Fury(12Gb/s
    HBA).
    10.Add support for Uneven Span PRL11.
    11.Add support to differentiate between iMR and MR Firmware.
    12.Version and Changelog update.
-------------------------------------------------------------------------------
Release Date    : Sat. Feb 9, 2013 17:00:00 PST 2013 -
			(emaild-id:megaraidlinux@lsi.com)
			Adam Radford
+7 −0
Original line number Diff line number Diff line
@@ -1876,6 +1876,13 @@ S: Odd fixes
F:	Documentation/video4linux/bttv/
F:	drivers/media/pci/bt8xx/bttv*

BUSLOGIC SCSI DRIVER
M:	Khalid Aziz <khalid@gonehiking.org>
L:	linux-scsi@vger.kernel.org
S:	Maintained
F:	drivers/scsi/BusLogic.*
F:	drivers/scsi/FlashPoint.*

C-MEDIA CMI8788 DRIVER
M:	Clemens Ladisch <clemens@ladisch.de>
L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
+1 −1
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@
# Makefile for the S/390 specific device drivers
#

zfcp-objs := zfcp_aux.o zfcp_ccw.o zfcp_cfdc.o zfcp_dbf.o zfcp_erp.o \
zfcp-objs := zfcp_aux.o zfcp_ccw.o zfcp_dbf.o zfcp_erp.o \
	     zfcp_fc.o zfcp_fsf.o zfcp_qdio.o zfcp_scsi.o zfcp_sysfs.o \
	     zfcp_unit.o

+5 −31
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
 *
 * Module interface and handling of zfcp data structures.
 *
 * Copyright IBM Corp. 2002, 2010
 * Copyright IBM Corp. 2002, 2013
 */

/*
@@ -23,6 +23,7 @@
 *            Christof Schmitt
 *            Martin Petermann
 *            Sven Schuetz
 *            Steffen Maier
 */

#define KMSG_COMPONENT "zfcp"
@@ -140,13 +141,6 @@ static int __init zfcp_module_init(void)
	scsi_transport_reserve_device(zfcp_scsi_transport_template,
				      sizeof(struct zfcp_scsi_dev));


	retval = misc_register(&zfcp_cfdc_misc);
	if (retval) {
		pr_err("Registering the misc device zfcp_cfdc failed\n");
		goto out_misc;
	}

	retval = ccw_driver_register(&zfcp_ccw_driver);
	if (retval) {
		pr_err("The zfcp device driver could not register with "
@@ -159,8 +153,6 @@ static int __init zfcp_module_init(void)
	return 0;

out_ccw_register:
	misc_deregister(&zfcp_cfdc_misc);
out_misc:
	fc_release_transport(zfcp_scsi_transport_template);
out_transport:
	kmem_cache_destroy(zfcp_fc_req_cache);
@@ -175,7 +167,6 @@ module_init(zfcp_module_init);
static void __exit zfcp_module_exit(void)
{
	ccw_driver_unregister(&zfcp_ccw_driver);
	misc_deregister(&zfcp_cfdc_misc);
	fc_release_transport(zfcp_scsi_transport_template);
	kmem_cache_destroy(zfcp_fc_req_cache);
	kmem_cache_destroy(zfcp_fsf_qtcb_cache);
@@ -415,6 +406,8 @@ struct zfcp_adapter *zfcp_adapter_enqueue(struct ccw_device *ccw_device)
	adapter->dma_parms.max_segment_size = ZFCP_QDIO_SBALE_LEN;
	adapter->ccw_device->dev.dma_parms = &adapter->dma_parms;

	adapter->stat_read_buf_num = FSF_STATUS_READS_RECOM;

	if (!zfcp_scsi_adapter_register(adapter))
		return adapter;

@@ -464,20 +457,6 @@ void zfcp_adapter_release(struct kref *ref)
	put_device(&cdev->dev);
}

/**
 * zfcp_device_unregister - remove port, unit from system
 * @dev: reference to device which is to be removed
 * @grp: related reference to attribute group
 *
 * Helper function to unregister port, unit from system
 */
void zfcp_device_unregister(struct device *dev,
			    const struct attribute_group *grp)
{
	sysfs_remove_group(&dev->kobj, grp);
	device_unregister(dev);
}

static void zfcp_port_release(struct device *dev)
{
	struct zfcp_port *port = container_of(dev, struct zfcp_port, dev);
@@ -530,6 +509,7 @@ struct zfcp_port *zfcp_port_enqueue(struct zfcp_adapter *adapter, u64 wwpn,
	port->wwpn = wwpn;
	port->rport_task = RPORT_NONE;
	port->dev.parent = &adapter->ccw_device->dev;
	port->dev.groups = zfcp_port_attr_groups;
	port->dev.release = zfcp_port_release;

	if (dev_set_name(&port->dev, "0x%016llx", (unsigned long long)wwpn)) {
@@ -543,10 +523,6 @@ struct zfcp_port *zfcp_port_enqueue(struct zfcp_adapter *adapter, u64 wwpn,
		goto err_out;
	}

	if (sysfs_create_group(&port->dev.kobj,
			       &zfcp_sysfs_port_attrs))
		goto err_out_put;

	write_lock_irq(&adapter->port_list_lock);
	list_add_tail(&port->list, &adapter->port_list);
	write_unlock_irq(&adapter->port_list_lock);
@@ -555,8 +531,6 @@ struct zfcp_port *zfcp_port_enqueue(struct zfcp_adapter *adapter, u64 wwpn,

	return port;

err_out_put:
	device_unregister(&port->dev);
err_out:
	zfcp_ccw_adapter_put(adapter);
	return ERR_PTR(retval);
Loading