From b6dc4315a4c7fa817334797cc2a4b9fb3fbfd55f Mon Sep 17 00:00:00 2001 From: Deepak Nibade Date: Wed, 6 Apr 2016 16:03:44 +0530 Subject: gpu: nvgpu: support kernel-3.10 version Make necessary changes to support nvgpu on kernel-3.10 This includes below changes - PROBE_PREFER_ASYNCHRONOUS is defined only for K3.10 - Fence handling and struct sync_fence is different between K3.10 and K3.18 - variable status in struct sync_fence is atomic on K3.18 whereas it is int on K3.10 - if SOC == T132, set soc_name = "tegra13x" - ioremap_cache() is not defined on K3.10 ARM versions, hence use ioremap_cached() Bug 200188753 Change-Id: I18d77eb1404e15054e8510d67c9a61c0f1883e2b Signed-off-by: Deepak Nibade Reviewed-on: http://git-master/r/1121092 Reviewed-by: Terje Bergstrom Tested-by: Terje Bergstrom --- drivers/gpu/nvgpu/gk20a/fence_gk20a.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'drivers/gpu/nvgpu/gk20a/fence_gk20a.c') diff --git a/drivers/gpu/nvgpu/gk20a/fence_gk20a.c b/drivers/gpu/nvgpu/gk20a/fence_gk20a.c index f41ca767..1bda5902 100644 --- a/drivers/gpu/nvgpu/gk20a/fence_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/fence_gk20a.c @@ -15,6 +15,7 @@ #include #include +#include #include "gk20a.h" #include "semaphore_gk20a.h" @@ -153,10 +154,17 @@ struct gk20a_fence *gk20a_fence_from_semaphore( struct sync_fence *sync_fence = NULL; #ifdef CONFIG_SYNC +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,18,0) + sync_fence = gk20a_sync_fence_create(timeline, semaphore, + dependency, "f-gk20a-0x%04llx", + ((uintptr_t)(void *)semaphore->value) & + 0xffff); +#else sync_fence = gk20a_sync_fence_create(timeline, semaphore, dependency, "f-gk20a-0x%04llx", ((u64)(void *)semaphore->value) & 0xffff); +#endif if (!sync_fence) return NULL; #endif -- cgit v1.2.2