Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cf30f509 authored by Jani Nikula's avatar Jani Nikula
Browse files

Merge tag 'gvt-next-2016-11-30' of https://github.com/01org/gvt-linux into drm-intel-next-fixes



From Zhenyu Wang <zhenyuw@linux.intel.com>

gvt-next-2016-11-30

- initialize vgpu as primary for correct cfg space setting
- fix 64 bit bar emulation
- fix un-released lock issue on dispatch workload err path

Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
parents e9cbc4bd 53d6f812
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -361,6 +361,8 @@ static inline void intel_vgpu_write_pci_bar(struct intel_vgpu *vgpu,
		 * leave the bit 3 - bit 0 unchanged.
		 */
		*pval = (val & GENMASK(31, 4)) | (*pval & GENMASK(3, 0));
	} else {
		*pval = val;
	}
}

+6 −4
Original line number Diff line number Diff line
@@ -177,8 +177,8 @@ static int dispatch_workload(struct intel_vgpu_workload *workload)
	rq = i915_gem_request_alloc(dev_priv->engine[ring_id], shadow_ctx);
	if (IS_ERR(rq)) {
		gvt_err("fail to allocate gem request\n");
		workload->status = PTR_ERR(rq);
		return workload->status;
		ret = PTR_ERR(rq);
		goto out;
	}

	gvt_dbg_sched("ring id %d get i915 gem request %p\n", ring_id, rq);
@@ -212,6 +212,7 @@ static int dispatch_workload(struct intel_vgpu_workload *workload)
	if (ret)
		workload->status = ret;

	if (!IS_ERR_OR_NULL(rq))
		i915_add_request_no_flush(rq);
	mutex_unlock(&dev_priv->drm.struct_mutex);
	return ret;
@@ -460,6 +461,7 @@ static int workload_thread(void *priv)

		complete_current_workload(gvt, ring_id);

		if (workload->req)
			i915_gem_request_put(fetch_and_zero(&workload->req));

		if (need_force_wake)
+1 −0
Original line number Diff line number Diff line
@@ -378,6 +378,7 @@ struct intel_vgpu *intel_gvt_create_vgpu(struct intel_gvt *gvt,
	struct intel_vgpu *vgpu;

	param.handle = 0;
	param.primary = 1;
	param.low_gm_sz = type->low_gm_size;
	param.high_gm_sz = type->high_gm_size;
	param.fence_sz = type->fence;