|
@@ -244,6 +244,24 @@ static int pdc2026x_port_start(struct ata_port *ap)
|
|
|
return ata_sff_port_start(ap);
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * pdc2026x_check_atapi_dma - Check whether ATAPI DMA can be supported for this command
|
|
|
+ * @qc: Metadata associated with taskfile to check
|
|
|
+ *
|
|
|
+ * Just say no - not supported on older Promise.
|
|
|
+ *
|
|
|
+ * LOCKING:
|
|
|
+ * None (inherited from caller).
|
|
|
+ *
|
|
|
+ * RETURNS: 0 when ATAPI DMA can be used
|
|
|
+ * 1 otherwise
|
|
|
+ */
|
|
|
+
|
|
|
+static int pdc2026x_check_atapi_dma(struct ata_queued_cmd *qc)
|
|
|
+{
|
|
|
+ return 1;
|
|
|
+}
|
|
|
+
|
|
|
static struct scsi_host_template pdc202xx_sht = {
|
|
|
.module = THIS_MODULE,
|
|
|
.name = DRV_NAME,
|
|
@@ -311,6 +329,7 @@ static struct ata_port_operations pdc2026x_port_ops = {
|
|
|
.post_internal_cmd = ata_bmdma_post_internal_cmd,
|
|
|
.cable_detect = pdc2026x_cable_detect,
|
|
|
|
|
|
+ .check_atapi_dma= pdc2026x_check_atapi_dma,
|
|
|
.bmdma_setup = ata_bmdma_setup,
|
|
|
.bmdma_start = pdc2026x_bmdma_start,
|
|
|
.bmdma_stop = pdc2026x_bmdma_stop,
|