diff mbox series

[1/5] ALSA: hda - Force polling mode on CNL for fixing codec communication

Message ID 20190526165836.10867-1-yung-chuan.liao@linux.intel.com (mailing list archive)
State New, archived
Headers show
Series [1/5] ALSA: hda - Force polling mode on CNL for fixing codec communication | expand

Commit Message

Bard Liao May 26, 2019, 4:58 p.m. UTC
From: Bard Liao <yung-chuan.liao@linux.intel.com>

We observed the same issue as reported by commit a8d7bde23e7130686b7662
("ALSA: hda - Force polling mode on CFL for fixing codec communication")
We don't have a better solution. So apply the same workaround to CNL.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
---
 sound/pci/hda/hda_intel.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Takashi Iwai May 27, 2019, 7:37 a.m. UTC | #1
On Sun, 26 May 2019 18:58:32 +0200,
Bard liao wrote:
> 
> From: Bard Liao <yung-chuan.liao@linux.intel.com>
> 
> We observed the same issue as reported by commit a8d7bde23e7130686b7662
> ("ALSA: hda - Force polling mode on CFL for fixing codec communication")
> We don't have a better solution. So apply the same workaround to CNL.
> 
> Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>

I think this should go to 5.2-rc, as it's a bug fix, so likely I'm
going to take it soon later.

The question is about the rest patches.  The patches 2-4 are basically
to move the polling handling into HDA-core, so they could be for 5.3.
And patch 5 is for SOF.  This is still an open question.  If this SOF
fix is needed for 5.2, all patches should go as well.


thanks,

Takashi


> ---
>  sound/pci/hda/hda_intel.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
> index 2ec91085fa3e..a93468ffb85c 100644
> --- a/sound/pci/hda/hda_intel.c
> +++ b/sound/pci/hda/hda_intel.c
> @@ -375,6 +375,7 @@ enum {
>  
>  #define IS_BXT(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x5a98)
>  #define IS_CFL(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0xa348)
> +#define IS_CNL(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x9dc8)
>  
>  static char *driver_short_names[] = {
>  	[AZX_DRIVER_ICH] = "HDA Intel",
> @@ -1700,8 +1701,8 @@ static int azx_create(struct snd_card *card, struct pci_dev *pci,
>  	else
>  		chip->bdl_pos_adj = bdl_pos_adj[dev];
>  
> -	/* Workaround for a communication error on CFL (bko#199007) */
> -	if (IS_CFL(pci))
> +	/* Workaround for a communication error on CFL (bko#199007) and CNL */
> +	if (IS_CFL(pci) || IS_CNL(pci))
>  		chip->polling_mode = 1;
>  
>  	err = azx_bus_init(chip, model[dev], &pci_hda_io_ops);
> -- 
> 2.17.1
>
Liao, Bard May 28, 2019, 12:10 a.m. UTC | #2
> -----Original Message-----
> From: Takashi Iwai [mailto:tiwai@suse.de]
> Sent: Monday, May 27, 2019 3:37 PM
> To: Bard liao <yung-chuan.liao@linux.intel.com>
> Cc: broonie@kernel.org; alsa-devel@alsa-project.org;
> liam.r.girdwood@linux.intel.com; pierre-louis.bossart@linux.intel.com; Liao,
> Bard <bard.liao@intel.com>; Yang, Libin <libin.yang@intel.com>
> Subject: Re: [PATCH 1/5] ALSA: hda - Force polling mode on CNL for fixing codec
> communication
> 
> On Sun, 26 May 2019 18:58:32 +0200,
> Bard liao wrote:
> >
> > From: Bard Liao <yung-chuan.liao@linux.intel.com>
> >
> > We observed the same issue as reported by commit
> > a8d7bde23e7130686b7662
> > ("ALSA: hda - Force polling mode on CFL for fixing codec
> > communication") We don't have a better solution. So apply the same
> workaround to CNL.
> >
> > Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
> 
> I think this should go to 5.2-rc, as it's a bug fix, so likely I'm going to take it soon
> later.
> 
> The question is about the rest patches.  The patches 2-4 are basically to move
> the polling handling into HDA-core, so they could be for 5.3.
> And patch 5 is for SOF.  This is still an open question.  If this SOF fix is needed for
> 5.2, all patches should go as well.

I am fine if patches 2-5 are for 5.3 :)

> 
> 
> thanks,
> 
> Takashi
> 
> 
> > ---
> >  sound/pci/hda/hda_intel.c | 5 +++--
> >  1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
> > index 2ec91085fa3e..a93468ffb85c 100644
> > --- a/sound/pci/hda/hda_intel.c
> > +++ b/sound/pci/hda/hda_intel.c
> > @@ -375,6 +375,7 @@ enum {
> >
> >  #define IS_BXT(pci) ((pci)->vendor == 0x8086 && (pci)->device ==
> > 0x5a98)  #define IS_CFL(pci) ((pci)->vendor == 0x8086 && (pci)->device
> > == 0xa348)
> > +#define IS_CNL(pci) ((pci)->vendor == 0x8086 && (pci)->device ==
> > +0x9dc8)
> >
> >  static char *driver_short_names[] = {
> >  	[AZX_DRIVER_ICH] = "HDA Intel",
> > @@ -1700,8 +1701,8 @@ static int azx_create(struct snd_card *card, struct
> pci_dev *pci,
> >  	else
> >  		chip->bdl_pos_adj = bdl_pos_adj[dev];
> >
> > -	/* Workaround for a communication error on CFL (bko#199007) */
> > -	if (IS_CFL(pci))
> > +	/* Workaround for a communication error on CFL (bko#199007) and
> CNL */
> > +	if (IS_CFL(pci) || IS_CNL(pci))
> >  		chip->polling_mode = 1;
> >
> >  	err = azx_bus_init(chip, model[dev], &pci_hda_io_ops);
> > --
> > 2.17.1
> >
Takashi Iwai May 28, 2019, 5:59 a.m. UTC | #3
On Tue, 28 May 2019 02:10:02 +0200,
Liao, Bard wrote:
> 
> > -----Original Message-----
> > From: Takashi Iwai [mailto:tiwai@suse.de]
> > Sent: Monday, May 27, 2019 3:37 PM
> > To: Bard liao <yung-chuan.liao@linux.intel.com>
> > Cc: broonie@kernel.org; alsa-devel@alsa-project.org;
> > liam.r.girdwood@linux.intel.com; pierre-louis.bossart@linux.intel.com; Liao,
> > Bard <bard.liao@intel.com>; Yang, Libin <libin.yang@intel.com>
> > Subject: Re: [PATCH 1/5] ALSA: hda - Force polling mode on CNL for fixing codec
> > communication
> > 
> > On Sun, 26 May 2019 18:58:32 +0200,
> > Bard liao wrote:
> > >
> > > From: Bard Liao <yung-chuan.liao@linux.intel.com>
> > >
> > > We observed the same issue as reported by commit
> > > a8d7bde23e7130686b7662
> > > ("ALSA: hda - Force polling mode on CFL for fixing codec
> > > communication") We don't have a better solution. So apply the same
> > workaround to CNL.
> > >
> > > Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
> > 
> > I think this should go to 5.2-rc, as it's a bug fix, so likely I'm going to take it soon
> > later.
> > 
> > The question is about the rest patches.  The patches 2-4 are basically to move
> > the polling handling into HDA-core, so they could be for 5.3.
> > And patch 5 is for SOF.  This is still an open question.  If this SOF fix is needed for
> > 5.2, all patches should go as well.
> 
> I am fine if patches 2-5 are for 5.3 :)

OK, now I applied the patch 1 to for-linus branch.
The rest are put into topic/hda-polling-mode branch, and merged to
for-next branch.

Mark, if you need the SOF change into your tree, pull
topic/hda-polling-mode branch.  It's an immutable branch.


thanks,

Takashi
diff mbox series

Patch

diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 2ec91085fa3e..a93468ffb85c 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -375,6 +375,7 @@  enum {
 
 #define IS_BXT(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x5a98)
 #define IS_CFL(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0xa348)
+#define IS_CNL(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x9dc8)
 
 static char *driver_short_names[] = {
 	[AZX_DRIVER_ICH] = "HDA Intel",
@@ -1700,8 +1701,8 @@  static int azx_create(struct snd_card *card, struct pci_dev *pci,
 	else
 		chip->bdl_pos_adj = bdl_pos_adj[dev];
 
-	/* Workaround for a communication error on CFL (bko#199007) */
-	if (IS_CFL(pci))
+	/* Workaround for a communication error on CFL (bko#199007) and CNL */
+	if (IS_CFL(pci) || IS_CNL(pci))
 		chip->polling_mode = 1;
 
 	err = azx_bus_init(chip, model[dev], &pci_hda_io_ops);