summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/i915/gvt/execlist.c
diff options
context:
space:
mode:
authorZhi Wang <zhi.a.wang@intel.com>2017-09-10 16:58:11 +0300
committerZhenyu Wang <zhenyuw@linux.intel.com>2017-11-16 06:46:50 +0300
commit325eb94a33451db138e8da7393ad8e9a0e22dd18 (patch)
treebcf593827cd5a68aa28b3e96b48ba78b5911a16b /drivers/gpu/drm/i915/gvt/execlist.c
parent8cf80a2e4b313d1aba7d10ce6ebfbb44a119c66c (diff)
downloadlinux-325eb94a33451db138e8da7393ad8e9a0e22dd18.tar.xz
drm/i915/gvt: Move ring scan buffers into intel_vgpu_submission
Move ring scan buffers into intel_vgpu_submission since they belongs to a part of vGPU submission stuffs. Signed-off-by: Zhi Wang <zhi.a.wang@intel.com>
Diffstat (limited to 'drivers/gpu/drm/i915/gvt/execlist.c')
-rw-r--r--drivers/gpu/drm/i915/gvt/execlist.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/drivers/gpu/drm/i915/gvt/execlist.c b/drivers/gpu/drm/i915/gvt/execlist.c
index 5e4f35f9e290..7c7ab63a7bb8 100644
--- a/drivers/gpu/drm/i915/gvt/execlist.c
+++ b/drivers/gpu/drm/i915/gvt/execlist.c
@@ -864,15 +864,18 @@ void intel_vgpu_clean_execlist(struct intel_vgpu *vgpu)
clean_workloads(vgpu, ALL_ENGINES);
for_each_engine(engine, vgpu->gvt->dev_priv, i) {
- kfree(vgpu->ring_scan_buffer[i]);
- vgpu->ring_scan_buffer[i] = NULL;
- vgpu->ring_scan_buffer_size[i] = 0;
+ struct intel_vgpu_submission *s = &vgpu->submission;
+
+ kfree(s->ring_scan_buffer[i]);
+ s->ring_scan_buffer[i] = NULL;
+ s->ring_scan_buffer_size[i] = 0;
}
}
#define RESERVE_RING_BUFFER_SIZE ((1 * PAGE_SIZE)/8)
int intel_vgpu_init_execlist(struct intel_vgpu *vgpu)
{
+ struct intel_vgpu_submission *s = &vgpu->submission;
enum intel_engine_id i;
struct intel_engine_cs *engine;
@@ -881,21 +884,21 @@ int intel_vgpu_init_execlist(struct intel_vgpu *vgpu)
/* each ring has a shadow ring buffer until vgpu destroyed */
for_each_engine(engine, vgpu->gvt->dev_priv, i) {
- vgpu->ring_scan_buffer[i] =
+ s->ring_scan_buffer[i] =
kmalloc(RESERVE_RING_BUFFER_SIZE, GFP_KERNEL);
- if (!vgpu->ring_scan_buffer[i]) {
+ if (!s->ring_scan_buffer[i]) {
gvt_vgpu_err("fail to alloc ring scan buffer\n");
goto out;
}
- vgpu->ring_scan_buffer_size[i] = RESERVE_RING_BUFFER_SIZE;
+ s->ring_scan_buffer_size[i] = RESERVE_RING_BUFFER_SIZE;
}
return 0;
out:
for_each_engine(engine, vgpu->gvt->dev_priv, i) {
- if (vgpu->ring_scan_buffer_size[i]) {
- kfree(vgpu->ring_scan_buffer[i]);
- vgpu->ring_scan_buffer[i] = NULL;
- vgpu->ring_scan_buffer_size[i] = 0;
+ if (s->ring_scan_buffer_size[i]) {
+ kfree(s->ring_scan_buffer[i]);
+ s->ring_scan_buffer[i] = NULL;
+ s->ring_scan_buffer_size[i] = 0;
}
}
return -ENOMEM;