On Thu, Jun 19, 2025 at 04:06:35PM GMT, Hardik Garg wrote:
> The connection-id determines which hypervisor communication channel the
> guest should use to talk to the VMBus host. This patch adds support to
> read this value from the DeviceTree where it exists as a property under
> the vmbus node with the compatible ID "microsoft,message-connection-id".
> The property name follows the format <vendor>,<field> where
> "vendor": "microsoft" and "field": "message-connection-id"
> 
> Reading from DeviceTree allows platforms to specify their preferred
> communication channel, making it more flexible. If the property is
> not found in the DeviceTree, use the default connection ID
> (VMBUS_MESSAGE_CONNECTION_ID or VMBUS_MESSAGE_CONNECTION_ID_4
> based on protocol version).
> 
> Signed-off-by: Hardik Garg <har...@linux.microsoft.com>
> ---
> v3: 
> https://lore.kernel.org/all/6a92ca86-ad6b-4d49-af6e-1ed7651b8...@linux.microsoft.com
> v2: 
> https://lore.kernel.org/all/096edaf7-cc90-42b6-aff4-c5f088574...@linux.microsoft.com
> v1: 
> https://lore.kernel.org/all/6acee4bf-cb04-43b9-9476-e8d811d26...@linux.microsoft.com
> ---
>  drivers/hv/connection.c |  6 ++++--
>  drivers/hv/vmbus_drv.c  | 13 +++++++++++++
>  2 files changed, 17 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/hv/connection.c b/drivers/hv/connection.c
> index be490c598785..15d2b652783d 100644
> --- a/drivers/hv/connection.c
> +++ b/drivers/hv/connection.c
> @@ -99,11 +99,13 @@ int vmbus_negotiate_version(struct vmbus_channel_msginfo 
> *msginfo, u32 version)
>       if (version >= VERSION_WIN10_V5) {
>               msg->msg_sint = VMBUS_MESSAGE_SINT;
>               msg->msg_vtl = ms_hyperv.vtl;
> -             vmbus_connection.msg_conn_id = VMBUS_MESSAGE_CONNECTION_ID_4;
>       } else {
>               msg->interrupt_page = virt_to_phys(vmbus_connection.int_page);
> -             vmbus_connection.msg_conn_id = VMBUS_MESSAGE_CONNECTION_ID;
>       }
> +     /* Set default connection ID if not provided via DeviceTree */
> +     if (!vmbus_connection.msg_conn_id)

Your binding said connection ID 0 is a valid one, so this is wrong. Or
binding is wrong.

Best regards,
Krzysztof


Reply via email to