The io_mem_pfn field was added in commit 
ea642c3216cb2a60d1c0e760ae47ee85c9c16447
and is called unconditionally. However, not all drivers were updated to set it.

Use the ttm_bo_default_io_mem_pfn function if a driver did not set its own.

Signed-off-by: Michal Srb <m...@suse.com>
---
 drivers/gpu/drm/ttm/ttm_bo_vm.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/ttm/ttm_bo_vm.c b/drivers/gpu/drm/ttm/ttm_bo_vm.c
index c8ebb757e36b..e25a99bc519d 100644
--- a/drivers/gpu/drm/ttm/ttm_bo_vm.c
+++ b/drivers/gpu/drm/ttm/ttm_bo_vm.c
@@ -234,7 +234,10 @@ static int ttm_bo_vm_fault(struct vm_fault *vmf)
                if (bo->mem.bus.is_iomem) {
                        /* Iomem should not be marked encrypted */
                        cvma.vm_page_prot = pgprot_decrypted(cvma.vm_page_prot);
-                       pfn = bdev->driver->io_mem_pfn(bo, page_offset);
+                       if (bdev->driver->io_mem_pfn)
+                               pfn = bdev->driver->io_mem_pfn(bo, page_offset);
+                       else
+                               pfn = ttm_bo_default_io_mem_pfn(bo, 
page_offset);
                } else {
                        page = ttm->pages[page_offset];
                        if (unlikely(!page && i == 0)) {
-- 
2.13.6

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to