From 89cd5927c98a2c9b94ab01934f9f22eaa37fed31 Mon Sep 17 00:00:00 2001 From: Mikko Perttunen Date: Tue, 25 Jul 2023 16:43:43 +0300 Subject: [PATCH] drm/tegra: Enable timestamping for virtual engines Enable timestamping for virtual engines except for NVJPG, as it doesn't support timestamping currently. Bug 4174916 Signed-off-by: Mikko Perttunen Change-Id: I36d426f3d6d83c056a7cf10555460966fc820e6c Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2942199 Reviewed-by: Santosh BS GVS: Gerrit_Virtual_Submit --- drivers/gpu/drm/tegra/virt.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/gpu/drm/tegra/virt.c b/drivers/gpu/drm/tegra/virt.c index ee2b7b0c..03e88636 100644 --- a/drivers/gpu/drm/tegra/virt.c +++ b/drivers/gpu/drm/tegra/virt.c @@ -115,12 +115,30 @@ static int virt_engine_can_use_memory_ctx(struct tegra_drm_client *client, bool return 0; } +static int virt_engine_has_job_timestamping(struct tegra_drm_client *client, bool *supported) +{ + struct virt_engine *virt = to_virt_engine(client); + + switch (virt->client.base.class) { + case HOST1X_CLASS_NVJPG: + case HOST1X_CLASS_NVJPG1: + *supported = false; + break; + default: + *supported = true; + break; + } + + return 0; +} + static const struct tegra_drm_client_ops virt_engine_ops = { .open_channel = virt_engine_open_channel, .close_channel = virt_engine_close_channel, .submit = tegra_drm_submit, .get_streamid_offset = tegra_drm_get_streamid_offset_thi, .can_use_memory_ctx = virt_engine_can_use_memory_ctx, + .has_job_timestamping = virt_engine_has_job_timestamping, }; static int virt_engine_setup_ivc(struct virt_engine *virt)