diff options
author | Zhi Wang <zhi.a.wang@intel.com> | 2017-09-10 16:58:11 +0300 |
---|---|---|
committer | Zhenyu Wang <zhenyuw@linux.intel.com> | 2017-11-16 06:46:50 +0300 |
commit | 325eb94a33451db138e8da7393ad8e9a0e22dd18 (patch) | |
tree | bcf593827cd5a68aa28b3e96b48ba78b5911a16b /drivers/gpu/drm/i915/gvt/execlist.c | |
parent | 8cf80a2e4b313d1aba7d10ce6ebfbb44a119c66c (diff) | |
download | linux-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.c | 23 |
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; |