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
99 irq = dpio_dev->irqs[0]; in register_dpio_irq_handlers()
100 error = devm_request_irq(&dpio_dev->dev, in register_dpio_irq_handlers()
104 dev_name(&dpio_dev->dev), in register_dpio_irq_handlers()
105 &dpio_dev->dev); in register_dpio_irq_handlers()
107 dev_err(&dpio_dev->dev, in register_dpio_irq_handlers()
115 dev_err(&dpio_dev->dev, in register_dpio_irq_handlers()
122 static int dpaa2_dpio_probe(struct fsl_mc_device *dpio_dev) in dpaa2_dpio_probe() argument
128 struct device *dev = &dpio_dev->dev; in dpaa2_dpio_probe()
138 err = fsl_mc_portal_allocate(dpio_dev, 0, &dpio_dev->mc_io); in dpaa2_dpio_probe()
145 err = dpio_open(dpio_dev->mc_io, 0, dpio_dev->obj_desc.id, in dpaa2_dpio_probe()
146 &dpio_dev->mc_handle); in dpaa2_dpio_probe()
152 err = dpio_reset(dpio_dev->mc_io, 0, dpio_dev->mc_handle); in dpaa2_dpio_probe()
158 err = dpio_get_attributes(dpio_dev->mc_io, 0, dpio_dev->mc_handle, in dpaa2_dpio_probe()
166 err = dpio_enable(dpio_dev->mc_io, 0, dpio_dev->mc_handle); in dpaa2_dpio_probe()
175 desc.dpio_id = dpio_dev->obj_desc.id; in dpaa2_dpio_probe()
187 sdest = dpaa2_dpio_get_cluster_sdest(dpio_dev, desc.cpu); in dpaa2_dpio_probe()
189 err = dpio_set_stashing_destination(dpio_dev->mc_io, 0, in dpaa2_dpio_probe()
190 dpio_dev->mc_handle, in dpaa2_dpio_probe()
197 if (dpio_dev->obj_desc.region_count < 3) { in dpaa2_dpio_probe()
204 desc.regs_cena = devm_memremap(dev, dpio_dev->regions[1].start, in dpaa2_dpio_probe()
205 resource_size(&dpio_dev->regions[1]), in dpaa2_dpio_probe()
208 desc.regs_cena = devm_memremap(dev, dpio_dev->regions[2].start, in dpaa2_dpio_probe()
209 resource_size(&dpio_dev->regions[2]), in dpaa2_dpio_probe()
219 desc.regs_cinh = devm_ioremap(dev, dpio_dev->regions[1].start, in dpaa2_dpio_probe()
220 resource_size(&dpio_dev->regions[1])); in dpaa2_dpio_probe()
227 err = fsl_mc_allocate_irqs(dpio_dev); in dpaa2_dpio_probe()
240 err = register_dpio_irq_handlers(dpio_dev, desc.cpu); in dpaa2_dpio_probe()
247 dpio_close(dpio_dev->mc_io, 0, dpio_dev->mc_handle); in dpaa2_dpio_probe()
252 unregister_dpio_irq_handlers(dpio_dev); in dpaa2_dpio_probe()
254 fsl_mc_free_irqs(dpio_dev); in dpaa2_dpio_probe()
256 dpio_disable(dpio_dev->mc_io, 0, dpio_dev->mc_handle); in dpaa2_dpio_probe()
259 dpio_close(dpio_dev->mc_io, 0, dpio_dev->mc_handle); in dpaa2_dpio_probe()
261 fsl_mc_portal_free(dpio_dev->mc_io); in dpaa2_dpio_probe()
267 static void dpio_teardown_irqs(struct fsl_mc_device *dpio_dev) in dpio_teardown_irqs() argument
269 unregister_dpio_irq_handlers(dpio_dev); in dpio_teardown_irqs()
270 fsl_mc_free_irqs(dpio_dev); in dpio_teardown_irqs()
273 static int dpaa2_dpio_remove(struct fsl_mc_device *dpio_dev) in dpaa2_dpio_remove() argument
279 dev = &dpio_dev->dev; in dpaa2_dpio_remove()
285 dpio_teardown_irqs(dpio_dev); in dpaa2_dpio_remove()
289 err = dpio_open(dpio_dev->mc_io, 0, dpio_dev->obj_desc.id, in dpaa2_dpio_remove()
290 &dpio_dev->mc_handle); in dpaa2_dpio_remove()
296 dpio_disable(dpio_dev->mc_io, 0, dpio_dev->mc_handle); in dpaa2_dpio_remove()
298 dpio_close(dpio_dev->mc_io, 0, dpio_dev->mc_handle); in dpaa2_dpio_remove()
300 fsl_mc_portal_free(dpio_dev->mc_io); in dpaa2_dpio_remove()
305 fsl_mc_portal_free(dpio_dev->mc_io); in dpaa2_dpio_remove()