diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2021-02-25 12:04:13 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2021-03-10 10:59:22 +0100 |
commit | ec73efc551aeb165ef74dfff9c26fdcf491a2aa7 (patch) | |
tree | 14b1dd0ceaf52adb9eee2affdf6f5b3976ba81db /src/mm-port-qmi.h | |
parent | 140094bb47800656fcf4c5408bcd12ac9475a886 (diff) |
port-qmi: add support for QMAP data aggregation
We now allow requesting for multiplex support in the set data format
operation of the MMPortQmi.
If multiplexing is supported, we'll configure both the modem (link
layer protocol and data aggregation protocol) and the kernel expected
data format (if qmi_wwan in use).
The logic adds additional preferences over the different choices we
may find in the logic:
* In newer modems, by default QMAPv5 is preferred over QMAP as data
aggregation protocol.
* If using qmi_wwan, by default rmnet (qmap-pass-through) is
preferred over add_mux/del_mux (raw-ip) kernel expected data
format.
These preferences are only considered if the specific support is found
in the setup.
Whenever we change the multiplexing support, an internal port reset
operation will be run, in order to bring the state of the setup to a
clean known one.
Diffstat (limited to 'src/mm-port-qmi.h')
-rw-r--r-- | src/mm-port-qmi.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mm-port-qmi.h b/src/mm-port-qmi.h index 835f35c3..50f984e7 100644 --- a/src/mm-port-qmi.h +++ b/src/mm-port-qmi.h @@ -97,14 +97,17 @@ QmiDevice *mm_port_qmi_peek_device (MMPortQmi *self); QmiDataEndpointType mm_port_qmi_get_endpoint_type (MMPortQmi *self); guint mm_port_qmi_get_endpoint_interface_number (MMPortQmi *self); -QmiWdaLinkLayerProtocol mm_port_qmi_get_link_layer_protocol (MMPortQmi *self); +QmiWdaLinkLayerProtocol mm_port_qmi_get_link_layer_protocol (MMPortQmi *self); +QmiWdaDataAggregationProtocol mm_port_qmi_get_data_aggregation_protocol (MMPortQmi *self); typedef enum { MM_PORT_QMI_SETUP_DATA_FORMAT_ACTION_QUERY, MM_PORT_QMI_SETUP_DATA_FORMAT_ACTION_SET_DEFAULT, + MM_PORT_QMI_SETUP_DATA_FORMAT_ACTION_SET_MULTIPLEX, } MMPortQmiSetupDataFormatAction; void mm_port_qmi_setup_data_format (MMPortQmi *self, + MMPort *data, MMPortQmiSetupDataFormatAction action, GAsyncReadyCallback callback, gpointer user_data); |