mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
Merge tag 'soundwire-6.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire
Pull soundwire updates from Vinod Koul:
"A couple of small core changes and driver updates:
- Core: handling of nesting irqs to outside the lock, stream
parameters handing on port prep failures.
- AMD driver support for ACP 7.2 platforms and improved handing of
slave alerts and resume sequences
- Qualcomm updating driver debug spew
- Intel BPT message length limitations, rt721 codec as wake capable
etc"
* tag 'soundwire-6.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire:
soundwire: amd: Add support for acp7.2 platform
soundwire: stream: restore params when prepare ports fail
soundwire: debugfs: move debug statement outside of error handling
soundwire: amd: add check for status update registers
soundwire: intel_auxdevice: add rt721 codec to wake_capable_list
soundwire: Correct some property names
soundwire: update Intel BPT message length limitation
soundwire: intel_ace2.x: Use str_read_write() helper
soundwire: amd: cancel pending slave status handling workqueue during remove sequence
soundwire: amd: serialize amd manager resume sequence during pm_prepare
soundwire: qcom: demote probe registration printk
ASoC: cs42l43: Remove unnecessary work functions
soundwire: Move handle_nested_irq outside of sdw_dev_lock
MAINTAINERS: Remove Sanyog Kale as reviewer on SoundWire
This commit is contained in:
@@ -499,6 +499,7 @@ static int amd_sdw_port_params(struct sdw_bus *bus, struct sdw_port_params *p_pa
|
||||
break;
|
||||
case ACP70_PCI_REV_ID:
|
||||
case ACP71_PCI_REV_ID:
|
||||
case ACP72_PCI_REV_ID:
|
||||
frame_fmt_reg = acp70_sdw_dp_reg[p_params->num].frame_fmt_reg;
|
||||
break;
|
||||
default:
|
||||
@@ -551,6 +552,7 @@ static int amd_sdw_transport_params(struct sdw_bus *bus,
|
||||
break;
|
||||
case ACP70_PCI_REV_ID:
|
||||
case ACP71_PCI_REV_ID:
|
||||
case ACP72_PCI_REV_ID:
|
||||
frame_fmt_reg = acp70_sdw_dp_reg[params->port_num].frame_fmt_reg;
|
||||
sample_int_reg = acp70_sdw_dp_reg[params->port_num].sample_int_reg;
|
||||
hctrl_dp0_reg = acp70_sdw_dp_reg[params->port_num].hctrl_dp0_reg;
|
||||
@@ -614,6 +616,7 @@ static int amd_sdw_port_enable(struct sdw_bus *bus,
|
||||
break;
|
||||
case ACP70_PCI_REV_ID:
|
||||
case ACP71_PCI_REV_ID:
|
||||
case ACP72_PCI_REV_ID:
|
||||
lane_ctrl_ch_en_reg = acp70_sdw_dp_reg[enable_ch->port_num].lane_ctrl_ch_en_reg;
|
||||
break;
|
||||
default:
|
||||
@@ -931,6 +934,9 @@ static void amd_sdw_irq_thread(struct work_struct *work)
|
||||
|
||||
status_change_8to11 = readl(amd_manager->mmio + ACP_SW_STATE_CHANGE_STATUS_8TO11);
|
||||
status_change_0to7 = readl(amd_manager->mmio + ACP_SW_STATE_CHANGE_STATUS_0TO7);
|
||||
if (!status_change_0to7 && !status_change_8to11)
|
||||
return;
|
||||
|
||||
dev_dbg(amd_manager->dev, "[SDW%d] SDW INT: 0to7=0x%x, 8to11=0x%x\n",
|
||||
amd_manager->instance, status_change_0to7, status_change_8to11);
|
||||
if (status_change_8to11 & AMD_SDW_WAKE_STAT_MASK)
|
||||
@@ -1035,6 +1041,7 @@ static int amd_sdw_manager_probe(struct platform_device *pdev)
|
||||
break;
|
||||
case ACP70_PCI_REV_ID:
|
||||
case ACP71_PCI_REV_ID:
|
||||
case ACP72_PCI_REV_ID:
|
||||
amd_manager->num_dout_ports = AMD_ACP70_SDW_MAX_TX_PORTS;
|
||||
amd_manager->num_din_ports = AMD_ACP70_SDW_MAX_RX_PORTS;
|
||||
break;
|
||||
@@ -1074,6 +1081,7 @@ static void amd_sdw_manager_remove(struct platform_device *pdev)
|
||||
int ret;
|
||||
|
||||
pm_runtime_disable(&pdev->dev);
|
||||
cancel_work_sync(&amd_manager->amd_sdw_work);
|
||||
amd_disable_sdw_interrupts(amd_manager);
|
||||
sdw_bus_master_delete(&amd_manager->bus);
|
||||
ret = amd_disable_sdw_manager(amd_manager);
|
||||
@@ -1178,10 +1186,10 @@ static int __maybe_unused amd_pm_prepare(struct device *dev)
|
||||
* device is not in runtime suspend state, observed that device alerts are missing
|
||||
* without pm_prepare on AMD platforms in clockstop mode0.
|
||||
*/
|
||||
if (amd_manager->power_mode_mask & AMD_SDW_CLK_STOP_MODE) {
|
||||
ret = pm_request_resume(dev);
|
||||
if (amd_manager->power_mode_mask) {
|
||||
ret = pm_runtime_resume(dev);
|
||||
if (ret < 0) {
|
||||
dev_err(bus->dev, "pm_request_resume failed: %d\n", ret);
|
||||
dev_err(bus->dev, "pm_runtime_resume failed: %d\n", ret);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user