hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/scsi/hpsa.h
....@@ -1,5 +1,6 @@
11 /*
22 * Disk Array driver for HP Smart Array SAS controllers
3
+ * Copyright (c) 2019-2020 Microchip Technology Inc. and its subsidiaries
34 * Copyright 2016 Microsemi Corporation
45 * Copyright 2014-2015 PMC-Sierra, Inc.
56 * Copyright 2000,2009-2015 Hewlett-Packard Development Company, L.P.
....@@ -57,7 +58,7 @@
5758 bool added_to_port;
5859 };
5960
60
-#define EXTERNAL_QD 7
61
+#define EXTERNAL_QD 128
6162 struct hpsa_scsi_dev_t {
6263 unsigned int devtype;
6364 int bus, target, lun; /* as presented to the OS */
....@@ -65,6 +66,7 @@
6566 u8 physical_device : 1;
6667 u8 expose_device;
6768 u8 removed : 1; /* device is marked for death */
69
+ u8 was_removed : 1; /* device actually removed */
6870 #define RAID_CTLR_LUNID "\0\0\0\0\0\0\0\0"
6971 unsigned char device_id[16]; /* from inquiry pg. 0x83 */
7072 u64 sas_address;
....@@ -75,11 +77,12 @@
7577 unsigned char raid_level; /* from inquiry page 0xC1 */
7678 unsigned char volume_offline; /* discovered via TUR or VPD */
7779 u16 queue_depth; /* max queue_depth for this device */
78
- atomic_t reset_cmds_out; /* Count of commands to-be affected */
80
+ atomic_t commands_outstanding; /* track commands sent to device */
7981 atomic_t ioaccel_cmds_out; /* Only used for physical devices
8082 * counts commands sent to physical
8183 * device via "ioaccel" path.
8284 */
85
+ bool in_reset;
8386 u32 ioaccel_handle;
8487 u8 active_path_index;
8588 u8 path_map;
....@@ -174,6 +177,7 @@
174177 struct CfgTable __iomem *cfgtable;
175178 int interrupts_enabled;
176179 int max_commands;
180
+ int last_collision_tag; /* tags are global */
177181 atomic_t commands_outstanding;
178182 # define PERF_MODE_INT 0
179183 # define DOORBELL_INT 1
....@@ -300,6 +304,7 @@
300304 int needs_abort_tags_swizzled;
301305 struct workqueue_struct *resubmit_wq;
302306 struct workqueue_struct *rescan_ctlr_wq;
307
+ struct workqueue_struct *monitor_ctlr_wq;
303308 atomic_t abort_cmds_available;
304309 wait_queue_head_t event_sync_wait_queue;
305310 struct mutex reset_mutex;