On 17.03.2025 11:52, Ariel D'Alessandro wrote: > Panfrost does not support uncached mappings, so flag them properly. Also > flag the pages that are mapped as response to a page fault as cached. > > Signed-off-by: Boris Brezillon <boris.brezil...@collabora.com> > Signed-off-by: Ariel D'Alessandro <ariel.dalessan...@collabora.com> > Reviewed-by: AngeloGioacchino Del Regno > <angelogioacchino.delre...@collabora.com> > Reviewed-by: Steven Price <steven.pr...@arm.com>
Reviewed-by: Adrián Larumbe <adrian.laru...@collabora.com> > --- > drivers/gpu/drm/panfrost/panfrost_mmu.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/panfrost/panfrost_mmu.c > b/drivers/gpu/drm/panfrost/panfrost_mmu.c > index b91019cd5acb1..9e6f198ef5c1b 100644 > --- a/drivers/gpu/drm/panfrost/panfrost_mmu.c > +++ b/drivers/gpu/drm/panfrost/panfrost_mmu.c > @@ -327,7 +327,7 @@ int panfrost_mmu_map(struct panfrost_gem_mapping *mapping) > struct drm_gem_object *obj = &shmem->base; > struct panfrost_device *pfdev = to_panfrost_device(obj->dev); > struct sg_table *sgt; > - int prot = IOMMU_READ | IOMMU_WRITE; > + int prot = IOMMU_READ | IOMMU_WRITE | IOMMU_CACHE; > > if (WARN_ON(mapping->active)) > return 0; > @@ -528,7 +528,7 @@ static int panfrost_mmu_map_fault_addr(struct > panfrost_device *pfdev, int as, > goto err_map; > > mmu_map_sg(pfdev, bomapping->mmu, addr, > - IOMMU_WRITE | IOMMU_READ | IOMMU_NOEXEC, sgt); > + IOMMU_WRITE | IOMMU_READ | IOMMU_CACHE | IOMMU_NOEXEC, sgt); > > bomapping->active = true; > bo->heap_rss_size += SZ_2M; > -- > 2.47.2 Adrian Larumbe