For all people who still see the problem: please test 5.3-rc6 or rc7
kernel and confirm that the problem persists.

Once after confirming the same issue with 5.3-rc7, and it's about the
PCI device 1022:1457 or 1022:1487, then check the following:

1. Change the return value of azx_get_delay_from_fifo() to 0, e.g.

--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -887,7 +887,7 @@ static int azx_get_delay_from_fifo(struct azx *chip, struct 
azx_dev *azx_dev,
        struct snd_pcm_substream *substream = azx_dev->core.substream;
 
        /* just read back the calculated value in the above */
-       return substream->runtime->delay;
+       return 0; // return substream->runtime->delay;
 }
 
 static unsigned int azx_skl_get_dpib_pos(struct azx *chip,


2. Change the return value of azx_get_delay_from_fifo() to 0 only for playback, 
e.g.
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -887,7 +887,9 @@ static int azx_get_delay_from_fifo(struct azx *chip, struct 
azx_dev *azx_dev,
        struct snd_pcm_substream *substream = azx_dev->core.substream;
 
        /* just read back the calculated value in the above */
-       return substream->runtime->delay;
+       if (substream->stream == SNDRV_PCM_STREAM_CAPTURE)
+               return substream->runtime->delay;
+       return 0;
 }
 
 static unsigned int azx_skl_get_dpib_pos(struct azx *chip,


3. Drop SNDRV_PCM_INFO_BATCH workaround in hda_controller.c

--- a/sound/pci/hda/hda_controller.c
+++ b/sound/pci/hda/hda_controller.c
@@ -613,12 +613,14 @@ static int azx_pcm_open(struct snd_pcm_substream 
*substream)
                                     20,
                                     178000000);
 
+#if 0
        /* by some reason, the playback stream stalls on PulseAudio with
         * tsched=1 when a capture stream triggers.  Until we figure out the
         * real cause, disable tsched mode by telling the PCM info flag.
         */
        if (chip->driver_caps & AZX_DCAPS_AMD_WORKAROUND)
                runtime->hw.info |= SNDRV_PCM_INFO_BATCH;
+#endif
 
        if (chip->align_buffer_size)
                /* constrain buffer sizes to be multiple of 128

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to pulseaudio in Ubuntu.
https://bugs.launchpad.net/bugs/1801540

Title:
  Microphone distorted sound on ALC892/1220 on AMD chipsets

Status in Linux:
  Confirmed
Status in linux package in Ubuntu:
  Won't Fix
Status in pulseaudio package in Ubuntu:
  Won't Fix

Bug description:
  Not sure if I'll report this upstream but there is definitely an issue
  with microphone recording on my desktop, this is not happening on my
  laptop which has a different codec.

  Already tried all workarounds possible, no luck. Only with my desktop
  with this particular motherboard. No issues in Windows, the sound
  recorded in there is distorted and has some static and robotic tone on
  high-pitch.

  alsa-info on the attachments

To manage notifications about this bug go to:
https://bugs.launchpad.net/linux/+bug/1801540/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to