Lines Matching refs:edev_ctl
253 dump_syn_reg(struct edac_device_ctl_info *edev_ctl, int err_type, u32 bank)
255 struct llcc_drv_data *drv = edev_ctl->dev->platform_data;
264 edac_device_handle_ce(edev_ctl, 0, bank,
268 edac_device_handle_ue(edev_ctl, 0, bank,
272 edac_device_handle_ce(edev_ctl, 0, bank,
276 edac_device_handle_ue(edev_ctl, 0, bank,
288 static irqreturn_t llcc_ecc_irq_handler(int irq, void *edev_ctl)
290 struct edac_device_ctl_info *edac_dev_ctl = edev_ctl;
304 ret = dump_syn_reg(edev_ctl, LLCC_DRAM_CE, i);
308 ret = dump_syn_reg(edev_ctl, LLCC_DRAM_UE, i);
319 ret = dump_syn_reg(edev_ctl, LLCC_TRAM_CE, i);
323 ret = dump_syn_reg(edev_ctl, LLCC_TRAM_UE, i);
332 static void llcc_ecc_check(struct edac_device_ctl_info *edev_ctl)
334 llcc_ecc_irq_handler(0, edev_ctl);
340 struct edac_device_ctl_info *edev_ctl;
350 edev_ctl = edac_device_alloc_ctl_info(0, "qcom-llcc", 1, "bank",
355 if (!edev_ctl)
358 edev_ctl->dev = dev;
359 edev_ctl->mod_name = dev_name(dev);
360 edev_ctl->dev_name = dev_name(dev);
361 edev_ctl->ctl_name = "llcc";
362 edev_ctl->panic_on_ue = LLCC_ERP_PANIC_ON_UE;
369 IRQF_TRIGGER_HIGH, "llcc_ecc", edev_ctl);
377 edev_ctl->poll_msec = ECC_POLL_MSEC;
378 edev_ctl->edac_check = llcc_ecc_check;
382 rc = edac_device_add_device(edev_ctl);
384 edac_device_free_ctl_info(edev_ctl);
388 platform_set_drvdata(pdev, edev_ctl);
395 struct edac_device_ctl_info *edev_ctl = dev_get_drvdata(&pdev->dev);
397 edac_device_del_device(edev_ctl->dev);
398 edac_device_free_ctl_info(edev_ctl);