Skip to contentSkip to conversation

pdc202xx_new: Enable ATAPI DMA

PATCH New Albert Lee 1 participant 1 message Mar 8, 2005 libata

lore
Share & tools
lore

Albert Lee

author
#0 lore raw

PATCH 1/1 pdc202xx_new: Enable ATAPI DMA

Hi Bart,

These is the patch to turn on pdc202xx_new for ATAPI DMA.
When testing, it works fine without the (request_bufflen % 256) workaround as needed in libata. ide-scsi filters out (pc->request_transfer % 1024) and use PIO, so the pdc202xx ATAPI DMA problem is avoid. Both ide-cd and ide-scsi won't hit the ATAPI DMA problem on pdc202xx_new.

Changes:
- Turn on ATAPI DMA for pdc202xx_new

Attached please find the patch against the ide-2.6 tree for your review. Thanks.

Albert

-------

drivers/ide/pci/pdc202xx_new.c +3 -1
diff -Nru libata-dev-2.6-hwauto/drivers/ide/pci/pdc202xx_new.c libata-dev-2.6-atapidma/drivers/ide/pci/pdc202xx_new.c
@@ -290,7 +290,8 @@
 		printk(KERN_WARNING "%s reduced to Ultra33 mode.\n", drive->name);
 	}
 
-	if (drive->media != ide_disk)
+	if (drive->media != ide_disk &&
+	    drive->media != ide_cdrom)
 		return 0;
 
 	if (id->capability & 4) {	/* IORDY_EN & PREFETCH_EN */
@@ -633,6 +634,7 @@
 
 	hwif->drives[0].autotune = hwif->drives[1].autotune = 1;
 
+	hwif->atapi_dma  = 1;
 	hwif->ultra_mask = 0x7f;
 	hwif->mwdma_mask = 0x07;