Lines Matching refs:msi

142 				 struct resource res, struct ppc4xx_msi *msi)  in ppc4xx_setup_pcieh_hw()  argument
157 msi->msi_dev = of_find_node_by_name(NULL, "ppc4xx-msi"); in ppc4xx_setup_pcieh_hw()
158 if (!msi->msi_dev) in ppc4xx_setup_pcieh_hw()
161 msi->msi_regs = of_iomap(msi->msi_dev, 0); in ppc4xx_setup_pcieh_hw()
162 if (!msi->msi_regs) { in ppc4xx_setup_pcieh_hw()
167 (u32) (msi->msi_regs + PEIH_TERMADH), (u32) (msi->msi_regs)); in ppc4xx_setup_pcieh_hw()
172 msi->msi_addr_hi = upper_32_bits(msi_phys); in ppc4xx_setup_pcieh_hw()
173 msi->msi_addr_lo = lower_32_bits(msi_phys & 0xffffffff); in ppc4xx_setup_pcieh_hw()
175 msi->msi_addr_hi, msi->msi_addr_lo); in ppc4xx_setup_pcieh_hw()
178 out_be32(msi->msi_regs + PEIH_TERMADH, msi->msi_addr_hi); in ppc4xx_setup_pcieh_hw()
179 out_be32(msi->msi_regs + PEIH_TERMADL, msi->msi_addr_lo); in ppc4xx_setup_pcieh_hw()
188 out_be32(msi->msi_regs + PEIH_MSIED, *msi_data); in ppc4xx_setup_pcieh_hw()
189 out_be32(msi->msi_regs + PEIH_MSIMK, *msi_mask); in ppc4xx_setup_pcieh_hw()
198 struct ppc4xx_msi *msi = dev->dev.platform_data; in ppc4xx_of_msi_remove() local
203 virq = msi->msi_virqs[i]; in ppc4xx_of_msi_remove()
208 if (msi->bitmap.bitmap) in ppc4xx_of_msi_remove()
209 msi_bitmap_free(&msi->bitmap); in ppc4xx_of_msi_remove()
210 iounmap(msi->msi_regs); in ppc4xx_of_msi_remove()
211 of_node_put(msi->msi_dev); in ppc4xx_of_msi_remove()
212 kfree(msi); in ppc4xx_of_msi_remove()
219 struct ppc4xx_msi *msi; in ppc4xx_msi_probe() local
226 msi = kzalloc(sizeof(struct ppc4xx_msi), GFP_KERNEL); in ppc4xx_msi_probe()
227 if (!msi) { in ppc4xx_msi_probe()
231 dev->dev.platform_data = msi; in ppc4xx_msi_probe()
245 if (ppc4xx_setup_pcieh_hw(dev, res, msi)) in ppc4xx_msi_probe()
248 err = ppc4xx_msi_init_allocator(dev, msi); in ppc4xx_msi_probe()
253 ppc4xx_msi = *msi; in ppc4xx_msi_probe()