diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-05-21 12:55:39 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-05-21 12:55:39 +0200 |
commit | d33ca7d2e8db435ae0e514877e83e07bbf283baa (patch) | |
tree | 5d7a8a00a1eb02978226c31f4c1289834f8310ac | |
parent | Merge tag 'char-misc-5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/g... (diff) | |
parent | soundwire: qcom: fix handling of qcom,ports-block-pack-mode (diff) | |
download | linux-d33ca7d2e8db435ae0e514877e83e07bbf283baa.tar.xz linux-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
-rw-r--r-- | drivers/soundwire/qcom.c | 12 |
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); |