mbox series

[0/2] Fix APR audio regression on 6.2-rc1

Message ID 20221229151648.19839-1-stephan@gerhold.net
Headers show
Series Fix APR audio regression on 6.2-rc1 | expand

Message

Stephan Gerhold Dec. 29, 2022, 3:16 p.m. UTC
These two patches fix regressions in the Qualcomm APR driver that 
prevent audio from working on MSM8916 (and likely MSM8996). In previous 
kernel releases the "qcom,protection-domain" property was optional, in 
6.2-rc1 it is now required. It should remain optional because the 
protection domain functionality is only supported starting with MSM8998
and is not present on older SoCs [1].

These patches should go as fixes into 6.2 to fix the regression.

[1]: https://lore.kernel.org/all/20200312120842.21991-1-sibis@codeaurora.org/

Stephan Gerhold (2):
  dt-bindings: soc: qcom: apr: Make qcom,protection-domain optional
    again
  soc: qcom: apr: Make qcom,protection-domain optional again

 .../devicetree/bindings/soc/qcom/qcom,apr-services.yaml      | 5 ++---
 drivers/soc/qcom/apr.c                                       | 3 ++-
 2 files changed, 4 insertions(+), 4 deletions(-)

Comments

Bjorn Andersson Dec. 29, 2022, 5:53 p.m. UTC | #1
On Thu, Dec 29, 2022 at 04:16:48PM +0100, Stephan Gerhold wrote:
> APR should not fail if the service device tree node does not have
> the qcom,protection-domain property, since this functionality does
> not exist on older platforms such as MSM8916 and MSM8996.
> 

Forgot that when I reviewed 6d7860f5750d, but you're right. Sorry about
that.

Reviewed-by: Bjorn Andersson <andersson@kernel.org>

Regards,
Bjorn

> Ignore -EINVAL (returned when the property does not exist) to fix
> a regression on 6.2-rc1 that prevents audio from working:
> 
>   qcom,apr remoteproc0:smd-edge.apr_audio_svc.-1.-1:
>     Failed to read second value of qcom,protection-domain
>   qcom,apr remoteproc0:smd-edge.apr_audio_svc.-1.-1:
>     Failed to add apr 3 svc
> 
> Fixes: 6d7860f5750d ("soc: qcom: apr: Add check for idr_alloc and of_property_read_string_index")
> Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
> ---
>  drivers/soc/qcom/apr.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/soc/qcom/apr.c b/drivers/soc/qcom/apr.c
> index cd44f17dad3d..d51abb462ae5 100644
> --- a/drivers/soc/qcom/apr.c
> +++ b/drivers/soc/qcom/apr.c
> @@ -461,9 +461,10 @@ static int apr_add_device(struct device *dev, struct device_node *np,
>  		goto out;
>  	}
>  
> +	/* Protection domain is optional, it does not exist on older platforms */
>  	ret = of_property_read_string_index(np, "qcom,protection-domain",
>  					    1, &adev->service_path);
> -	if (ret < 0) {
> +	if (ret < 0 && ret != -EINVAL) {
>  		dev_err(dev, "Failed to read second value of qcom,protection-domain\n");
>  		goto out;
>  	}
> -- 
> 2.39.0
>
Bjorn Andersson Jan. 6, 2023, 8:24 p.m. UTC | #2
On Thu, 29 Dec 2022 16:16:46 +0100, Stephan Gerhold wrote:
> These two patches fix regressions in the Qualcomm APR driver that
> prevent audio from working on MSM8916 (and likely MSM8996). In previous
> kernel releases the "qcom,protection-domain" property was optional, in
> 6.2-rc1 it is now required. It should remain optional because the
> protection domain functionality is only supported starting with MSM8998
> and is not present on older SoCs [1].
> 
> [...]

Applied, thanks!

[1/2] dt-bindings: soc: qcom: apr: Make qcom,protection-domain optional again
      commit: 26658868354963afbff672ad6f7a85c44c311975
[2/2] soc: qcom: apr: Make qcom,protection-domain optional again
      commit: 599d41fb8ea8bd2a99ca9525dd69405020e43dda

Best regards,