[PATCH 5/7] drm/msm: add chip-id param
Jordan Crouse
jcrouse at codeaurora.org
Mon Mar 10 13:20:48 PDT 2014
On 03/10/2014 10:47 AM, Rob Clark wrote:
> 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.
It is all chip-id all the time in the blob - we used to try to be clever
with unique GPU IDs and such with it but we discovered over time that there
is just too much drama.
> Signed-off-by: Rob Clark <robdclark at gmail.com>
Acked-by: Jordan Crouse <jcrouse at codeaurora.org>
> ---
> drivers/gpu/drm/msm/adreno/adreno_gpu.c | 6 ++++++
> include/uapi/drm/msm_drm.h | 1 +
> 2 files changed, 7 insertions(+)
>
> diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c b/drivers/gpu/drm/msm/adreno/adreno_gpu.c
> index 7a11563..28ca8cd 100644
> --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c
> +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c
> @@ -73,6 +73,12 @@ int adreno_get_param(struct msm_gpu *gpu, uint32_t param, uint64_t *value)
> case MSM_PARAM_GMEM_SIZE:
> *value = adreno_gpu->gmem;
> return 0;
> + case MSM_PARAM_CHIP_ID:
> + *value = adreno_gpu->rev.patchid |
> + (adreno_gpu->rev.minor << 8) |
> + (adreno_gpu->rev.major << 16) |
> + (adreno_gpu->rev.core << 24);
> + return 0;
> default:
> DBG("%s: invalid param: %u", gpu->name, param);
> return -EINVAL;
> diff --git a/include/uapi/drm/msm_drm.h b/include/uapi/drm/msm_drm.h
> index d3c6207..bf91a78 100644
> --- a/include/uapi/drm/msm_drm.h
> +++ b/include/uapi/drm/msm_drm.h
> @@ -50,6 +50,7 @@ struct drm_msm_timespec {
>
> #define MSM_PARAM_GPU_ID 0x01
> #define MSM_PARAM_GMEM_SIZE 0x02
> +#define MSM_PARAM_CHIP_ID 0x03
>
> struct drm_msm_param {
> uint32_t pipe; /* in, MSM_PIPE_x */
>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
More information about the dri-devel
mailing list