mbox series

[SRU,OEM-OSP1/E/unstable,00/11] alsa/sof: change to use hda hdmi codec driver to make hdmi audio on the docking station work

Message ID 20191209084524.5499-1-hui.wang@canonical.com
Headers show
Series alsa/sof: change to use hda hdmi codec driver to make hdmi audio on the docking station work | expand

Message

Hui Wang Dec. 9, 2019, 8:44 a.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1854401

[Impact]
We have integrated the alsa sof driver in the oem-osp1 kernel, and
when we tested the hdmi audio function on the docking station, we
found if the machine use sof driver, the hdmi audio on the docking
station can't work.

[Fix]
Intel wrote patches to let sof driver to choose hda hdmi codec
driver, then both hdmi on the laptop and on the docking station
worked.

[Test Case]
ran the kernel with these patches, and in the userspace, we used
the intel updated ucm, then the hdmi audio on the docking station
worked.

[Regression Risk]
Low, Intel wrote the patches and told us to backport these patches.
In addition, we already tested these patches with 4 oem project bugs,
all worked well.


Hui Wang (1):
  UBUNTU: [config]: SND_SOC_SOF_HDA_COMMON_HDMI_CODEC=y

Kai Vehmanen (10):
  ALSA: hda/hdmi - implement mst_no_extra_pcms flag
  ASoC: hdac_hda: add support for HDMI/DP as a HDA codec
  ASoC: Intel: skl-hda-dsp-generic: use snd-hda-codec-hdmi
  ASoC: Intel: skl-hda-dsp-generic: fix include guard name
  ASoC: SOF: Intel: add support for snd-hda-codec-hdmi
  ASoC: Intel: bxt-da7219-max98357a: common hdmi codec support
  ASoC: Intel: glk_rt5682_max98357a: common hdmi codec support
  ASoC: intel: sof_rt5682: common hdmi codec support
  ASoC: Intel: bxt_rt298: common hdmi codec support
  ASoC: SOF: enable sync_write in hdac_bus

 debian.master/config/annotations              |   2 +
 debian.master/config/config.common.ubuntu     |   1 +
 include/sound/hda_codec.h                     |   1 +
 include/sound/soc-acpi.h                      |   2 +
 sound/pci/hda/patch_hdmi.c                    |  19 ++-
 sound/soc/codecs/hdac_hda.c                   | 114 ++++++++++++++++--
 sound/soc/codecs/hdac_hda.h                   |  13 +-
 sound/soc/intel/boards/Makefile               |  10 +-
 sound/soc/intel/boards/bxt_da7219_max98357a.c |  11 ++
 sound/soc/intel/boards/bxt_rt298.c            |  11 ++
 sound/soc/intel/boards/glk_rt5682_max98357a.c |  11 ++
 sound/soc/intel/boards/hda_dsp_common.c       |  85 +++++++++++++
 sound/soc/intel/boards/hda_dsp_common.h       |  32 +++++
 sound/soc/intel/boards/skl_hda_dsp_common.c   |   6 +
 sound/soc/intel/boards/skl_hda_dsp_common.h   |  27 ++++-
 sound/soc/intel/boards/skl_hda_dsp_generic.c  |   1 +
 sound/soc/intel/boards/sof_rt5682.c           |  11 ++
 sound/soc/sof/intel/Kconfig                   |  10 ++
 sound/soc/sof/intel/hda-codec.c               |  22 +++-
 sound/soc/sof/intel/hda.c                     |  10 ++
 sound/soc/sof/intel/hda.h                     |   6 +-
 21 files changed, 374 insertions(+), 31 deletions(-)
 create mode 100644 sound/soc/intel/boards/hda_dsp_common.c
 create mode 100644 sound/soc/intel/boards/hda_dsp_common.h

Comments

Hui Wang Dec. 9, 2019, 10:37 a.m. UTC | #1
On 2019/12/9 下午4:44, Hui Wang wrote:
> BugLink: https://bugs.launchpad.net/bugs/1854401

Oh, the bug number is wrong here. replacing with:

BugLink: https://bugs.launchpad.net/bugs/1855666

>
> [Impact]
> We have integrated the alsa sof driver in the oem-osp1 kernel, and
> when we tested the hdmi audio function on the docking station, we
> found if the machine use sof driver, the hdmi audio on the docking
> station can't work.
>
> [Fix]
> Intel wrote patches to let sof driver to choose hda hdmi codec
> driver, then both hdmi on the laptop and on the docking station
> worked.
>
> [Test Case]
> ran the kernel with these patches, and in the userspace, we used
> the intel updated ucm, then the hdmi audio on the docking station
> worked.
>
> [Regression Risk]
> Low, Intel wrote the patches and told us to backport these patches.
> In addition, we already tested these patches with 4 oem project bugs,
> all worked well.
>
>
> Hui Wang (1):
>    UBUNTU: [config]: SND_SOC_SOF_HDA_COMMON_HDMI_CODEC=y
>
> Kai Vehmanen (10):
>    ALSA: hda/hdmi - implement mst_no_extra_pcms flag
>    ASoC: hdac_hda: add support for HDMI/DP as a HDA codec
>    ASoC: Intel: skl-hda-dsp-generic: use snd-hda-codec-hdmi
>    ASoC: Intel: skl-hda-dsp-generic: fix include guard name
>    ASoC: SOF: Intel: add support for snd-hda-codec-hdmi
>    ASoC: Intel: bxt-da7219-max98357a: common hdmi codec support
>    ASoC: Intel: glk_rt5682_max98357a: common hdmi codec support
>    ASoC: intel: sof_rt5682: common hdmi codec support
>    ASoC: Intel: bxt_rt298: common hdmi codec support
>    ASoC: SOF: enable sync_write in hdac_bus
>
>   debian.master/config/annotations              |   2 +
>   debian.master/config/config.common.ubuntu     |   1 +
>   include/sound/hda_codec.h                     |   1 +
>   include/sound/soc-acpi.h                      |   2 +
>   sound/pci/hda/patch_hdmi.c                    |  19 ++-
>   sound/soc/codecs/hdac_hda.c                   | 114 ++++++++++++++++--
>   sound/soc/codecs/hdac_hda.h                   |  13 +-
>   sound/soc/intel/boards/Makefile               |  10 +-
>   sound/soc/intel/boards/bxt_da7219_max98357a.c |  11 ++
>   sound/soc/intel/boards/bxt_rt298.c            |  11 ++
>   sound/soc/intel/boards/glk_rt5682_max98357a.c |  11 ++
>   sound/soc/intel/boards/hda_dsp_common.c       |  85 +++++++++++++
>   sound/soc/intel/boards/hda_dsp_common.h       |  32 +++++
>   sound/soc/intel/boards/skl_hda_dsp_common.c   |   6 +
>   sound/soc/intel/boards/skl_hda_dsp_common.h   |  27 ++++-
>   sound/soc/intel/boards/skl_hda_dsp_generic.c  |   1 +
>   sound/soc/intel/boards/sof_rt5682.c           |  11 ++
>   sound/soc/sof/intel/Kconfig                   |  10 ++
>   sound/soc/sof/intel/hda-codec.c               |  22 +++-
>   sound/soc/sof/intel/hda.c                     |  10 ++
>   sound/soc/sof/intel/hda.h                     |   6 +-
>   21 files changed, 374 insertions(+), 31 deletions(-)
>   create mode 100644 sound/soc/intel/boards/hda_dsp_common.c
>   create mode 100644 sound/soc/intel/boards/hda_dsp_common.h
>
Timo Aaltonen Dec. 16, 2019, 11:57 a.m. UTC | #2
On 9.12.2019 10.44, Hui Wang wrote:
> BugLink: https://bugs.launchpad.net/bugs/1854401
> 
> [Impact]
> We have integrated the alsa sof driver in the oem-osp1 kernel, and
> when we tested the hdmi audio function on the docking station, we
> found if the machine use sof driver, the hdmi audio on the docking
> station can't work.
> 
> [Fix]
> Intel wrote patches to let sof driver to choose hda hdmi codec
> driver, then both hdmi on the laptop and on the docking station
> worked.
> 
> [Test Case]
> ran the kernel with these patches, and in the userspace, we used
> the intel updated ucm, then the hdmi audio on the docking station
> worked.
> 
> [Regression Risk]
> Low, Intel wrote the patches and told us to backport these patches.
> In addition, we already tested these patches with 4 oem project bugs,
> all worked well.
> 
> 
> Hui Wang (1):
>   UBUNTU: [config]: SND_SOC_SOF_HDA_COMMON_HDMI_CODEC=y
> 
> Kai Vehmanen (10):
>   ALSA: hda/hdmi - implement mst_no_extra_pcms flag
>   ASoC: hdac_hda: add support for HDMI/DP as a HDA codec
>   ASoC: Intel: skl-hda-dsp-generic: use snd-hda-codec-hdmi
>   ASoC: Intel: skl-hda-dsp-generic: fix include guard name
>   ASoC: SOF: Intel: add support for snd-hda-codec-hdmi
>   ASoC: Intel: bxt-da7219-max98357a: common hdmi codec support
>   ASoC: Intel: glk_rt5682_max98357a: common hdmi codec support
>   ASoC: intel: sof_rt5682: common hdmi codec support
>   ASoC: Intel: bxt_rt298: common hdmi codec support
>   ASoC: SOF: enable sync_write in hdac_bus
> 
>  debian.master/config/annotations              |   2 +
>  debian.master/config/config.common.ubuntu     |   1 +
>  include/sound/hda_codec.h                     |   1 +
>  include/sound/soc-acpi.h                      |   2 +
>  sound/pci/hda/patch_hdmi.c                    |  19 ++-
>  sound/soc/codecs/hdac_hda.c                   | 114 ++++++++++++++++--
>  sound/soc/codecs/hdac_hda.h                   |  13 +-
>  sound/soc/intel/boards/Makefile               |  10 +-
>  sound/soc/intel/boards/bxt_da7219_max98357a.c |  11 ++
>  sound/soc/intel/boards/bxt_rt298.c            |  11 ++
>  sound/soc/intel/boards/glk_rt5682_max98357a.c |  11 ++
>  sound/soc/intel/boards/hda_dsp_common.c       |  85 +++++++++++++
>  sound/soc/intel/boards/hda_dsp_common.h       |  32 +++++
>  sound/soc/intel/boards/skl_hda_dsp_common.c   |   6 +
>  sound/soc/intel/boards/skl_hda_dsp_common.h   |  27 ++++-
>  sound/soc/intel/boards/skl_hda_dsp_generic.c  |   1 +
>  sound/soc/intel/boards/sof_rt5682.c           |  11 ++
>  sound/soc/sof/intel/Kconfig                   |  10 ++
>  sound/soc/sof/intel/hda-codec.c               |  22 +++-
>  sound/soc/sof/intel/hda.c                     |  10 ++
>  sound/soc/sof/intel/hda.h                     |   6 +-
>  21 files changed, 374 insertions(+), 31 deletions(-)
>  create mode 100644 sound/soc/intel/boards/hda_dsp_common.c
>  create mode 100644 sound/soc/intel/boards/hda_dsp_common.h
> 

applied to osp1 oem-next, thanks
Seth Forshee Dec. 16, 2019, 7:45 p.m. UTC | #3
On Mon, Dec 09, 2019 at 04:44:55PM +0800, Hui Wang wrote:
> BugLink: https://bugs.launchpad.net/bugs/1854401
> 
> [Impact]
> We have integrated the alsa sof driver in the oem-osp1 kernel, and
> when we tested the hdmi audio function on the docking station, we
> found if the machine use sof driver, the hdmi audio on the docking
> station can't work.
> 
> [Fix]
> Intel wrote patches to let sof driver to choose hda hdmi codec
> driver, then both hdmi on the laptop and on the docking station
> worked.
> 
> [Test Case]
> ran the kernel with these patches, and in the userspace, we used
> the intel updated ucm, then the hdmi audio on the docking station
> worked.
> 
> [Regression Risk]
> Low, Intel wrote the patches and told us to backport these patches.
> In addition, we already tested these patches with 4 oem project bugs,
> all worked well.

Applied to focal/master-next. Not needed in unstable as they are patches
from 5.5.

This is a pretty big amount of change for SRU. I know regressio testing
was done, but it looks like it was fairly limited. Might be a good idea
to let these bake in focal for a bit before applying them for SRU.
Stefan Bader Jan. 7, 2020, 2:37 p.m. UTC | #4
On 09.12.19 09:44, Hui Wang wrote:
> BugLink: https://bugs.launchpad.net/bugs/1854401
> 
> [Impact]
> We have integrated the alsa sof driver in the oem-osp1 kernel, and
> when we tested the hdmi audio function on the docking station, we
> found if the machine use sof driver, the hdmi audio on the docking
> station can't work.
> 
> [Fix]
> Intel wrote patches to let sof driver to choose hda hdmi codec

> driver, then both hdmi on the laptop and on the docking station
> worked.
> 
> [Test Case]
> ran the kernel with these patches, and in the userspace, we used
> the intel updated ucm, then the hdmi audio on the docking station
> worked.
> 
> [Regression Risk]
> Low, Intel wrote the patches and told us to backport these patches.
    ^That rather gets me to think of it as high risk...

I hope the testing was covering most risk. At least isolated enough to only
affect Intel...

> In addition, we already tested these patches with 4 oem project bugs,
> all worked well.
> 
> 
> Hui Wang (1):
>   UBUNTU: [config]: SND_SOC_SOF_HDA_COMMON_HDMI_CODEC=y
> 
> Kai Vehmanen (10):
>   ALSA: hda/hdmi - implement mst_no_extra_pcms flag
>   ASoC: hdac_hda: add support for HDMI/DP as a HDA codec
>   ASoC: Intel: skl-hda-dsp-generic: use snd-hda-codec-hdmi
>   ASoC: Intel: skl-hda-dsp-generic: fix include guard name
>   ASoC: SOF: Intel: add support for snd-hda-codec-hdmi
>   ASoC: Intel: bxt-da7219-max98357a: common hdmi codec support
>   ASoC: Intel: glk_rt5682_max98357a: common hdmi codec support
>   ASoC: intel: sof_rt5682: common hdmi codec support
>   ASoC: Intel: bxt_rt298: common hdmi codec support
>   ASoC: SOF: enable sync_write in hdac_bus
> 
>  debian.master/config/annotations              |   2 +
>  debian.master/config/config.common.ubuntu     |   1 +
>  include/sound/hda_codec.h                     |   1 +
>  include/sound/soc-acpi.h                      |   2 +
>  sound/pci/hda/patch_hdmi.c                    |  19 ++-
>  sound/soc/codecs/hdac_hda.c                   | 114 ++++++++++++++++--
>  sound/soc/codecs/hdac_hda.h                   |  13 +-
>  sound/soc/intel/boards/Makefile               |  10 +-
>  sound/soc/intel/boards/bxt_da7219_max98357a.c |  11 ++
>  sound/soc/intel/boards/bxt_rt298.c            |  11 ++
>  sound/soc/intel/boards/glk_rt5682_max98357a.c |  11 ++
>  sound/soc/intel/boards/hda_dsp_common.c       |  85 +++++++++++++
>  sound/soc/intel/boards/hda_dsp_common.h       |  32 +++++
>  sound/soc/intel/boards/skl_hda_dsp_common.c   |   6 +
>  sound/soc/intel/boards/skl_hda_dsp_common.h   |  27 ++++-
>  sound/soc/intel/boards/skl_hda_dsp_generic.c  |   1 +
>  sound/soc/intel/boards/sof_rt5682.c           |  11 ++
>  sound/soc/sof/intel/Kconfig                   |  10 ++
>  sound/soc/sof/intel/hda-codec.c               |  22 +++-
>  sound/soc/sof/intel/hda.c                     |  10 ++
>  sound/soc/sof/intel/hda.h                     |   6 +-
>  21 files changed, 374 insertions(+), 31 deletions(-)
>  create mode 100644 sound/soc/intel/boards/hda_dsp_common.c
>  create mode 100644 sound/soc/intel/boards/hda_dsp_common.h
> 
Acked-by: Stefan Bader <stefan.bader@canonical.com>
Kleber Sacilotto de Souza Jan. 7, 2020, 5:09 p.m. UTC | #5
On 2019-12-09 09:44, Hui Wang wrote:
> BugLink: https://bugs.launchpad.net/bugs/1854401
> 
> [Impact]
> We have integrated the alsa sof driver in the oem-osp1 kernel, and
> when we tested the hdmi audio function on the docking station, we
> found if the machine use sof driver, the hdmi audio on the docking
> station can't work.
> 
> [Fix]
> Intel wrote patches to let sof driver to choose hda hdmi codec
> driver, then both hdmi on the laptop and on the docking station
> worked.
> 
> [Test Case]
> ran the kernel with these patches, and in the userspace, we used
> the intel updated ucm, then the hdmi audio on the docking station
> worked.
> 
> [Regression Risk]
> Low, Intel wrote the patches and told us to backport these patches.
> In addition, we already tested these patches with 4 oem project bugs,
> all worked well.
> 
> 
> Hui Wang (1):
>   UBUNTU: [config]: SND_SOC_SOF_HDA_COMMON_HDMI_CODEC=y
> 
> Kai Vehmanen (10):
>   ALSA: hda/hdmi - implement mst_no_extra_pcms flag
>   ASoC: hdac_hda: add support for HDMI/DP as a HDA codec
>   ASoC: Intel: skl-hda-dsp-generic: use snd-hda-codec-hdmi
>   ASoC: Intel: skl-hda-dsp-generic: fix include guard name
>   ASoC: SOF: Intel: add support for snd-hda-codec-hdmi
>   ASoC: Intel: bxt-da7219-max98357a: common hdmi codec support
>   ASoC: Intel: glk_rt5682_max98357a: common hdmi codec support
>   ASoC: intel: sof_rt5682: common hdmi codec support
>   ASoC: Intel: bxt_rt298: common hdmi codec support
>   ASoC: SOF: enable sync_write in hdac_bus
> 
>  debian.master/config/annotations              |   2 +
>  debian.master/config/config.common.ubuntu     |   1 +
>  include/sound/hda_codec.h                     |   1 +
>  include/sound/soc-acpi.h                      |   2 +
>  sound/pci/hda/patch_hdmi.c                    |  19 ++-
>  sound/soc/codecs/hdac_hda.c                   | 114 ++++++++++++++++--
>  sound/soc/codecs/hdac_hda.h                   |  13 +-
>  sound/soc/intel/boards/Makefile               |  10 +-
>  sound/soc/intel/boards/bxt_da7219_max98357a.c |  11 ++
>  sound/soc/intel/boards/bxt_rt298.c            |  11 ++
>  sound/soc/intel/boards/glk_rt5682_max98357a.c |  11 ++
>  sound/soc/intel/boards/hda_dsp_common.c       |  85 +++++++++++++
>  sound/soc/intel/boards/hda_dsp_common.h       |  32 +++++
>  sound/soc/intel/boards/skl_hda_dsp_common.c   |   6 +
>  sound/soc/intel/boards/skl_hda_dsp_common.h   |  27 ++++-
>  sound/soc/intel/boards/skl_hda_dsp_generic.c  |   1 +
>  sound/soc/intel/boards/sof_rt5682.c           |  11 ++
>  sound/soc/sof/intel/Kconfig                   |  10 ++
>  sound/soc/sof/intel/hda-codec.c               |  22 +++-
>  sound/soc/sof/intel/hda.c                     |  10 ++
>  sound/soc/sof/intel/hda.h                     |   6 +-
>  21 files changed, 374 insertions(+), 31 deletions(-)
>  create mode 100644 sound/soc/intel/boards/hda_dsp_common.c
>  create mode 100644 sound/soc/intel/boards/hda_dsp_common.h
> 

The bug report was missing the nomination for Eoan, so I fixed it.


Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
Kleber Sacilotto de Souza Jan. 7, 2020, 5:11 p.m. UTC | #6
On 2019-12-09 09:44, Hui Wang wrote:
> BugLink: https://bugs.launchpad.net/bugs/1854401
> 
> [Impact]
> We have integrated the alsa sof driver in the oem-osp1 kernel, and
> when we tested the hdmi audio function on the docking station, we
> found if the machine use sof driver, the hdmi audio on the docking
> station can't work.
> 
> [Fix]
> Intel wrote patches to let sof driver to choose hda hdmi codec
> driver, then both hdmi on the laptop and on the docking station
> worked.
> 
> [Test Case]
> ran the kernel with these patches, and in the userspace, we used
> the intel updated ucm, then the hdmi audio on the docking station
> worked.
> 
> [Regression Risk]
> Low, Intel wrote the patches and told us to backport these patches.
> In addition, we already tested these patches with 4 oem project bugs,
> all worked well.
> 
> 
> Hui Wang (1):
>   UBUNTU: [config]: SND_SOC_SOF_HDA_COMMON_HDMI_CODEC=y
> 
> Kai Vehmanen (10):
>   ALSA: hda/hdmi - implement mst_no_extra_pcms flag
>   ASoC: hdac_hda: add support for HDMI/DP as a HDA codec
>   ASoC: Intel: skl-hda-dsp-generic: use snd-hda-codec-hdmi
>   ASoC: Intel: skl-hda-dsp-generic: fix include guard name
>   ASoC: SOF: Intel: add support for snd-hda-codec-hdmi
>   ASoC: Intel: bxt-da7219-max98357a: common hdmi codec support
>   ASoC: Intel: glk_rt5682_max98357a: common hdmi codec support
>   ASoC: intel: sof_rt5682: common hdmi codec support
>   ASoC: Intel: bxt_rt298: common hdmi codec support
>   ASoC: SOF: enable sync_write in hdac_bus
> 
>  debian.master/config/annotations              |   2 +
>  debian.master/config/config.common.ubuntu     |   1 +
>  include/sound/hda_codec.h                     |   1 +
>  include/sound/soc-acpi.h                      |   2 +
>  sound/pci/hda/patch_hdmi.c                    |  19 ++-
>  sound/soc/codecs/hdac_hda.c                   | 114 ++++++++++++++++--
>  sound/soc/codecs/hdac_hda.h                   |  13 +-
>  sound/soc/intel/boards/Makefile               |  10 +-
>  sound/soc/intel/boards/bxt_da7219_max98357a.c |  11 ++
>  sound/soc/intel/boards/bxt_rt298.c            |  11 ++
>  sound/soc/intel/boards/glk_rt5682_max98357a.c |  11 ++
>  sound/soc/intel/boards/hda_dsp_common.c       |  85 +++++++++++++
>  sound/soc/intel/boards/hda_dsp_common.h       |  32 +++++
>  sound/soc/intel/boards/skl_hda_dsp_common.c   |   6 +
>  sound/soc/intel/boards/skl_hda_dsp_common.h   |  27 ++++-
>  sound/soc/intel/boards/skl_hda_dsp_generic.c  |   1 +
>  sound/soc/intel/boards/sof_rt5682.c           |  11 ++
>  sound/soc/sof/intel/Kconfig                   |  10 ++
>  sound/soc/sof/intel/hda-codec.c               |  22 +++-
>  sound/soc/sof/intel/hda.c                     |  10 ++
>  sound/soc/sof/intel/hda.h                     |   6 +-
>  21 files changed, 374 insertions(+), 31 deletions(-)
>  create mode 100644 sound/soc/intel/boards/hda_dsp_common.c
>  create mode 100644 sound/soc/intel/boards/hda_dsp_common.h
> 

Applied to eoan/linux.

Thanks,
Kleber