Lines Matching refs:ccf
102 struct ccf_private *ccf = dev_id; in ccf_irq() local
111 errdet = ioread32be(&ccf->err_regs->errdet); in ccf_irq()
112 cecar = ioread32be(&ccf->err_regs->cecar); in ccf_irq()
113 cecar2 = ioread32be(&ccf->err_regs->cecar2); in ccf_irq()
114 addr = ioread32be(&ccf->err_regs->cecaddrl); in ccf_irq()
115 addr |= ((u64)(ioread32be(&ccf->err_regs->cecaddrh) & in ccf_irq()
121 switch (ccf->info->version) { in ccf_irq()
143 dev_crit(ccf->dev, "errdet 0x%08x cecar 0x%08x cecar2 0x%08x\n", in ccf_irq()
148 dev_crit(ccf->dev, "LAW Unavailable Target ID\n"); in ccf_irq()
150 dev_crit(ccf->dev, "Local Access Window Error\n"); in ccf_irq()
154 dev_crit(ccf->dev, "Coherency Violation\n"); in ccf_irq()
157 dev_crit(ccf->dev, "Unavailable Target ID\n"); in ccf_irq()
160 dev_crit(ccf->dev, "Multicast Stash\n"); in ccf_irq()
163 dev_crit(ccf->dev, "address 0x%09llx, src id 0x%x\n", in ccf_irq()
168 iowrite32be(errdet, &ccf->err_regs->errdet); in ccf_irq()
174 struct ccf_private *ccf; in ccf_probe() local
184 ccf = devm_kzalloc(&pdev->dev, sizeof(*ccf), GFP_KERNEL); in ccf_probe()
185 if (!ccf) in ccf_probe()
194 ccf->regs = devm_ioremap_resource(&pdev->dev, r); in ccf_probe()
195 if (IS_ERR(ccf->regs)) { in ccf_probe()
197 return PTR_ERR(ccf->regs); in ccf_probe()
200 ccf->dev = &pdev->dev; in ccf_probe()
201 ccf->info = match->data; in ccf_probe()
202 ccf->err_regs = ccf->regs + ccf->info->err_reg_offs; in ccf_probe()
204 if (ccf->info->has_brr) { in ccf_probe()
205 u32 brr = ioread32be(ccf->regs + CCF_BRR); in ccf_probe()
208 ccf->t1040 = true; in ccf_probe()
211 dev_set_drvdata(&pdev->dev, ccf); in ccf_probe()
217 ret = devm_request_irq(&pdev->dev, irq, ccf_irq, 0, pdev->name, ccf); in ccf_probe()
224 if (ccf->t1040) in ccf_probe()
227 switch (ccf->info->version) { in ccf_probe()
230 iowrite32be(errinten, &ccf->err_regs->errdis); in ccf_probe()
234 iowrite32be(0, &ccf->err_regs->errdis); in ccf_probe()
235 iowrite32be(errinten, &ccf->err_regs->errinten); in ccf_probe()
244 struct ccf_private *ccf = dev_get_drvdata(&pdev->dev); in ccf_remove() local
246 switch (ccf->info->version) { in ccf_remove()
248 iowrite32be(0, &ccf->err_regs->errdis); in ccf_remove()
257 iowrite32be(0, &ccf->err_regs->errinten); in ccf_remove()