summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConnor Abbott <cwabbott0@gmail.com>2023-12-07 22:39:03 +0100
committerMarge Bot <emma+marge@anholt.net>2024-02-16 15:48:54 +0000
commit6bea22eb30f425386764d992217cbbf3731b2719 (patch)
treee3f071c7657400c910b99355d0c0f9a7c5d74a02
parent5229b3ec0224f324fe6d0dda5b41604077142846 (diff)
drm/msm: Expose the highest bank bit in the capset
This will avoid an extra roundtrip on startup time in turnip. Signed-off-by: Connor Abbott <cwabbott0@gmail.com> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/1314>
-rw-r--r--src/drm/msm/msm_renderer.c2
-rw-r--r--src/drm_hw.h1
2 files changed, 3 insertions, 0 deletions
diff --git a/src/drm/msm/msm_renderer.c b/src/drm/msm/msm_renderer.c
index 5133672..9a890c3 100644
--- a/src/drm/msm/msm_renderer.c
+++ b/src/drm/msm/msm_renderer.c
@@ -296,6 +296,7 @@ msm_renderer_probe(int fd, struct virgl_renderer_capset_drm *capset)
get_param64(fd, MSM_PARAM_GMEM_BASE, &capset->u.msm.gmem_base);
get_param64(fd, MSM_PARAM_CHIP_ID, &capset->u.msm.chip_id);
get_param32(fd, MSM_PARAM_MAX_FREQ, &capset->u.msm.max_freq);
+ get_param32(fd, MSM_PARAM_HIGHEST_BANK_BIT, &capset->u.msm.highest_bank_bit);
nr_timelines = capset->u.msm.priorities;
uabi_version = capset->version_minor;
@@ -313,6 +314,7 @@ msm_renderer_probe(int fd, struct virgl_renderer_capset_drm *capset)
drm_log("gmem_base: 0x%0" PRIx64, capset->u.msm.gmem_base);
drm_log("chip_id: 0x%0" PRIx64, capset->u.msm.chip_id);
drm_log("max_freq: %u", capset->u.msm.max_freq);
+ drm_log("highest_bank_bit: %u", capset->u.msm.highest_bank_bit);
if (!capset->u.msm.va_size) {
drm_log("Host kernel does not support userspace allocated IOVA");
diff --git a/src/drm_hw.h b/src/drm_hw.h
index 45a2f4f..6dd66b8 100644
--- a/src/drm_hw.h
+++ b/src/drm_hw.h
@@ -26,6 +26,7 @@ struct virgl_renderer_capset_drm {
uint64_t gmem_base;
uint64_t chip_id;
uint32_t max_freq;
+ uint32_t highest_bank_bit;
} msm; /* context_type == VIRTGPU_DRM_CONTEXT_MSM */
} u;
};