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

Commit 4757d972 authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge tag 'drm-intel-fixes-2018-02-28' of...

Merge tag 'drm-intel-fixes-2018-02-28' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes

- 2 display fixes: audio av_enc_map overflow check, and Cannonlake PLL related register offset.
- 3 gem fixes: Clear for in-fence out-fence, fix for clearing exec_flags on execbuf failure, and add back global seqno to tracepoints that had been removed recently by other fence related patch.

* tag 'drm-intel-fixes-2018-02-28' of git://anongit.freedesktop.org/drm/drm-intel:
  drm/i915: Make global seqno known in i915_gem_request_execute tracepoint
  drm/i915: Clear the in-use marker on execbuf failure
  drm/i915/cnl: Fix PORT_TX_DW5/7 register address
  drm/i915/audio: fix check for av_enc_map overflow
  drm/i915: Fix rsvd2 mask when out-fence is returned
parents 219b3b22 fa89782b
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -505,6 +505,8 @@ eb_add_vma(struct i915_execbuffer *eb, unsigned int i, struct i915_vma *vma)
		list_add_tail(&vma->exec_link, &eb->unbound);
		if (drm_mm_node_allocated(&vma->node))
			err = i915_vma_unbind(vma);
		if (unlikely(err))
			vma->exec_flags = NULL;
	}
	return err;
}
@@ -2410,7 +2412,7 @@ i915_gem_do_execbuffer(struct drm_device *dev,
	if (out_fence) {
		if (err == 0) {
			fd_install(out_fence_fd, out_fence->file);
			args->rsvd2 &= GENMASK_ULL(0, 31); /* keep in-fence */
			args->rsvd2 &= GENMASK_ULL(31, 0); /* keep in-fence */
			args->rsvd2 |= (u64)out_fence_fd << 32;
			out_fence_fd = -1;
		} else {
+2 −2
Original line number Diff line number Diff line
@@ -476,8 +476,6 @@ void __i915_gem_request_submit(struct drm_i915_gem_request *request)
	GEM_BUG_ON(!irqs_disabled());
	lockdep_assert_held(&engine->timeline->lock);

	trace_i915_gem_request_execute(request);

	/* Transfer from per-context onto the global per-engine timeline */
	timeline = engine->timeline;
	GEM_BUG_ON(timeline == request->timeline);
@@ -501,6 +499,8 @@ void __i915_gem_request_submit(struct drm_i915_gem_request *request)
	list_move_tail(&request->link, &timeline->requests);
	spin_unlock(&request->timeline->lock);

	trace_i915_gem_request_execute(request);

	wake_up_all(&request->execute);
}

+2 −2
Original line number Diff line number Diff line
@@ -2027,7 +2027,7 @@ enum i915_power_well_id {
#define _CNL_PORT_TX_DW5_LN0_AE		0x162454
#define _CNL_PORT_TX_DW5_LN0_B		0x162654
#define _CNL_PORT_TX_DW5_LN0_C		0x162C54
#define _CNL_PORT_TX_DW5_LN0_D		0x162ED4
#define _CNL_PORT_TX_DW5_LN0_D		0x162E54
#define _CNL_PORT_TX_DW5_LN0_F		0x162854
#define CNL_PORT_TX_DW5_GRP(port)	_MMIO_PORT6(port, \
						    _CNL_PORT_TX_DW5_GRP_AE, \
@@ -2058,7 +2058,7 @@ enum i915_power_well_id {
#define _CNL_PORT_TX_DW7_LN0_AE		0x16245C
#define _CNL_PORT_TX_DW7_LN0_B		0x16265C
#define _CNL_PORT_TX_DW7_LN0_C		0x162C5C
#define _CNL_PORT_TX_DW7_LN0_D		0x162EDC
#define _CNL_PORT_TX_DW7_LN0_D		0x162E5C
#define _CNL_PORT_TX_DW7_LN0_F		0x16285C
#define CNL_PORT_TX_DW7_GRP(port)	_MMIO_PORT6(port, \
						    _CNL_PORT_TX_DW7_GRP_AE, \
+3 −3
Original line number Diff line number Diff line
@@ -779,11 +779,11 @@ static struct intel_encoder *get_saved_enc(struct drm_i915_private *dev_priv,
{
	struct intel_encoder *encoder;

	/* MST */
	if (pipe >= 0) {
		if (WARN_ON(pipe >= ARRAY_SIZE(dev_priv->av_enc_map)))
			return NULL;

	/* MST */
	if (pipe >= 0) {
		encoder = dev_priv->av_enc_map[pipe];
		/*
		 * when bootup, audio driver may not know it is