diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-10-18 18:30:06 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-10-18 18:30:06 -0400 |
commit | 33c1002ed912ac9dacedd5d5b166da3b72d18460 (patch) | |
tree | c129987c6935542a8bd95924873ac6bf0e1e756c /drivers/ide/pci | |
parent | 1c3dd326ad790934fd88ec086e75a9d61ddaef8a (diff) |
ide: add IDE_HFLAG_NO_ATAPI_DMA host flag
Add IDE_HFLAG_NO_ATAPI_DMA host flag and set it in host drivers which
don't support ATAPI DMA. Then remove no longer needed hwif->atapi_dma.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/pci')
32 files changed, 29 insertions, 45 deletions
diff --git a/drivers/ide/pci/aec62xx.c b/drivers/ide/pci/aec62xx.c index 3a4c2c26a77e..7bf922fc7a07 100644 --- a/drivers/ide/pci/aec62xx.c +++ b/drivers/ide/pci/aec62xx.c | |||
@@ -247,6 +247,7 @@ static ide_pci_device_t aec62xx_chipsets[] __devinitdata = { | |||
247 | .autodma = AUTODMA, | 247 | .autodma = AUTODMA, |
248 | .enablebits = {{0x4a,0x02,0x02}, {0x4a,0x04,0x04}}, | 248 | .enablebits = {{0x4a,0x02,0x02}, {0x4a,0x04,0x04}}, |
249 | .bootable = OFF_BOARD, | 249 | .bootable = OFF_BOARD, |
250 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | ||
250 | .pio_mask = ATA_PIO4, | 251 | .pio_mask = ATA_PIO4, |
251 | .udma_mask = 0x07, /* udma0-2 */ | 252 | .udma_mask = 0x07, /* udma0-2 */ |
252 | },{ /* 1 */ | 253 | },{ /* 1 */ |
@@ -256,6 +257,7 @@ static ide_pci_device_t aec62xx_chipsets[] __devinitdata = { | |||
256 | .init_hwif = init_hwif_aec62xx, | 257 | .init_hwif = init_hwif_aec62xx, |
257 | .autodma = NOAUTODMA, | 258 | .autodma = NOAUTODMA, |
258 | .bootable = OFF_BOARD, | 259 | .bootable = OFF_BOARD, |
260 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | ||
259 | .pio_mask = ATA_PIO4, | 261 | .pio_mask = ATA_PIO4, |
260 | .udma_mask = 0x1f, /* udma0-4 */ | 262 | .udma_mask = 0x1f, /* udma0-4 */ |
261 | },{ /* 2 */ | 263 | },{ /* 2 */ |
@@ -266,6 +268,7 @@ static ide_pci_device_t aec62xx_chipsets[] __devinitdata = { | |||
266 | .autodma = AUTODMA, | 268 | .autodma = AUTODMA, |
267 | .enablebits = {{0x4a,0x02,0x02}, {0x4a,0x04,0x04}}, | 269 | .enablebits = {{0x4a,0x02,0x02}, {0x4a,0x04,0x04}}, |
268 | .bootable = NEVER_BOARD, | 270 | .bootable = NEVER_BOARD, |
271 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | ||
269 | .pio_mask = ATA_PIO4, | 272 | .pio_mask = ATA_PIO4, |
270 | .udma_mask = 0x1f, /* udma0-4 */ | 273 | .udma_mask = 0x1f, /* udma0-4 */ |
271 | },{ /* 3 */ | 274 | },{ /* 3 */ |
@@ -275,6 +278,7 @@ static ide_pci_device_t aec62xx_chipsets[] __devinitdata = { | |||
275 | .init_hwif = init_hwif_aec62xx, | 278 | .init_hwif = init_hwif_aec62xx, |
276 | .autodma = AUTODMA, | 279 | .autodma = AUTODMA, |
277 | .bootable = OFF_BOARD, | 280 | .bootable = OFF_BOARD, |
281 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | ||
278 | .pio_mask = ATA_PIO4, | 282 | .pio_mask = ATA_PIO4, |
279 | .udma_mask = 0x3f, /* udma0-5 */ | 283 | .udma_mask = 0x3f, /* udma0-5 */ |
280 | },{ /* 4 */ | 284 | },{ /* 4 */ |
@@ -285,6 +289,7 @@ static ide_pci_device_t aec62xx_chipsets[] __devinitdata = { | |||
285 | .autodma = AUTODMA, | 289 | .autodma = AUTODMA, |
286 | .enablebits = {{0x4a,0x02,0x02}, {0x4a,0x04,0x04}}, | 290 | .enablebits = {{0x4a,0x02,0x02}, {0x4a,0x04,0x04}}, |
287 | .bootable = OFF_BOARD, | 291 | .bootable = OFF_BOARD, |
292 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | ||
288 | .pio_mask = ATA_PIO4, | 293 | .pio_mask = ATA_PIO4, |
289 | .udma_mask = 0x3f, /* udma0-5 */ | 294 | .udma_mask = 0x3f, /* udma0-5 */ |
290 | } | 295 | } |
diff --git a/drivers/ide/pci/alim15x3.c b/drivers/ide/pci/alim15x3.c index 31d4e50647d5..6f8ebc959d85 100644 --- a/drivers/ide/pci/alim15x3.c +++ b/drivers/ide/pci/alim15x3.c | |||
@@ -677,8 +677,8 @@ static void __devinit init_hwif_common_ali15x3 (ide_hwif_t *hwif) | |||
677 | * check in ->init_dma guarantees m5229_revision >= 0x20 here | 677 | * check in ->init_dma guarantees m5229_revision >= 0x20 here |
678 | */ | 678 | */ |
679 | 679 | ||
680 | if (m5229_revision > 0x20) | 680 | if (m5229_revision == 0x20) |
681 | hwif->atapi_dma = 1; | 681 | hwif->host_flags |= IDE_HFLAG_NO_ATAPI_DMA; |
682 | 682 | ||
683 | if (m5229_revision <= 0x20) | 683 | if (m5229_revision <= 0x20) |
684 | hwif->ultra_mask = 0x00; /* no udma */ | 684 | hwif->ultra_mask = 0x00; /* no udma */ |
diff --git a/drivers/ide/pci/amd74xx.c b/drivers/ide/pci/amd74xx.c index 3bf3d931eea1..9e9e2b6ef6cb 100644 --- a/drivers/ide/pci/amd74xx.c +++ b/drivers/ide/pci/amd74xx.c | |||
@@ -260,8 +260,6 @@ static void __devinit init_hwif_amd74xx(ide_hwif_t *hwif) | |||
260 | if (!hwif->dma_base) | 260 | if (!hwif->dma_base) |
261 | return; | 261 | return; |
262 | 262 | ||
263 | hwif->atapi_dma = 1; | ||
264 | |||
265 | hwif->ultra_mask = amd_config->udma_mask; | 263 | hwif->ultra_mask = amd_config->udma_mask; |
266 | hwif->mwdma_mask = 0x07; | 264 | hwif->mwdma_mask = 0x07; |
267 | if ((amd_config->flags & AMD_BAD_SWDMA) == 0) | 265 | if ((amd_config->flags & AMD_BAD_SWDMA) == 0) |
diff --git a/drivers/ide/pci/atiixp.c b/drivers/ide/pci/atiixp.c index 446900da1329..9bb1b93325c6 100644 --- a/drivers/ide/pci/atiixp.c +++ b/drivers/ide/pci/atiixp.c | |||
@@ -183,7 +183,6 @@ static void __devinit init_hwif_atiixp(ide_hwif_t *hwif) | |||
183 | if (!hwif->dma_base) | 183 | if (!hwif->dma_base) |
184 | return; | 184 | return; |
185 | 185 | ||
186 | hwif->atapi_dma = 1; | ||
187 | hwif->ultra_mask = 0x3f; | 186 | hwif->ultra_mask = 0x3f; |
188 | hwif->mwdma_mask = 0x07; | 187 | hwif->mwdma_mask = 0x07; |
189 | 188 | ||
diff --git a/drivers/ide/pci/cmd64x.c b/drivers/ide/pci/cmd64x.c index f3d3bde8daba..bd9adfbe982e 100644 --- a/drivers/ide/pci/cmd64x.c +++ b/drivers/ide/pci/cmd64x.c | |||
@@ -517,7 +517,6 @@ static void __devinit init_hwif_cmd64x(ide_hwif_t *hwif) | |||
517 | if (!hwif->dma_base) | 517 | if (!hwif->dma_base) |
518 | return; | 518 | return; |
519 | 519 | ||
520 | hwif->atapi_dma = 1; | ||
521 | hwif->mwdma_mask = 0x07; | 520 | hwif->mwdma_mask = 0x07; |
522 | hwif->ultra_mask = hwif->cds->udma_mask; | 521 | hwif->ultra_mask = hwif->cds->udma_mask; |
523 | 522 | ||
diff --git a/drivers/ide/pci/cs5520.c b/drivers/ide/pci/cs5520.c index a8bf4940ca9c..b7906a980120 100644 --- a/drivers/ide/pci/cs5520.c +++ b/drivers/ide/pci/cs5520.c | |||
@@ -125,6 +125,7 @@ static void __devinit cs5520_init_setup_dma(struct pci_dev *dev, ide_pci_device_ | |||
125 | 125 | ||
126 | static int cs5520_dma_on(ide_drive_t *drive) | 126 | static int cs5520_dma_on(ide_drive_t *drive) |
127 | { | 127 | { |
128 | /* ATAPI is harder so leave it for now */ | ||
128 | drive->vdma = 1; | 129 | drive->vdma = 1; |
129 | return 0; | 130 | return 0; |
130 | } | 131 | } |
@@ -141,8 +142,6 @@ static void __devinit init_hwif_cs5520(ide_hwif_t *hwif) | |||
141 | 142 | ||
142 | hwif->ide_dma_on = &cs5520_dma_on; | 143 | hwif->ide_dma_on = &cs5520_dma_on; |
143 | 144 | ||
144 | /* ATAPI is harder so leave it for now */ | ||
145 | hwif->atapi_dma = 0; | ||
146 | hwif->ultra_mask = 0; | 145 | hwif->ultra_mask = 0; |
147 | hwif->swdma_mask = 0; | 146 | hwif->swdma_mask = 0; |
148 | hwif->mwdma_mask = 0; | 147 | hwif->mwdma_mask = 0; |
@@ -156,7 +155,8 @@ static void __devinit init_hwif_cs5520(ide_hwif_t *hwif) | |||
156 | .autodma = AUTODMA, \ | 155 | .autodma = AUTODMA, \ |
157 | .bootable = ON_BOARD, \ | 156 | .bootable = ON_BOARD, \ |
158 | .host_flags = IDE_HFLAG_ISA_PORTS | \ | 157 | .host_flags = IDE_HFLAG_ISA_PORTS | \ |
159 | IDE_HFLAG_VDMA, \ | 158 | IDE_HFLAG_VDMA | \ |
159 | IDE_HFLAG_NO_ATAPI_DMA, \ | ||
160 | .pio_mask = ATA_PIO4, \ | 160 | .pio_mask = ATA_PIO4, \ |
161 | } | 161 | } |
162 | 162 | ||
diff --git a/drivers/ide/pci/cs5530.c b/drivers/ide/pci/cs5530.c index 0d23b8aabe9c..2ca5bb280a8a 100644 --- a/drivers/ide/pci/cs5530.c +++ b/drivers/ide/pci/cs5530.c | |||
@@ -264,7 +264,6 @@ static void __devinit init_hwif_cs5530 (ide_hwif_t *hwif) | |||
264 | if (hwif->dma_base == 0) | 264 | if (hwif->dma_base == 0) |
265 | return; | 265 | return; |
266 | 266 | ||
267 | hwif->atapi_dma = 1; | ||
268 | hwif->ultra_mask = 0x07; | 267 | hwif->ultra_mask = 0x07; |
269 | hwif->mwdma_mask = 0x07; | 268 | hwif->mwdma_mask = 0x07; |
270 | 269 | ||
diff --git a/drivers/ide/pci/cs5535.c b/drivers/ide/pci/cs5535.c index c141b7306179..45dc9a1b65a4 100644 --- a/drivers/ide/pci/cs5535.c +++ b/drivers/ide/pci/cs5535.c | |||
@@ -185,7 +185,6 @@ static void __devinit init_hwif_cs5535(ide_hwif_t *hwif) | |||
185 | if (hwif->dma_base == 0) | 185 | if (hwif->dma_base == 0) |
186 | return; | 186 | return; |
187 | 187 | ||
188 | hwif->atapi_dma = 1; | ||
189 | hwif->ultra_mask = 0x1F; | 188 | hwif->ultra_mask = 0x1F; |
190 | hwif->mwdma_mask = 0x07; | 189 | hwif->mwdma_mask = 0x07; |
191 | 190 | ||
diff --git a/drivers/ide/pci/cy82c693.c b/drivers/ide/pci/cy82c693.c index c498ecfd7fcb..c1e672f03244 100644 --- a/drivers/ide/pci/cy82c693.c +++ b/drivers/ide/pci/cy82c693.c | |||
@@ -437,7 +437,6 @@ static void __devinit init_hwif_cy82c693(ide_hwif_t *hwif) | |||
437 | return; | 437 | return; |
438 | } | 438 | } |
439 | 439 | ||
440 | hwif->atapi_dma = 1; | ||
441 | hwif->mwdma_mask = 0x04; | 440 | hwif->mwdma_mask = 0x04; |
442 | hwif->swdma_mask = 0x04; | 441 | hwif->swdma_mask = 0x04; |
443 | 442 | ||
diff --git a/drivers/ide/pci/generic.c b/drivers/ide/pci/generic.c index d543abc26c71..dcee8278141e 100644 --- a/drivers/ide/pci/generic.c +++ b/drivers/ide/pci/generic.c | |||
@@ -69,7 +69,6 @@ static void __devinit init_hwif_generic (ide_hwif_t *hwif) | |||
69 | if (!(hwif->dma_base)) | 69 | if (!(hwif->dma_base)) |
70 | return; | 70 | return; |
71 | 71 | ||
72 | hwif->atapi_dma = 1; | ||
73 | hwif->ultra_mask = 0x7f; | 72 | hwif->ultra_mask = 0x7f; |
74 | hwif->mwdma_mask = 0x07; | 73 | hwif->mwdma_mask = 0x07; |
75 | hwif->swdma_mask = 0x07; | 74 | hwif->swdma_mask = 0x07; |
diff --git a/drivers/ide/pci/hpt34x.c b/drivers/ide/pci/hpt34x.c index 44ac0e2f7a09..9709681dff6f 100644 --- a/drivers/ide/pci/hpt34x.c +++ b/drivers/ide/pci/hpt34x.c | |||
@@ -155,6 +155,7 @@ static ide_pci_device_t hpt34x_chipset __devinitdata = { | |||
155 | .autodma = NOAUTODMA, | 155 | .autodma = NOAUTODMA, |
156 | .bootable = NEVER_BOARD, | 156 | .bootable = NEVER_BOARD, |
157 | .extra = 16, | 157 | .extra = 16, |
158 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | ||
158 | .pio_mask = ATA_PIO5, | 159 | .pio_mask = ATA_PIO5, |
159 | }; | 160 | }; |
160 | 161 | ||
diff --git a/drivers/ide/pci/hpt366.c b/drivers/ide/pci/hpt366.c index fcb21ddab2cc..5d96a086bde4 100644 --- a/drivers/ide/pci/hpt366.c +++ b/drivers/ide/pci/hpt366.c | |||
@@ -1555,6 +1555,7 @@ static ide_pci_device_t hpt366_chipsets[] __devinitdata = { | |||
1555 | .enablebits = {{0x50,0x04,0x04}, {0x54,0x04,0x04}}, | 1555 | .enablebits = {{0x50,0x04,0x04}, {0x54,0x04,0x04}}, |
1556 | .bootable = OFF_BOARD, | 1556 | .bootable = OFF_BOARD, |
1557 | .extra = 240, | 1557 | .extra = 240, |
1558 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | ||
1558 | .pio_mask = ATA_PIO4, | 1559 | .pio_mask = ATA_PIO4, |
1559 | },{ /* 1 */ | 1560 | },{ /* 1 */ |
1560 | .name = "HPT372A", | 1561 | .name = "HPT372A", |
@@ -1567,6 +1568,7 @@ static ide_pci_device_t hpt366_chipsets[] __devinitdata = { | |||
1567 | .udma_mask = HPT372_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, | 1568 | .udma_mask = HPT372_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, |
1568 | .bootable = OFF_BOARD, | 1569 | .bootable = OFF_BOARD, |
1569 | .extra = 240, | 1570 | .extra = 240, |
1571 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | ||
1570 | .pio_mask = ATA_PIO4, | 1572 | .pio_mask = ATA_PIO4, |
1571 | },{ /* 2 */ | 1573 | },{ /* 2 */ |
1572 | .name = "HPT302", | 1574 | .name = "HPT302", |
@@ -1579,6 +1581,7 @@ static ide_pci_device_t hpt366_chipsets[] __devinitdata = { | |||
1579 | .udma_mask = HPT302_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, | 1581 | .udma_mask = HPT302_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, |
1580 | .bootable = OFF_BOARD, | 1582 | .bootable = OFF_BOARD, |
1581 | .extra = 240, | 1583 | .extra = 240, |
1584 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | ||
1582 | .pio_mask = ATA_PIO4, | 1585 | .pio_mask = ATA_PIO4, |
1583 | },{ /* 3 */ | 1586 | },{ /* 3 */ |
1584 | .name = "HPT371", | 1587 | .name = "HPT371", |
@@ -1591,6 +1594,7 @@ static ide_pci_device_t hpt366_chipsets[] __devinitdata = { | |||
1591 | .udma_mask = HPT371_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, | 1594 | .udma_mask = HPT371_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, |
1592 | .bootable = OFF_BOARD, | 1595 | .bootable = OFF_BOARD, |
1593 | .extra = 240, | 1596 | .extra = 240, |
1597 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | ||
1594 | .pio_mask = ATA_PIO4, | 1598 | .pio_mask = ATA_PIO4, |
1595 | },{ /* 4 */ | 1599 | },{ /* 4 */ |
1596 | .name = "HPT374", | 1600 | .name = "HPT374", |
@@ -1603,6 +1607,7 @@ static ide_pci_device_t hpt366_chipsets[] __devinitdata = { | |||
1603 | .udma_mask = ATA_UDMA5, | 1607 | .udma_mask = ATA_UDMA5, |
1604 | .bootable = OFF_BOARD, | 1608 | .bootable = OFF_BOARD, |
1605 | .extra = 240, | 1609 | .extra = 240, |
1610 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | ||
1606 | .pio_mask = ATA_PIO4, | 1611 | .pio_mask = ATA_PIO4, |
1607 | },{ /* 5 */ | 1612 | },{ /* 5 */ |
1608 | .name = "HPT372N", | 1613 | .name = "HPT372N", |
@@ -1615,6 +1620,7 @@ static ide_pci_device_t hpt366_chipsets[] __devinitdata = { | |||
1615 | .udma_mask = HPT372_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, | 1620 | .udma_mask = HPT372_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5, |
1616 | .bootable = OFF_BOARD, | 1621 | .bootable = OFF_BOARD, |
1617 | .extra = 240, | 1622 | .extra = 240, |
1623 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | ||
1618 | .pio_mask = ATA_PIO4, | 1624 | .pio_mask = ATA_PIO4, |
1619 | } | 1625 | } |
1620 | }; | 1626 | }; |
diff --git a/drivers/ide/pci/it8213.c b/drivers/ide/pci/it8213.c index 24a71d03744a..b52bca7b497a 100644 --- a/drivers/ide/pci/it8213.c +++ b/drivers/ide/pci/it8213.c | |||
@@ -176,7 +176,6 @@ static void __devinit init_hwif_it8213(ide_hwif_t *hwif) | |||
176 | if (!hwif->dma_base) | 176 | if (!hwif->dma_base) |
177 | return; | 177 | return; |
178 | 178 | ||
179 | hwif->atapi_dma = 1; | ||
180 | hwif->ultra_mask = 0x7f; | 179 | hwif->ultra_mask = 0x7f; |
181 | hwif->mwdma_mask = 0x06; | 180 | hwif->mwdma_mask = 0x06; |
182 | hwif->swdma_mask = 0x04; | 181 | hwif->swdma_mask = 0x04; |
diff --git a/drivers/ide/pci/it821x.c b/drivers/ide/pci/it821x.c index f3391a8698ac..1b1286baa8e0 100644 --- a/drivers/ide/pci/it821x.c +++ b/drivers/ide/pci/it821x.c | |||
@@ -544,12 +544,10 @@ static void __devinit init_hwif_it821x(ide_hwif_t *hwif) | |||
544 | 544 | ||
545 | ide_set_hwifdata(hwif, idev); | 545 | ide_set_hwifdata(hwif, idev); |
546 | 546 | ||
547 | hwif->atapi_dma = 1; | ||
548 | |||
549 | pci_read_config_byte(hwif->pci_dev, 0x50, &conf); | 547 | pci_read_config_byte(hwif->pci_dev, 0x50, &conf); |
550 | if(conf & 1) { | 548 | if (conf & 1) { |
551 | idev->smart = 1; | 549 | idev->smart = 1; |
552 | hwif->atapi_dma = 0; | 550 | hwif->host_flags |= IDE_HFLAG_NO_ATAPI_DMA; |
553 | /* Long I/O's although allowed in LBA48 space cause the | 551 | /* Long I/O's although allowed in LBA48 space cause the |
554 | onboard firmware to enter the twighlight zone */ | 552 | onboard firmware to enter the twighlight zone */ |
555 | hwif->rqsize = 256; | 553 | hwif->rqsize = 256; |
@@ -570,10 +568,10 @@ static void __devinit init_hwif_it821x(ide_hwif_t *hwif) | |||
570 | */ | 568 | */ |
571 | 569 | ||
572 | pci_read_config_byte(hwif->pci_dev, 0x08, &conf); | 570 | pci_read_config_byte(hwif->pci_dev, 0x08, &conf); |
573 | if(conf == 0x10) { | 571 | if (conf == 0x10) { |
574 | idev->timing10 = 1; | 572 | idev->timing10 = 1; |
575 | hwif->atapi_dma = 0; | 573 | hwif->host_flags |= IDE_HFLAG_NO_ATAPI_DMA; |
576 | if(!idev->smart) | 574 | if (idev->smart == 0) |
577 | printk(KERN_WARNING "it821x: Revision 0x10, workarounds activated.\n"); | 575 | printk(KERN_WARNING "it821x: Revision 0x10, workarounds activated.\n"); |
578 | } | 576 | } |
579 | 577 | ||
diff --git a/drivers/ide/pci/jmicron.c b/drivers/ide/pci/jmicron.c index bb893ffcc987..d151fbc26370 100644 --- a/drivers/ide/pci/jmicron.c +++ b/drivers/ide/pci/jmicron.c | |||
@@ -117,7 +117,6 @@ static void __devinit init_hwif_jmicron(ide_hwif_t *hwif) | |||
117 | if (hwif->dma_base == 0) | 117 | if (hwif->dma_base == 0) |
118 | return; | 118 | return; |
119 | 119 | ||
120 | hwif->atapi_dma = 1; | ||
121 | hwif->ultra_mask = 0x7f; | 120 | hwif->ultra_mask = 0x7f; |
122 | hwif->mwdma_mask = 0x07; | 121 | hwif->mwdma_mask = 0x07; |
123 | 122 | ||
diff --git a/drivers/ide/pci/ns87415.c b/drivers/ide/pci/ns87415.c index a8cd50ab62fb..2d5dd983bfe3 100644 --- a/drivers/ide/pci/ns87415.c +++ b/drivers/ide/pci/ns87415.c | |||
@@ -268,7 +268,8 @@ static ide_pci_device_t ns87415_chipset __devinitdata = { | |||
268 | .init_hwif = init_hwif_ns87415, | 268 | .init_hwif = init_hwif_ns87415, |
269 | .autodma = AUTODMA, | 269 | .autodma = AUTODMA, |
270 | .bootable = ON_BOARD, | 270 | .bootable = ON_BOARD, |
271 | .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA, | 271 | .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA | |
272 | IDE_HFLAG_NO_ATAPI_DMA, | ||
272 | }; | 273 | }; |
273 | 274 | ||
274 | static int __devinit ns87415_init_one(struct pci_dev *dev, const struct pci_device_id *id) | 275 | static int __devinit ns87415_init_one(struct pci_dev *dev, const struct pci_device_id *id) |
diff --git a/drivers/ide/pci/opti621.c b/drivers/ide/pci/opti621.c index 250662ea18ad..2437aed73f35 100644 --- a/drivers/ide/pci/opti621.c +++ b/drivers/ide/pci/opti621.c | |||
@@ -336,7 +336,6 @@ static void __devinit init_hwif_opti621 (ide_hwif_t *hwif) | |||
336 | if (!(hwif->dma_base)) | 336 | if (!(hwif->dma_base)) |
337 | return; | 337 | return; |
338 | 338 | ||
339 | hwif->atapi_dma = 1; | ||
340 | hwif->mwdma_mask = 0x07; | 339 | hwif->mwdma_mask = 0x07; |
341 | hwif->swdma_mask = 0x07; | 340 | hwif->swdma_mask = 0x07; |
342 | } | 341 | } |
diff --git a/drivers/ide/pci/pdc202xx_new.c b/drivers/ide/pci/pdc202xx_new.c index 8704b6f33312..2238df9b8372 100644 --- a/drivers/ide/pci/pdc202xx_new.c +++ b/drivers/ide/pci/pdc202xx_new.c | |||
@@ -482,8 +482,6 @@ static void __devinit init_hwif_pdc202new(ide_hwif_t *hwif) | |||
482 | if (hwif->dma_base == 0) | 482 | if (hwif->dma_base == 0) |
483 | return; | 483 | return; |
484 | 484 | ||
485 | hwif->atapi_dma = 1; | ||
486 | |||
487 | hwif->ultra_mask = hwif->cds->udma_mask; | 485 | hwif->ultra_mask = hwif->cds->udma_mask; |
488 | hwif->mwdma_mask = 0x07; | 486 | hwif->mwdma_mask = 0x07; |
489 | 487 | ||
diff --git a/drivers/ide/pci/pdc202xx_old.c b/drivers/ide/pci/pdc202xx_old.c index e1d2337a9f1d..903bf715fab3 100644 --- a/drivers/ide/pci/pdc202xx_old.c +++ b/drivers/ide/pci/pdc202xx_old.c | |||
@@ -330,7 +330,6 @@ static void __devinit init_hwif_pdc202xx(ide_hwif_t *hwif) | |||
330 | hwif->ultra_mask = hwif->cds->udma_mask; | 330 | hwif->ultra_mask = hwif->cds->udma_mask; |
331 | hwif->mwdma_mask = 0x07; | 331 | hwif->mwdma_mask = 0x07; |
332 | hwif->swdma_mask = 0x07; | 332 | hwif->swdma_mask = 0x07; |
333 | hwif->atapi_dma = 1; | ||
334 | 333 | ||
335 | hwif->dma_lost_irq = &pdc202xx_dma_lost_irq; | 334 | hwif->dma_lost_irq = &pdc202xx_dma_lost_irq; |
336 | hwif->dma_timeout = &pdc202xx_dma_timeout; | 335 | hwif->dma_timeout = &pdc202xx_dma_timeout; |
diff --git a/drivers/ide/pci/piix.c b/drivers/ide/pci/piix.c index a8dd0c0add35..3694db62f257 100644 --- a/drivers/ide/pci/piix.c +++ b/drivers/ide/pci/piix.c | |||
@@ -397,8 +397,6 @@ static void __devinit init_hwif_piix(ide_hwif_t *hwif) | |||
397 | if (piix_is_ichx(hwif->pci_dev)) | 397 | if (piix_is_ichx(hwif->pci_dev)) |
398 | hwif->ide_dma_clear_irq = &piix_dma_clear_irq; | 398 | hwif->ide_dma_clear_irq = &piix_dma_clear_irq; |
399 | 399 | ||
400 | hwif->atapi_dma = 1; | ||
401 | |||
402 | hwif->ultra_mask = hwif->cds->udma_mask; | 400 | hwif->ultra_mask = hwif->cds->udma_mask; |
403 | hwif->mwdma_mask = 0x06; | 401 | hwif->mwdma_mask = 0x06; |
404 | hwif->swdma_mask = 0x04; | 402 | hwif->swdma_mask = 0x04; |
diff --git a/drivers/ide/pci/sc1200.c b/drivers/ide/pci/sc1200.c index 54c5c98a2e26..0ba9d2408575 100644 --- a/drivers/ide/pci/sc1200.c +++ b/drivers/ide/pci/sc1200.c | |||
@@ -377,7 +377,6 @@ static void __devinit init_hwif_sc1200 (ide_hwif_t *hwif) | |||
377 | hwif->udma_filter = sc1200_udma_filter; | 377 | hwif->udma_filter = sc1200_udma_filter; |
378 | hwif->ide_dma_end = &sc1200_ide_dma_end; | 378 | hwif->ide_dma_end = &sc1200_ide_dma_end; |
379 | 379 | ||
380 | hwif->atapi_dma = 1; | ||
381 | hwif->ultra_mask = 0x07; | 380 | hwif->ultra_mask = 0x07; |
382 | hwif->mwdma_mask = 0x07; | 381 | hwif->mwdma_mask = 0x07; |
383 | } | 382 | } |
diff --git a/drivers/ide/pci/scc_pata.c b/drivers/ide/pci/scc_pata.c index bd4c1d3070e4..ac519fa62153 100644 --- a/drivers/ide/pci/scc_pata.c +++ b/drivers/ide/pci/scc_pata.c | |||
@@ -693,7 +693,6 @@ static void __devinit init_hwif_scc(ide_hwif_t *hwif) | |||
693 | } | 693 | } |
694 | hwif->mwdma_mask = 0x00; | 694 | hwif->mwdma_mask = 0x00; |
695 | hwif->swdma_mask = 0x00; | 695 | hwif->swdma_mask = 0x00; |
696 | hwif->atapi_dma = 1; | ||
697 | 696 | ||
698 | /* we support 80c cable only. */ | 697 | /* we support 80c cable only. */ |
699 | hwif->cbl = ATA_CBL_PATA80; | 698 | hwif->cbl = ATA_CBL_PATA80; |
diff --git a/drivers/ide/pci/serverworks.c b/drivers/ide/pci/serverworks.c index d3ffc52e22af..40b89a29014f 100644 --- a/drivers/ide/pci/serverworks.c +++ b/drivers/ide/pci/serverworks.c | |||
@@ -367,8 +367,6 @@ static void __devinit init_hwif_svwks (ide_hwif_t *hwif) | |||
367 | hwif->set_dma_mode = &svwks_set_dma_mode; | 367 | hwif->set_dma_mode = &svwks_set_dma_mode; |
368 | hwif->udma_filter = &svwks_udma_filter; | 368 | hwif->udma_filter = &svwks_udma_filter; |
369 | 369 | ||
370 | hwif->atapi_dma = 1; | ||
371 | |||
372 | if (hwif->pci_dev->device != PCI_DEVICE_ID_SERVERWORKS_OSB4IDE) | 370 | if (hwif->pci_dev->device != PCI_DEVICE_ID_SERVERWORKS_OSB4IDE) |
373 | hwif->ultra_mask = 0x3f; | 371 | hwif->ultra_mask = 0x3f; |
374 | 372 | ||
diff --git a/drivers/ide/pci/sgiioc4.c b/drivers/ide/pci/sgiioc4.c index 9a9474f534e5..9122cb71bcc9 100644 --- a/drivers/ide/pci/sgiioc4.c +++ b/drivers/ide/pci/sgiioc4.c | |||
@@ -592,7 +592,6 @@ ide_init_sgiioc4(ide_hwif_t * hwif) | |||
592 | if (hwif->dma_base == 0) | 592 | if (hwif->dma_base == 0) |
593 | return; | 593 | return; |
594 | 594 | ||
595 | hwif->atapi_dma = 1; | ||
596 | hwif->mwdma_mask = 0x04; | 595 | hwif->mwdma_mask = 0x04; |
597 | 596 | ||
598 | hwif->dma_setup = &sgiioc4_ide_dma_setup; | 597 | hwif->dma_setup = &sgiioc4_ide_dma_setup; |
diff --git a/drivers/ide/pci/siimage.c b/drivers/ide/pci/siimage.c index 5ca14ae46c9d..4c8108345d83 100644 --- a/drivers/ide/pci/siimage.c +++ b/drivers/ide/pci/siimage.c | |||
@@ -899,8 +899,8 @@ static void __devinit init_hwif_siimage(ide_hwif_t *hwif) | |||
899 | hwif->ultra_mask = 0x7f; | 899 | hwif->ultra_mask = 0x7f; |
900 | hwif->mwdma_mask = 0x07; | 900 | hwif->mwdma_mask = 0x07; |
901 | 901 | ||
902 | if (!is_sata(hwif)) | 902 | if (is_sata(hwif)) |
903 | hwif->atapi_dma = 1; | 903 | hwif->host_flags |= IDE_HFLAG_NO_ATAPI_DMA; |
904 | 904 | ||
905 | if (hwif->cbl != ATA_CBL_PATA40_SHORT) | 905 | if (hwif->cbl != ATA_CBL_PATA40_SHORT) |
906 | hwif->cbl = ata66_siimage(hwif); | 906 | hwif->cbl = ata66_siimage(hwif); |
diff --git a/drivers/ide/pci/sis5513.c b/drivers/ide/pci/sis5513.c index 5a54e2e20b3c..f756c7f83b5d 100644 --- a/drivers/ide/pci/sis5513.c +++ b/drivers/ide/pci/sis5513.c | |||
@@ -579,8 +579,6 @@ static void __devinit init_hwif_sis5513 (ide_hwif_t *hwif) | |||
579 | if (hwif->dma_base == 0) | 579 | if (hwif->dma_base == 0) |
580 | return; | 580 | return; |
581 | 581 | ||
582 | hwif->atapi_dma = 1; | ||
583 | |||
584 | hwif->ultra_mask = udma_rates[chipset_family]; | 582 | hwif->ultra_mask = udma_rates[chipset_family]; |
585 | hwif->mwdma_mask = 0x07; | 583 | hwif->mwdma_mask = 0x07; |
586 | 584 | ||
diff --git a/drivers/ide/pci/sl82c105.c b/drivers/ide/pci/sl82c105.c index 771efb8884c8..e78448148aca 100644 --- a/drivers/ide/pci/sl82c105.c +++ b/drivers/ide/pci/sl82c105.c | |||
@@ -388,7 +388,6 @@ static void __devinit init_hwif_sl82c105(ide_hwif_t *hwif) | |||
388 | return; | 388 | return; |
389 | } | 389 | } |
390 | 390 | ||
391 | hwif->atapi_dma = 1; | ||
392 | hwif->mwdma_mask = 0x07; | 391 | hwif->mwdma_mask = 0x07; |
393 | 392 | ||
394 | hwif->ide_dma_on = &sl82c105_ide_dma_on; | 393 | hwif->ide_dma_on = &sl82c105_ide_dma_on; |
diff --git a/drivers/ide/pci/slc90e66.c b/drivers/ide/pci/slc90e66.c index fa8df6d43832..d0447219752d 100644 --- a/drivers/ide/pci/slc90e66.c +++ b/drivers/ide/pci/slc90e66.c | |||
@@ -147,7 +147,6 @@ static void __devinit init_hwif_slc90e66 (ide_hwif_t *hwif) | |||
147 | if (hwif->dma_base == 0) | 147 | if (hwif->dma_base == 0) |
148 | return; | 148 | return; |
149 | 149 | ||
150 | hwif->atapi_dma = 1; | ||
151 | hwif->ultra_mask = 0x1f; | 150 | hwif->ultra_mask = 0x1f; |
152 | hwif->mwdma_mask = 0x06; | 151 | hwif->mwdma_mask = 0x06; |
153 | hwif->swdma_mask = 0x04; | 152 | hwif->swdma_mask = 0x04; |
diff --git a/drivers/ide/pci/tc86c001.c b/drivers/ide/pci/tc86c001.c index de62db576adc..0e3a8fe2037d 100644 --- a/drivers/ide/pci/tc86c001.c +++ b/drivers/ide/pci/tc86c001.c | |||
@@ -198,7 +198,6 @@ static void __devinit init_hwif_tc86c001(ide_hwif_t *hwif) | |||
198 | /* Sector Count Register limit */ | 198 | /* Sector Count Register limit */ |
199 | hwif->rqsize = 0xffff; | 199 | hwif->rqsize = 0xffff; |
200 | 200 | ||
201 | hwif->atapi_dma = 1; | ||
202 | hwif->ultra_mask = 0x1f; | 201 | hwif->ultra_mask = 0x1f; |
203 | hwif->mwdma_mask = 0x07; | 202 | hwif->mwdma_mask = 0x07; |
204 | 203 | ||
diff --git a/drivers/ide/pci/triflex.c b/drivers/ide/pci/triflex.c index 4075c907f05c..68e1e9adf84d 100644 --- a/drivers/ide/pci/triflex.c +++ b/drivers/ide/pci/triflex.c | |||
@@ -104,7 +104,6 @@ static void __devinit init_hwif_triflex(ide_hwif_t *hwif) | |||
104 | if (hwif->dma_base == 0) | 104 | if (hwif->dma_base == 0) |
105 | return; | 105 | return; |
106 | 106 | ||
107 | hwif->atapi_dma = 1; | ||
108 | hwif->mwdma_mask = 0x07; | 107 | hwif->mwdma_mask = 0x07; |
109 | hwif->swdma_mask = 0x07; | 108 | hwif->swdma_mask = 0x07; |
110 | } | 109 | } |
diff --git a/drivers/ide/pci/trm290.c b/drivers/ide/pci/trm290.c index e3d943ada7b0..1307454f9c15 100644 --- a/drivers/ide/pci/trm290.c +++ b/drivers/ide/pci/trm290.c | |||
@@ -327,7 +327,9 @@ static ide_pci_device_t trm290_chipset __devinitdata = { | |||
327 | .autodma = NOAUTODMA, | 327 | .autodma = NOAUTODMA, |
328 | .bootable = ON_BOARD, | 328 | .bootable = ON_BOARD, |
329 | #if 0 /* play it safe for now */ | 329 | #if 0 /* play it safe for now */ |
330 | .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA, | 330 | .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA | IDE_HFLAG_NO_ATAPI_DMA, |
331 | #else | ||
332 | .host_flags = IDE_HFLAG_NO_ATAPI_DMA, | ||
331 | #endif | 333 | #endif |
332 | }; | 334 | }; |
333 | 335 | ||
diff --git a/drivers/ide/pci/via82cxxx.c b/drivers/ide/pci/via82cxxx.c index b25fb65b240e..648432f4c79e 100644 --- a/drivers/ide/pci/via82cxxx.c +++ b/drivers/ide/pci/via82cxxx.c | |||
@@ -443,8 +443,6 @@ static void __devinit init_hwif_via82cxxx(ide_hwif_t *hwif) | |||
443 | if (!hwif->dma_base) | 443 | if (!hwif->dma_base) |
444 | return; | 444 | return; |
445 | 445 | ||
446 | hwif->atapi_dma = 1; | ||
447 | |||
448 | hwif->ultra_mask = vdev->via_config->udma_mask; | 446 | hwif->ultra_mask = vdev->via_config->udma_mask; |
449 | hwif->mwdma_mask = 0x07; | 447 | hwif->mwdma_mask = 0x07; |
450 | hwif->swdma_mask = 0x07; | 448 | hwif->swdma_mask = 0x07; |