Lines Matching refs:mci

38 static void octeon_lmc_edac_poll(struct mem_ctl_info *mci)  in octeon_lmc_edac_poll()  argument
44 cfg0.u64 = cvmx_read_csr(CVMX_LMCX_MEM_CFG0(mci->mc_idx)); in octeon_lmc_edac_poll()
47 fadr.u64 = cvmx_read_csr(CVMX_LMCX_FADR(mci->mc_idx)); in octeon_lmc_edac_poll()
55 edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, 0, 0, 0, in octeon_lmc_edac_poll()
62 edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, 0, 0, 0, in octeon_lmc_edac_poll()
68 cvmx_write_csr(CVMX_LMCX_MEM_CFG0(mci->mc_idx), cfg0.u64); in octeon_lmc_edac_poll()
71 static void octeon_lmc_edac_poll_o2(struct mem_ctl_info *mci) in octeon_lmc_edac_poll_o2() argument
73 struct octeon_lmc_pvt *pvt = mci->pvt_info; in octeon_lmc_edac_poll_o2()
79 int_reg.u64 = cvmx_read_csr(CVMX_LMCX_INT(mci->mc_idx)); in octeon_lmc_edac_poll_o2()
91 fadr.u64 = cvmx_read_csr(CVMX_LMCX_FADR(mci->mc_idx)); in octeon_lmc_edac_poll_o2()
106 edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, 1, 0, 0, 0, in octeon_lmc_edac_poll_o2()
113 edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci, 1, 0, 0, 0, in octeon_lmc_edac_poll_o2()
121 cvmx_write_csr(CVMX_LMCX_INT(mci->mc_idx), int_reg.u64); in octeon_lmc_edac_poll_o2()
135 struct mem_ctl_info *mci = to_mci(dev); \
136 struct octeon_lmc_pvt *pvt = mci->pvt_info; \
145 struct mem_ctl_info *mci = to_mci(dev); \
146 struct octeon_lmc_pvt *pvt = mci->pvt_info; \
172 struct mem_ctl_info *mci = to_mci(dev); in octeon_mc_inject_error_type_store() local
173 struct octeon_lmc_pvt *pvt = mci->pvt_info; in octeon_mc_inject_error_type_store()
187 struct mem_ctl_info *mci = to_mci(dev); in octeon_mc_inject_error_type_show() local
188 struct octeon_lmc_pvt *pvt = mci->pvt_info; in octeon_mc_inject_error_type_show()
227 struct mem_ctl_info *mci; in octeon_lmc_edac_probe() local
246 mci = edac_mc_alloc(mc, ARRAY_SIZE(layers), layers, sizeof(struct octeon_lmc_pvt)); in octeon_lmc_edac_probe()
247 if (!mci) in octeon_lmc_edac_probe()
250 mci->pdev = &pdev->dev; in octeon_lmc_edac_probe()
251 mci->dev_name = dev_name(&pdev->dev); in octeon_lmc_edac_probe()
253 mci->mod_name = "octeon-lmc"; in octeon_lmc_edac_probe()
254 mci->ctl_name = "octeon-lmc-err"; in octeon_lmc_edac_probe()
255 mci->edac_check = octeon_lmc_edac_poll; in octeon_lmc_edac_probe()
257 if (edac_mc_add_mc_with_groups(mci, octeon_dev_groups)) { in octeon_lmc_edac_probe()
259 edac_mc_free(mci); in octeon_lmc_edac_probe()
278 mci = edac_mc_alloc(mc, ARRAY_SIZE(layers), layers, sizeof(struct octeon_lmc_pvt)); in octeon_lmc_edac_probe()
279 if (!mci) in octeon_lmc_edac_probe()
282 mci->pdev = &pdev->dev; in octeon_lmc_edac_probe()
283 mci->dev_name = dev_name(&pdev->dev); in octeon_lmc_edac_probe()
285 mci->mod_name = "octeon-lmc"; in octeon_lmc_edac_probe()
286 mci->ctl_name = "co_lmc_err"; in octeon_lmc_edac_probe()
287 mci->edac_check = octeon_lmc_edac_poll_o2; in octeon_lmc_edac_probe()
289 if (edac_mc_add_mc_with_groups(mci, octeon_dev_groups)) { in octeon_lmc_edac_probe()
291 edac_mc_free(mci); in octeon_lmc_edac_probe()
300 platform_set_drvdata(pdev, mci); in octeon_lmc_edac_probe()
307 struct mem_ctl_info *mci = platform_get_drvdata(pdev); in octeon_lmc_edac_remove() local
310 edac_mc_free(mci); in octeon_lmc_edac_remove()