Lines Matching refs:xbar

59 	struct ti_am335x_xbar_data *xbar = dev_get_drvdata(dev);  in ti_am335x_xbar_free()  local
65 ti_am335x_xbar_write(xbar->iomem, map->dma_line, 0); in ti_am335x_xbar_free()
73 struct ti_am335x_xbar_data *xbar = platform_get_drvdata(pdev); in ti_am335x_xbar_route_allocate() local
79 if (dma_spec->args[2] >= xbar->xbar_events) { in ti_am335x_xbar_route_allocate()
85 if (dma_spec->args[0] >= xbar->dma_requests) { in ti_am335x_xbar_route_allocate()
113 ti_am335x_xbar_write(xbar->iomem, map->dma_line, map->mux_val); in ti_am335x_xbar_route_allocate()
128 struct ti_am335x_xbar_data *xbar; in ti_am335x_xbar_probe() local
136 xbar = devm_kzalloc(&pdev->dev, sizeof(*xbar), GFP_KERNEL); in ti_am335x_xbar_probe()
137 if (!xbar) in ti_am335x_xbar_probe()
153 &xbar->dma_requests)) { in ti_am335x_xbar_probe()
157 xbar->dma_requests = TI_AM335X_XBAR_LINES; in ti_am335x_xbar_probe()
161 if (of_property_read_u32(node, "dma-requests", &xbar->xbar_events)) { in ti_am335x_xbar_probe()
165 xbar->xbar_events = TI_AM335X_XBAR_LINES; in ti_am335x_xbar_probe()
173 xbar->iomem = iomem; in ti_am335x_xbar_probe()
175 xbar->dmarouter.dev = &pdev->dev; in ti_am335x_xbar_probe()
176 xbar->dmarouter.route_free = ti_am335x_xbar_free; in ti_am335x_xbar_probe()
178 platform_set_drvdata(pdev, xbar); in ti_am335x_xbar_probe()
181 for (i = 0; i < xbar->dma_requests; i++) in ti_am335x_xbar_probe()
182 ti_am335x_xbar_write(xbar->iomem, i, 0); in ti_am335x_xbar_probe()
185 &xbar->dmarouter); in ti_am335x_xbar_probe()
214 static inline void ti_dra7_xbar_write(void __iomem *iomem, int xbar, u16 val) in ti_dra7_xbar_write() argument
216 writew_relaxed(val, iomem + (xbar * 2)); in ti_dra7_xbar_write()
221 struct ti_dra7_xbar_data *xbar = dev_get_drvdata(dev); in ti_dra7_xbar_free() local
227 ti_dra7_xbar_write(xbar->iomem, map->xbar_out, xbar->safe_val); in ti_dra7_xbar_free()
228 idr_remove(&xbar->map_idr, map->xbar_out); in ti_dra7_xbar_free()
236 struct ti_dra7_xbar_data *xbar = platform_get_drvdata(pdev); in ti_dra7_xbar_route_allocate() local
239 if (dma_spec->args[0] >= xbar->xbar_requests) { in ti_dra7_xbar_route_allocate()
258 map->xbar_out = idr_alloc(&xbar->map_idr, NULL, 0, xbar->dma_requests, in ti_dra7_xbar_route_allocate()
262 dma_spec->args[0] = map->xbar_out + xbar->dma_offset; in ti_dra7_xbar_route_allocate()
267 ti_dra7_xbar_write(xbar->iomem, map->xbar_out, map->xbar_in); in ti_dra7_xbar_route_allocate()
289 struct ti_dra7_xbar_data *xbar; in ti_dra7_xbar_probe() local
298 xbar = devm_kzalloc(&pdev->dev, sizeof(*xbar), GFP_KERNEL); in ti_dra7_xbar_probe()
299 if (!xbar) in ti_dra7_xbar_probe()
302 idr_init(&xbar->map_idr); in ti_dra7_xbar_probe()
317 &xbar->dma_requests)) { in ti_dra7_xbar_probe()
321 xbar->dma_requests = TI_DRA7_XBAR_OUTPUTS; in ti_dra7_xbar_probe()
325 if (of_property_read_u32(node, "dma-requests", &xbar->xbar_requests)) { in ti_dra7_xbar_probe()
329 xbar->xbar_requests = TI_DRA7_XBAR_INPUTS; in ti_dra7_xbar_probe()
333 xbar->safe_val = (u16)safe_val; in ti_dra7_xbar_probe()
340 xbar->iomem = iomem; in ti_dra7_xbar_probe()
342 xbar->dmarouter.dev = &pdev->dev; in ti_dra7_xbar_probe()
343 xbar->dmarouter.route_free = ti_dra7_xbar_free; in ti_dra7_xbar_probe()
344 xbar->dma_offset = (u32)match->data; in ti_dra7_xbar_probe()
346 platform_set_drvdata(pdev, xbar); in ti_dra7_xbar_probe()
349 for (i = 0; i < xbar->dma_requests; i++) in ti_dra7_xbar_probe()
350 ti_dra7_xbar_write(xbar->iomem, i, xbar->safe_val); in ti_dra7_xbar_probe()
353 &xbar->dmarouter); in ti_dra7_xbar_probe()
356 for (i = 0; i < xbar->dma_requests; i++) in ti_dra7_xbar_probe()
357 ti_dra7_xbar_write(xbar->iomem, i, i); in ti_dra7_xbar_probe()