All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Mika Kahola <mika.kahola@intel.com>
Cc: Takashi Iwai <tiwai@suse.de>,
	intel-gfx@lists.freedesktop.org, alsa-devel@alsa-project.org
Subject: Re: [PATCH 15/19] drm/i915: HSW cdclk support
Date: Mon, 13 Apr 2015 13:33:40 +0300	[thread overview]
Message-ID: <20150413103340.GC11009@intel.com> (raw)
In-Reply-To: <1428918194.3012.2.camel@sorvi>

On Mon, Apr 13, 2015 at 12:43:14PM +0300, Mika Kahola wrote:
> On Fri, 2015-04-10 at 16:10 +0200, Takashi Iwai wrote:
> > At Fri, 10 Apr 2015 16:27:39 +0300,
> > Mika Kahola wrote:
> > > 
> > > On Thu, 2015-04-09 at 17:17 +0200, Takashi Iwai wrote:
> > > > At Thu, 9 Apr 2015 15:51:27 +0200,
> > > > Daniel Vetter wrote:
> > > > > 
> > > > > On Thu, Apr 09, 2015 at 04:41:26PM +0300, Mika Kahola wrote:
> > > > > > On Thu, 2015-04-09 at 11:32 +0200, Daniel Vetter wrote:
> > > > > > > On Thu, Apr 09, 2015 at 10:24:24AM +0300, Mika Kahola wrote:
> > > > > > > > I did some testing on audio part with HDMI-HDMI and DP-HDMI cables
> > > > > > > > connected to my Haswell box. Before applying the patch I tested as a
> > > > > > > > reference with the latest -nightly (04-08-2015), 4.0-rc7. Unfortunately,
> > > > > > > > I failed to get any audio over HDMI cable. For a reference I tested with
> > > > > > > > the very same setup the vanillla kernel from Linus tree 4.0-rc7 and with
> > > > > > > > that kernel the audio worked ok. Then I did some GIT bisecting and it
> > > > > > > > turned out that the first commit that I failed to get audio working was
> > > > > > > > aa2fee4286e43b4784982b17669b02cc99c1ae55.
> > > > > > > 
> > > > > > I rerun the bisecting and this time the result was
> > > > > > 
> > > > > > commit 0a599838737a2527c35e4d94f794aefe59df1781
> > > > > > Merge: 2d846c7 a59d719
> > > > > > Author: Takashi Iwai <tiwai@suse.de>
> > > > > > Date:   Wed Apr 8 11:29:56 2015 +0200
> > > > > > 
> > > > > >     Merge branch 'for-linus' into for-next
> > > > > >     
> > > > > >     Back merge HD-audio quirks to for-next branch, so that we can apply
> > > > > >     a couple of more quirks.
> > > > > >     
> > > > > >     Signed-off-by: Takashi Iwai <tiwai@suse.de>
> > > > > 
> > > > > Adding Takashi and intel audio folks.
> > > > 
> > > > The bisecting looks odd.  The commit you pointed is a back-merge from
> > > > 4.0-rc to next branch, so this merge itself shouldn't bring so many
> > > > stuff -- at least about the sound part.
> > > > 
> > > > The diff in sound/* is found below.  As you can see, the only change
> > > > relevant with HDMI is the chunk in sound/pci/hda/hda_intel.c for
> > > > HD-audio controller, but it's specific to Skylake, thus this must be
> > > > irrelevant with your hardware.
> > > > 
> > > > Please double-check.
> > > 
> > > I double-checked the bisecting and I ended up with the same result. You're
> > > right, it does seems odd why audio on my Haswell box stopped working.
> > > 
> > > Any ideas how to proceed from here?
> > 
> > Try to check whether the reverting the diff of sound/* manually fixes
> > the problem.  (i.e. apply diff -R for the diff I showed in the
> > previous mail.)
> > 
> > If it doesn't fix but still reverting the whole commit does fix, it
> > means that something else got broken by the merge.
> > 
> > 
> > Takashi
> > 
> 
> I reverted the diff but unfortunately there were no difference. 
> 
> For curiosity, I tested the audio with the latest -nightly and I got
> the audio working again. I wonder what has changed but it seems that
> the problem is now solved.

BTW we now have a WARN triggering on BSW due to hda trying to query
the current cdclk frequency.
https://bugs.freedesktop.org/show_bug.cgi?id=90012

I'm not sure if hda really needs to know the cdclk freq on BSW or not.
But in either case I think we should just kill the HAS_DDI check. Once
these patches land the code will anyway work on all platforms. Mika,
can you add that to your list of things to do on top of these patches?

> 
> -Mika-
> 
> > 
> > > 
> > > Cheers,
> > > Mika
> > > 
> > > 
> > > > thanks,
> > > > 
> > > > Takashi
> > > > 
> > > > ===
> > > > % git diff 0a599838737a2527c35e4d94f794aefe59df1781^..0a599838737a2527c35e4d94f794aefe59df1781 sound
> > > > diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
> > > > index 9bcc5457a83e..e1c210515581 100644
> > > > --- a/sound/pci/hda/hda_intel.c
> > > > +++ b/sound/pci/hda/hda_intel.c
> > > > @@ -1967,7 +1967,7 @@ static const struct pci_device_id azx_ids[] = {
> > > >  	  .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH },
> > > >  	/* Sunrise Point */
> > > >  	{ PCI_DEVICE(0x8086, 0xa170),
> > > > -	  .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH },
> > > > +	  .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_SKYLAKE },
> > > >  	/* Sunrise Point-LP */
> > > >  	{ PCI_DEVICE(0x8086, 0x9d70),
> > > >  	  .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_SKYLAKE },
> > > > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> > > > index e0c06f9a0e80..7f46d063af57 100644
> > > > --- a/sound/pci/hda/patch_realtek.c
> > > > +++ b/sound/pci/hda/patch_realtek.c
> > > > @@ -396,7 +396,7 @@ static void alc_auto_setup_eapd(struct hda_codec *codec, bool on)
> > > >  {
> > > >  	/* We currently only handle front, HP */
> > > >  	static hda_nid_t pins[] = {
> > > > -		0x0f, 0x10, 0x14, 0x15, 0
> > > > +		0x0f, 0x10, 0x14, 0x15, 0x17, 0
> > > >  	};
> > > >  	hda_nid_t *p;
> > > >  	for (p = pins; *p; p++)
> > > > @@ -2870,6 +2870,8 @@ static void alc283_init(struct hda_codec *codec)
> > > >  
> > > >  	if (!hp_pin)
> > > >  		return;
> > > > +
> > > > +	msleep(30);
> > > >  	hp_pin_sense = snd_hda_jack_detect(codec, hp_pin);
> > > >  
> > > >  	/* Index 0x43 Direct Drive HP AMP LPM Control 1 */
> > > > @@ -3564,6 +3566,7 @@ static void alc_headset_mode_unplugged(struct hda_codec *codec)
> > > >  
> > > >  	switch (codec->core.vendor_id) {
> > > >  	case 0x10ec0255:
> > > > +	case 0x10ec0256:
> > > >  		alc_process_coef_fw(codec, coef0255);
> > > >  		break;
> > > >  	case 0x10ec0233:
> > > > @@ -3619,6 +3622,7 @@ static void alc_headset_mode_mic_in(struct hda_codec *codec, hda_nid_t hp_pin,
> > > >  
> > > >  	switch (codec->core.vendor_id) {
> > > >  	case 0x10ec0255:
> > > > +	case 0x10ec0256:
> > > >  		alc_write_coef_idx(codec, 0x45, 0xc489);
> > > >  		snd_hda_set_pin_ctl_cache(codec, hp_pin, 0);
> > > >  		alc_process_coef_fw(codec, coef0255);
> > > > @@ -3688,6 +3692,7 @@ static void alc_headset_mode_default(struct hda_codec *codec)
> > > >  
> > > >  	switch (codec->core.vendor_id) {
> > > >  	case 0x10ec0255:
> > > > +	case 0x10ec0256:
> > > >  		alc_process_coef_fw(codec, coef0255);
> > > >  		break;
> > > >  	case 0x10ec0233:
> > > > @@ -3742,6 +3747,7 @@ static void alc_headset_mode_ctia(struct hda_codec *codec)
> > > >  
> > > >  	switch (codec->core.vendor_id) {
> > > >  	case 0x10ec0255:
> > > > +	case 0x10ec0256:
> > > >  		alc_process_coef_fw(codec, coef0255);
> > > >  		break;
> > > >  	case 0x10ec0233:
> > > > @@ -3796,6 +3802,7 @@ static void alc_headset_mode_omtp(struct hda_codec *codec)
> > > >  
> > > >  	switch (codec->core.vendor_id) {
> > > >  	case 0x10ec0255:
> > > > +	case 0x10ec0256:
> > > >  		alc_process_coef_fw(codec, coef0255);
> > > >  		break;
> > > >  	case 0x10ec0233:
> > > > @@ -3841,6 +3848,7 @@ static void alc_determine_headset_type(struct hda_codec *codec)
> > > >  
> > > >  	switch (codec->core.vendor_id) {
> > > >  	case 0x10ec0255:
> > > > +	case 0x10ec0256:
> > > >  		alc_process_coef_fw(codec, coef0255);
> > > >  		msleep(300);
> > > >  		val = alc_read_coef_idx(codec, 0x46);
> > > > @@ -4993,6 +5001,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
> > > >  	SND_PCI_QUIRK(0x17aa, 0x501a, "Thinkpad", ALC283_FIXUP_INT_MIC),
> > > >  	SND_PCI_QUIRK(0x17aa, 0x501e, "Thinkpad L440", ALC292_FIXUP_TPT440_DOCK),
> > > >  	SND_PCI_QUIRK(0x17aa, 0x5026, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
> > > > +	SND_PCI_QUIRK(0x17aa, 0x5036, "Thinkpad T450s", ALC292_FIXUP_TPT440_DOCK),
> > > >  	SND_PCI_QUIRK(0x17aa, 0x5109, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
> > > >  	SND_PCI_QUIRK(0x17aa, 0x3bf8, "Quanta FL1", ALC269_FIXUP_PCM_44K),
> > > >  	SND_PCI_QUIRK(0x17aa, 0x9e54, "LENOVO NB", ALC269_FIXUP_LENOVO_EAPD),
> > > > @@ -5173,6 +5182,16 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
> > > >  		{0x17, 0x40000000},
> > > >  		{0x1d, 0x40700001},
> > > >  		{0x21, 0x02211050}),
> > > > +	SND_HDA_PIN_QUIRK(0x10ec0256, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
> > > > +		{0x12, 0x90a60140},
> > > > +		{0x13, 0x40000000},
> > > > +		{0x14, 0x90170110},
> > > > +		{0x19, 0x411111f0},
> > > > +		{0x1a, 0x411111f0},
> > > > +		{0x1b, 0x411111f0},
> > > > +		{0x1d, 0x40700001},
> > > > +		{0x1e, 0x411111f0},
> > > > +		{0x21, 0x02211020}),
> > > >  	SND_HDA_PIN_QUIRK(0x10ec0280, 0x103c, "HP", ALC280_FIXUP_HP_GPIO4,
> > > >  		{0x12, 0x90a60130},
> > > >  		{0x13, 0x40000000},
> > > > diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
> > > > index 353532b8aee4..8f63e8c8b46c 100644
> > > > --- a/sound/usb/quirks.c
> > > > +++ b/sound/usb/quirks.c
> > > > @@ -1113,8 +1113,13 @@ void snd_usb_set_format_quirk(struct snd_usb_substream *subs,
> > > >  
> > > >  bool snd_usb_get_sample_rate_quirk(struct snd_usb_audio *chip)
> > > >  {
> > > > -	/* MS Lifecam HD-5000 doesn't support reading the sample rate. */
> > > > -	return chip->usb_id == USB_ID(0x045E, 0x076D);
> > > > +	/* devices which do not support reading the sample rate. */
> > > > +	switch (chip->usb_id) {
> > > > +	case USB_ID(0x045E, 0x076D): /* MS Lifecam HD-5000 */
> > > > +	case USB_ID(0x04D8, 0xFEEA): /* Benchmark DAC1 Pre */
> > > > +		return true;
> > > > +	}
> > > > +	return false;
> > > >  }
> > > >  
> > > >  /* Marantz/Denon USB DACs need a vendor cmd to switch
> > > > 
> > > 
> > > 
> 
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2015-04-13 10:33 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-31 11:05 All sort of cdclk stuff Mika Kahola
2015-03-31 11:09 ` [PATCH 01/19] drm/i915: Return more precise cdclk for gen2/3 Mika Kahola
2015-03-31 13:10   ` Damien Lespiau
2015-03-31 11:09 ` [PATCH 02/19] drm/i915: Fix i855 get_display_clock_speed Mika Kahola
2015-03-31 11:11 ` [PATCH 04/19] drm/i915: Add cdclk extraction for g33, g965gm and g4x Mika Kahola
2015-03-31 11:11 ` [PATCH 05/19] drm/i915: ILK cdclk seems to be 450MHz Mika Kahola
2015-03-31 13:12   ` Damien Lespiau
2015-03-31 11:11 ` [PATCH 06/19] drm/i915: Assume 400MHz cdclk for the rest of gen4-7 Mika Kahola
2015-03-31 13:13   ` Damien Lespiau
2015-03-31 11:11 ` [PATCH 07/19] drm/i915: Simplify ilk_get_aux_clock_divider Mika Kahola
2015-03-31 13:13   ` Damien Lespiau
2015-03-31 11:12 ` [PATCH 08/19] drm/i915: Convert the ddi cdclk code to get_display_clock_speed Mika Kahola
2015-03-31 13:15   ` Damien Lespiau
2015-03-31 13:48     ` Daniel Vetter
2015-03-31 11:14 ` [PATCH 10/19] drm/i915: Cache current cdclk frequency in dev_priv Mika Kahola
2015-03-31 11:14 ` [PATCH 11/19] drm/i915: Use cached cdclk value Mika Kahola
2015-03-31 11:14 ` [PATCH 12/19] drm/i915: Unify ilk and hsw .get_aux_clock_divider Mika Kahola
2015-03-31 11:14 ` [PATCH 13/19] drm/i915: Store max cdclk value in dev_priv Mika Kahola
2015-03-31 11:14 ` [PATCH 14/19] drm/i915: Don't enable IPS when pixel rate exceeds 95% of cdclk Mika Kahola
2015-03-31 11:14 ` [PATCH 15/19] drm/i915: HSW cdclk support Mika Kahola
2015-04-07  6:27   ` Sivakumar Thulasimani
2015-04-07  7:03     ` Sivakumar Thulasimani
2015-04-07  8:29       ` Ville Syrjälä
2015-04-07  8:36         ` Sivakumar Thulasimani
2015-04-07  9:29           ` Mika Kahola
2015-04-07 13:52             ` Daniel Vetter
2015-04-09  7:24               ` Mika Kahola
2015-04-09  9:32                 ` Daniel Vetter
2015-04-09 13:41                   ` Mika Kahola
2015-04-09 13:51                     ` Daniel Vetter
2015-04-09 15:17                       ` Takashi Iwai
2015-04-10 13:27                         ` Mika Kahola
2015-04-10 14:10                           ` Takashi Iwai
2015-04-13  9:43                             ` Mika Kahola
2015-04-13 10:33                               ` Ville Syrjälä [this message]
2015-04-14  6:36           ` Mika Kahola
2015-04-14  6:57             ` Sivakumar Thulasimani
2015-04-14  7:06               ` Mika Kahola
2015-04-14  7:54                 ` Sivakumar Thulasimani
2015-04-07  8:28     ` Ville Syrjälä
2015-03-31 11:14 ` [PATCH 16/19] drm/i915: Add IS_BDW_ULX Mika Kahola
2015-03-31 11:14 ` [PATCH 17/19] drm/i915: BDW clock change support Mika Kahola
2015-03-31 11:14 ` [PATCH 18/19] drm/i915: Limit CHV max cdclk Mika Kahola
2015-03-31 11:14 ` [PATCH 19/19] drm/i915: Modeset global_pipes() update Mika Kahola
2015-03-31 14:45   ` Ville Syrjälä
2015-04-02  9:17     ` Mika Kahola
2015-04-02 10:05   ` Mika Kahola
2015-04-02 10:16     ` Ville Syrjälä
2015-04-07  9:36     ` Mika Kahola
2015-03-31 13:18 ` All sort of cdclk stuff Damien Lespiau

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150413103340.GC11009@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=mika.kahola@intel.com \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.