soundwire fixes for v6.0
This contains two fixes to qcom sdw driver which resolve duplicate reset control get and second one fixes device array indices. -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE+vs47OPLdNbVcHzyfBQHDyUjg0cFAmMRm1sACgkQfBQHDyUj g0egohAArytbLHUQbSFbZwozmcKI6+OyRbyFjA+vr2dHY1wk8Yzp6cTiA8JN4EIx VfPhkCbU7z1dgwyOhsl+Qif82AibVQ3Wol066qqhpzqYpB4u0p2skaSwUi/6JuSA kJBoSXVC3LcedjoGClbBRDx1Cr/t6YX47mNL4lXdMg9A9dIRWfpPPt2dRSjbATHq 2Du1zSMuUBj6qWHqw4aUM4FneVyP1JD4FF8AjzpQZAIGLUQfiaeVPYTsi5MchC7d 3exTwMsFTfK1jFowjmjT8cbbIGZf/IoMkniiCjNTbK2rd2Djdr9KVR5vJvS+BNNP Aq8vR3tACL82LHxHR2SXspzmhj+uuwQAHklzvRQ5fkXIi/XuHzJW/Eo0gWL44F/y 3ue22XeuEBx4Tjhp40VXwwRZM1iNnSk7DUIt7X+4DN6rcdM5qOL6anO5Tqe8kzYZ Q5HwVyvu7lbEdARsKsMMMd+R9bCZJUqDLo/eZsMPlZIkisROtyVRBZYtQX82/dDG K6ZmgvTmXMPQUSzyLkZXEboI4OB8DhdNHBZCk58ehwf6PkG1ZqPeOMcPwSKwdKyo 3sgYI2kQ4jqHzjq9JvcunFgLP9Cw1Wx3aYT+5TJkc0SbuW3TnvWoKDhLvw1h8BD5 vOeaCo6m1JrEzMNtAJJM++/fBmPVBPpUlu++8gN+C4HJjQ4CmHU= =dJt1 -----END PGP SIGNATURE----- Merge tag 'soundwire-6.0-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire into char-misc-linus Vinod writes: "soundwire fixes for v6.0 This contains two fixes to qcom sdw driver which resolve duplicate reset control get and second one fixes device array indices." * tag 'soundwire-6.0-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire: soundwire: qcom: fix device status array range soundwire: qcom: remove duplicate reset control get
This commit is contained in:
commit
0f022aaac9
|
@ -169,7 +169,7 @@ struct qcom_swrm_ctrl {
|
|||
u8 wcmd_id;
|
||||
struct qcom_swrm_port_config pconfig[QCOM_SDW_MAX_PORTS];
|
||||
struct sdw_stream_runtime *sruntime[SWRM_MAX_DAIS];
|
||||
enum sdw_slave_status status[SDW_MAX_DEVICES];
|
||||
enum sdw_slave_status status[SDW_MAX_DEVICES + 1];
|
||||
int (*reg_read)(struct qcom_swrm_ctrl *ctrl, int reg, u32 *val);
|
||||
int (*reg_write)(struct qcom_swrm_ctrl *ctrl, int reg, int val);
|
||||
u32 slave_status;
|
||||
|
@ -420,7 +420,7 @@ static int qcom_swrm_get_alert_slave_dev_num(struct qcom_swrm_ctrl *ctrl)
|
|||
|
||||
ctrl->reg_read(ctrl, SWRM_MCP_SLV_STATUS, &val);
|
||||
|
||||
for (dev_num = 0; dev_num < SDW_MAX_DEVICES; dev_num++) {
|
||||
for (dev_num = 0; dev_num <= SDW_MAX_DEVICES; dev_num++) {
|
||||
status = (val >> (dev_num * SWRM_MCP_SLV_STATUS_SZ));
|
||||
|
||||
if ((status & SWRM_MCP_SLV_STATUS_MASK) == SDW_SLAVE_ALERT) {
|
||||
|
@ -440,7 +440,7 @@ static void qcom_swrm_get_device_status(struct qcom_swrm_ctrl *ctrl)
|
|||
ctrl->reg_read(ctrl, SWRM_MCP_SLV_STATUS, &val);
|
||||
ctrl->slave_status = val;
|
||||
|
||||
for (i = 0; i < SDW_MAX_DEVICES; i++) {
|
||||
for (i = 0; i <= SDW_MAX_DEVICES; i++) {
|
||||
u32 s;
|
||||
|
||||
s = (val >> (i * 2));
|
||||
|
@ -1356,10 +1356,6 @@ static int qcom_swrm_probe(struct platform_device *pdev)
|
|||
ctrl->bus.compute_params = &qcom_swrm_compute_params;
|
||||
ctrl->bus.clk_stop_timeout = 300;
|
||||
|
||||
ctrl->audio_cgcr = devm_reset_control_get_exclusive(dev, "swr_audio_cgcr");
|
||||
if (IS_ERR(ctrl->audio_cgcr))
|
||||
dev_err(dev, "Failed to get audio_cgcr reset required for soundwire-v1.6.0\n");
|
||||
|
||||
ret = qcom_swrm_get_port_config(ctrl);
|
||||
if (ret)
|
||||
goto err_clk;
|
||||
|
|
Loading…
Reference in New Issue