[PATCH 4/4 v6] iommu/fsl: Freescale PAMU driver and IOMMU API implementation.
Timur Tabi
timur at freescale.com
Tue Dec 4 07:02:55 EST 2012
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
More information about the Linuxppc-dev
mailing list