From 1543f39115c7830176f398d5b5de1a64ec942cf8 Mon Sep 17 00:00:00 2001 From: Deven Patel Date: Tue, 23 Feb 2016 14:33:28 -0800 Subject: [PATCH] drivers: soc: Add transport info when APR opens a channel The transport "smd_trans" is required if far end is running SMD instead of Glink. If far end is already running Glink, this property is ignored in Glink layer and communication will be through Glink. CRs-fixed: 986398 Change-Id: I76b59a9782ab77e1ee3b37afb1db6ec01340ea33 Signed-off-by: Deven Patel --- drivers/soc/qcom/qdsp6v2/apr_tal_glink.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/soc/qcom/qdsp6v2/apr_tal_glink.c b/drivers/soc/qcom/qdsp6v2/apr_tal_glink.c index 7aa075c4cff1..70cf7a5997a1 100644 --- a/drivers/soc/qcom/qdsp6v2/apr_tal_glink.c +++ b/drivers/soc/qcom/qdsp6v2/apr_tal_glink.c @@ -298,6 +298,14 @@ struct apr_svc_ch_dev *apr_tal_open(uint32_t clnt, uint32_t dest, uint32_t dl, open_cfg.notify_state = apr_tal_notify_state; open_cfg.notify_rx_intent_req = apr_tal_notify_rx_intent_req; open_cfg.priv = apr_ch; + /* + * The transport name "smd_trans" is required if far end is using SMD. + * In that case Glink will fall back to SMD and the client (APR in this + * case) will still work as if Glink is the communication channel. + * If far end is already using Glink, this property will be ignored in + * Glink layer and communication will be through Glink. + */ + open_cfg.transport = "smd_trans"; apr_ch->channel_state = GLINK_REMOTE_DISCONNECTED; apr_ch->handle = glink_open(&open_cfg);