Messages in this thread | | | Date | Mon, 3 Dec 2012 14:02:55 -0600 | From | Timur Tabi <> | Subject | Re: [PATCH 4/4 v6] iommu/fsl: Freescale PAMU driver and IOMMU API implementation. |
| |
Varun Sethi wrote:
> + out_be32(&pamu_regs->ppbah, ((u64)ppaact_phys) >> 32); > + out_be32(&pamu_regs->ppbal, ppaact_phys); > + ppaact_phys = ppaact_phys + PAACT_SIZE; > + out_be32(&pamu_regs->pplah, ((u64)ppaact_phys) >> 32); > + out_be32(&pamu_regs->pplal, ppaact_phys);
Instead of ((u64)ppaact_phys) >> 32, use upper_32_bits() and lower_32_bits().
> +#define PAACE_NUMBER_ENTRIES 0xFF
This is going to break with large LIODNs. Instead of hard-coding the size of the PPAACT, you need to scan the device tree for the largest LIODN, and make the array dynamically sized.
-- Timur Tabi Linux kernel developer at Freescale
| |