-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpolling-io-4-of-7.patch
64 lines (60 loc) · 1.95 KB
/
polling-io-4-of-7.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
From [email protected] Mon Mar 7 19:23:02 2005
Date: Mon, 7 Mar 2005 19:23:02 -0800
From: Jason Uhlenkott <[email protected]>
Subject: [PATCH 4/7] Polling I/O: qla1280 support
Message-ID: <[email protected]>
References: <[email protected]>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <[email protected]>
User-Agent: Mutt/1.5.6i
Status: RO
Content-Length: 1443
Lines: 47
Polling I/O support for QLogic QLA1280 (Ultra2) and QLA12160 (Ultra3).
Index: linux/drivers/scsi/qla1280.c
===================================================================
--- linux.orig/drivers/scsi/qla1280.c 2005-03-07 17:48:57.958406420 -0800
+++ linux/drivers/scsi/qla1280.c 2005-03-07 17:49:05.240694434 -0800
@@ -4641,6 +4641,32 @@
return ret;
}
+
+/**************************************************************************
+ * qla1280_dump_poll
+ * Handle pending interrupts and complete commands, if any. LKCD uses
+ * this to perform crash dump I/O while interrupts are disabled.
+ **************************************************************************/
+static void
+qla1280_dump_poll(struct scsi_device *device)
+{
+ struct scsi_qla_host *ha;
+ struct device_reg *reg;
+ u16 data;
+
+ ha = (struct scsi_qla_host *)device->host->hostdata;
+ reg = ha->iobase;
+
+ /* Check for pending interrupts. */
+ data = qla1280_debounce_register(®->istatus);
+ if (data & RISC_INT) {
+ qla1280_isr(ha, &ha->done_q);
+ }
+ if (!list_empty(&ha->done_q))
+ qla1280_done(ha);
+}
+
+
#if LINUX_VERSION_CODE >= 0x020600
static struct scsi_host_template qla1280_driver_template = {
.module = THIS_MODULE,
@@ -4660,6 +4686,7 @@
.sg_tablesize = SG_ALL,
.cmd_per_lun = 1,
.use_clustering = ENABLE_CLUSTERING,
+ .dump_poll = qla1280_dump_poll,
};
#else
static Scsi_Host_Template qla1280_driver_template = {