mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 16:44:58 +02:00
soundwire fixes for 6.4
- Core fix for enumeration completion - Qualcomm driver fix to update status - AMD driver fix for probe error check -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE+vs47OPLdNbVcHzyfBQHDyUjg0cFAmTCWH4ACgkQfBQHDyUj g0cfjA//Q8QwotUsvQmTCmY5wSlfp/Rbh2onqOKU9OMszwlKOmS7nK8E7Yj8SXSH XmMDJ2GpB/TuVRMlNxJ0tz5gD8kp61411diDXA27qcKaVCmoFE7cC5jfqwTHobFD Rk8+2K8QSBksEM7MFSxBhs+E2Fdv9qurtKx2qxkzCRrPv7jVgP4bRvZKln/MXi5r 5Y4zGaY0TeZmwy6sv1xtCNqfw69yc5DWtrFrVhuSTnXOY6T+yPQiPblWUFdi4877 cwE9utQqv73GPOdAw7WUUsixhp1aiwdB/MZVPLcr3JAmFtiYGO3/NDwidwTHnjG1 raOsynFOATybqxL0152e51TdOflYWXrun+IYBvh33iJnoRuKvNZqZ0jUhRXmwNi2 4KOr3t6UuCN4tAedT0hjwfpjna8uQaWEqd90yZG6ZNKHK5VXlacqa9dF62+dtrsT EGEonXZ+A0uvNyWq+zMWGknle8gxNe1uxCs8cIkDnLFB1tcuE+ejMbJscQt6NVOe X7pR8qUAePZLyaNBApmE54BItIve00GTDrTHcdchZSVVYX/mSCalywuzKB2k1Bl/ N8Dhws+IzbnnDUsr8jYY9TJDUg+TNqn1+KAIRjTzoMnno75Dh1zJm/t3ARw+xvkZ EDyf9LtMaKMoZuhVhrk/yFuTznLGJvVo6Z5GEVDe5NIDEmBGG5g= =+KVr -----END PGP SIGNATURE----- Merge tag 'soundwire-6.5-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire Pull soundwire fixes from Vinod Koul: - Core fix for enumeration completion - Qualcomm driver fix to update status - AMD driver fix for probe error check * tag 'soundwire-6.5-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire: soundwire: amd: Fix a check for errors in probe() soundwire: qcom: update status correctly with mask soundwire: fix enumeration completion
This commit is contained in:
commit
bc168790de
|
|
@ -910,9 +910,9 @@ static int amd_sdw_manager_probe(struct platform_device *pdev)
|
|||
return -ENOMEM;
|
||||
|
||||
amd_manager->acp_mmio = devm_ioremap(dev, res->start, resource_size(res));
|
||||
if (IS_ERR(amd_manager->mmio)) {
|
||||
if (!amd_manager->acp_mmio) {
|
||||
dev_err(dev, "mmio not found\n");
|
||||
return PTR_ERR(amd_manager->mmio);
|
||||
return -ENOMEM;
|
||||
}
|
||||
amd_manager->instance = pdata->instance;
|
||||
amd_manager->mmio = amd_manager->acp_mmio +
|
||||
|
|
|
|||
|
|
@ -922,8 +922,8 @@ static void sdw_modify_slave_status(struct sdw_slave *slave,
|
|||
"initializing enumeration and init completion for Slave %d\n",
|
||||
slave->dev_num);
|
||||
|
||||
init_completion(&slave->enumeration_complete);
|
||||
init_completion(&slave->initialization_complete);
|
||||
reinit_completion(&slave->enumeration_complete);
|
||||
reinit_completion(&slave->initialization_complete);
|
||||
|
||||
} else if ((status == SDW_SLAVE_ATTACHED) &&
|
||||
(slave->status == SDW_SLAVE_UNATTACHED)) {
|
||||
|
|
@ -931,7 +931,7 @@ static void sdw_modify_slave_status(struct sdw_slave *slave,
|
|||
"signaling enumeration completion for Slave %d\n",
|
||||
slave->dev_num);
|
||||
|
||||
complete(&slave->enumeration_complete);
|
||||
complete_all(&slave->enumeration_complete);
|
||||
}
|
||||
slave->status = status;
|
||||
mutex_unlock(&bus->bus_lock);
|
||||
|
|
@ -1951,7 +1951,7 @@ int sdw_handle_slave_status(struct sdw_bus *bus,
|
|||
"signaling initialization completion for Slave %d\n",
|
||||
slave->dev_num);
|
||||
|
||||
complete(&slave->initialization_complete);
|
||||
complete_all(&slave->initialization_complete);
|
||||
|
||||
/*
|
||||
* If the manager became pm_runtime active, the peripherals will be
|
||||
|
|
|
|||
|
|
@ -540,7 +540,7 @@ static int qcom_swrm_get_alert_slave_dev_num(struct qcom_swrm_ctrl *ctrl)
|
|||
status = (val >> (dev_num * SWRM_MCP_SLV_STATUS_SZ));
|
||||
|
||||
if ((status & SWRM_MCP_SLV_STATUS_MASK) == SDW_SLAVE_ALERT) {
|
||||
ctrl->status[dev_num] = status;
|
||||
ctrl->status[dev_num] = status & SWRM_MCP_SLV_STATUS_MASK;
|
||||
return dev_num;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user