Lines Matching refs:ixpp
53 static void ixp4xx_set_8bit_timing(struct ixp4xx_pata *ixpp, u8 pio_mode) in ixp4xx_set_8bit_timing() argument
57 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg, in ixp4xx_set_8bit_timing()
61 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg, in ixp4xx_set_8bit_timing()
65 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg, in ixp4xx_set_8bit_timing()
69 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg, in ixp4xx_set_8bit_timing()
73 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg, in ixp4xx_set_8bit_timing()
79 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg, in ixp4xx_set_8bit_timing()
83 static void ixp4xx_set_16bit_timing(struct ixp4xx_pata *ixpp, u8 pio_mode) in ixp4xx_set_16bit_timing() argument
87 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg, in ixp4xx_set_16bit_timing()
91 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg, in ixp4xx_set_16bit_timing()
95 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg, in ixp4xx_set_16bit_timing()
99 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg, in ixp4xx_set_16bit_timing()
103 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg, in ixp4xx_set_16bit_timing()
109 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg, in ixp4xx_set_16bit_timing()
116 struct ixp4xx_pata *ixpp = ap->host->private_data; in ixp4xx_set_piomode() local
120 ixp4xx_set_8bit_timing(ixpp, adev->pio_mode); in ixp4xx_set_piomode()
133 struct ixp4xx_pata *ixpp = ap->host->private_data; in ixp4xx_mmio_data_xfer() local
143 ixp4xx_set_16bit_timing(ixpp, adev->pio_mode); in ixp4xx_mmio_data_xfer()
169 ixp4xx_set_8bit_timing(ixpp, adev->pio_mode); in ixp4xx_mmio_data_xfer()
195 struct ixp4xx_pata *ixpp, in ixp4xx_setup_port() argument
201 ioaddr->cmd_addr = ixpp->cmd; in ixp4xx_setup_port()
202 ioaddr->altstatus_addr = ixpp->ctl + 0x06; in ixp4xx_setup_port()
203 ioaddr->ctl_addr = ixpp->ctl + 0x06; in ixp4xx_setup_port()
240 struct ixp4xx_pata *ixpp; in ixp4xx_pata_probe() local
245 ixpp = devm_kzalloc(dev, sizeof(*ixpp), GFP_KERNEL); in ixp4xx_pata_probe()
246 if (!ixpp) in ixp4xx_pata_probe()
249 ixpp->rmap = syscon_node_to_regmap(np->parent); in ixp4xx_pata_probe()
250 if (IS_ERR(ixpp->rmap)) in ixp4xx_pata_probe()
251 return dev_err_probe(dev, PTR_ERR(ixpp->rmap), "no regmap\n"); in ixp4xx_pata_probe()
257 ixpp->cmd_csreg = csindex * IXP4XX_EXP_TIMING_STRIDE; in ixp4xx_pata_probe()
259 ixpp->host = ata_host_alloc_pinfo(dev, ppi, 1); in ixp4xx_pata_probe()
260 if (!ixpp->host) in ixp4xx_pata_probe()
262 ixpp->host->private_data = ixpp; in ixp4xx_pata_probe()
268 ixpp->cmd = devm_platform_get_and_ioremap_resource(pdev, 0, &cmd); in ixp4xx_pata_probe()
269 if (IS_ERR(ixpp->cmd)) in ixp4xx_pata_probe()
270 return PTR_ERR(ixpp->cmd); in ixp4xx_pata_probe()
272 ixpp->ctl = devm_platform_get_and_ioremap_resource(pdev, 1, &ctl); in ixp4xx_pata_probe()
273 if (IS_ERR(ixpp->ctl)) in ixp4xx_pata_probe()
274 return PTR_ERR(ixpp->ctl); in ixp4xx_pata_probe()
282 ixp4xx_setup_port(ixpp->host->ports[0], ixpp, cmd->start, ctl->start); in ixp4xx_pata_probe()
286 return ata_host_activate(ixpp->host, irq, ata_sff_interrupt, 0, &ixp4xx_sht); in ixp4xx_pata_probe()