ASoC: codecs: realtek-soundwire: ignore initial PARITY errors
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Tue, 8 Sep 2020 13:45:19 +0000 (21:45 +0800)
committerVinod Koul <vkoul@kernel.org>
Thu, 10 Sep 2020 05:51:05 +0000 (11:21 +0530)
The parity calculation is not reset on a Severe Reset, which leads to
misleading/harmless errors reported on startup. The addition of a
quirk helps filter out such errors while leaving the error checks on
in steady-state.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Acked-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20200908134521.6781-6-yung-chuan.liao@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
sound/soc/codecs/rt1308-sdw.c
sound/soc/codecs/rt5682-sdw.c
sound/soc/codecs/rt700-sdw.c
sound/soc/codecs/rt711-sdw.c
sound/soc/codecs/rt715-sdw.c

index e02b325..c74685b 100644 (file)
@@ -124,6 +124,7 @@ static int rt1308_read_prop(struct sdw_slave *slave)
        struct sdw_dpn_prop *dpn;
 
        prop->scp_int1_mask = SDW_SCP_INT1_BUS_CLASH | SDW_SCP_INT1_PARITY;
+       prop->quirks = SDW_SLAVE_QUIRKS_INVALID_INITIAL_PARITY;
 
        prop->paging_support = true;
 
index 8d4ea46..feb2db9 100644 (file)
@@ -545,6 +545,7 @@ static int rt5682_read_prop(struct sdw_slave *slave)
 
        prop->scp_int1_mask = SDW_SCP_INT1_IMPL_DEF | SDW_SCP_INT1_BUS_CLASH |
                SDW_SCP_INT1_PARITY;
+       prop->quirks = SDW_SLAVE_QUIRKS_INVALID_INITIAL_PARITY;
 
        prop->paging_support = false;
 
index 8d9678d..c6fd220 100644 (file)
@@ -341,6 +341,7 @@ static int rt700_read_prop(struct sdw_slave *slave)
 
        prop->scp_int1_mask = SDW_SCP_INT1_IMPL_DEF | SDW_SCP_INT1_BUS_CLASH |
                SDW_SCP_INT1_PARITY;
+       prop->quirks = SDW_SLAVE_QUIRKS_INVALID_INITIAL_PARITY;
 
        prop->paging_support = false;
 
index d4b3d77..10435d9 100644 (file)
@@ -345,6 +345,7 @@ static int rt711_read_prop(struct sdw_slave *slave)
 
        prop->scp_int1_mask = SDW_SCP_INT1_IMPL_DEF | SDW_SCP_INT1_BUS_CLASH |
                SDW_SCP_INT1_PARITY;
+       prop->quirks = SDW_SLAVE_QUIRKS_INVALID_INITIAL_PARITY;
 
        prop->paging_support = false;
 
index 0e5c75f..9fb14a0 100644 (file)
@@ -439,6 +439,7 @@ static int rt715_read_prop(struct sdw_slave *slave)
 
        prop->scp_int1_mask = SDW_SCP_INT1_IMPL_DEF | SDW_SCP_INT1_BUS_CLASH |
                SDW_SCP_INT1_PARITY;
+       prop->quirks = SDW_SLAVE_QUIRKS_INVALID_INITIAL_PARITY;
 
        prop->paging_support = false;