Subject: Re: linux-next: build failure after merge of the iommu tree

From: Stephen Rothwell <[email-masked]>
Date: Thu, 15 Oct 2020 13:43:57 +1100

Hi all,

On Tue, 13 Oct 2020 18:31:07 +1100 Stephen Rothwell <[email-masked]> wrote:
>
> On Mon, 21 Sep 2020 14:09:01 +1000 Stephen Rothwell <[email-masked]> 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 <[email-masked]>
> > 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 <[email-masked]>
> > ---
> >  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.

-- 
Cheers,
Stephen Rothwell