1 #include <linux/types.h>
2 #include <linux/kernel.h>
3 #include <linux/export.h>
86 u8 dma_stat = hwif->
dma_ops->dma_sff_read_status(hwif);
89 dma_stat |= (1 << (5 +
unit));
91 dma_stat &= ~(1 << (5 +
unit));
93 ide_dma_sff_write_status(hwif, dma_stat);
118 unsigned int count = 0;
137 goto use_pio_instead;
139 bcount = 0x10000 - (cur_addr & 0xffff);
140 if (bcount > cur_len)
143 xcount = bcount & 0xffff;
145 xcount = ((xcount >> 2) - 1) << 16;
146 else if (xcount == 0x0000) {
148 goto use_pio_instead;
167 count ?
"DMA table too small" :
"empty DMA table?");
214 dma_stat = hwif->
dma_ops->dma_sff_read_status(hwif);
240 u8 dma_stat = hwif->
dma_ops->dma_sff_read_status(hwif);
243 drive->
name, __func__, dma_stat);
245 if ((dma_stat & 0x18) == 0x18)
288 u8 dma_stat = 0, dma_cmd = 0;
301 dma_stat = hwif->
dma_ops->dma_sff_read_status(hwif);
306 #define CHECK_DMA_MASK (ATA_DMA_ACTIVE | ATA_DMA_ERR | ATA_DMA_INTR)
310 return 0x10 | dma_stat;
319 u8 dma_stat = hwif->
dma_ops->dma_sff_read_status(hwif);