Lines Matching refs:pcicptr
22 struct tx4927_pcic_reg __iomem *pcicptr;
26 struct tx4927_pcic_reg __iomem *pcicptr)
32 pcicptrs[i].pcicptr = pcicptr;
39 pcicptrs[i].pcicptr = pcicptr;
53 return pcicptrs[i].pcicptr;
59 struct tx4927_pcic_reg __iomem *pcicptr)
67 &pcicptr->g2pcfgadrs);
69 __raw_writel((__raw_readl(&pcicptr->pcistatus) & 0x0000ffff)
71 &pcicptr->pcistatus);
75 static int check_abort(struct tx4927_pcic_reg __iomem *pcicptr)
80 while (__raw_readl(&pcicptr->pcicstatus) & TX4927_PCIC_PCICSTATUS_IWB)
82 if (__raw_readl(&pcicptr->pcistatus)
84 __raw_writel((__raw_readl(&pcicptr->pcistatus) & 0x0000ffff)
86 &pcicptr->pcistatus);
94 static u8 icd_readb(int offset, struct tx4927_pcic_reg __iomem *pcicptr)
99 return __raw_readb((void __iomem *)&pcicptr->g2pcfgdata + offset);
101 static u16 icd_readw(int offset, struct tx4927_pcic_reg __iomem *pcicptr)
106 return __raw_readw((void __iomem *)&pcicptr->g2pcfgdata + offset);
108 static u32 icd_readl(struct tx4927_pcic_reg __iomem *pcicptr)
110 return __raw_readl(&pcicptr->g2pcfgdata);
113 struct tx4927_pcic_reg __iomem *pcicptr)
118 __raw_writeb(val, (void __iomem *)&pcicptr->g2pcfgdata + offset);
121 struct tx4927_pcic_reg __iomem *pcicptr)
126 __raw_writew(val, (void __iomem *)&pcicptr->g2pcfgdata + offset);
128 static void icd_writel(u32 val, struct tx4927_pcic_reg __iomem *pcicptr)
130 __raw_writel(val, &pcicptr->g2pcfgdata);
142 struct tx4927_pcic_reg __iomem *pcicptr = pci_bus_to_pcicptr(bus);
144 if (mkaddr(bus, devfn, where, pcicptr)) {
150 *val = icd_readb(where & 3, pcicptr);
153 *val = icd_readw(where & 3, pcicptr);
156 *val = icd_readl(pcicptr);
158 return check_abort(pcicptr);
164 struct tx4927_pcic_reg __iomem *pcicptr = pci_bus_to_pcicptr(bus);
166 if (mkaddr(bus, devfn, where, pcicptr))
170 icd_writeb(val, where & 3, pcicptr);
173 icd_writew(val, where & 3, pcicptr);
176 icd_writel(val, pcicptr);
178 return check_abort(pcicptr);
219 void __init tx4927_pcic_setup(struct tx4927_pcic_reg __iomem *pcicptr,
225 set_tx4927_pcicptr(channel, pcicptr);
230 __raw_readl(&pcicptr->pciid) >> 16,
231 __raw_readl(&pcicptr->pciid) & 0xffff,
232 __raw_readl(&pcicptr->pciccrev) & 0xff,
239 __raw_writel(__raw_readl(&pcicptr->pciccfg)
244 &pcicptr->pciccfg);
249 &pcicptr->g2piomask);
257 , &pcicptr->g2piogbase);
259 &pcicptr->g2piopbase);
261 __raw_writel(0, &pcicptr->g2pmmask[i]);
262 ____raw_writeq(0, &pcicptr->g2pmgbase[i]);
263 ____raw_writeq(0, &pcicptr->g2pmpbase[i]);
268 &pcicptr->g2pmmask[0]);
275 , &pcicptr->g2pmgbase[0]);
278 &pcicptr->g2pmpbase[0]);
281 __raw_writel(0, &pcicptr->p2giopbase); /* 256B */
282 ____raw_writeq(0, &pcicptr->p2giogbase);
284 __raw_writel(0, &pcicptr->p2gm0plbase);
285 __raw_writel(0, &pcicptr->p2gm0pubase);
292 , &pcicptr->p2gmgbase[0]);
294 __raw_writel(0xffffffff, &pcicptr->p2gm1plbase);
295 __raw_writel(0xffffffff, &pcicptr->p2gm1pubase);
296 ____raw_writeq(0, &pcicptr->p2gmgbase[1]);
298 __raw_writel(0xffffffff, &pcicptr->p2gm2pbase); /* 1MB */
299 ____raw_writeq(0, &pcicptr->p2gmgbase[2]);
304 &pcicptr->pciccfg);
307 __raw_writel(__raw_readl(&pcicptr->pciccfg)
309 &pcicptr->pciccfg);
312 __raw_writel(__raw_readl(&pcicptr->pciccfg)
314 &pcicptr->pciccfg);
316 __raw_writel(__raw_readl(&pcicptr->pciccfg)
318 &pcicptr->pciccfg);
321 __raw_writel(0, &pcicptr->pcicfg1);
323 __raw_writel((__raw_readl(&pcicptr->g2ptocnt) & ~0xffff)
326 &pcicptr->g2ptocnt);
329 __raw_writel(TX4927_PCIC_PCICSTATUS_ALL, &pcicptr->pcicstatus);
331 __raw_writel(TX4927_PCIC_PCICSTATUS_ALL, &pcicptr->pcicmask);
333 __raw_writel(TX4927_PCIC_G2PSTATUS_ALL, &pcicptr->g2pstatus);
335 __raw_writel(TX4927_PCIC_G2PSTATUS_ALL, &pcicptr->g2pmask);
337 __raw_writel((__raw_readl(&pcicptr->pcistatus) & 0x0000ffff)
339 &pcicptr->pcistatus);
341 __raw_writel(TX4927_PCIC_PCISTATUS_ALL, &pcicptr->pcimask);
345 __raw_writel(TX4927_PCIC_PBACFG_RPBA, &pcicptr->pbacfg);
346 __raw_writel(0, &pcicptr->pbabm);
348 __raw_writel(TX4927_PCIC_PBACFG_PBAEN, &pcicptr->pbacfg);
353 &pcicptr->pcistatus);
359 __raw_readl(&pcicptr->pcistatus) & 0xffff,
360 __raw_readl(&pcicptr->pcimask) & 0xffff,
361 __raw_readl(&pcicptr->g2ptocnt) & 0xff,
362 (__raw_readl(&pcicptr->g2ptocnt) & 0xff00) >> 8,
363 (__raw_readl(&pcicptr->pciccfg) >> 16) & 0xfff);
366 static void tx4927_report_pcic_status1(struct tx4927_pcic_reg __iomem *pcicptr)
368 __u16 pcistatus = (__u16)(__raw_readl(&pcicptr->pcistatus) >> 16);
369 __u32 g2pstatus = __raw_readl(&pcicptr->g2pstatus);
370 __u32 pcicstatus = __raw_readl(&pcicptr->pcicstatus);
429 if (pcicptrs[i].pcicptr)
430 tx4927_report_pcic_status1(pcicptrs[i].pcicptr);
434 static void tx4927_dump_pcic_settings1(struct tx4927_pcic_reg __iomem *pcicptr)
437 __u32 __iomem *preg = (__u32 __iomem *)pcicptr;
439 printk(KERN_INFO "tx4927 pcic (0x%p) settings:", pcicptr);
463 if (pcicptrs[i].pcicptr)
464 tx4927_dump_pcic_settings1(pcicptrs[i].pcicptr);
471 struct tx4927_pcic_reg __iomem *pcicptr =
477 tx4927_report_pcic_status1(pcicptr);
481 __raw_writel((__raw_readl(&pcicptr->pcistatus) & 0x0000ffff)
483 &pcicptr->pcistatus);
484 __raw_writel(TX4927_PCIC_G2PSTATUS_ALL, &pcicptr->g2pstatus);
485 __raw_writel(TX4927_PCIC_PBASTATUS_ALL, &pcicptr->pbastatus);
486 __raw_writel(TX4927_PCIC_PCICSTATUS_ALL, &pcicptr->pcicstatus);
490 tx4927_dump_pcic_settings1(pcicptr);
497 struct tx4927_pcic_reg __iomem *pcicptr = pci_bus_to_pcicptr(dev->bus);
499 if (!pcicptr)
501 if (__raw_readl(&pcicptr->pbacfg) & TX4927_PCIC_PBACFG_PBAEN) {
503 __raw_writel(TX4927_PCIC_PBACFG_RPBA, &pcicptr->pbacfg);
509 __raw_writel(0x72543610, &pcicptr->pbareqport);
510 __raw_writel(0, &pcicptr->pbabm);
512 __raw_writel(TX4927_PCIC_PBACFG_FIXPA, &pcicptr->pbacfg);
516 &pcicptr->pbacfg);
518 __raw_readl(&pcicptr->pbareqport));