summaryrefslogtreecommitdiff
path: root/freedreno
diff options
context:
space:
mode:
authorRob Clark <robclark@freedesktop.org>2014-06-18 09:45:23 -0400
committerRob Clark <robclark@freedesktop.org>2014-06-18 10:42:07 -0400
commit56d170bc06c3ac69deb697f057c213f7c46d9a68 (patch)
tree1a5b756573afcfdbcfc41799f7656c0e1c0e0e68 /freedreno
parent09db8019da88644cd54dc9d93e8398d8b1f7d923 (diff)
freedreno: add chip-id property
Userspace needs to know the patch-revision in addition to just the gpu-id (ie. 320, 305, etc). Signed-off-by: Rob Clark <robclark@freedesktop.org>
Diffstat (limited to 'freedreno')
-rw-r--r--freedreno/freedreno_drmif.h1
-rw-r--r--freedreno/kgsl/kgsl_pipe.c3
-rw-r--r--freedreno/msm/msm_pipe.c5
-rw-r--r--freedreno/msm/msm_priv.h1
4 files changed, 10 insertions, 0 deletions
diff --git a/freedreno/freedreno_drmif.h b/freedreno/freedreno_drmif.h
index 41ef6099..7c54e04b 100644
--- a/freedreno/freedreno_drmif.h
+++ b/freedreno/freedreno_drmif.h
@@ -49,6 +49,7 @@ enum fd_param_id {
FD_DEVICE_ID,
FD_GMEM_SIZE,
FD_GPU_ID,
+ FD_CHIP_ID,
};
/* bo flags: */
diff --git a/freedreno/kgsl/kgsl_pipe.c b/freedreno/kgsl/kgsl_pipe.c
index f7ff7fe0..88d9505b 100644
--- a/freedreno/kgsl/kgsl_pipe.c
+++ b/freedreno/kgsl/kgsl_pipe.c
@@ -43,6 +43,9 @@ static int kgsl_pipe_get_param(struct fd_pipe *pipe,
case FD_GMEM_SIZE:
*value = kgsl_pipe->devinfo.gmem_sizebytes;
return 0;
+ case FD_CHIP_ID:
+ *value = kgsl_pipe->devinfo.chip_id;
+ return 0;
default:
ERROR_MSG("invalid param id: %d", param);
return -1;
diff --git a/freedreno/msm/msm_pipe.c b/freedreno/msm/msm_pipe.c
index ece4de5a..56505037 100644
--- a/freedreno/msm/msm_pipe.c
+++ b/freedreno/msm/msm_pipe.c
@@ -41,6 +41,9 @@ static int msm_pipe_get_param(struct fd_pipe *pipe,
case FD_GMEM_SIZE:
*value = msm_pipe->gmem;
return 0;
+ case FD_CHIP_ID:
+ *value = msm_pipe->chip_id;
+ return 0;
default:
ERROR_MSG("invalid param id: %d", param);
return -1;
@@ -117,12 +120,14 @@ struct fd_pipe * msm_pipe_new(struct fd_device *dev, enum fd_pipe_id id)
msm_pipe->pipe = pipe_id[id];
msm_pipe->gpu_id = get_param(dev, pipe_id[id], MSM_PARAM_GPU_ID);
msm_pipe->gmem = get_param(dev, pipe_id[id], MSM_PARAM_GMEM_SIZE);
+ msm_pipe->chip_id = get_param(dev, pipe_id[id], MSM_PARAM_CHIP_ID);
if (! msm_pipe->gpu_id)
goto fail;
INFO_MSG("Pipe Info:");
INFO_MSG(" GPU-id: %d", msm_pipe->gpu_id);
+ INFO_MSG(" Chip-id: 0x%08x", msm_pipe->chip_id);
INFO_MSG(" GMEM size: 0x%08x", msm_pipe->gmem);
return pipe;
diff --git a/freedreno/msm/msm_priv.h b/freedreno/msm/msm_priv.h
index 4c5623a9..75ae883f 100644
--- a/freedreno/msm/msm_priv.h
+++ b/freedreno/msm/msm_priv.h
@@ -53,6 +53,7 @@ struct msm_pipe {
uint32_t pipe;
uint32_t gpu_id;
uint32_t gmem;
+ uint32_t chip_id;
};
static inline struct msm_pipe * to_msm_pipe(struct fd_pipe *x)