diff options
author | Zhi Wang <zhi.a.wang@intel.com> | 2017-09-12 16:51:10 +0300 |
---|---|---|
committer | Zhenyu Wang <zhenyuw@linux.intel.com> | 2017-11-16 06:46:53 +0300 |
commit | 497aa3f5e3bdb6bea5994f7075e2f2df2377d70e (patch) | |
tree | 6898fe9353422a7ed3047cf6e3a1e48f373c1f06 /drivers/gpu/drm/i915/gvt/scheduler.c | |
parent | 21527a8dafc40fc499ae57492c1c5d0098cbcf08 (diff) | |
download | linux-497aa3f5e3bdb6bea5994f7075e2f2df2377d70e.tar.xz |
drm/i915/gvt: Factor out prepare_workload()
Factor out prepare_workload() for the following re-factor.
Signed-off-by: Zhi Wang <zhi.a.wang@intel.com>
Diffstat (limited to 'drivers/gpu/drm/i915/gvt/scheduler.c')
-rw-r--r-- | drivers/gpu/drm/i915/gvt/scheduler.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/drivers/gpu/drm/i915/gvt/scheduler.c b/drivers/gpu/drm/i915/gvt/scheduler.c index 10ccb05d0e8d..3d1435f55c7b 100644 --- a/drivers/gpu/drm/i915/gvt/scheduler.c +++ b/drivers/gpu/drm/i915/gvt/scheduler.c @@ -325,6 +325,16 @@ err_scan: return ret; } +static int prepare_workload(struct intel_vgpu_workload *workload) +{ + int ret = 0; + + if (workload->prepare) + ret = workload->prepare(workload); + + return ret; +} + static int dispatch_workload(struct intel_vgpu_workload *workload) { struct intel_vgpu *vgpu = workload->vgpu; @@ -344,12 +354,10 @@ static int dispatch_workload(struct intel_vgpu_workload *workload) if (ret) goto out; - if (workload->prepare) { - ret = workload->prepare(workload); - if (ret) { - engine->context_unpin(engine, shadow_ctx); - goto out; - } + ret = prepare_workload(workload); + if (ret) { + engine->context_unpin(engine, shadow_ctx); + goto out; } out: |