mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-24 02:01:36 +03:00
drm/tegra: Support virtualized engines
Support engines that are not owned by NvHost Server. Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com> Change-Id: I3d3c8b153e1e5c92bcf6d9e1439c20fba3b9767f Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2811838 Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com> Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com> GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
committed by
Laxman Dewangan
parent
09c1b1e9da
commit
93006031b9
@@ -517,8 +517,10 @@ static void release_job(struct host1x_job *job)
|
||||
kfree(job_data->used_mappings);
|
||||
kfree(job_data);
|
||||
|
||||
pm_runtime_mark_last_busy(client->base.dev);
|
||||
pm_runtime_put_autosuspend(client->base.dev);
|
||||
if (pm_runtime_enabled(client->base.dev)) {
|
||||
pm_runtime_mark_last_busy(client->base.dev);
|
||||
pm_runtime_put_autosuspend(client->base.dev);
|
||||
}
|
||||
}
|
||||
|
||||
int tegra_drm_ioctl_channel_submit(struct drm_device *drm, void *data,
|
||||
@@ -646,11 +648,13 @@ int tegra_drm_ioctl_channel_submit(struct drm_device *drm, void *data,
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Boot engine. */
|
||||
err = pm_runtime_resume_and_get(context->client->base.dev);
|
||||
if (err < 0) {
|
||||
SUBMIT_ERR(context, "could not power up engine: %d", err);
|
||||
goto put_memory_context;
|
||||
/* Boot engine, if necessary. */
|
||||
if (pm_runtime_enabled(context->client->base.dev)) {
|
||||
err = pm_runtime_resume_and_get(context->client->base.dev);
|
||||
if (err < 0) {
|
||||
SUBMIT_ERR(context, "could not power up engine: %d", err);
|
||||
goto put_memory_context;
|
||||
}
|
||||
}
|
||||
|
||||
job->user_data = job_data;
|
||||
|
||||
Reference in New Issue
Block a user