Commit 908ef80e authored by Baojun Xu's avatar Baojun Xu Committed by Takashi Iwai
Browse files

ALSA: hda/tas2781: Ignore reset check for SPI device



In the SPI driver probe, the device should be in the default state, so the
device status check is not necessary. It should be forced to do the
firmware download as I2C device.

Signed-off-by: default avatarBaojun Xu <baojun.xu@ti.com>
Link: https://patch.msgid.link/20260211030946.2330-1-baojun.xu@ti.com


Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 3a6b7dc4
Loading
Loading
Loading
Loading
+7 −13
Original line number Diff line number Diff line
@@ -631,7 +631,7 @@ static void tasdev_fw_ready(const struct firmware *fmw, void *context)
	struct tasdevice_priv *tas_priv = context;
	struct tas2781_hda *tas_hda = dev_get_drvdata(tas_priv->dev);
	struct hda_codec *codec = tas_priv->codec;
	int ret, val;
	int ret;

	guard(pm_runtime_active_auto)(tas_priv->dev);
	guard(mutex)(&tas_priv->codec_lock);
@@ -670,20 +670,14 @@ static void tasdev_fw_ready(const struct firmware *fmw, void *context)
	tas_priv->rcabin.profile_cfg_id = 0;

	tas_priv->fw_state = TASDEVICE_DSP_FW_ALL_OK;
	ret = tasdevice_spi_dev_read(tas_priv, tas_priv->index,
		TAS2781_REG_CLK_CONFIG, &val);
	if (ret < 0)
		goto out;

	if (val == TAS2781_REG_CLK_CONFIG_RESET) {
	ret = tasdevice_prmg_load(tas_priv, 0);
	if (ret < 0) {
			dev_err(tas_priv->dev, "FW download failed = %d\n",
				ret);
		dev_err(tas_priv->dev, "FW download failed = %d\n", ret);
		goto out;
	}
	tas_priv->fw_state = TASDEVICE_DSP_FW_ALL_OK;
	}

	if (tas_priv->fmw->nr_programs > 0)
		tas_priv->tasdevice[tas_priv->index].cur_prog = 0;
	if (tas_priv->fmw->nr_configurations > 0)