diff --git a/net/neuron/channel/ch_haven_recv.c b/net/neuron/channel/ch_haven_recv.c index 47f0a6568436..b58af7a8e860 100644 --- a/net/neuron/channel/ch_haven_recv.c +++ b/net/neuron/channel/ch_haven_recv.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include "ch_mq_shmem_common.h" @@ -335,10 +336,16 @@ static int channel_hh_map_memory(struct neuron_mq_data_priv *priv, return -ENXIO; } - if (of_property_read_bool(dev->of_node, "qcom,primary")) + if (of_property_read_bool(dev->of_node, "qcom,primary")) { memset(priv->base, 0, sizeof(struct neuron_shmem_channel_header)); + ret = of_property_read_u32(dev->of_node, "peer-name", + &priv->peer_name); + if (ret) + priv->peer_name = HH_SELF_VM; + } + return 0; } diff --git a/net/neuron/channel/ch_haven_send.c b/net/neuron/channel/ch_haven_send.c index 43ceb3387c16..1fb4b41e690f 100644 --- a/net/neuron/channel/ch_haven_send.c +++ b/net/neuron/channel/ch_haven_send.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include "ch_mq_shmem_common.h" @@ -320,10 +321,16 @@ static int channel_hh_map_memory(struct neuron_mq_data_priv *priv, return -ENXIO; } - if (of_property_read_bool(dev->of_node, "qcom,primary")) + if (of_property_read_bool(dev->of_node, "qcom,primary")) { memset(priv->base, 0, sizeof(struct neuron_shmem_channel_header)); + ret = of_property_read_u32(dev->of_node, "peer-name", + &priv->peer_name); + if (ret) + priv->peer_name = HH_SELF_VM; + } + return 0; } diff --git a/net/neuron/channel/ch_mq_shmem_common.h b/net/neuron/channel/ch_mq_shmem_common.h index 3a74e81703e0..b4b163b237cc 100644 --- a/net/neuron/channel/ch_mq_shmem_common.h +++ b/net/neuron/channel/ch_mq_shmem_common.h @@ -76,6 +76,8 @@ struct neuron_mq_data_priv { atomic64_t virq_payload; /* A counter to calculate the interrupt received. */ u32 interrupt_counter; + /* name of peer vm */ + u32 peer_name; /* haven tx doorbell descriptor */ void *tx_dbl; /* haven rx doorbell descriptor */