asoc: codecs: Fix LPASS register access during bootup

In analog codec and soundwire codec probe functions,
ADSP Audio PD up status is not checked which leads
to LPASS registers access during bootup
even before ADSP is ready.
Check for ADSP ready state in the respective
probe functions to fix this.

Change-Id: I7c97833898b6e75806c4567fcdf1618759acb238
Signed-off-by: Soumya Managoli <smanag@codeaurora.org>
This commit is contained in:
Soumya Managoli 2019-08-02 10:59:47 +05:30 committed by Gerrit - the friendly Code Review server
parent 2a61e30d44
commit 9f232a9029
2 changed files with 5 additions and 3 deletions

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. /* Copyright (c) 2016-2019 The Linux Foundation. All rights reserved.
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and * it under the terms of the GNU General Public License version 2 and
@ -1871,7 +1871,8 @@ static int msm_sdw_probe(struct platform_device *pdev)
int adsp_state; int adsp_state;
adsp_state = apr_get_subsys_state(); adsp_state = apr_get_subsys_state();
if (adsp_state != APR_SUBSYS_LOADED) { if (adsp_state != APR_SUBSYS_LOADED ||
!q6core_is_adsp_ready()) {
dev_err(&pdev->dev, "Adsp is not loaded yet %d\n", dev_err(&pdev->dev, "Adsp is not loaded yet %d\n",
adsp_state); adsp_state);
return -EPROBE_DEFER; return -EPROBE_DEFER;

View file

@ -4575,7 +4575,8 @@ static int msm_anlg_cdc_probe(struct platform_device *pdev)
int adsp_state; int adsp_state;
adsp_state = apr_get_subsys_state(); adsp_state = apr_get_subsys_state();
if (adsp_state != APR_SUBSYS_LOADED) { if (adsp_state != APR_SUBSYS_LOADED ||
!q6core_is_adsp_ready()) {
dev_err(&pdev->dev, "Adsp is not loaded yet %d\n", dev_err(&pdev->dev, "Adsp is not loaded yet %d\n",
adsp_state); adsp_state);
return -EPROBE_DEFER; return -EPROBE_DEFER;