Re: [RFC PATCH 4/5] drm: i915: add DisplayPort amp unmute for LPE audio mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks Jani and Ville for the comments. Couple of precisions needed below:

  #define GEN6_BSD_RNCID			_MMIO(0x12198)
#define GEN7_FF_THREAD_MODE _MMIO(0x20a0)
diff --git a/drivers/gpu/drm/i915/intel_lpe_audio.c b/drivers/gpu/drm/i915/intel_lpe_audio.c
index 245523e..b3134ef 100644
--- a/drivers/gpu/drm/i915/intel_lpe_audio.c
+++ b/drivers/gpu/drm/i915/intel_lpe_audio.c
@@ -248,6 +248,15 @@ static int lpe_audio_setup(struct drm_i915_private *dev_priv)
  		goto err_free_irq;
  	}
+ /* Enable DPAudio debug bits by default */
+	if (IS_CHERRYVIEW(dev_priv)) {
VLV too. And like I said we might need this in the powerwell code as
well. You should make a test to see if the register value is retained
across the display power well being turned off. Eg. simply disable all
displays, check the log to make sure it really did turn off the display
power well, then re-enable some displays, and finally check if the
register value was retained or not).
VLV has DisplayPort? I thought this was an addition on CHT, and I really don't know of any devices with this combination of HDaudio disabled+DP. I'd rather keep this CHT-only until we find a device where this can be tested.

On the powerwell, I could use more guidance. i tried this first solution to see if streaming worked (and it did :-)). I don't mind moving the code somewhere else but I have no idea where.

+		u32 chicken_bit;
+
+		chicken_bit = I915_READ(VLV_AUD_CHICKEN_BIT_REG);
+		I915_WRITE(VLV_AUD_CHICKEN_BIT_REG,
+			   chicken_bit | CHICKEN_BIT_DBG_ENABLE);
+	}
+
  	return 0;
  err_free_irq:
  	irq_free_desc(dev_priv->lpe_audio.irq);
@@ -357,6 +366,24 @@ void intel_lpe_audio_notify(struct drm_i915_private *dev_priv,
  			pdata->tmds_clock_speed = tmds_clk_speed;
  		if (link_rate)
  			pdata->link_rate = link_rate;
+
+		if (dp_output) { /* unmute the amp */
The spec doesn't distinquish DP vs. HDMI here. So I presume we should be
able to do this always.

I'll try to see if HDMI still works with this. We could tentatively add unmute in all cases but I'll need to add a test for Baytrail (no PORT_D) so in the end it's the same number of tests.


And I think we might want to mute things again when disabling audio.
I was wondering if there would be side effects of writing to a register controlling a port if that port is not connected any longer. I'll give it a try.
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux