From 4c0069e4daba678ab35e9e7e13e43d0080d9ae5c Mon Sep 17 00:00:00 2001 From: Jean-Francois Dagenais Date: Thu, 18 Apr 2019 17:36:17 -0700 Subject: kernel-module-mali: add patch to check dma_map_page error This fixes an error when using the module in a kernel configured with the CONFIG_DMA_API_DEBUG flag. utgard fd4b0000.gpu: DMA-API: device driver failed to check map error[device address=0x00000000325b0000] [size=4096 bytes] [mapped as page] ... [] check_unmap+0x44c/0x7e8 [] debug_dma_unmap_page+0x60/0x68 [] mali_mem_os_alloc_pages+0x230/0x498 [mali] ... Acked-by: Hyun Kwon Signed-off-by: Jean-Francois Dagenais Signed-off-by: Manjukumar Matha --- .../0015-fix-driver-failed-to-check-map-error.patch | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0015-fix-driver-failed-to-check-map-error.patch (limited to 'meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali') diff --git a/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0015-fix-driver-failed-to-check-map-error.patch b/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0015-fix-driver-failed-to-check-map-error.patch new file mode 100644 index 00000000..5363c37e --- /dev/null +++ b/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0015-fix-driver-failed-to-check-map-error.patch @@ -0,0 +1,17 @@ +Index: mali/linux/mali_memory_os_alloc.c +=================================================================== +--- mali.orig/linux/mali_memory_os_alloc.c ++++ mali/linux/mali_memory_os_alloc.c +@@ -239,8 +239,10 @@ int mali_mem_os_alloc_pages(mali_mem_os_ + /* Ensure page is flushed from CPU caches. */ + dma_addr = dma_map_page(&mali_platform_device->dev, new_page, + 0, _MALI_OSK_MALI_PAGE_SIZE, DMA_BIDIRECTIONAL); +- dma_unmap_page(&mali_platform_device->dev, dma_addr, +- _MALI_OSK_MALI_PAGE_SIZE, DMA_BIDIRECTIONAL); ++ err = dma_mapping_error(&mali_platform_device->dev, dma_addr); ++ if (likely(!err)) ++ dma_unmap_page(&mali_platform_device->dev, dma_addr, ++ _MALI_OSK_MALI_PAGE_SIZE, DMA_BIDIRECTIONAL); + dma_addr = dma_map_page(&mali_platform_device->dev, new_page, + 0, _MALI_OSK_MALI_PAGE_SIZE, DMA_BIDIRECTIONAL); + -- cgit v1.2.3-54-g00ecf