mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-22 23:04:43 +00:00
SCSI misc on 20180131
This is mostly updates of the usual driver suspects: arcmsr, scsi_debug, mpt3sas, lpfc, cxlflash, qla2xxx, aacraid, megaraid_sas, hisi_sas. We also have a rework of the libsas hotplug handling to make it more robust, a slew of 32 bit time conversions and fixes, and a host of the usual minor updates and style changes. The biggest potential for regressions is the libsas hotplug changes, but so far they seem stable under testing. Signed-off-by: James E.J. Bottomley <jejb@linux.vnet.ibm.com> -----BEGIN PGP SIGNATURE----- iJwEABMIAEQWIQTnYEDbdso9F2cI+arnQslM7pishQUCWnH+5SYcamFtZXMuYm90 dG9tbGV5QGhhbnNlbnBhcnRuZXJzaGlwLmNvbQAKCRDnQslM7pishWxuAP0UvuJp MNR/yU/wv/emSzOc48Ldwd7I0xD2XxSnloGUgwD+IGZZT5yNUQA1THCbm+en4hkB WvyBieQs9qRit+2czd4= =gJMf -----END PGP SIGNATURE----- Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI updates from James Bottomley: "This is mostly updates of the usual driver suspects: arcmsr, scsi_debug, mpt3sas, lpfc, cxlflash, qla2xxx, aacraid, megaraid_sas, hisi_sas. We also have a rework of the libsas hotplug handling to make it more robust, a slew of 32 bit time conversions and fixes, and a host of the usual minor updates and style changes. The biggest potential for regressions is the libsas hotplug changes, but so far they seem stable under testing" * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (313 commits) scsi: qla2xxx: Fix logo flag for qlt_free_session_done() scsi: arcmsr: avoid do_gettimeofday scsi: core: Add VENDOR_SPECIFIC sense code definitions scsi: qedi: Drop cqe response during connection recovery scsi: fas216: fix sense buffer initialization scsi: ibmvfc: Remove unneeded semicolons scsi: hisi_sas: fix a bug in hisi_sas_dev_gone() scsi: hisi_sas: directly attached disk LED feature for v2 hw scsi: hisi_sas: devicetree: bindings: add LED feature for v2 hw scsi: megaraid_sas: NVMe passthrough command support scsi: megaraid: use ktime_get_real for firmware time scsi: fnic: use 64-bit timestamps scsi: qedf: Fix error return code in __qedf_probe() scsi: devinfo: fix format of the device list scsi: qla2xxx: Update driver version to 10.00.00.05-k scsi: qla2xxx: Add XCB counters to debugfs scsi: qla2xxx: Fix queue ID for async abort with Multiqueue scsi: qla2xxx: Fix warning for code intentation in __qla24xx_handle_gpdb_event() scsi: qla2xxx: Fix warning during port_name debug print scsi: qla2xxx: Fix warning in qla2x00_async_iocb_timeout() ...
This commit is contained in:
commit
28bc6fb959
161 changed files with 8954 additions and 4547 deletions
|
@ -75,16 +75,15 @@ enum phy_event {
|
|||
PHYE_OOB_ERROR,
|
||||
PHYE_SPINUP_HOLD, /* hot plug SATA, no COMWAKE sent */
|
||||
PHYE_RESUME_TIMEOUT,
|
||||
PHYE_SHUTDOWN,
|
||||
PHY_NUM_EVENTS,
|
||||
};
|
||||
|
||||
enum discover_event {
|
||||
DISCE_DISCOVER_DOMAIN = 0U,
|
||||
DISCE_REVALIDATE_DOMAIN,
|
||||
DISCE_PROBE,
|
||||
DISCE_SUSPEND,
|
||||
DISCE_RESUME,
|
||||
DISCE_DESTRUCT,
|
||||
DISC_NUM_EVENTS,
|
||||
};
|
||||
|
||||
|
@ -261,6 +260,7 @@ struct asd_sas_port {
|
|||
struct list_head dev_list;
|
||||
struct list_head disco_list;
|
||||
struct list_head destroy_list;
|
||||
struct list_head sas_port_del_list;
|
||||
enum sas_linkrate linkrate;
|
||||
|
||||
struct sas_work work;
|
||||
|
@ -292,6 +292,7 @@ struct asd_sas_port {
|
|||
struct asd_sas_event {
|
||||
struct sas_work work;
|
||||
struct asd_sas_phy *phy;
|
||||
int event;
|
||||
};
|
||||
|
||||
static inline struct asd_sas_event *to_asd_sas_event(struct work_struct *work)
|
||||
|
@ -301,17 +302,24 @@ static inline struct asd_sas_event *to_asd_sas_event(struct work_struct *work)
|
|||
return ev;
|
||||
}
|
||||
|
||||
static inline void INIT_SAS_EVENT(struct asd_sas_event *ev,
|
||||
void (*fn)(struct work_struct *),
|
||||
struct asd_sas_phy *phy, int event)
|
||||
{
|
||||
INIT_SAS_WORK(&ev->work, fn);
|
||||
ev->phy = phy;
|
||||
ev->event = event;
|
||||
}
|
||||
|
||||
#define SAS_PHY_SHUTDOWN_THRES 1024
|
||||
|
||||
/* The phy pretty much is controlled by the LLDD.
|
||||
* The class only reads those fields.
|
||||
*/
|
||||
struct asd_sas_phy {
|
||||
/* private: */
|
||||
struct asd_sas_event port_events[PORT_NUM_EVENTS];
|
||||
struct asd_sas_event phy_events[PHY_NUM_EVENTS];
|
||||
|
||||
unsigned long port_events_pending;
|
||||
unsigned long phy_events_pending;
|
||||
|
||||
atomic_t event_nr;
|
||||
int in_shutdown;
|
||||
int error;
|
||||
int suspended;
|
||||
|
||||
|
@ -380,6 +388,9 @@ struct sas_ha_struct {
|
|||
struct device *dev; /* should be set */
|
||||
struct module *lldd_module; /* should be set */
|
||||
|
||||
struct workqueue_struct *event_q;
|
||||
struct workqueue_struct *disco_q;
|
||||
|
||||
u8 *sas_addr; /* must be set */
|
||||
u8 hashed_sas_addr[HASHED_SAS_ADDR_SIZE];
|
||||
|
||||
|
@ -399,6 +410,8 @@ struct sas_ha_struct {
|
|||
|
||||
struct list_head eh_done_q; /* complete via scsi_eh_flush_done_q */
|
||||
struct list_head eh_ata_q; /* scmds to promote from sas to ata eh */
|
||||
|
||||
int event_thres;
|
||||
};
|
||||
|
||||
#define SHOST_TO_SAS_HA(_shost) (*(struct sas_ha_struct **)(_shost)->hostdata)
|
||||
|
@ -670,6 +683,7 @@ extern int sas_bios_param(struct scsi_device *,
|
|||
sector_t capacity, int *hsc);
|
||||
extern struct scsi_transport_template *
|
||||
sas_domain_attach_transport(struct sas_domain_function_template *);
|
||||
extern struct device_attribute dev_attr_phy_event_threshold;
|
||||
|
||||
int sas_discover_root_expander(struct domain_device *);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue