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 <mperttunen@nvidia.com>
Change-Id: I36d426f3d6d83c056a7cf10555460966fc820e6c
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2942199
Reviewed-by: Santosh BS <santoshb@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
Mikko Perttunen
2023-07-25 16:43:43 +03:00
committed by mobile promotions
parent 44443da0bb
commit 89cd5927c9

View File

@@ -115,12 +115,30 @@ static int virt_engine_can_use_memory_ctx(struct tegra_drm_client *client, bool
return 0; 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 = { static const struct tegra_drm_client_ops virt_engine_ops = {
.open_channel = virt_engine_open_channel, .open_channel = virt_engine_open_channel,
.close_channel = virt_engine_close_channel, .close_channel = virt_engine_close_channel,
.submit = tegra_drm_submit, .submit = tegra_drm_submit,
.get_streamid_offset = tegra_drm_get_streamid_offset_thi, .get_streamid_offset = tegra_drm_get_streamid_offset_thi,
.can_use_memory_ctx = virt_engine_can_use_memory_ctx, .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) static int virt_engine_setup_ivc(struct virt_engine *virt)