Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/msm: add chip-id param

Some of the w/a or different behavior of userspace blob driver seem to
be keyed to gpu patch revision, rather than gpu-id. So expose the full
chip-id to userspace so it can DTRT.

Signed-off-by: Rob Clark <robdclark@gmail.com>

Rob Clark 4e1cbaa3 37d77c3a

+7
+6
drivers/gpu/drm/msm/adreno/adreno_gpu.c
··· 73 73 case MSM_PARAM_GMEM_SIZE: 74 74 *value = adreno_gpu->gmem; 75 75 return 0; 76 + case MSM_PARAM_CHIP_ID: 77 + *value = adreno_gpu->rev.patchid | 78 + (adreno_gpu->rev.minor << 8) | 79 + (adreno_gpu->rev.major << 16) | 80 + (adreno_gpu->rev.core << 24); 81 + return 0; 76 82 default: 77 83 DBG("%s: invalid param: %u", gpu->name, param); 78 84 return -EINVAL;
+1
include/uapi/drm/msm_drm.h
··· 50 50 51 51 #define MSM_PARAM_GPU_ID 0x01 52 52 #define MSM_PARAM_GMEM_SIZE 0x02 53 + #define MSM_PARAM_CHIP_ID 0x03 53 54 54 55 struct drm_msm_param { 55 56 uint32_t pipe; /* in, MSM_PIPE_x */