Hi,

I am investigating whether d858770e86e75bf78429b9f5210b7556ef431033
("drm/msm/dp: return 0 from audio_prepare when cable is disconnected")
should be backported to 6.12, and which adaptation is appropriate for
the older hw_params callback.

On my Lenovo Chromebook Duet 5 (Homestar, SC7180), running Debian
kernel 6.12.107+deb13-arm64 (Debian package 6.12.107-1), with
PipeWire 1.4.2 and WirePlumber 0.5.8, restarting
WirePlumber with DP disconnected reproducibly produces 20 failures
per restart. Four restarts were tested. Kprobes identify
the caller as WirePlumber and show -EINVAL returned by
dp_audio_hw_params and propagated through hdmi_codec_hw_params.
An instruction-offset probe, checked against the loaded module
build ID, confirms the !power_on branch in all 20 calls during
the final restart.

The observed impact here is failed disconnected-DP parameter probing
and repeated ASoC error messages. Internal speakers remain usable;
I have not reproduced the dummy-sink symptom described upstream.

In 6.12 the callback is hdmi_codec_ops.hw_params, before the LPASS CPU
DAI and component hw_params callbacks. Returning success therefore
allows those subsequent callbacks to run. In current upstream the
check is in the DRM bridge audio prepare path, following the generic
HDMI codec conversion in 98a8920e7b07.

Would an adaptation retaining the power_on early exit but
removing the EINVAL assignment be appropriate for the old callback,
or is any additional change needed for SC7180 LPASS?

I haven't yet built or booted a candidate backport. DP audio
playback and hotplug testing are also outstanding. The results above
describe reproduction on the unmodified kernel, not validation
of a fix.

AI assistance is involved in the source review, analysis and
polishing the message.

Reply via email to