--- Begin Message ---
- To: vkoul@xxxxxxxxxx
- Subject: Re: [PATCH V8 0/8] Add SoundWire support for AMD platforms
- From: "Mukunda,Vijendar" <vijendar.mukunda@xxxxxxx>
- Date: Fri, 24 Mar 2023 17:50:06 +0530
- Cc: vinod.koul@xxxxxxxxxx, alsa-devel@xxxxxxxxxxxxxxxx, pierre-louis.bossart@xxxxxxxxxxxxxxx, Basavaraj.Hiregoudar@xxxxxxx, Sunil-kumar.Dommati@xxxxxxx, Mario.Limonciello@xxxxxxx, amadeuszx.slawinski@xxxxxxxxxxxxxxx, Mastan.Katragadda@xxxxxxx, Arungopal.kondaveeti@xxxxxxx, claudiu.beznea@xxxxxxxxxxxxx
- In-reply-to: <20230321050901.115439-1-Vijendar.Mukunda@amd.com>
- References: <20230321050901.115439-1-Vijendar.Mukunda@amd.com>
- User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0
On 21/03/23 10:38, Vijendar Mukunda wrote:
> ACP IP(v6.x) block has two SoundWire manager instance support.
> This patchset adds support for AMD SoundWire manager driver.
@vinod: Should I resend the patch series?
>
> Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@xxxxxxx>
>
> changes since v7:
> - use readl/writel instead of acp_reg_readl() & acp_reg_writel().
> - drop acp_reg_readl() & acp_reg_writel()
> - use readl_poll_timeout() instead of read_poll_timeout()
> - refactor command prepration and response error handling.
> - Modify switch statement in amd_sdw_fill_slave_status().
> - use lower case for hex values.
> - restrict debug logs to single line.
>
> changes since v6:
> - remove pm suspend check in amd_resume_child_device()
> and always return 0.
> - use same name convention for command and response
> variables.
>
> changes since v5:
> - replace loops logic with read_poll_timeout()
> throughout the code.
>
> changes since v4:
> - fix nit-picks in the code.
> - update naming convention for control word and response
> buffer vairables.
> - drop pm_suspend check in prepare callback.
> - use return statement instead of returning ret variable.
>
> changes since v3:
> - add usleep_range() in command/response implementation.
> - add usleep_range() in clock stop sequence.
> - modify usleep_range() values throughout the code.
> - remove unncessary debug statement from code.
> - update comment in probe() call.
> - fix timeout condition checks in the code.
> - drop "ret" variable in amd_disable_sdw_manager().
>
> changes since v2:
> - Remove useless variable initializations.
> - Add helper function to interpret peripheral status.
> - Move runtime pm sequence to probe_work workqueue.
> - Use string "SoundWire" instead of "soundwire" in code.
> - Update comments in interrupt handler and probe sequence.
> - Rename "sdw_lock" as "acp_sdw_lock".
> - Remove __func__ from dev_dbg statements.
>
> changes since v1:
> - Drop asoc tree based patches. will send asoc patches as a separate series.
> - Fixed double space errors.
> - Use dev instead of pci->dev.
> - Use SoundWire manager terminology.
> - Remove amd_sdw_compute_slave_ports() function and use exported
> sdw_compute_slave_ports() function.
> - Remove unused variable "num_ports" from amd_manager structure.
> - Drop startup and shutdown dai callbacks.
> - Drop reset_page_addr callback. - Use relative address offset to program SoundWire manager
> registers throughout the code.
> - Separate wake enable interrupt handling from slave status handling logic.
> - Use acp_mmio to program ACP common registers.
> - Use dai_runtime_array implementation in dai_ops.
> - Refactor port_ops callbacks.
> - Add comments in port_ops callbacks.
> - Add retry count logic in irq thread to address faulty case.
> - Add helper function to interpret command response.
> - Add generic bandwidth allocation dependency in Kconfig options.
> - Add comments for AMD SoundWire power modes.
> - Add missing timeout check in amd_init_sdw_manager callback.
> - Declare frameshape parameters in probe call.
> - Handle error case in clock stop sequence.
> - Add comments in pm_prepare and pm_ops callbacks.
>
> Vijendar Mukunda (8):
> soundwire: export sdw_compute_slave_ports() function
> soundwire: amd: Add support for AMD Manager driver
> soundwire: amd: register SoundWire manager dai ops
> soundwire: amd: enable build for AMD SoundWire manager driver
> soundwire: amd: add SoundWire manager interrupt handling
> soundwire: amd: add runtime pm ops for AMD SoundWire manager driver
> soundwire: amd: handle SoundWire wake enable interrupt
> soundwire: amd: add pm_prepare callback and pm ops support
>
> drivers/soundwire/Kconfig | 10 +
> drivers/soundwire/Makefile | 4 +
> drivers/soundwire/amd_manager.c | 1208 +++++++++++++++++
> drivers/soundwire/amd_manager.h | 258 ++++
> drivers/soundwire/bus.h | 9 +
> .../soundwire/generic_bandwidth_allocation.c | 12 +-
> include/linux/soundwire/sdw_amd.h | 109 ++
> 7 files changed, 1601 insertions(+), 9 deletions(-)
> create mode 100644 drivers/soundwire/amd_manager.c
> create mode 100644 drivers/soundwire/amd_manager.h
> create mode 100644 include/linux/soundwire/sdw_amd.h
>
--- End Message ---