Loading drivers/gpu/msm/Kconfig +0 −20 Original line number Diff line number Diff line Loading @@ -26,23 +26,3 @@ config QCOM_ADRENO_DEFAULT_GOVERNOR config QCOM_KGSL_IOMMU bool default y if QCOM_KGSL && (MSM_IOMMU || ARM_SMMU) config QCOM_KGSL_USE_SHMEM bool "Enable using shmem for memory allocations" depends on QCOM_KGSL help Say 'Y' to enable using shmem for memory allocations. If enabled, there will be no support for the memory pools and higher order pages. But using shmem will help in making kgsl pages available for reclaiming. config QCOM_KGSL_PROCESS_RECLAIM bool "Make driver pages available for reclaim" depends on QCOM_KGSL && PROCESS_RECLAIM select QCOM_KGSL_USE_SHMEM help Say 'Y' to make driver pages available for reclaiming. If enabled, shmem will be used for allocation. kgsl would know the process foreground/background activity through the sysfs entry exposed per process. Based on this kgsl can unpin the pages of the process and make those pages available to the Per Process Reclaim (PPR). drivers/gpu/msm/Makefile +3 −6 Original line number Diff line number Diff line Loading @@ -15,17 +15,14 @@ msm_kgsl_core-y = \ kgsl_gmu_core.o \ kgsl_gmu.o \ kgsl_rgmu.o \ kgsl_hfi.o kgsl_hfi.o \ kgsl_pool.o \ kgsl_reclaim.o msm_kgsl_core-$(CONFIG_QCOM_KGSL_IOMMU) += kgsl_iommu.o msm_kgsl_core-$(CONFIG_DEBUG_FS) += kgsl_debugfs.o msm_kgsl_core-$(CONFIG_SYNC_FILE) += kgsl_sync.o msm_kgsl_core-$(CONFIG_COMPAT) += kgsl_compat.o msm_kgsl_core-$(CONFIG_QCOM_KGSL_PROCESS_RECLAIM) += kgsl_reclaim.o ifndef CONFIG_QCOM_KGSL_USE_SHMEM msm_kgsl_core-y += kgsl_pool.o endif msm_adreno-y += \ adreno_ioctl.o \ Loading drivers/gpu/msm/adreno-gpulist.h +2 −1 Original line number Diff line number Diff line Loading @@ -1460,7 +1460,8 @@ static const struct adreno_a6xx_core adreno_gpu_core_a702 = { .base = { DEFINE_ADRENO_REV(ADRENO_REV_A702, 7, 0, 2, ANY_ID), .features = ADRENO_64BIT | ADRENO_CONTENT_PROTECTION | ADRENO_APRIV | ADRENO_PREEMPTION, ADRENO_APRIV | ADRENO_PREEMPTION | ADRENO_PROCESS_RECLAIM, .gpudev = &adreno_a6xx_gpudev, .gmem_size = SZ_128K, .busy_mask = 0xfffffffe, Loading drivers/gpu/msm/adreno.c +8 −0 Original line number Diff line number Diff line Loading @@ -1442,6 +1442,14 @@ static int adreno_probe(struct platform_device *pdev) if (adreno_is_a6xx(adreno_dev)) device->mmu.features |= KGSL_MMU_SMMU_APERTURE; if (ADRENO_FEATURE(adreno_dev, ADRENO_USE_SHMEM)) device->flags |= KGSL_FLAG_USE_SHMEM; if (ADRENO_FEATURE(adreno_dev, ADRENO_PROCESS_RECLAIM)) { device->flags |= KGSL_FLAG_USE_SHMEM; device->flags |= KGSL_FLAG_PROCESS_RECLAIM; } device->pwrctrl.bus_width = adreno_dev->gpucore->bus_width; status = kgsl_device_platform_probe(device); Loading drivers/gpu/msm/adreno.h +14 −0 Original line number Diff line number Diff line Loading @@ -109,6 +109,20 @@ #define ADRENO_DEPRECATED BIT(20) /* The target supports ringbuffer level APRIV */ #define ADRENO_APRIV BIT(21) /* * Use SHMEM for page allocation. There will be no support * for pools and higher order pages. */ #define ADRENO_USE_SHMEM BIT(22) /* * Make pages available for reclaim. Process foreground/background * activity is known through sysfs exposed per process. Based on * this, pages are unpinned and made available to Per Process * Reclaim (PPR). SHMEM is used for allocation of pages and * support for pools is removed. */ #define ADRENO_PROCESS_RECLAIM BIT(23) /* * Adreno GPU quirks - control bits for various workarounds */ Loading Loading
drivers/gpu/msm/Kconfig +0 −20 Original line number Diff line number Diff line Loading @@ -26,23 +26,3 @@ config QCOM_ADRENO_DEFAULT_GOVERNOR config QCOM_KGSL_IOMMU bool default y if QCOM_KGSL && (MSM_IOMMU || ARM_SMMU) config QCOM_KGSL_USE_SHMEM bool "Enable using shmem for memory allocations" depends on QCOM_KGSL help Say 'Y' to enable using shmem for memory allocations. If enabled, there will be no support for the memory pools and higher order pages. But using shmem will help in making kgsl pages available for reclaiming. config QCOM_KGSL_PROCESS_RECLAIM bool "Make driver pages available for reclaim" depends on QCOM_KGSL && PROCESS_RECLAIM select QCOM_KGSL_USE_SHMEM help Say 'Y' to make driver pages available for reclaiming. If enabled, shmem will be used for allocation. kgsl would know the process foreground/background activity through the sysfs entry exposed per process. Based on this kgsl can unpin the pages of the process and make those pages available to the Per Process Reclaim (PPR).
drivers/gpu/msm/Makefile +3 −6 Original line number Diff line number Diff line Loading @@ -15,17 +15,14 @@ msm_kgsl_core-y = \ kgsl_gmu_core.o \ kgsl_gmu.o \ kgsl_rgmu.o \ kgsl_hfi.o kgsl_hfi.o \ kgsl_pool.o \ kgsl_reclaim.o msm_kgsl_core-$(CONFIG_QCOM_KGSL_IOMMU) += kgsl_iommu.o msm_kgsl_core-$(CONFIG_DEBUG_FS) += kgsl_debugfs.o msm_kgsl_core-$(CONFIG_SYNC_FILE) += kgsl_sync.o msm_kgsl_core-$(CONFIG_COMPAT) += kgsl_compat.o msm_kgsl_core-$(CONFIG_QCOM_KGSL_PROCESS_RECLAIM) += kgsl_reclaim.o ifndef CONFIG_QCOM_KGSL_USE_SHMEM msm_kgsl_core-y += kgsl_pool.o endif msm_adreno-y += \ adreno_ioctl.o \ Loading
drivers/gpu/msm/adreno-gpulist.h +2 −1 Original line number Diff line number Diff line Loading @@ -1460,7 +1460,8 @@ static const struct adreno_a6xx_core adreno_gpu_core_a702 = { .base = { DEFINE_ADRENO_REV(ADRENO_REV_A702, 7, 0, 2, ANY_ID), .features = ADRENO_64BIT | ADRENO_CONTENT_PROTECTION | ADRENO_APRIV | ADRENO_PREEMPTION, ADRENO_APRIV | ADRENO_PREEMPTION | ADRENO_PROCESS_RECLAIM, .gpudev = &adreno_a6xx_gpudev, .gmem_size = SZ_128K, .busy_mask = 0xfffffffe, Loading
drivers/gpu/msm/adreno.c +8 −0 Original line number Diff line number Diff line Loading @@ -1442,6 +1442,14 @@ static int adreno_probe(struct platform_device *pdev) if (adreno_is_a6xx(adreno_dev)) device->mmu.features |= KGSL_MMU_SMMU_APERTURE; if (ADRENO_FEATURE(adreno_dev, ADRENO_USE_SHMEM)) device->flags |= KGSL_FLAG_USE_SHMEM; if (ADRENO_FEATURE(adreno_dev, ADRENO_PROCESS_RECLAIM)) { device->flags |= KGSL_FLAG_USE_SHMEM; device->flags |= KGSL_FLAG_PROCESS_RECLAIM; } device->pwrctrl.bus_width = adreno_dev->gpucore->bus_width; status = kgsl_device_platform_probe(device); Loading
drivers/gpu/msm/adreno.h +14 −0 Original line number Diff line number Diff line Loading @@ -109,6 +109,20 @@ #define ADRENO_DEPRECATED BIT(20) /* The target supports ringbuffer level APRIV */ #define ADRENO_APRIV BIT(21) /* * Use SHMEM for page allocation. There will be no support * for pools and higher order pages. */ #define ADRENO_USE_SHMEM BIT(22) /* * Make pages available for reclaim. Process foreground/background * activity is known through sysfs exposed per process. Based on * this, pages are unpinned and made available to Per Process * Reclaim (PPR). SHMEM is used for allocation of pages and * support for pools is removed. */ #define ADRENO_PROCESS_RECLAIM BIT(23) /* * Adreno GPU quirks - control bits for various workarounds */ Loading