Hi all,
After merging the iommu tree, today's linux-next build (arm multi_v7_defconfig) failed like this:
drivers/gpu/drm/msm/msm_iommu.c: In function 'msm_iommu_pagetable_unmap': drivers/gpu/drm/msm/msm_iommu.c:46:2: error: implicit declaration of function 'iommu_flush_tlb_all'; did you mean 'iommu_flush_iotlb_all'? [-Werror=implicit-function-declaration] 46 | iommu_flush_tlb_all(to_msm_iommu(pagetable->parent)->domain); | ^~~~~~~~~~~~~~~~~~~ | iommu_flush_iotlb_all
Caused by commit
aae4c8e27bd7 ("iommu: Rename iommu_tlb_* functions to iommu_iotlb_*")
interacting with commit
b145c6e65eb0 ("drm/msm: Add support to create a local pagetable")
from the drm-msm tree.
I have applied the following merge fix patch. Someone will need to tell Linus about this fix up when the trees get merged.
From: Stephen Rothwell sfr@canb.auug.org.au Date: Mon, 21 Sep 2020 14:04:14 +1000 Subject: [PATCH] merge fix upt for iommu_flush_iotlb_all() rename
Signed-off-by: Stephen Rothwell sfr@canb.auug.org.au --- drivers/gpu/drm/msm/msm_iommu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/msm/msm_iommu.c b/drivers/gpu/drm/msm/msm_iommu.c index 3a83ffdb3b90..22ac7c692a81 100644 --- a/drivers/gpu/drm/msm/msm_iommu.c +++ b/drivers/gpu/drm/msm/msm_iommu.c @@ -43,7 +43,7 @@ static int msm_iommu_pagetable_unmap(struct msm_mmu *mmu, u64 iova, size -= 4096; }
- iommu_flush_tlb_all(to_msm_iommu(pagetable->parent)->domain); + iommu_flush_iotlb_all(to_msm_iommu(pagetable->parent)->domain);
return (unmapped == size) ? 0 : -EINVAL; } @@ -199,7 +199,7 @@ struct msm_mmu *msm_iommu_pagetable_create(struct msm_mmu *parent)
/* * TODO we would like each set of page tables to have a unique ASID - * to optimize TLB invalidation. But iommu_flush_tlb_all() will + * to optimize TLB invalidation. But iommu_flush_iotlb_all() will * end up flushing the ASID used for TTBR1 pagetables, which is not * what we want. So for now just use the same ASID as TTBR1. */
Hi all,
On Mon, 21 Sep 2020 14:09:01 +1000 Stephen Rothwell sfr@canb.auug.org.au wrote:
After merging the iommu tree, today's linux-next build (arm multi_v7_defconfig) failed like this:
drivers/gpu/drm/msm/msm_iommu.c: In function 'msm_iommu_pagetable_unmap': drivers/gpu/drm/msm/msm_iommu.c:46:2: error: implicit declaration of function 'iommu_flush_tlb_all'; did you mean 'iommu_flush_iotlb_all'? [-Werror=implicit-function-declaration] 46 | iommu_flush_tlb_all(to_msm_iommu(pagetable->parent)->domain); | ^~~~~~~~~~~~~~~~~~~ | iommu_flush_iotlb_all
Caused by commit
aae4c8e27bd7 ("iommu: Rename iommu_tlb_* functions to iommu_iotlb_*")
interacting with commit
b145c6e65eb0 ("drm/msm: Add support to create a local pagetable")
from the drm-msm tree.
I have applied the following merge fix patch. Someone will need to tell Linus about this fix up when the trees get merged.
From: Stephen Rothwell sfr@canb.auug.org.au Date: Mon, 21 Sep 2020 14:04:14 +1000 Subject: [PATCH] merge fix upt for iommu_flush_iotlb_all() rename
Signed-off-by: Stephen Rothwell sfr@canb.auug.org.au
drivers/gpu/drm/msm/msm_iommu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/msm/msm_iommu.c b/drivers/gpu/drm/msm/msm_iommu.c index 3a83ffdb3b90..22ac7c692a81 100644 --- a/drivers/gpu/drm/msm/msm_iommu.c +++ b/drivers/gpu/drm/msm/msm_iommu.c @@ -43,7 +43,7 @@ static int msm_iommu_pagetable_unmap(struct msm_mmu *mmu, u64 iova, size -= 4096; }
- iommu_flush_tlb_all(to_msm_iommu(pagetable->parent)->domain);
iommu_flush_iotlb_all(to_msm_iommu(pagetable->parent)->domain);
return (unmapped == size) ? 0 : -EINVAL;
} @@ -199,7 +199,7 @@ struct msm_mmu *msm_iommu_pagetable_create(struct msm_mmu *parent)
/* * TODO we would like each set of page tables to have a unique ASID
* to optimize TLB invalidation. But iommu_flush_tlb_all() will
* to optimize TLB invalidation. But iommu_flush_iotlb_all() will
*/
- end up flushing the ASID used for TTBR1 pagetables, which is not
- what we want. So for now just use the same ASID as TTBR1.
-- 2.28.0
This merge fix up is now needed when the iommu tree and the drm tree are merged.
Hi all,
On Tue, 13 Oct 2020 18:31:07 +1100 Stephen Rothwell sfr@canb.auug.org.au wrote:
On Mon, 21 Sep 2020 14:09:01 +1000 Stephen Rothwell sfr@canb.auug.org.au wrote:
After merging the iommu tree, today's linux-next build (arm multi_v7_defconfig) failed like this:
drivers/gpu/drm/msm/msm_iommu.c: In function 'msm_iommu_pagetable_unmap': drivers/gpu/drm/msm/msm_iommu.c:46:2: error: implicit declaration of function 'iommu_flush_tlb_all'; did you mean 'iommu_flush_iotlb_all'? [-Werror=implicit-function-declaration] 46 | iommu_flush_tlb_all(to_msm_iommu(pagetable->parent)->domain); | ^~~~~~~~~~~~~~~~~~~ | iommu_flush_iotlb_all
Caused by commit
aae4c8e27bd7 ("iommu: Rename iommu_tlb_* functions to iommu_iotlb_*")
interacting with commit
b145c6e65eb0 ("drm/msm: Add support to create a local pagetable")
from the drm-msm tree.
I have applied the following merge fix patch. Someone will need to tell Linus about this fix up when the trees get merged.
From: Stephen Rothwell sfr@canb.auug.org.au Date: Mon, 21 Sep 2020 14:04:14 +1000 Subject: [PATCH] merge fix upt for iommu_flush_iotlb_all() rename
Signed-off-by: Stephen Rothwell sfr@canb.auug.org.au
drivers/gpu/drm/msm/msm_iommu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/msm/msm_iommu.c b/drivers/gpu/drm/msm/msm_iommu.c index 3a83ffdb3b90..22ac7c692a81 100644 --- a/drivers/gpu/drm/msm/msm_iommu.c +++ b/drivers/gpu/drm/msm/msm_iommu.c @@ -43,7 +43,7 @@ static int msm_iommu_pagetable_unmap(struct msm_mmu *mmu, u64 iova, size -= 4096; }
- iommu_flush_tlb_all(to_msm_iommu(pagetable->parent)->domain);
iommu_flush_iotlb_all(to_msm_iommu(pagetable->parent)->domain);
return (unmapped == size) ? 0 : -EINVAL;
} @@ -199,7 +199,7 @@ struct msm_mmu *msm_iommu_pagetable_create(struct msm_mmu *parent)
/* * TODO we would like each set of page tables to have a unique ASID
* to optimize TLB invalidation. But iommu_flush_tlb_all() will
* to optimize TLB invalidation. But iommu_flush_iotlb_all() will
*/
- end up flushing the ASID used for TTBR1 pagetables, which is not
- what we want. So for now just use the same ASID as TTBR1.
-- 2.28.0
This merge fix up is now needed when the iommu tree and the drm tree are merged.
This merge fix up is now needed when the drm tree is merged with Linus' tree.
dri-devel@lists.freedesktop.org