Lines Matching refs:dpio_dev

56 static int dpaa2_dpio_get_cluster_sdest(struct fsl_mc_device *dpio_dev, int cpu)  in dpaa2_dpio_get_cluster_sdest()  argument
69 dev_err(&dpio_dev->dev, "unknown SoC version\n"); in dpaa2_dpio_get_cluster_sdest()
84 static void unregister_dpio_irq_handlers(struct fsl_mc_device *dpio_dev) in unregister_dpio_irq_handlers() argument
88 irq = dpio_dev->irqs[0]; in unregister_dpio_irq_handlers()
94 static int register_dpio_irq_handlers(struct fsl_mc_device *dpio_dev, int cpu) in register_dpio_irq_handlers() argument
100 irq = dpio_dev->irqs[0]; in register_dpio_irq_handlers()
101 error = devm_request_irq(&dpio_dev->dev, in register_dpio_irq_handlers()
105 dev_name(&dpio_dev->dev), in register_dpio_irq_handlers()
106 &dpio_dev->dev); in register_dpio_irq_handlers()
108 dev_err(&dpio_dev->dev, in register_dpio_irq_handlers()
118 dev_err(&dpio_dev->dev, in register_dpio_irq_handlers()
125 static int dpaa2_dpio_probe(struct fsl_mc_device *dpio_dev) in dpaa2_dpio_probe() argument
131 struct device *dev = &dpio_dev->dev; in dpaa2_dpio_probe()
141 err = fsl_mc_portal_allocate(dpio_dev, 0, &dpio_dev->mc_io); in dpaa2_dpio_probe()
148 err = dpio_open(dpio_dev->mc_io, 0, dpio_dev->obj_desc.id, in dpaa2_dpio_probe()
149 &dpio_dev->mc_handle); in dpaa2_dpio_probe()
155 err = dpio_reset(dpio_dev->mc_io, 0, dpio_dev->mc_handle); in dpaa2_dpio_probe()
161 err = dpio_get_attributes(dpio_dev->mc_io, 0, dpio_dev->mc_handle, in dpaa2_dpio_probe()
169 err = dpio_enable(dpio_dev->mc_io, 0, dpio_dev->mc_handle); in dpaa2_dpio_probe()
178 desc.dpio_id = dpio_dev->obj_desc.id; in dpaa2_dpio_probe()
190 sdest = dpaa2_dpio_get_cluster_sdest(dpio_dev, desc.cpu); in dpaa2_dpio_probe()
192 err = dpio_set_stashing_destination(dpio_dev->mc_io, 0, in dpaa2_dpio_probe()
193 dpio_dev->mc_handle, in dpaa2_dpio_probe()
200 if (dpio_dev->obj_desc.region_count < 3) { in dpaa2_dpio_probe()
207 desc.regs_cena = devm_memremap(dev, dpio_dev->regions[1].start, in dpaa2_dpio_probe()
208 resource_size(&dpio_dev->regions[1]), in dpaa2_dpio_probe()
211 desc.regs_cena = devm_memremap(dev, dpio_dev->regions[2].start, in dpaa2_dpio_probe()
212 resource_size(&dpio_dev->regions[2]), in dpaa2_dpio_probe()
222 desc.regs_cinh = devm_ioremap(dev, dpio_dev->regions[1].start, in dpaa2_dpio_probe()
223 resource_size(&dpio_dev->regions[1])); in dpaa2_dpio_probe()
230 err = fsl_mc_allocate_irqs(dpio_dev); in dpaa2_dpio_probe()
236 err = register_dpio_irq_handlers(dpio_dev, desc.cpu); in dpaa2_dpio_probe()
250 dpio_close(dpio_dev->mc_io, 0, dpio_dev->mc_handle); in dpaa2_dpio_probe()
255 unregister_dpio_irq_handlers(dpio_dev); in dpaa2_dpio_probe()
257 fsl_mc_free_irqs(dpio_dev); in dpaa2_dpio_probe()
259 dpio_disable(dpio_dev->mc_io, 0, dpio_dev->mc_handle); in dpaa2_dpio_probe()
262 dpio_close(dpio_dev->mc_io, 0, dpio_dev->mc_handle); in dpaa2_dpio_probe()
264 fsl_mc_portal_free(dpio_dev->mc_io); in dpaa2_dpio_probe()
270 static void dpio_teardown_irqs(struct fsl_mc_device *dpio_dev) in dpio_teardown_irqs() argument
272 unregister_dpio_irq_handlers(dpio_dev); in dpio_teardown_irqs()
273 fsl_mc_free_irqs(dpio_dev); in dpio_teardown_irqs()
276 static int dpaa2_dpio_remove(struct fsl_mc_device *dpio_dev) in dpaa2_dpio_remove() argument
282 dev = &dpio_dev->dev; in dpaa2_dpio_remove()
288 dpio_teardown_irqs(dpio_dev); in dpaa2_dpio_remove()
292 err = dpio_open(dpio_dev->mc_io, 0, dpio_dev->obj_desc.id, in dpaa2_dpio_remove()
293 &dpio_dev->mc_handle); in dpaa2_dpio_remove()
299 dpio_disable(dpio_dev->mc_io, 0, dpio_dev->mc_handle); in dpaa2_dpio_remove()
301 dpio_close(dpio_dev->mc_io, 0, dpio_dev->mc_handle); in dpaa2_dpio_remove()
303 fsl_mc_portal_free(dpio_dev->mc_io); in dpaa2_dpio_remove()
308 fsl_mc_portal_free(dpio_dev->mc_io); in dpaa2_dpio_remove()