Lines Matching refs:ccf
105 struct ccf_private *ccf = dev_id; in ccf_irq() local
114 errdet = ioread32be(&ccf->err_regs->errdet); in ccf_irq()
115 cecar = ioread32be(&ccf->err_regs->cecar); in ccf_irq()
116 cecar2 = ioread32be(&ccf->err_regs->cecar2); in ccf_irq()
117 addr = ioread32be(&ccf->err_regs->cecaddrl); in ccf_irq()
118 addr |= ((u64)(ioread32be(&ccf->err_regs->cecaddrh) & in ccf_irq()
124 switch (ccf->info->version) { in ccf_irq()
146 dev_crit(ccf->dev, "errdet 0x%08x cecar 0x%08x cecar2 0x%08x\n", in ccf_irq()
151 dev_crit(ccf->dev, "LAW Unavailable Target ID\n"); in ccf_irq()
153 dev_crit(ccf->dev, "Local Access Window Error\n"); in ccf_irq()
157 dev_crit(ccf->dev, "Coherency Violation\n"); in ccf_irq()
160 dev_crit(ccf->dev, "Unavailable Target ID\n"); in ccf_irq()
163 dev_crit(ccf->dev, "Multicast Stash\n"); in ccf_irq()
166 dev_crit(ccf->dev, "address 0x%09llx, src id 0x%x\n", in ccf_irq()
171 iowrite32be(errdet, &ccf->err_regs->errdet); in ccf_irq()
177 struct ccf_private *ccf; in ccf_probe() local
187 ccf = devm_kzalloc(&pdev->dev, sizeof(*ccf), GFP_KERNEL); in ccf_probe()
188 if (!ccf) in ccf_probe()
197 ccf->regs = devm_ioremap_resource(&pdev->dev, r); in ccf_probe()
198 if (IS_ERR(ccf->regs)) { in ccf_probe()
200 return PTR_ERR(ccf->regs); in ccf_probe()
203 ccf->dev = &pdev->dev; in ccf_probe()
204 ccf->info = match->data; in ccf_probe()
205 ccf->err_regs = ccf->regs + ccf->info->err_reg_offs; in ccf_probe()
207 if (ccf->info->has_brr) { in ccf_probe()
208 u32 brr = ioread32be(ccf->regs + CCF_BRR); in ccf_probe()
211 ccf->t1040 = true; in ccf_probe()
214 dev_set_drvdata(&pdev->dev, ccf); in ccf_probe()
222 ret = devm_request_irq(&pdev->dev, irq, ccf_irq, 0, pdev->name, ccf); in ccf_probe()
229 if (ccf->t1040) in ccf_probe()
232 switch (ccf->info->version) { in ccf_probe()
235 iowrite32be(errinten, &ccf->err_regs->errdis); in ccf_probe()
239 iowrite32be(0, &ccf->err_regs->errdis); in ccf_probe()
240 iowrite32be(errinten, &ccf->err_regs->errinten); in ccf_probe()
249 struct ccf_private *ccf = dev_get_drvdata(&pdev->dev); in ccf_remove() local
251 switch (ccf->info->version) { in ccf_remove()
253 iowrite32be(0, &ccf->err_regs->errdis); in ccf_remove()
262 iowrite32be(0, &ccf->err_regs->errinten); in ccf_remove()