[PATCH] iommu/arm-smmu: change pud/pmd entry fill sequence

Will Deacon will.deacon at arm.com
Mon Jan 6 09:28:33 EST 2014


On Fri, Jan 03, 2014 at 12:01:26PM +0000, Yifan Zhang wrote:
> From: Yifan Zhang <zhangyf at marvell.com>
> 
> Pgd/pud entry should be filled only once when their next level pud/pmd
> created, the value should be pud/pmd start address, while in current
> code, pgd/pud entry is filled every time when pud/pmd walk occurs,
> the value is pud/pmd start address + iova pud/pmd index , this is
> incorrect; Besides, when pud/pmd are created, we need to add pud/pmd
> index, then pass to next level, while in currect code, if a new pud/pmd
> created, their iova pud/pmd index is not taken into account, only
> existing pud/pmd do. This patch change pud/pmd entry fill sequence,
> fixes the 2 bugs.
> 
> Signed-off-by: Yifan Zhang <zhangyf at marvell.com>

Thanks Yifan, this looks good to me. It's strange that I got the pte
handling correct, but screwed up the equivalent pmd and pud code!

Will



More information about the linux-arm-kernel mailing list