mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 12:30:53 +07:00
[libata] Remove ->irq_ack() hook, and ata_dummy_irq_on()
* ->irq_ack() is redundant to what the irq handler already performs... chk-status + irq-clear. Furthermore, it is only called in one place, when screaming-irq-debugging is enabled, so we don't want to bother with a hook just for that. * ata_dummy_irq_on() is only ever used in drivers that have no callpath reaching ->irq_on(). Remove .irq_on hook from those drivers, and the now-unused ata_dummy_irq_on() Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
cb94c1cf5a
commit
6d32d30f55
@ -276,8 +276,6 @@ static const struct ata_port_operations ahci_ops = {
|
|||||||
.qc_issue = ahci_qc_issue,
|
.qc_issue = ahci_qc_issue,
|
||||||
|
|
||||||
.irq_clear = ahci_irq_clear,
|
.irq_clear = ahci_irq_clear,
|
||||||
.irq_on = ata_dummy_irq_on,
|
|
||||||
.irq_ack = ata_dummy_irq_ack,
|
|
||||||
|
|
||||||
.scr_read = ahci_scr_read,
|
.scr_read = ahci_scr_read,
|
||||||
.scr_write = ahci_scr_write,
|
.scr_write = ahci_scr_write,
|
||||||
@ -310,8 +308,6 @@ static const struct ata_port_operations ahci_vt8251_ops = {
|
|||||||
.qc_issue = ahci_qc_issue,
|
.qc_issue = ahci_qc_issue,
|
||||||
|
|
||||||
.irq_clear = ahci_irq_clear,
|
.irq_clear = ahci_irq_clear,
|
||||||
.irq_on = ata_dummy_irq_on,
|
|
||||||
.irq_ack = ata_dummy_irq_ack,
|
|
||||||
|
|
||||||
.scr_read = ahci_scr_read,
|
.scr_read = ahci_scr_read,
|
||||||
.scr_write = ahci_scr_write,
|
.scr_write = ahci_scr_write,
|
||||||
|
@ -121,7 +121,6 @@ static struct ata_port_operations generic_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -318,7 +318,6 @@ static const struct ata_port_operations piix_pata_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -352,7 +351,6 @@ static const struct ata_port_operations ich_pata_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -382,7 +380,6 @@ static const struct ata_port_operations piix_sata_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -5747,7 +5747,8 @@ inline unsigned int ata_host_intr (struct ata_port *ap,
|
|||||||
|
|
||||||
#ifdef ATA_IRQ_TRAP
|
#ifdef ATA_IRQ_TRAP
|
||||||
if ((ap->stats.idle_irq % 1000) == 0) {
|
if ((ap->stats.idle_irq % 1000) == 0) {
|
||||||
ap->ops->irq_ack(ap, 0); /* debug trap */
|
ata_chk_status(ap);
|
||||||
|
ap->ops->irq_clear(ap);
|
||||||
ata_port_printk(ap, KERN_WARNING, "irq trap\n");
|
ata_port_printk(ap, KERN_WARNING, "irq trap\n");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -7137,9 +7138,6 @@ EXPORT_SYMBOL_GPL(ata_eh_qc_complete);
|
|||||||
EXPORT_SYMBOL_GPL(ata_eh_qc_retry);
|
EXPORT_SYMBOL_GPL(ata_eh_qc_retry);
|
||||||
EXPORT_SYMBOL_GPL(ata_do_eh);
|
EXPORT_SYMBOL_GPL(ata_do_eh);
|
||||||
EXPORT_SYMBOL_GPL(ata_irq_on);
|
EXPORT_SYMBOL_GPL(ata_irq_on);
|
||||||
EXPORT_SYMBOL_GPL(ata_dummy_irq_on);
|
|
||||||
EXPORT_SYMBOL_GPL(ata_irq_ack);
|
|
||||||
EXPORT_SYMBOL_GPL(ata_dummy_irq_ack);
|
|
||||||
EXPORT_SYMBOL_GPL(ata_dev_try_classify);
|
EXPORT_SYMBOL_GPL(ata_dev_try_classify);
|
||||||
|
|
||||||
EXPORT_SYMBOL_GPL(ata_cable_40wire);
|
EXPORT_SYMBOL_GPL(ata_cable_40wire);
|
||||||
|
@ -64,46 +64,6 @@ u8 ata_irq_on(struct ata_port *ap)
|
|||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 ata_dummy_irq_on (struct ata_port *ap) { return 0; }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ata_irq_ack - Acknowledge a device interrupt.
|
|
||||||
* @ap: Port on which interrupts are enabled.
|
|
||||||
*
|
|
||||||
* Wait up to 10 ms for legacy IDE device to become idle (BUSY
|
|
||||||
* or BUSY+DRQ clear). Obtain dma status and port status from
|
|
||||||
* device. Clear the interrupt. Return port status.
|
|
||||||
*
|
|
||||||
* LOCKING:
|
|
||||||
*/
|
|
||||||
|
|
||||||
u8 ata_irq_ack(struct ata_port *ap, unsigned int chk_drq)
|
|
||||||
{
|
|
||||||
unsigned int bits = chk_drq ? ATA_BUSY | ATA_DRQ : ATA_BUSY;
|
|
||||||
u8 host_stat = 0, post_stat = 0, status;
|
|
||||||
|
|
||||||
status = ata_busy_wait(ap, bits, 1000);
|
|
||||||
if (status & bits)
|
|
||||||
if (ata_msg_err(ap))
|
|
||||||
printk(KERN_ERR "abnormal status 0x%X\n", status);
|
|
||||||
|
|
||||||
if (ap->ioaddr.bmdma_addr) {
|
|
||||||
/* get controller status; clear intr, err bits */
|
|
||||||
host_stat = ioread8(ap->ioaddr.bmdma_addr + ATA_DMA_STATUS);
|
|
||||||
iowrite8(host_stat | ATA_DMA_INTR | ATA_DMA_ERR,
|
|
||||||
ap->ioaddr.bmdma_addr + ATA_DMA_STATUS);
|
|
||||||
|
|
||||||
post_stat = ioread8(ap->ioaddr.bmdma_addr + ATA_DMA_STATUS);
|
|
||||||
}
|
|
||||||
if (ata_msg_intr(ap))
|
|
||||||
printk(KERN_INFO "%s: irq ack: host_stat 0x%X, new host_stat 0x%X, drv_stat 0x%X\n",
|
|
||||||
__FUNCTION__,
|
|
||||||
host_stat, post_stat, status);
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
u8 ata_dummy_irq_ack(struct ata_port *ap, unsigned int chk_drq) { return 0; }
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ata_tf_load - send taskfile registers to host controller
|
* ata_tf_load - send taskfile registers to host controller
|
||||||
* @ap: Port to which output is sent
|
* @ap: Port to which output is sent
|
||||||
|
@ -327,7 +327,6 @@ static struct ata_port_operations ali_early_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -369,7 +368,6 @@ static struct ata_port_operations ali_20_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -408,7 +406,6 @@ static struct ata_port_operations ali_c2_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -446,7 +443,6 @@ static struct ata_port_operations ali_c5_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -358,7 +358,6 @@ static struct ata_port_operations amd33_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -393,7 +392,6 @@ static struct ata_port_operations amd66_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -428,7 +426,6 @@ static struct ata_port_operations amd100_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -463,7 +460,6 @@ static struct ata_port_operations amd133_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -498,7 +494,6 @@ static struct ata_port_operations nv100_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -533,7 +528,6 @@ static struct ata_port_operations nv133_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -361,7 +361,6 @@ static const struct ata_port_operations artop6210_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -394,7 +393,6 @@ static const struct ata_port_operations artop6260_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -262,7 +262,6 @@ static struct ata_port_operations atiixp_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -213,7 +213,6 @@ static struct ata_port_operations cmd640_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = cmd640_port_start,
|
.port_start = cmd640_port_start,
|
||||||
};
|
};
|
||||||
|
@ -313,7 +313,6 @@ static struct ata_port_operations cmd64x_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -348,7 +347,6 @@ static struct ata_port_operations cmd646r1_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -383,7 +381,6 @@ static struct ata_port_operations cmd648_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -184,7 +184,6 @@ static struct ata_port_operations cs5520_port_ops = {
|
|||||||
|
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -209,7 +209,6 @@ static struct ata_port_operations cs5530_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -206,7 +206,6 @@ static struct ata_port_operations cs5535_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -158,7 +158,6 @@ static struct ata_port_operations cy82c693_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -279,7 +279,6 @@ static const struct ata_port_operations efar_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -342,7 +342,6 @@ static struct ata_port_operations hpt366_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -673,7 +673,6 @@ static struct ata_port_operations hpt370_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -712,7 +711,6 @@ static struct ata_port_operations hpt370a_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -752,7 +750,6 @@ static struct ata_port_operations hpt372_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -792,7 +789,6 @@ static struct ata_port_operations hpt374_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -391,7 +391,6 @@ static struct ata_port_operations hpt3x2n_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -153,7 +153,6 @@ static struct ata_port_operations hpt3x3_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -357,23 +357,6 @@ static void pata_icside_error_handler(struct ata_port *ap)
|
|||||||
pata_icside_postreset);
|
pata_icside_postreset);
|
||||||
}
|
}
|
||||||
|
|
||||||
static u8 pata_icside_irq_ack(struct ata_port *ap, unsigned int chk_drq)
|
|
||||||
{
|
|
||||||
unsigned int bits = chk_drq ? ATA_BUSY | ATA_DRQ : ATA_BUSY;
|
|
||||||
u8 status;
|
|
||||||
|
|
||||||
status = ata_busy_wait(ap, bits, 1000);
|
|
||||||
if (status & bits)
|
|
||||||
if (ata_msg_err(ap))
|
|
||||||
printk(KERN_ERR "abnormal status 0x%X\n", status);
|
|
||||||
|
|
||||||
if (ata_msg_intr(ap))
|
|
||||||
printk(KERN_INFO "%s: irq ack: drv_stat 0x%X\n",
|
|
||||||
__FUNCTION__, status);
|
|
||||||
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct ata_port_operations pata_icside_port_ops = {
|
static struct ata_port_operations pata_icside_port_ops = {
|
||||||
.port_disable = ata_port_disable,
|
.port_disable = ata_port_disable,
|
||||||
|
|
||||||
@ -403,7 +386,6 @@ static struct ata_port_operations pata_icside_port_ops = {
|
|||||||
|
|
||||||
.irq_clear = ata_dummy_noret,
|
.irq_clear = ata_dummy_noret,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = pata_icside_irq_ack,
|
|
||||||
|
|
||||||
.port_start = pata_icside_port_start,
|
.port_start = pata_icside_port_start,
|
||||||
|
|
||||||
|
@ -58,7 +58,6 @@ static struct ata_port_operations isapnp_port_ops = {
|
|||||||
|
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -289,7 +289,6 @@ static const struct ata_port_operations it8213_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -650,7 +650,6 @@ static struct ata_port_operations it821x_smart_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = it821x_port_start,
|
.port_start = it821x_port_start,
|
||||||
};
|
};
|
||||||
@ -687,7 +686,6 @@ static struct ata_port_operations it821x_passthru_port_ops = {
|
|||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = it821x_port_start,
|
.port_start = it821x_port_start,
|
||||||
};
|
};
|
||||||
|
@ -127,7 +127,6 @@ static struct ata_port_operations ixp4xx_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_dummy_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -168,7 +168,6 @@ static const struct ata_port_operations jmicron_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
/* Generic PATA PCI ATA helpers */
|
/* Generic PATA PCI ATA helpers */
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
|
@ -171,7 +171,6 @@ static struct ata_port_operations simple_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -200,7 +199,6 @@ static struct ata_port_operations legacy_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -316,7 +314,6 @@ static struct ata_port_operations pdc20230_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -372,7 +369,6 @@ static struct ata_port_operations ht6560a_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -439,7 +435,6 @@ static struct ata_port_operations ht6560b_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -561,7 +556,6 @@ static struct ata_port_operations opti82c611a_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -695,7 +689,6 @@ static struct ata_port_operations opti82c46x_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -139,7 +139,6 @@ static const struct ata_port_operations marvell_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
/* Generic PATA PCI ATA helpers */
|
/* Generic PATA PCI ATA helpers */
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
|
@ -299,7 +299,6 @@ static struct ata_port_operations mpc52xx_ata_port_ops = {
|
|||||||
.data_xfer = ata_data_xfer,
|
.data_xfer = ata_data_xfer,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -190,7 +190,6 @@ static struct ata_port_operations mpiix_port_ops = {
|
|||||||
|
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -68,7 +68,6 @@ static const struct ata_port_operations netcell_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
/* Generic PATA PCI ATA helpers */
|
/* Generic PATA PCI ATA helpers */
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
|
@ -185,7 +185,6 @@ static struct ata_port_operations ns87410_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -266,7 +266,6 @@ static const struct ata_port_operations oldpiix_pata_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -210,7 +210,6 @@ static struct ata_port_operations opti_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -398,7 +398,6 @@ static struct ata_port_operations optidma_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -434,7 +433,6 @@ static struct ata_port_operations optiplus_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -127,7 +127,6 @@ static struct ata_port_operations pcmcia_port_ops = {
|
|||||||
|
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_sff_port_start,
|
.port_start = ata_sff_port_start,
|
||||||
};
|
};
|
||||||
|
@ -173,7 +173,6 @@ static struct ata_port_operations pdc2027x_pata100_ops = {
|
|||||||
|
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -208,7 +207,6 @@ static struct ata_port_operations pdc2027x_pata133_ops = {
|
|||||||
|
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -275,7 +275,6 @@ static struct ata_port_operations pdc2024x_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -310,7 +309,6 @@ static struct ata_port_operations pdc2026x_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -89,7 +89,6 @@ static struct ata_port_operations pata_platform_port_ops = {
|
|||||||
|
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_dummy_ret0,
|
.port_start = ata_dummy_ret0,
|
||||||
};
|
};
|
||||||
|
@ -192,7 +192,6 @@ static struct ata_port_operations qdi6500_port_ops = {
|
|||||||
|
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -220,7 +219,6 @@ static struct ata_port_operations qdi6580_port_ops = {
|
|||||||
|
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -231,7 +231,6 @@ static const struct ata_port_operations radisys_pata_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -99,7 +99,6 @@ static struct ata_port_operations rz1000_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -227,7 +227,6 @@ static struct ata_port_operations sc1200_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -838,38 +838,6 @@ static u8 scc_irq_on (struct ata_port *ap)
|
|||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* scc_irq_ack - Acknowledge a device interrupt.
|
|
||||||
* @ap: Port on which interrupts are enabled.
|
|
||||||
*
|
|
||||||
* Note: Original code is ata_irq_ack().
|
|
||||||
*/
|
|
||||||
|
|
||||||
static u8 scc_irq_ack (struct ata_port *ap, unsigned int chk_drq)
|
|
||||||
{
|
|
||||||
unsigned int bits = chk_drq ? ATA_BUSY | ATA_DRQ : ATA_BUSY;
|
|
||||||
u8 host_stat, post_stat, status;
|
|
||||||
|
|
||||||
status = ata_busy_wait(ap, bits, 1000);
|
|
||||||
if (status & bits)
|
|
||||||
if (ata_msg_err(ap))
|
|
||||||
printk(KERN_ERR "abnormal status 0x%X\n", status);
|
|
||||||
|
|
||||||
/* get controller status; clear intr, err bits */
|
|
||||||
host_stat = in_be32(ap->ioaddr.bmdma_addr + SCC_DMA_STATUS);
|
|
||||||
out_be32(ap->ioaddr.bmdma_addr + SCC_DMA_STATUS,
|
|
||||||
host_stat | ATA_DMA_INTR | ATA_DMA_ERR);
|
|
||||||
|
|
||||||
post_stat = in_be32(ap->ioaddr.bmdma_addr + SCC_DMA_STATUS);
|
|
||||||
|
|
||||||
if (ata_msg_intr(ap))
|
|
||||||
printk(KERN_INFO "%s: irq ack: host_stat 0x%X, new host_stat 0x%X, drv_stat 0x%X\n",
|
|
||||||
__FUNCTION__,
|
|
||||||
host_stat, post_stat, status);
|
|
||||||
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* scc_bmdma_freeze - Freeze BMDMA controller port
|
* scc_bmdma_freeze - Freeze BMDMA controller port
|
||||||
* @ap: port to freeze
|
* @ap: port to freeze
|
||||||
@ -1047,7 +1015,6 @@ static const struct ata_port_operations scc_pata_ops = {
|
|||||||
|
|
||||||
.irq_clear = scc_bmdma_irq_clear,
|
.irq_clear = scc_bmdma_irq_clear,
|
||||||
.irq_on = scc_irq_on,
|
.irq_on = scc_irq_on,
|
||||||
.irq_ack = scc_irq_ack,
|
|
||||||
|
|
||||||
.port_start = scc_port_start,
|
.port_start = scc_port_start,
|
||||||
.port_stop = scc_port_stop,
|
.port_stop = scc_port_stop,
|
||||||
|
@ -348,7 +348,6 @@ static struct ata_port_operations serverworks_osb4_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -384,7 +383,6 @@ static struct ata_port_operations serverworks_csb_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -267,7 +267,6 @@ static struct ata_port_operations sil680_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -559,7 +559,6 @@ static const struct ata_port_operations sis_133_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -593,7 +592,6 @@ static const struct ata_port_operations sis_133_for_sata_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -627,7 +625,6 @@ static const struct ata_port_operations sis_133_early_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -661,7 +658,6 @@ static const struct ata_port_operations sis_100_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -695,7 +691,6 @@ static const struct ata_port_operations sis_66_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -729,7 +724,6 @@ static const struct ata_port_operations sis_old_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -254,7 +254,6 @@ static struct ata_port_operations sl82c105_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -227,7 +227,6 @@ static struct ata_port_operations triflex_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -375,7 +375,6 @@ static struct ata_port_operations via_port_ops = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -411,7 +410,6 @@ static struct ata_port_operations via_port_ops_noirq = {
|
|||||||
.irq_handler = ata_interrupt,
|
.irq_handler = ata_interrupt,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -160,7 +160,6 @@ static struct ata_port_operations winbond_port_ops = {
|
|||||||
|
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
|
@ -177,7 +177,6 @@ static const struct ata_port_operations adma_ata_ops = {
|
|||||||
.error_handler = adma_error_handler,
|
.error_handler = adma_error_handler,
|
||||||
.irq_clear = adma_irq_clear,
|
.irq_clear = adma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
.port_start = adma_port_start,
|
.port_start = adma_port_start,
|
||||||
.port_stop = adma_port_stop,
|
.port_stop = adma_port_stop,
|
||||||
.host_stop = adma_host_stop,
|
.host_stop = adma_host_stop,
|
||||||
|
@ -569,7 +569,6 @@ static struct ata_port_operations inic_port_ops = {
|
|||||||
|
|
||||||
.irq_clear = inic_irq_clear,
|
.irq_clear = inic_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.qc_prep = ata_qc_prep,
|
.qc_prep = ata_qc_prep,
|
||||||
.qc_issue = inic_qc_issue,
|
.qc_issue = inic_qc_issue,
|
||||||
|
@ -499,7 +499,6 @@ static const struct ata_port_operations mv5_ops = {
|
|||||||
|
|
||||||
.irq_clear = mv_irq_clear,
|
.irq_clear = mv_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.error_handler = mv_error_handler,
|
.error_handler = mv_error_handler,
|
||||||
.post_internal_cmd = mv_post_int_cmd,
|
.post_internal_cmd = mv_post_int_cmd,
|
||||||
@ -530,7 +529,6 @@ static const struct ata_port_operations mv6_ops = {
|
|||||||
|
|
||||||
.irq_clear = mv_irq_clear,
|
.irq_clear = mv_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.error_handler = mv_error_handler,
|
.error_handler = mv_error_handler,
|
||||||
.post_internal_cmd = mv_post_int_cmd,
|
.post_internal_cmd = mv_post_int_cmd,
|
||||||
@ -561,7 +559,6 @@ static const struct ata_port_operations mv_iie_ops = {
|
|||||||
|
|
||||||
.irq_clear = mv_irq_clear,
|
.irq_clear = mv_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.error_handler = mv_error_handler,
|
.error_handler = mv_error_handler,
|
||||||
.post_internal_cmd = mv_post_int_cmd,
|
.post_internal_cmd = mv_post_int_cmd,
|
||||||
|
@ -359,7 +359,6 @@ static const struct ata_port_operations nv_generic_ops = {
|
|||||||
.data_xfer = ata_data_xfer,
|
.data_xfer = ata_data_xfer,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
.scr_read = nv_scr_read,
|
.scr_read = nv_scr_read,
|
||||||
.scr_write = nv_scr_write,
|
.scr_write = nv_scr_write,
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
@ -385,7 +384,6 @@ static const struct ata_port_operations nv_nf2_ops = {
|
|||||||
.data_xfer = ata_data_xfer,
|
.data_xfer = ata_data_xfer,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
.scr_read = nv_scr_read,
|
.scr_read = nv_scr_read,
|
||||||
.scr_write = nv_scr_write,
|
.scr_write = nv_scr_write,
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
@ -411,7 +409,6 @@ static const struct ata_port_operations nv_ck804_ops = {
|
|||||||
.data_xfer = ata_data_xfer,
|
.data_xfer = ata_data_xfer,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
.scr_read = nv_scr_read,
|
.scr_read = nv_scr_read,
|
||||||
.scr_write = nv_scr_write,
|
.scr_write = nv_scr_write,
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
@ -439,7 +436,6 @@ static const struct ata_port_operations nv_adma_ops = {
|
|||||||
.data_xfer = ata_data_xfer,
|
.data_xfer = ata_data_xfer,
|
||||||
.irq_clear = nv_adma_irq_clear,
|
.irq_clear = nv_adma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
.scr_read = nv_scr_read,
|
.scr_read = nv_scr_read,
|
||||||
.scr_write = nv_scr_write,
|
.scr_write = nv_scr_write,
|
||||||
.port_start = nv_adma_port_start,
|
.port_start = nv_adma_port_start,
|
||||||
|
@ -185,7 +185,6 @@ static const struct ata_port_operations pdc_sata_ops = {
|
|||||||
.data_xfer = ata_data_xfer,
|
.data_xfer = ata_data_xfer,
|
||||||
.irq_clear = pdc_irq_clear,
|
.irq_clear = pdc_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.scr_read = pdc_sata_scr_read,
|
.scr_read = pdc_sata_scr_read,
|
||||||
.scr_write = pdc_sata_scr_write,
|
.scr_write = pdc_sata_scr_write,
|
||||||
@ -212,7 +211,6 @@ static const struct ata_port_operations pdc_old_sata_ops = {
|
|||||||
.data_xfer = ata_data_xfer,
|
.data_xfer = ata_data_xfer,
|
||||||
.irq_clear = pdc_irq_clear,
|
.irq_clear = pdc_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.scr_read = pdc_sata_scr_read,
|
.scr_read = pdc_sata_scr_read,
|
||||||
.scr_write = pdc_sata_scr_write,
|
.scr_write = pdc_sata_scr_write,
|
||||||
@ -238,7 +236,6 @@ static const struct ata_port_operations pdc_pata_ops = {
|
|||||||
.data_xfer = ata_data_xfer,
|
.data_xfer = ata_data_xfer,
|
||||||
.irq_clear = pdc_irq_clear,
|
.irq_clear = pdc_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = pdc_common_port_start,
|
.port_start = pdc_common_port_start,
|
||||||
};
|
};
|
||||||
|
@ -159,7 +159,6 @@ static const struct ata_port_operations qs_ata_ops = {
|
|||||||
.eng_timeout = qs_eng_timeout,
|
.eng_timeout = qs_eng_timeout,
|
||||||
.irq_clear = qs_irq_clear,
|
.irq_clear = qs_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
.scr_read = qs_scr_read,
|
.scr_read = qs_scr_read,
|
||||||
.scr_write = qs_scr_write,
|
.scr_write = qs_scr_write,
|
||||||
.port_start = qs_port_start,
|
.port_start = qs_port_start,
|
||||||
|
@ -207,7 +207,6 @@ static const struct ata_port_operations sil_ops = {
|
|||||||
.post_internal_cmd = ata_bmdma_post_internal_cmd,
|
.post_internal_cmd = ata_bmdma_post_internal_cmd,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
.scr_read = sil_scr_read,
|
.scr_read = sil_scr_read,
|
||||||
.scr_write = sil_scr_write,
|
.scr_write = sil_scr_write,
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
|
@ -398,8 +398,6 @@ static const struct ata_port_operations sil24_ops = {
|
|||||||
.qc_issue = sil24_qc_issue,
|
.qc_issue = sil24_qc_issue,
|
||||||
|
|
||||||
.irq_clear = sil24_irq_clear,
|
.irq_clear = sil24_irq_clear,
|
||||||
.irq_on = ata_dummy_irq_on,
|
|
||||||
.irq_ack = ata_dummy_irq_ack,
|
|
||||||
|
|
||||||
.scr_read = sil24_scr_read,
|
.scr_read = sil24_scr_read,
|
||||||
.scr_write = sil24_scr_write,
|
.scr_write = sil24_scr_write,
|
||||||
|
@ -123,7 +123,6 @@ static const struct ata_port_operations sis_ops = {
|
|||||||
.post_internal_cmd = ata_bmdma_post_internal_cmd,
|
.post_internal_cmd = ata_bmdma_post_internal_cmd,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
.scr_read = sis_scr_read,
|
.scr_read = sis_scr_read,
|
||||||
.scr_write = sis_scr_write,
|
.scr_write = sis_scr_write,
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
|
@ -349,7 +349,6 @@ static const struct ata_port_operations k2_sata_ops = {
|
|||||||
.post_internal_cmd = ata_bmdma_post_internal_cmd,
|
.post_internal_cmd = ata_bmdma_post_internal_cmd,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
.scr_read = k2_sata_scr_read,
|
.scr_read = k2_sata_scr_read,
|
||||||
.scr_write = k2_sata_scr_write,
|
.scr_write = k2_sata_scr_write,
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
|
@ -267,7 +267,6 @@ static const struct ata_port_operations pdc_20621_ops = {
|
|||||||
.eng_timeout = pdc_eng_timeout,
|
.eng_timeout = pdc_eng_timeout,
|
||||||
.irq_clear = pdc20621_irq_clear,
|
.irq_clear = pdc20621_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
.port_start = pdc_port_start,
|
.port_start = pdc_port_start,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -117,7 +117,6 @@ static const struct ata_port_operations uli_ops = {
|
|||||||
|
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.scr_read = uli_scr_read,
|
.scr_read = uli_scr_read,
|
||||||
.scr_write = uli_scr_write,
|
.scr_write = uli_scr_write,
|
||||||
|
@ -146,7 +146,6 @@ static const struct ata_port_operations vt6420_sata_ops = {
|
|||||||
|
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -180,7 +179,6 @@ static const struct ata_port_operations vt6421_pata_ops = {
|
|||||||
|
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
};
|
};
|
||||||
@ -211,7 +209,6 @@ static const struct ata_port_operations vt6421_sata_ops = {
|
|||||||
|
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
|
|
||||||
.scr_read = svia_scr_read,
|
.scr_read = svia_scr_read,
|
||||||
.scr_write = svia_scr_write,
|
.scr_write = svia_scr_write,
|
||||||
|
@ -336,7 +336,6 @@ static const struct ata_port_operations vsc_sata_ops = {
|
|||||||
.post_internal_cmd = ata_bmdma_post_internal_cmd,
|
.post_internal_cmd = ata_bmdma_post_internal_cmd,
|
||||||
.irq_clear = ata_bmdma_irq_clear,
|
.irq_clear = ata_bmdma_irq_clear,
|
||||||
.irq_on = ata_irq_on,
|
.irq_on = ata_irq_on,
|
||||||
.irq_ack = ata_irq_ack,
|
|
||||||
.scr_read = vsc_sata_scr_read,
|
.scr_read = vsc_sata_scr_read,
|
||||||
.scr_write = vsc_sata_scr_write,
|
.scr_write = vsc_sata_scr_write,
|
||||||
.port_start = ata_port_start,
|
.port_start = ata_port_start,
|
||||||
|
@ -644,7 +644,6 @@ struct ata_port_operations {
|
|||||||
irq_handler_t irq_handler;
|
irq_handler_t irq_handler;
|
||||||
void (*irq_clear) (struct ata_port *);
|
void (*irq_clear) (struct ata_port *);
|
||||||
u8 (*irq_on) (struct ata_port *);
|
u8 (*irq_on) (struct ata_port *);
|
||||||
u8 (*irq_ack) (struct ata_port *ap, unsigned int chk_drq);
|
|
||||||
|
|
||||||
int (*scr_read) (struct ata_port *ap, unsigned int sc_reg, u32 *val);
|
int (*scr_read) (struct ata_port *ap, unsigned int sc_reg, u32 *val);
|
||||||
int (*scr_write) (struct ata_port *ap, unsigned int sc_reg, u32 val);
|
int (*scr_write) (struct ata_port *ap, unsigned int sc_reg, u32 val);
|
||||||
@ -852,9 +851,6 @@ extern int ata_scsi_change_queue_depth(struct scsi_device *sdev,
|
|||||||
extern struct ata_device *ata_dev_pair(struct ata_device *adev);
|
extern struct ata_device *ata_dev_pair(struct ata_device *adev);
|
||||||
extern int ata_do_set_mode(struct ata_link *link, struct ata_device **r_failed_dev);
|
extern int ata_do_set_mode(struct ata_link *link, struct ata_device **r_failed_dev);
|
||||||
extern u8 ata_irq_on(struct ata_port *ap);
|
extern u8 ata_irq_on(struct ata_port *ap);
|
||||||
extern u8 ata_dummy_irq_on(struct ata_port *ap);
|
|
||||||
extern u8 ata_irq_ack(struct ata_port *ap, unsigned int chk_drq);
|
|
||||||
extern u8 ata_dummy_irq_ack(struct ata_port *ap, unsigned int chk_drq);
|
|
||||||
|
|
||||||
extern int ata_cable_40wire(struct ata_port *ap);
|
extern int ata_cable_40wire(struct ata_port *ap);
|
||||||
extern int ata_cable_80wire(struct ata_port *ap);
|
extern int ata_cable_80wire(struct ata_port *ap);
|
||||||
|
Loading…
Reference in New Issue
Block a user