Re: [PATCH 3/6] sparc64: Initialize iommu_map_table and iommu_pool

From: tndave
Date: Mon Oct 24 2016 - 16:37:23 EST




On 10/24/2016 10:47 AM, David Miller wrote:
From: Tushar Dave <tushar.n.dave@xxxxxxxxxx>
Date: Mon, 10 Oct 2016 11:12:04 -0700

Like legacy IOMMU, use common iommu_map_table and iommu_pool for ATU.
This change initializes iommu_map_table and iommu_pool for ATU.

Signed-off-by: Tushar Dave <tushar.n.dave@xxxxxxxxxx>
Reviewed-by: chris hyser <chris.hyser@xxxxxxxxxx>
Reviewed-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx>

I suspect you are adding a bisection problem here.

It looks to me like patch #2 starts setting up to use the ATU
but these changes in #3 and later are necessary for it to even
work properly.

You can't leave the tree in an intermediate non-working state
between changes like that.
I agree but even if you apply only patch #1, #2 things still work using
legacy IOMMU. (and the same is true for rest of the other patches i.e.
#3, #4, #5).

All the patches, except patch #6 , sets up needed data structures and
functions for ATU however ATU will only be used in action after you
apply patch #6 which actually enables 64bit DMA. Until then, things are
going to work using legacy IOMMU with 32bit DMA.

Thanks.

-Tushar