TI-SCI firmware will only respond to messages when the
TI_SCI_FLAG_REQ_ACK_ON_PROCESSED flag is set. Most messages
already do this, set this for the ones that do not.

Signed-off-by: Andrew F. Davis <a...@ti.com>
Tested-by: Alejandro Hernandez <ajhernan...@ti.com>
---
 drivers/firmware/ti_sci.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/drivers/firmware/ti_sci.c b/drivers/firmware/ti_sci.c
index 1196ce0712..9139f9787f 100644
--- a/drivers/firmware/ti_sci.c
+++ b/drivers/firmware/ti_sci.c
@@ -257,7 +257,8 @@ static int ti_sci_cmd_get_revision(struct ti_sci_handle 
*handle)
 
        info = handle_to_ti_sci_info(handle);
 
-       xfer = ti_sci_setup_one_xfer(info, TI_SCI_MSG_VERSION, 0x0,
+       xfer = ti_sci_setup_one_xfer(info, TI_SCI_MSG_VERSION,
+                                    TI_SCI_FLAG_REQ_ACK_ON_PROCESSED,
                                     (u32 *)&hdr, sizeof(struct ti_sci_msg_hdr),
                                     sizeof(*rev_info));
        if (IS_ERR(xfer)) {
@@ -499,8 +500,8 @@ static int ti_sci_get_device_state(const struct 
ti_sci_handle *handle,
 
        info = handle_to_ti_sci_info(handle);
 
-       /* Response is expected, so need of any flags */
-       xfer = ti_sci_setup_one_xfer(info, TI_SCI_MSG_GET_DEVICE_STATE, 0,
+       xfer = ti_sci_setup_one_xfer(info, TI_SCI_MSG_GET_DEVICE_STATE,
+                                    TI_SCI_FLAG_REQ_ACK_ON_PROCESSED,
                                     (u32 *)&req, sizeof(req), sizeof(*resp));
        if (IS_ERR(xfer)) {
                ret = PTR_ERR(xfer);
@@ -2574,8 +2575,8 @@ static int ti_sci_cmd_change_fwl_owner(const struct 
ti_sci_handle *handle,
 
        info = handle_to_ti_sci_info(handle);
 
-       xfer = ti_sci_setup_one_xfer(info, TISCI_MSG_FWL_GET,
-                                    TISCI_MSG_FWL_CHANGE_OWNER,
+       xfer = ti_sci_setup_one_xfer(info, TISCI_MSG_FWL_CHANGE_OWNER,
+                                    TI_SCI_FLAG_REQ_ACK_ON_PROCESSED,
                                     (u32 *)&req, sizeof(req), sizeof(*resp));
        if (IS_ERR(xfer)) {
                ret = PTR_ERR(xfer);
-- 
2.21.0

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to