aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorAlan Cox <alan@lxorguk.ukuu.org.uk>2006-03-27 12:42:40 -0500
committerJeff Garzik <jeff@garzik.org>2006-03-29 19:30:27 -0500
commit4e5ec5dba22ea509b1a004f9815751f0ffc815e5 (patch)
treed7387c3051e51a8bca060918f4a3a8a1a7962715 /include/linux
parent05c8e0ac5c37e9739a852b526afeecae97607cbb (diff)
[PATCH] libata: BMDMA handling updates
This is the minimal patch set to enable the current code to be used with a controller following SFF (ie any PATA and early SATA controllers) safely without crashes if there is no BMDMA area or if BMDMA is not assigned by the BIOS for some reason. Simplex status is recorded but not acted upon in this change, this isn't a problem with the current drivers as none of them are for simplex hardware. A following diff will deal with that. The flags in the probe structure remain ->host_set_flags although Jeff asked me to rename them, simply because the rename would break the usual Linux rules that old code should break when there are changes. not compile and run and then blow up/eat your computer/etc. Renaming this later is a trivial exercise once a better name is chosen. Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/libata.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 9fcc061e3adf..a5c213ce97c9 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -160,6 +160,9 @@ enum {
160 ATA_QCFLAG_DMAMAP = ATA_QCFLAG_SG | ATA_QCFLAG_SINGLE, 160 ATA_QCFLAG_DMAMAP = ATA_QCFLAG_SG | ATA_QCFLAG_SINGLE,
161 ATA_QCFLAG_EH_SCHEDULED = (1 << 5), /* EH scheduled */ 161 ATA_QCFLAG_EH_SCHEDULED = (1 << 5), /* EH scheduled */
162 162
163 /* host set flags */
164 ATA_HOST_SIMPLEX = (1 << 0), /* Host is simplex, one DMA channel per host_set only */
165
163 /* various lengths of time */ 166 /* various lengths of time */
164 ATA_TMOUT_PIO = 30 * HZ, 167 ATA_TMOUT_PIO = 30 * HZ,
165 ATA_TMOUT_BOOT = 30 * HZ, /* heuristic */ 168 ATA_TMOUT_BOOT = 30 * HZ, /* heuristic */
@@ -278,6 +281,7 @@ struct ata_probe_ent {
278 unsigned long irq; 281 unsigned long irq;
279 unsigned int irq_flags; 282 unsigned int irq_flags;
280 unsigned long host_flags; 283 unsigned long host_flags;
284 unsigned long host_set_flags;
281 void __iomem *mmio_base; 285 void __iomem *mmio_base;
282 void *private_data; 286 void *private_data;
283}; 287};