Expose speedbin through MSM_PARAM_CHIP_ID parameter to help userspace
identify the sku.

Signed-off-by: Akhil P Oommen <[email protected]>
---

Changes in v2:
- Use SKU in chipid PARAM only in new targets (Rob)

 drivers/gpu/drm/msm/adreno/adreno_gpu.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c 
b/drivers/gpu/drm/msm/adreno/adreno_gpu.c
index f33cfa4..807d9ff 100644
--- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c
+++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c
@@ -242,10 +242,12 @@ int adreno_get_param(struct msm_gpu *gpu, uint32_t param, 
uint64_t *value)
                *value = !adreno_is_a650_family(adreno_gpu) ? 0x100000 : 0;
                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);
+               *value = (uint64_t) adreno_gpu->rev.patchid |
+                               (uint64_t) (adreno_gpu->rev.minor << 8) |
+                               (uint64_t) (adreno_gpu->rev.major << 16) |
+                               (uint64_t) (adreno_gpu->rev.core << 24);
+               if (!adreno_gpu->info->revn)
+                       *value |= ((uint64_t) adreno_gpu->rev.sku) << 32;
                return 0;
        case MSM_PARAM_MAX_FREQ:
                *value = adreno_gpu->base.fast_rate;
-- 
2.7.4

Reply via email to