summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-05-21 12:55:39 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-05-21 12:55:39 +0200
commitd33ca7d2e8db435ae0e514877e83e07bbf283baa (patch)
tree5d7a8a00a1eb02978226c31f4c1289834f8310ac /drivers
parent50f09a3dd5877bda888fc25c3d98937dcfb85539 (diff)
parentda096fbccd52803db3edd9dd0c5ae4079d31c456 (diff)
downloadlinux-stable-d33ca7d2e8db435ae0e514877e83e07bbf283baa.tar.gz
linux-stable-d33ca7d2e8db435ae0e514877e83e07bbf283baa.tar.bz2
linux-stable-d33ca7d2e8db435ae0e514877e83e07bbf283baa.zip
Merge tag 'soundwire-5.13-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire into char-misc-linus
soundwire fixes for v5.13 Fix in qcom driver for handling of qcom,ports-block-pack-mode property. This fixes regression reported in DragonBoard DB845c and Lenovo Yoga C630. * tag 'soundwire-5.13-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire: soundwire: qcom: fix handling of qcom,ports-block-pack-mode
Diffstat (limited to 'drivers')
-rw-r--r--drivers/soundwire/qcom.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/soundwire/qcom.c b/drivers/soundwire/qcom.c
index 2827085a323b..0ef79d60e88e 100644
--- a/drivers/soundwire/qcom.c
+++ b/drivers/soundwire/qcom.c
@@ -1150,8 +1150,16 @@ static int qcom_swrm_get_port_config(struct qcom_swrm_ctrl *ctrl)
ret = of_property_read_u8_array(np, "qcom,ports-block-pack-mode",
bp_mode, nports);
- if (ret)
- return ret;
+ if (ret) {
+ u32 version;
+
+ ctrl->reg_read(ctrl, SWRM_COMP_HW_VERSION, &version);
+
+ if (version <= 0x01030000)
+ memset(bp_mode, SWR_INVALID_PARAM, QCOM_SDW_MAX_PORTS);
+ else
+ return ret;
+ }
memset(hstart, SWR_INVALID_PARAM, QCOM_SDW_MAX_PORTS);
of_property_read_u8_array(np, "qcom,ports-hstart", hstart, nports);