[AMD Public Use] -----Original Message----- From: daniel@xxxxxxxx <daniel@xxxxxxxx> Sent: Tuesday, July 21, 2020 2:58 PM Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx; Chauhan, Madhav <Madhav.Chauhan@xxxxxxx>; michael.j.ruhl@xxxxxxxxx; tzimmermann@xxxxxxx Subject: Re: [PATCH 08/11] drm/amdgpu: stop using TTM_MEMTYPE_FLAG_MAPPABLE On Tue, Jul 21, 2020 at 09:32:42AM +0200, Christian König wrote: > The driver does support some not-mapable resources, but those are > already handled correctly in the switch/case statement in the code. > > Signed-off-by: Christian König <christian.koenig@xxxxxxx> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 11 ++++------- > 1 file changed, 4 insertions(+), 7 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > index 44fa8bc49d18..0dd5e802091d 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > @@ -84,7 +84,7 @@ static int amdgpu_init_mem_type(struct ttm_bo_device *bdev, uint32_t type, > switch (type) { > case TTM_PL_SYSTEM: > /* System memory */ > - man->flags = TTM_MEMTYPE_FLAG_MAPPABLE; > + man->flags = 0; > man->available_caching = TTM_PL_MASK_CACHING; > man->default_caching = TTM_PL_FLAG_CACHED; > break; > @@ -93,13 +93,12 @@ static int amdgpu_init_mem_type(struct ttm_bo_device *bdev, uint32_t type, > man->func = &amdgpu_gtt_mgr_func; > man->available_caching = TTM_PL_MASK_CACHING; > man->default_caching = TTM_PL_FLAG_CACHED; > - man->flags = TTM_MEMTYPE_FLAG_MAPPABLE; > + man->flags = 0; > break; > case TTM_PL_VRAM: > /* "On-card" video ram */ > man->func = &amdgpu_vram_mgr_func; > - man->flags = TTM_MEMTYPE_FLAG_FIXED | > - TTM_MEMTYPE_FLAG_MAPPABLE; > + man->flags = TTM_MEMTYPE_FLAG_FIXED; > man->available_caching = TTM_PL_FLAG_UNCACHED | TTM_PL_FLAG_WC; > man->default_caching = TTM_PL_FLAG_WC; > break; > @@ -796,7 +795,6 @@ static int amdgpu_bo_move(struct ttm_buffer_object *bo, bool evict, > */ > static int amdgpu_ttm_io_mem_reserve(struct ttm_bo_device *bdev, > struct ttm_mem_reg *mem) { > - struct ttm_mem_type_manager *man = &bdev->man[mem->mem_type]; > struct amdgpu_device *adev = amdgpu_ttm_adev(bdev); > struct drm_mm_node *mm_node = mem->mm_node; > > @@ -805,8 +803,7 @@ static int amdgpu_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_mem_ > mem->bus.size = mem->num_pages << PAGE_SHIFT; > mem->bus.base = 0; > mem->bus.is_iomem = false; > - if (!(man->flags & TTM_MEMTYPE_FLAG_MAPPABLE)) > - return -EINVAL; This check catches the various special on-board memories, or at least I couldnt' find where mmap for these is disallowed. For various on board memories (GDS, GWS, OA). TTM_MEMTYPE_FLAG_MAPPABLE is not added while initializing the BO manger. Can you please elaborate?? Regards, Madhav -Daniel > + > switch (mem->mem_type) { > case TTM_PL_SYSTEM: > /* system memory */ > -- > 2.17.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flist > s.freedesktop.org%2Fmailman%2Flistinfo%2Fdri-devel&data=02%7C01%7C > Madhav.Chauhan%40amd.com%7C38d9dcf0a17344b8fa9008d82d586405%7C3dd8961f > e4884e608e11a82d994e183d%7C0%7C0%7C637309204946382107&sdata=4gkueE > gTCU%2FQBqZS%2BepCLjEp%2F%2FEn%2FmhJl6EjB5LCfsQ%3D&reserved=0 -- Daniel Vetter Software Engineer, Intel Corporation https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fblog.ffwll.ch%2F&data=02%7C01%7CMadhav.Chauhan%40amd.com%7C38d9dcf0a17344b8fa9008d82d586405%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637309204946382107&sdata=g%2F4b4hJZZ3XehZmCVRi61GfCiGIwnJZT8nG%2Bb025o6k%3D&reserved=0 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel