On 05.12.2015 00:40, Alex Deucher wrote: > This patch set implements support for i2s audio and new AMD GPUs. > The i2s codec is fed by a DMA engine on the GPU. To handle this > we create mfd cells which we hang the i2s codec and DMA engine on. > Because of this, this patch set covers two subsystems: drm and alsa. > The drm patches add support for the ACP hw block which provides the > DMA engine for the i2s codec. The alsa patches add the ASoC driver > for the i2s codec. Since the alsa changes depend on the drm changes, > I'd like to take the alsa patches in via the drm tree. > > V2 changes: > - Use the MFD subsystem rather than adding our own bus > - Squash all sub-feature patches together > - fix comments mentioned in previous review > > V3 changes: > - Update the designware driver to handle slave mode, amd specific > features > - Use the designware driver directly for i2s > - Move the DMA handling from the GPU driver into the AMD ASoC > driver > - Change the license on the ASoC driver to GPL > > v4 changes: > - patch "ASoC : dwc : support dw i2s in slave mode" accepted > - Add a _dai_fmt() operation that checks to make sure that the mode > we're setting corresponds to what we read back from the hardware. > - Split specific quirks into separate patches > - Set the specific quirks that apply to AMD chips in the acp driver > > v5 changes: > - patch "ASoC : dwc : add check for master/slave format" accepted > - Fix MFD_CORE selection in ACP Kconfig > - Add irq domain support to amdgpu driver > - Use genirq in ACP DMA driver > - Export some genpd symbols to support ACP powergating (Acked by PM > maintainer) > - Use genpd for ACP powergating > - add separate capture and playback instances of dws in ACP init > - add runtime suspend support for dws in master mode > > Patch 9 adds the register headers for the ACP block which is a > pretty big patch so I've excluded it from email. The entire patch > set can be viewed here: > http://cgit.freedesktop.org/~agd5f/linux/log/?h=acp-upstream8 > > Thanks, > > Alex > > Alex Deucher (3): > drm/amdgpu/cgs: add an interface to access PCI resources > drm/amdgpu: add irq domain support > drm/amd: add pm domain for ACP IP sub blocks > > Maruthi Bayyavarapu (1): > drm/amd: add ACP driver support > > Maruthi Srinivas Bayyavarapu (9): > ASoC: dwc: add runtime suspend/resume functionality > ASoC: dwc: add quirk for different register offset > ASoC: dwc: reconfigure dwc in 'resume' from 'suspend' > PM / Domains: export symbols to add/remove devices from genpd > ASoC : AMD : add ACP 2.2 register headers > ASoC: AMD: add ACP 2.x IP DMA abstraction layer > ASoC: AMD: add AMD ASoC ACP 2.x DMA driver > ASoC: AMD: add pm ops > ASoC: AMD: Manage ACP 2.x SRAM banks power
The whole series is Acked-by: Christian König <christian.koenig at amd.com> Regards, Christian. > > drivers/base/power/domain.c | 2 + > drivers/gpu/drm/Kconfig | 2 + > drivers/gpu/drm/amd/acp/Kconfig | 11 + > drivers/gpu/drm/amd/acp/Makefile | 9 + > drivers/gpu/drm/amd/acp/acp_hw.c | 50 + > drivers/gpu/drm/amd/acp/include/acp_gfx_if.h | 34 + > drivers/gpu/drm/amd/amdgpu/Makefile | 13 +- > drivers/gpu/drm/amd/amdgpu/amdgpu.h | 12 + > drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c | 501 ++++++ > drivers/gpu/drm/amd/amdgpu/amdgpu_acp.h | 42 + > drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 36 + > drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 108 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h | 9 + > drivers/gpu/drm/amd/amdgpu/cik_ih.c | 6 + > drivers/gpu/drm/amd/amdgpu/cz_ih.c | 7 + > drivers/gpu/drm/amd/amdgpu/iceland_ih.c | 7 + > drivers/gpu/drm/amd/amdgpu/tonga_ih.c | 7 + > drivers/gpu/drm/amd/amdgpu/vi.c | 12 + > drivers/gpu/drm/amd/include/amd_shared.h | 1 + > drivers/gpu/drm/amd/include/cgs_common.h | 34 + > include/sound/designware_i2s.h | 5 + > sound/soc/Kconfig | 1 + > sound/soc/Makefile | 1 + > sound/soc/amd/Kconfig | 4 + > sound/soc/amd/Makefile | 3 + > sound/soc/amd/acp-pcm-dma.c | 560 +++++++ > sound/soc/amd/acp.c | 666 ++++++++ > sound/soc/amd/acp.h | 140 ++ > sound/soc/amd/include/acp_2_2_d.h | 609 +++++++ > sound/soc/amd/include/acp_2_2_enum.h | 1068 ++++++++++++ > sound/soc/amd/include/acp_2_2_sh_mask.h | 2292 > ++++++++++++++++++++++++++ > sound/soc/dwc/designware_i2s.c | 113 +- > 32 files changed, 6325 insertions(+), 40 deletions(-) > create mode 100644 drivers/gpu/drm/amd/acp/Kconfig > create mode 100644 drivers/gpu/drm/amd/acp/Makefile > create mode 100644 drivers/gpu/drm/amd/acp/acp_hw.c > create mode 100644 drivers/gpu/drm/amd/acp/include/acp_gfx_if.h > create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c > create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_acp.h > create mode 100644 sound/soc/amd/Kconfig > create mode 100644 sound/soc/amd/Makefile > create mode 100644 sound/soc/amd/acp-pcm-dma.c > create mode 100644 sound/soc/amd/acp.c > create mode 100644 sound/soc/amd/acp.h > create mode 100644 sound/soc/amd/include/acp_2_2_d.h > create mode 100644 sound/soc/amd/include/acp_2_2_enum.h > create mode 100644 sound/soc/amd/include/acp_2_2_sh_mask.h >