mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 19:51:01 +07:00
pata-rb532-cf: use ata_sff_data_xfer32()
The biggest difference between rb532_pata_data_xfer() and ata_sff_data_xfer32() is the call to ata_sff_pause() at the end of rb532_pata_data_xfer() which I suppose to be unnecessary since it works without. I've also tested using ata_sff_data_xfer() as replacement, but since we know that the driver supports 32bit IO, using the optimised version should be safe. Signed-off-by: Phil Sutter <n0-1@freewrt.org> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
parent
bff9ad3c4c
commit
180bd147f1
@ -54,25 +54,6 @@ struct rb532_cf_info {
|
|||||||
|
|
||||||
/* ------------------------------------------------------------------------ */
|
/* ------------------------------------------------------------------------ */
|
||||||
|
|
||||||
static unsigned int rb532_pata_data_xfer(struct ata_device *adev, unsigned char *buf,
|
|
||||||
unsigned int buflen, int write_data)
|
|
||||||
{
|
|
||||||
struct ata_port *ap = adev->link->ap;
|
|
||||||
void __iomem *ioaddr = ap->ioaddr.data_addr;
|
|
||||||
int retlen = buflen;
|
|
||||||
|
|
||||||
if (write_data) {
|
|
||||||
for (; buflen > 0; buflen--, buf++)
|
|
||||||
writeb(*buf, ioaddr);
|
|
||||||
} else {
|
|
||||||
for (; buflen > 0; buflen--, buf++)
|
|
||||||
*buf = readb(ioaddr);
|
|
||||||
}
|
|
||||||
|
|
||||||
ata_sff_pause(ap);
|
|
||||||
return retlen;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void rb532_pata_freeze(struct ata_port *ap)
|
static void rb532_pata_freeze(struct ata_port *ap)
|
||||||
{
|
{
|
||||||
struct rb532_cf_info *info = ap->host->private_data;
|
struct rb532_cf_info *info = ap->host->private_data;
|
||||||
@ -105,7 +86,7 @@ static irqreturn_t rb532_pata_irq_handler(int irq, void *dev_instance)
|
|||||||
|
|
||||||
static struct ata_port_operations rb532_pata_port_ops = {
|
static struct ata_port_operations rb532_pata_port_ops = {
|
||||||
.inherits = &ata_sff_port_ops,
|
.inherits = &ata_sff_port_ops,
|
||||||
.sff_data_xfer = rb532_pata_data_xfer,
|
.sff_data_xfer = ata_sff_data_xfer32,
|
||||||
.freeze = rb532_pata_freeze,
|
.freeze = rb532_pata_freeze,
|
||||||
.thaw = rb532_pata_thaw,
|
.thaw = rb532_pata_thaw,
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user