Lines Matching refs:l3

58 static int l3_handle_target(struct omap_l3 *l3, void __iomem *base,  in l3_handle_target()  argument
122 l3->mst_addr_mask) >> __ffs(l3->mst_addr_mask); in l3_handle_target()
124 for (k = 0, master = l3->l3_masters; k < l3->num_masters; in l3_handle_target()
143 dev_name(l3->dev), in l3_handle_target()
169 struct omap_l3 *l3 = _l3; in l3_interrupt_handler() local
177 inttype = irq == l3->app_irq ? L3_APPLICATION_ERROR : L3_DEBUG_ERROR; in l3_interrupt_handler()
179 for (i = 0; i < l3->num_modules; i++) { in l3_interrupt_handler()
184 base = l3->l3_base[i]; in l3_interrupt_handler()
185 flag_mux = l3->l3_flagmux[i]; in l3_interrupt_handler()
197 ret = l3_handle_target(l3, base, flag_mux, err_src); in l3_interrupt_handler()
206 dev_err(l3->dev, in l3_interrupt_handler()
229 dev_err(l3->dev, "L3 %s IRQ not handled!!\n", in l3_interrupt_handler()
247 static struct omap_l3 *l3; in omap_l3_probe() local
256 l3 = devm_kzalloc(&pdev->dev, sizeof(*l3), GFP_KERNEL); in omap_l3_probe()
257 if (!l3) in omap_l3_probe()
260 memcpy(l3, of_id->data, sizeof(*l3)); in omap_l3_probe()
261 l3->dev = &pdev->dev; in omap_l3_probe()
262 platform_set_drvdata(pdev, l3); in omap_l3_probe()
265 for (i = 0, res_idx = 0; i < l3->num_modules; i++) { in omap_l3_probe()
268 if (l3->l3_base[i] == L3_BASE_IS_SUBMODULE) { in omap_l3_probe()
271 l3->l3_base[i] = l3->l3_base[i - 1]; in omap_l3_probe()
275 l3->l3_base[i] = devm_ioremap_resource(&pdev->dev, res); in omap_l3_probe()
276 if (IS_ERR(l3->l3_base[i])) { in omap_l3_probe()
277 dev_err(l3->dev, "ioremap %d failed\n", i); in omap_l3_probe()
278 return PTR_ERR(l3->l3_base[i]); in omap_l3_probe()
286 l3->debug_irq = platform_get_irq(pdev, 0); in omap_l3_probe()
287 ret = devm_request_irq(l3->dev, l3->debug_irq, l3_interrupt_handler, in omap_l3_probe()
288 IRQF_NO_THREAD, "l3-dbg-irq", l3); in omap_l3_probe()
290 dev_err(l3->dev, "request_irq failed for %d\n", in omap_l3_probe()
291 l3->debug_irq); in omap_l3_probe()
295 l3->app_irq = platform_get_irq(pdev, 1); in omap_l3_probe()
296 ret = devm_request_irq(l3->dev, l3->app_irq, l3_interrupt_handler, in omap_l3_probe()
297 IRQF_NO_THREAD, "l3-app-irq", l3); in omap_l3_probe()
299 dev_err(l3->dev, "request_irq failed for %d\n", l3->app_irq); in omap_l3_probe()
316 struct omap_l3 *l3 = dev_get_drvdata(dev); in l3_resume_noirq() local
322 for (i = 0; i < l3->num_modules; i++) { in l3_resume_noirq()
323 base = l3->l3_base[i]; in l3_resume_noirq()
324 flag_mux = l3->l3_flagmux[i]; in l3_resume_noirq()