Lines Matching refs:pdata
61 struct mpc85xx_mc_pdata *pdata = mci->pvt_info; in mpc85xx_mc_inject_data_hi_show() local
63 in_be32(pdata->mc_vbase + in mpc85xx_mc_inject_data_hi_show()
72 struct mpc85xx_mc_pdata *pdata = mci->pvt_info; in mpc85xx_mc_inject_data_lo_show() local
74 in_be32(pdata->mc_vbase + in mpc85xx_mc_inject_data_lo_show()
83 struct mpc85xx_mc_pdata *pdata = mci->pvt_info; in mpc85xx_mc_inject_ctrl_show() local
85 in_be32(pdata->mc_vbase + MPC85XX_MC_ECC_ERR_INJECT)); in mpc85xx_mc_inject_ctrl_show()
93 struct mpc85xx_mc_pdata *pdata = mci->pvt_info; in mpc85xx_mc_inject_data_hi_store() local
95 out_be32(pdata->mc_vbase + MPC85XX_MC_DATA_ERR_INJECT_HI, in mpc85xx_mc_inject_data_hi_store()
107 struct mpc85xx_mc_pdata *pdata = mci->pvt_info; in mpc85xx_mc_inject_data_lo_store() local
109 out_be32(pdata->mc_vbase + MPC85XX_MC_DATA_ERR_INJECT_LO, in mpc85xx_mc_inject_data_lo_store()
121 struct mpc85xx_mc_pdata *pdata = mci->pvt_info; in mpc85xx_mc_inject_ctrl_store() local
123 out_be32(pdata->mc_vbase + MPC85XX_MC_ECC_ERR_INJECT, in mpc85xx_mc_inject_ctrl_store()
151 struct mpc85xx_pci_pdata *pdata = pci->pvt_info; in mpc85xx_pci_check() local
154 err_detect = in_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_DR); in mpc85xx_pci_check()
158 out_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_DR, err_detect); in mpc85xx_pci_check()
166 in_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_ATTRIB)); in mpc85xx_pci_check()
168 in_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_ADDR)); in mpc85xx_pci_check()
170 in_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_EXT_ADDR)); in mpc85xx_pci_check()
172 in_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_DL)); in mpc85xx_pci_check()
174 in_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_DH)); in mpc85xx_pci_check()
177 out_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_DR, err_detect); in mpc85xx_pci_check()
188 struct mpc85xx_pci_pdata *pdata = pci->pvt_info; in mpc85xx_pcie_check() local
191 err_detect = in_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_DR); in mpc85xx_pcie_check()
196 in_be32(pdata->pci_vbase + MPC85XX_PCI_GAS_TIMR)); in mpc85xx_pcie_check()
198 in_be32(pdata->pci_vbase + MPC85XX_PCIE_ERR_CAP_R0)); in mpc85xx_pcie_check()
200 in_be32(pdata->pci_vbase + MPC85XX_PCIE_ERR_CAP_R1)); in mpc85xx_pcie_check()
202 in_be32(pdata->pci_vbase + MPC85XX_PCIE_ERR_CAP_R2)); in mpc85xx_pcie_check()
204 in_be32(pdata->pci_vbase + MPC85XX_PCIE_ERR_CAP_R3)); in mpc85xx_pcie_check()
207 out_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_DR, err_detect); in mpc85xx_pcie_check()
225 struct mpc85xx_pci_pdata *pdata = pci->pvt_info; in mpc85xx_pci_isr() local
228 err_detect = in_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_DR); in mpc85xx_pci_isr()
233 if (pdata->is_pcie) in mpc85xx_pci_isr()
244 struct mpc85xx_pci_pdata *pdata; in mpc85xx_pci_err_probe() local
251 pci = edac_pci_alloc_ctl_info(sizeof(*pdata), "mpc85xx_pci_err"); in mpc85xx_pci_err_probe()
265 pdata = pci->pvt_info; in mpc85xx_pci_err_probe()
266 pdata->name = "mpc85xx_pci_err"; in mpc85xx_pci_err_probe()
267 pdata->irq = NO_IRQ; in mpc85xx_pci_err_probe()
270 pdata->is_pcie = true; in mpc85xx_pci_err_probe()
275 pci->ctl_name = pdata->name; in mpc85xx_pci_err_probe()
279 if (pdata->is_pcie) in mpc85xx_pci_err_probe()
285 pdata->edac_idx = edac_pci_idx++; in mpc85xx_pci_err_probe()
298 pdata->name)) { in mpc85xx_pci_err_probe()
305 pdata->pci_vbase = devm_ioremap(&op->dev, r.start, resource_size(&r)); in mpc85xx_pci_err_probe()
306 if (!pdata->pci_vbase) { in mpc85xx_pci_err_probe()
312 if (pdata->is_pcie) { in mpc85xx_pci_err_probe()
314 in_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_ADDR); in mpc85xx_pci_err_probe()
315 out_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_ADDR, ~0); in mpc85xx_pci_err_probe()
317 in_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_EN); in mpc85xx_pci_err_probe()
318 out_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_EN, 0); in mpc85xx_pci_err_probe()
321 in_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_CAP_DR); in mpc85xx_pci_err_probe()
324 out_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_CAP_DR, 0x40); in mpc85xx_pci_err_probe()
327 in_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_EN); in mpc85xx_pci_err_probe()
330 out_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_EN, ~0x40); in mpc85xx_pci_err_probe()
334 out_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_DR, ~0); in mpc85xx_pci_err_probe()
336 if (edac_pci_add_device(pci, pdata->edac_idx) > 0) { in mpc85xx_pci_err_probe()
342 pdata->irq = irq_of_parse_and_map(op->dev.of_node, 0); in mpc85xx_pci_err_probe()
343 res = devm_request_irq(&op->dev, pdata->irq, in mpc85xx_pci_err_probe()
350 "MPC85xx PCI err\n", __func__, pdata->irq); in mpc85xx_pci_err_probe()
351 irq_dispose_mapping(pdata->irq); in mpc85xx_pci_err_probe()
357 pdata->irq); in mpc85xx_pci_err_probe()
360 if (pdata->is_pcie) { in mpc85xx_pci_err_probe()
370 out_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_EN, ~0 in mpc85xx_pci_err_probe()
372 out_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_ADDR, 0 in mpc85xx_pci_err_probe()
400 struct mpc85xx_l2_pdata *pdata = edac_dev->pvt_info; in mpc85xx_l2_inject_data_hi_show() local
402 in_be32(pdata->l2_vbase + MPC85XX_L2_ERRINJHI)); in mpc85xx_l2_inject_data_hi_show()
408 struct mpc85xx_l2_pdata *pdata = edac_dev->pvt_info; in mpc85xx_l2_inject_data_lo_show() local
410 in_be32(pdata->l2_vbase + MPC85XX_L2_ERRINJLO)); in mpc85xx_l2_inject_data_lo_show()
416 struct mpc85xx_l2_pdata *pdata = edac_dev->pvt_info; in mpc85xx_l2_inject_ctrl_show() local
418 in_be32(pdata->l2_vbase + MPC85XX_L2_ERRINJCTL)); in mpc85xx_l2_inject_ctrl_show()
425 struct mpc85xx_l2_pdata *pdata = edac_dev->pvt_info; in mpc85xx_l2_inject_data_hi_store() local
427 out_be32(pdata->l2_vbase + MPC85XX_L2_ERRINJHI, in mpc85xx_l2_inject_data_hi_store()
438 struct mpc85xx_l2_pdata *pdata = edac_dev->pvt_info; in mpc85xx_l2_inject_data_lo_store() local
440 out_be32(pdata->l2_vbase + MPC85XX_L2_ERRINJLO, in mpc85xx_l2_inject_data_lo_store()
451 struct mpc85xx_l2_pdata *pdata = edac_dev->pvt_info; in mpc85xx_l2_inject_ctrl_store() local
453 out_be32(pdata->l2_vbase + MPC85XX_L2_ERRINJCTL, in mpc85xx_l2_inject_ctrl_store()
499 struct mpc85xx_l2_pdata *pdata = edac_dev->pvt_info; in mpc85xx_l2_check() local
502 err_detect = in_be32(pdata->l2_vbase + MPC85XX_L2_ERRDET); in mpc85xx_l2_check()
510 in_be32(pdata->l2_vbase + MPC85XX_L2_CAPTDATAHI)); in mpc85xx_l2_check()
512 in_be32(pdata->l2_vbase + MPC85XX_L2_CAPTDATALO)); in mpc85xx_l2_check()
514 in_be32(pdata->l2_vbase + MPC85XX_L2_CAPTECC)); in mpc85xx_l2_check()
516 in_be32(pdata->l2_vbase + MPC85XX_L2_ERRATTR)); in mpc85xx_l2_check()
518 in_be32(pdata->l2_vbase + MPC85XX_L2_ERRADDR)); in mpc85xx_l2_check()
521 out_be32(pdata->l2_vbase + MPC85XX_L2_ERRDET, err_detect); in mpc85xx_l2_check()
533 struct mpc85xx_l2_pdata *pdata = edac_dev->pvt_info; in mpc85xx_l2_isr() local
536 err_detect = in_be32(pdata->l2_vbase + MPC85XX_L2_ERRDET); in mpc85xx_l2_isr()
549 struct mpc85xx_l2_pdata *pdata; in mpc85xx_l2_err_probe() local
556 edac_dev = edac_device_alloc_ctl_info(sizeof(*pdata), in mpc85xx_l2_err_probe()
564 pdata = edac_dev->pvt_info; in mpc85xx_l2_err_probe()
565 pdata->name = "mpc85xx_l2_err"; in mpc85xx_l2_err_probe()
566 pdata->irq = NO_IRQ; in mpc85xx_l2_err_probe()
569 edac_dev->ctl_name = pdata->name; in mpc85xx_l2_err_probe()
570 edac_dev->dev_name = pdata->name; in mpc85xx_l2_err_probe()
583 pdata->name)) { in mpc85xx_l2_err_probe()
590 pdata->l2_vbase = devm_ioremap(&op->dev, r.start, resource_size(&r)); in mpc85xx_l2_err_probe()
591 if (!pdata->l2_vbase) { in mpc85xx_l2_err_probe()
597 out_be32(pdata->l2_vbase + MPC85XX_L2_ERRDET, ~0); in mpc85xx_l2_err_probe()
599 orig_l2_err_disable = in_be32(pdata->l2_vbase + MPC85XX_L2_ERRDIS); in mpc85xx_l2_err_probe()
602 out_be32(pdata->l2_vbase + MPC85XX_L2_ERRDIS, 0); in mpc85xx_l2_err_probe()
611 pdata->edac_idx = edac_dev_idx++; in mpc85xx_l2_err_probe()
619 pdata->irq = irq_of_parse_and_map(op->dev.of_node, 0); in mpc85xx_l2_err_probe()
620 res = devm_request_irq(&op->dev, pdata->irq, in mpc85xx_l2_err_probe()
626 "MPC85xx L2 err\n", __func__, pdata->irq); in mpc85xx_l2_err_probe()
627 irq_dispose_mapping(pdata->irq); in mpc85xx_l2_err_probe()
633 pdata->irq); in mpc85xx_l2_err_probe()
637 out_be32(pdata->l2_vbase + MPC85XX_L2_ERRINTEN, L2_EIE_MASK); in mpc85xx_l2_err_probe()
658 struct mpc85xx_l2_pdata *pdata = edac_dev->pvt_info; in mpc85xx_l2_err_remove() local
663 out_be32(pdata->l2_vbase + MPC85XX_L2_ERRINTEN, 0); in mpc85xx_l2_err_remove()
664 irq_dispose_mapping(pdata->irq); in mpc85xx_l2_err_remove()
667 out_be32(pdata->l2_vbase + MPC85XX_L2_ERRDIS, orig_l2_err_disable); in mpc85xx_l2_err_remove()
816 struct mpc85xx_mc_pdata *pdata = mci->pvt_info; in mpc85xx_mc_check() local
829 err_detect = in_be32(pdata->mc_vbase + MPC85XX_MC_ERR_DETECT); in mpc85xx_mc_check()
838 out_be32(pdata->mc_vbase + MPC85XX_MC_ERR_DETECT, err_detect); in mpc85xx_mc_check()
842 syndrome = in_be32(pdata->mc_vbase + MPC85XX_MC_CAPTURE_ECC); in mpc85xx_mc_check()
845 bus_width = (in_be32(pdata->mc_vbase + MPC85XX_MC_DDR_SDRAM_CFG) & in mpc85xx_mc_check()
852 err_addr = in_be32(pdata->mc_vbase + MPC85XX_MC_CAPTURE_ADDRESS); in mpc85xx_mc_check()
861 cap_high = in_be32(pdata->mc_vbase + MPC85XX_MC_CAPTURE_DATA_HI); in mpc85xx_mc_check()
862 cap_low = in_be32(pdata->mc_vbase + MPC85XX_MC_CAPTURE_DATA_LO); in mpc85xx_mc_check()
908 out_be32(pdata->mc_vbase + MPC85XX_MC_ERR_DETECT, err_detect); in mpc85xx_mc_check()
914 struct mpc85xx_mc_pdata *pdata = mci->pvt_info; in mpc85xx_mc_isr() local
917 err_detect = in_be32(pdata->mc_vbase + MPC85XX_MC_ERR_DETECT); in mpc85xx_mc_isr()
928 struct mpc85xx_mc_pdata *pdata = mci->pvt_info; in mpc85xx_init_csrows() local
937 sdram_ctl = in_be32(pdata->mc_vbase + MPC85XX_MC_DDR_SDRAM_CFG); in mpc85xx_init_csrows()
979 cs_bnds = in_be32(pdata->mc_vbase + MPC85XX_MC_CS_BNDS_0 + in mpc85xx_init_csrows()
1009 struct mpc85xx_mc_pdata *pdata; in mpc85xx_mc_err_probe() local
1024 sizeof(*pdata)); in mpc85xx_mc_err_probe()
1030 pdata = mci->pvt_info; in mpc85xx_mc_err_probe()
1031 pdata->name = "mpc85xx_mc_err"; in mpc85xx_mc_err_probe()
1032 pdata->irq = NO_IRQ; in mpc85xx_mc_err_probe()
1034 pdata->edac_idx = edac_mc_idx++; in mpc85xx_mc_err_probe()
1036 mci->ctl_name = pdata->name; in mpc85xx_mc_err_probe()
1037 mci->dev_name = pdata->name; in mpc85xx_mc_err_probe()
1047 pdata->name)) { in mpc85xx_mc_err_probe()
1054 pdata->mc_vbase = devm_ioremap(&op->dev, r.start, resource_size(&r)); in mpc85xx_mc_err_probe()
1055 if (!pdata->mc_vbase) { in mpc85xx_mc_err_probe()
1061 sdram_ctl = in_be32(pdata->mc_vbase + MPC85XX_MC_DDR_SDRAM_CFG); in mpc85xx_mc_err_probe()
1088 in_be32(pdata->mc_vbase + MPC85XX_MC_ERR_DISABLE); in mpc85xx_mc_err_probe()
1089 out_be32(pdata->mc_vbase + MPC85XX_MC_ERR_DISABLE, 0); in mpc85xx_mc_err_probe()
1092 out_be32(pdata->mc_vbase + MPC85XX_MC_ERR_DETECT, ~0); in mpc85xx_mc_err_probe()
1100 out_be32(pdata->mc_vbase + MPC85XX_MC_ERR_INT_EN, in mpc85xx_mc_err_probe()
1104 orig_ddr_err_sbe = in_be32(pdata->mc_vbase + in mpc85xx_mc_err_probe()
1108 out_be32(pdata->mc_vbase + MPC85XX_MC_ERR_SBE, 0x10000); in mpc85xx_mc_err_probe()
1111 pdata->irq = irq_of_parse_and_map(op->dev.of_node, 0); in mpc85xx_mc_err_probe()
1112 res = devm_request_irq(&op->dev, pdata->irq, in mpc85xx_mc_err_probe()
1118 "MPC85xx DRAM ERR\n", __func__, pdata->irq); in mpc85xx_mc_err_probe()
1119 irq_dispose_mapping(pdata->irq); in mpc85xx_mc_err_probe()
1125 pdata->irq); in mpc85xx_mc_err_probe()
1145 struct mpc85xx_mc_pdata *pdata = mci->pvt_info; in mpc85xx_mc_err_remove() local
1150 out_be32(pdata->mc_vbase + MPC85XX_MC_ERR_INT_EN, 0); in mpc85xx_mc_err_remove()
1151 irq_dispose_mapping(pdata->irq); in mpc85xx_mc_err_remove()
1154 out_be32(pdata->mc_vbase + MPC85XX_MC_ERR_DISABLE, in mpc85xx_mc_err_remove()
1156 out_be32(pdata->mc_vbase + MPC85XX_MC_ERR_SBE, orig_ddr_err_sbe); in mpc85xx_mc_err_remove()