diff options
author | Daniele Palmas <dnlplm@gmail.com> | 2023-08-01 17:56:05 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2023-08-07 10:52:55 +0000 |
commit | 490eeb0ade86ad48d135315b3e9fb018fc7f414a (patch) | |
tree | 28cda8540baa837ea3f44572ed3ca46475d8fcf4 | |
parent | 65e2db75edb6b792aa8f270899718e24ce80d03a (diff) |
port-qmi: add QMAP support to mhi_net based setups
-rw-r--r-- | src/mm-port-qmi.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/mm-port-qmi.c b/src/mm-port-qmi.c index 46a14b63..4d79a43b 100644 --- a/src/mm-port-qmi.c +++ b/src/mm-port-qmi.c @@ -153,6 +153,9 @@ initialize_endpoint_info (MMPortQmi *self) self->priv->endpoint_interface_number = 1; break; case QMI_DATA_ENDPOINT_TYPE_PCIE: + /* Qualcomm magic number */ + self->priv->endpoint_interface_number = 4; + break; case QMI_DATA_ENDPOINT_TYPE_UNDEFINED: case QMI_DATA_ENDPOINT_TYPE_HSIC: case QMI_DATA_ENDPOINT_TYPE_BAM_DMUX: @@ -715,7 +718,8 @@ get_rmnet_device_add_link_flags (MMPortQmi *self) } } - if (g_strcmp0 (self->priv->net_driver, "qmi_wwan") == 0) { + if (g_strcmp0 (self->priv->net_driver, "qmi_wwan") == 0 || + g_strcmp0 (self->priv->net_driver, "mhi_net") == 0) { QmiWdaDataAggregationProtocol dap; dap = mm_port_qmi_get_data_aggregation_protocol (self); @@ -1158,6 +1162,9 @@ load_current_kernel_data_modes (MMPortQmi *self, } } + if (g_strcmp0 (self->priv->net_driver, "mhi_net") == 0) + return (MM_PORT_QMI_KERNEL_DATA_MODE_RAW_IP | MM_PORT_QMI_KERNEL_DATA_MODE_MUX_RMNET); + /* For any driver, assume raw-ip only */ return MM_PORT_QMI_KERNEL_DATA_MODE_RAW_IP; } @@ -1196,6 +1203,10 @@ load_supported_kernel_data_modes (MMPortQmi *self, return supported; } + /* PCIe based setups support both raw ip and QMAP through rmnet */ + if (g_strcmp0 (self->priv->net_driver, "mhi_net") == 0) + return (MM_PORT_QMI_KERNEL_DATA_MODE_RAW_IP | MM_PORT_QMI_KERNEL_DATA_MODE_MUX_RMNET); + /* For any driver, assume raw-ip only */ return MM_PORT_QMI_KERNEL_DATA_MODE_RAW_IP; } |