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 e02b325240df75073a52bd60a8e20fc872d339bc..c74685b016af1a259659b579201662263f03aad7 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 8d4ea46bc6b5afe2aea96206f9eee580c2602778..feb2db95829e10dc92c266f081047fd89f2ba178 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 8d9678d1f3c7b343566799a35d540500baa2bc2d..c6fd22058b628b37d60cf15c83b3d04c2f1e9797 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 d4b3d7716cac5df601bc8b2e3b07ef1bf3fcdf27..10435d97f9abad8e91536079be614a8471fb6b9f 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 0e5c75f85926a8c904500abbc543578260acfe64..9fb14a0d7334511e7ed845a0b7ae7bb5d93a655b 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;