aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorCristian Marussi <cristian.marussi@arm.com>2024-10-28 12:01:48 +0000
committerSudeep Holla <sudeep.holla@arm.com>2024-10-28 14:53:16 +0000
commitc091de2d383a079bc996b8ebbc1d193732fa4897 (patch)
tree96cb3a4d9e458e7bb11bccedc14b0ea9fe2de073
parentdt-bindings: firmware: arm,scmi: Introduce more transport properties (diff)
downloadwireguard-linux-c091de2d383a079bc996b8ebbc1d193732fa4897.tar.xz
wireguard-linux-c091de2d383a079bc996b8ebbc1d193732fa4897.zip
firmware: arm_scmi: Use max_msg and max_msg_size devicetree properties
Override the default built-in max_msg and max_msg_size transport properties when the corresponding properties were found to be described in the devicetree. Signed-off-by: Cristian Marussi <cristian.marussi@arm.com> Message-Id: <20241028120151.1301177-5-cristian.marussi@arm.com> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Diffstat (limited to '')
-rw-r--r--drivers/firmware/arm_scmi/driver.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/drivers/firmware/arm_scmi/driver.c b/drivers/firmware/arm_scmi/driver.c
index 7d5f0da975c7..ab9b05529339 100644
--- a/drivers/firmware/arm_scmi/driver.c
+++ b/drivers/firmware/arm_scmi/driver.c
@@ -3054,8 +3054,20 @@ static const struct scmi_desc *scmi_transport_setup(struct device *dev)
if (ret && ret != -EINVAL)
dev_err(dev, "Malformed arm,max-rx-timeout-ms DT property.\n");
- dev_info(dev, "SCMI max-rx-timeout: %dms\n",
- trans->desc->max_rx_timeout_ms);
+ ret = of_property_read_u32(dev->of_node, "arm,max-msg-size",
+ &trans->desc->max_msg_size);
+ if (ret && ret != -EINVAL)
+ dev_err(dev, "Malformed arm,max-msg-size DT property.\n");
+
+ ret = of_property_read_u32(dev->of_node, "arm,max-msg",
+ &trans->desc->max_msg);
+ if (ret && ret != -EINVAL)
+ dev_err(dev, "Malformed arm,max-msg DT property.\n");
+
+ dev_info(dev,
+ "SCMI max-rx-timeout: %dms / max-msg-size: %dbytes / max-msg: %d\n",
+ trans->desc->max_rx_timeout_ms, trans->desc->max_msg_size,
+ trans->desc->max_msg);
return trans->desc;
}