Lines Matching refs:ccf
106 struct ccf_private *ccf = dev_id; in ccf_irq() local
115 errdet = ioread32be(&ccf->err_regs->errdet); in ccf_irq()
116 cecar = ioread32be(&ccf->err_regs->cecar); in ccf_irq()
117 cecar2 = ioread32be(&ccf->err_regs->cecar2); in ccf_irq()
118 addr = ioread32be(&ccf->err_regs->cecaddrl); in ccf_irq()
119 addr |= ((u64)(ioread32be(&ccf->err_regs->cecaddrh) & in ccf_irq()
125 switch (ccf->info->version) { in ccf_irq()
147 dev_crit(ccf->dev, "errdet 0x%08x cecar 0x%08x cecar2 0x%08x\n", in ccf_irq()
152 dev_crit(ccf->dev, "LAW Unavailable Target ID\n"); in ccf_irq()
154 dev_crit(ccf->dev, "Local Access Window Error\n"); in ccf_irq()
158 dev_crit(ccf->dev, "Coherency Violation\n"); in ccf_irq()
161 dev_crit(ccf->dev, "Unavailable Target ID\n"); in ccf_irq()
164 dev_crit(ccf->dev, "Multicast Stash\n"); in ccf_irq()
167 dev_crit(ccf->dev, "address 0x%09llx, src id 0x%x\n", in ccf_irq()
172 iowrite32be(errdet, &ccf->err_regs->errdet); in ccf_irq()
178 struct ccf_private *ccf; in ccf_probe() local
188 ccf = devm_kzalloc(&pdev->dev, sizeof(*ccf), GFP_KERNEL); in ccf_probe()
189 if (!ccf) in ccf_probe()
198 ccf->regs = devm_ioremap_resource(&pdev->dev, r); in ccf_probe()
199 if (IS_ERR(ccf->regs)) { in ccf_probe()
201 return PTR_ERR(ccf->regs); in ccf_probe()
204 ccf->dev = &pdev->dev; in ccf_probe()
205 ccf->info = match->data; in ccf_probe()
206 ccf->err_regs = ccf->regs + ccf->info->err_reg_offs; in ccf_probe()
208 if (ccf->info->has_brr) { in ccf_probe()
209 u32 brr = ioread32be(ccf->regs + CCF_BRR); in ccf_probe()
212 ccf->t1040 = true; in ccf_probe()
215 dev_set_drvdata(&pdev->dev, ccf); in ccf_probe()
223 ret = devm_request_irq(&pdev->dev, irq, ccf_irq, 0, pdev->name, ccf); in ccf_probe()
230 if (ccf->t1040) in ccf_probe()
233 switch (ccf->info->version) { in ccf_probe()
236 iowrite32be(errinten, &ccf->err_regs->errdis); in ccf_probe()
240 iowrite32be(0, &ccf->err_regs->errdis); in ccf_probe()
241 iowrite32be(errinten, &ccf->err_regs->errinten); in ccf_probe()
250 struct ccf_private *ccf = dev_get_drvdata(&pdev->dev); in ccf_remove() local
252 switch (ccf->info->version) { in ccf_remove()
254 iowrite32be(0, &ccf->err_regs->errdis); in ccf_remove()
263 iowrite32be(0, &ccf->err_regs->errinten); in ccf_remove()