#define RAID_MAP_MAX_ENTRIES 1024
-#define PQI_RESERVED_IO_SLOTS_LUN_RESET 1
-#define PQI_RESERVED_IO_SLOTS_EVENT_ACK 1
-#define PQI_RESERVED_IO_SLOTS_SYNCHRONOUS_REQUESTS 3
-#define PQI_RESERVED_IO_SLOTS \
- (PQI_RESERVED_IO_SLOTS_LUN_RESET + PQI_RESERVED_IO_SLOTS_EVENT_ACK + \
- PQI_RESERVED_IO_SLOTS_SYNCHRONOUS_REQUESTS)
-
#define PQI_PHYSICAL_DEVICE_BUS 0
#define PQI_RAID_VOLUME_BUS 1
#define PQI_HBA_BUS 2
__le32 additional_event_id;
};
+#define PQI_RESERVED_IO_SLOTS_LUN_RESET 1
+#define PQI_RESERVED_IO_SLOTS_EVENT_ACK PQI_NUM_SUPPORTED_EVENTS
+#define PQI_RESERVED_IO_SLOTS_SYNCHRONOUS_REQUESTS 3
+#define PQI_RESERVED_IO_SLOTS \
+ (PQI_RESERVED_IO_SLOTS_LUN_RESET + PQI_RESERVED_IO_SLOTS_EVENT_ACK + \
+ PQI_RESERVED_IO_SLOTS_SYNCHRONOUS_REQUESTS)
+
struct pqi_ctrl_info {
unsigned int ctrl_id;
struct pci_dev *pci_dev;
writel(iq_pi, queue_group->iq_pi[RAID_PATH]);
spin_unlock_irqrestore(&queue_group->submit_lock[RAID_PATH], flags);
-
- /*
- * We have to special-case this type of request because the firmware
- * does not generate an interrupt when this type of request completes.
- * Therefore, we have to poll until we see that the firmware has
- * consumed the request before we move on.
- */
-
- timeout = (PQI_EVENT_ACK_TIMEOUT * HZ) + jiffies;
-
- while (1) {
- if (*queue_group->iq_ci[RAID_PATH] == iq_pi)
- break;
- if (time_after(jiffies, timeout)) {
- dev_err(&ctrl_info->pci_dev->dev,
- "completing event acknowledge timed out\n");
- break;
- }
- usleep_range(1000, 2000);
- }
}
static void pqi_acknowledge_event(struct pqi_ctrl_info *ctrl_info,