forked from luck/tmp_suning_uos_patched
pata: imx: set controller PIO mode with .set_piomode callback
Convert .set_mode callback function to more specific .set_piomode, the driver does not have support of DMA modes, thus a simpler version of the callback is preferred. Signed-off-by: Vladimir Zapolskiy <vz@mleia.com> Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
parent
07b9733fda
commit
65a443ea54
@ -38,28 +38,17 @@ struct pata_imx_priv {
|
||||
u32 ata_ctl;
|
||||
};
|
||||
|
||||
static int pata_imx_set_mode(struct ata_link *link, struct ata_device **unused)
|
||||
static void pata_imx_set_piomode(struct ata_port *ap, struct ata_device *adev)
|
||||
{
|
||||
struct ata_device *dev;
|
||||
struct ata_port *ap = link->ap;
|
||||
struct pata_imx_priv *priv = ap->host->private_data;
|
||||
u32 val;
|
||||
|
||||
ata_for_each_dev(dev, link, ENABLED) {
|
||||
dev->pio_mode = dev->xfer_mode = XFER_PIO_0;
|
||||
dev->xfer_shift = ATA_SHIFT_PIO;
|
||||
dev->flags |= ATA_DFLAG_PIO;
|
||||
|
||||
val = __raw_readl(priv->host_regs + PATA_IMX_ATA_CONTROL);
|
||||
if (ata_pio_need_iordy(dev))
|
||||
val |= PATA_IMX_ATA_CTRL_IORDY_EN;
|
||||
else
|
||||
val &= ~PATA_IMX_ATA_CTRL_IORDY_EN;
|
||||
__raw_writel(val, priv->host_regs + PATA_IMX_ATA_CONTROL);
|
||||
|
||||
ata_dev_info(dev, "configured for PIO\n");
|
||||
}
|
||||
return 0;
|
||||
val = __raw_readl(priv->host_regs + PATA_IMX_ATA_CONTROL);
|
||||
if (ata_pio_need_iordy(adev))
|
||||
val |= PATA_IMX_ATA_CTRL_IORDY_EN;
|
||||
else
|
||||
val &= ~PATA_IMX_ATA_CTRL_IORDY_EN;
|
||||
__raw_writel(val, priv->host_regs + PATA_IMX_ATA_CONTROL);
|
||||
}
|
||||
|
||||
static struct scsi_host_template pata_imx_sht = {
|
||||
@ -70,7 +59,7 @@ static struct ata_port_operations pata_imx_port_ops = {
|
||||
.inherits = &ata_sff_port_ops,
|
||||
.sff_data_xfer = ata_sff_data_xfer_noirq,
|
||||
.cable_detect = ata_cable_unknown,
|
||||
.set_mode = pata_imx_set_mode,
|
||||
.set_piomode = pata_imx_set_piomode,
|
||||
};
|
||||
|
||||
static void pata_imx_setup_port(struct ata_ioports *ioaddr)
|
||||
|
Loading…
Reference in New Issue
Block a user