api: new 5GNR capability
This commit is contained in:
@@ -4220,8 +4220,7 @@ current_capabilities_internal_load_unlock_required_ready (MMIfaceModem *self,
|
||||
|
||||
mm_obj_dbg (self, "multimode device without SIM, no 3GPP capabilities");
|
||||
caps = mm_gdbus_modem_get_current_capabilities (ctx->skeleton);
|
||||
caps &= ~MM_MODEM_CAPABILITY_GSM_UMTS;
|
||||
caps &= ~MM_MODEM_CAPABILITY_LTE;
|
||||
caps &= ~MM_MODEM_CAPABILITY_3GPP;
|
||||
|
||||
/* CDMA-EVDO must still be around */
|
||||
g_assert (caps & MM_MODEM_CAPABILITY_CDMA_EVDO);
|
||||
@@ -4283,8 +4282,7 @@ load_current_capabilities_ready (MMIfaceModem *self,
|
||||
|
||||
/* If the device is a multimode device (3GPP+3GPP2) check whether we have a
|
||||
* SIM or not. */
|
||||
if (caps & MM_MODEM_CAPABILITY_CDMA_EVDO &&
|
||||
(caps & MM_MODEM_CAPABILITY_GSM_UMTS || caps & MM_MODEM_CAPABILITY_LTE)) {
|
||||
if ((caps & MM_MODEM_CAPABILITY_CDMA_EVDO) && (caps & MM_MODEM_CAPABILITY_3GPP)) {
|
||||
mm_obj_dbg (self, "checking if multimode device has a SIM...");
|
||||
internal_load_unlock_required (
|
||||
self,
|
||||
@@ -5570,7 +5568,7 @@ mm_iface_modem_is_3gpp_lte_only (MMIfaceModem *self)
|
||||
MMModemCapability capabilities;
|
||||
|
||||
capabilities = mm_iface_modem_get_current_capabilities (self);
|
||||
return (capabilities & MM_MODEM_CAPABILITY_LTE) && !((MM_MODEM_CAPABILITY_LTE ^ capabilities) & capabilities);
|
||||
return ((capabilities & MM_MODEM_CAPABILITY_LTE) && !((MM_MODEM_CAPABILITY_LTE ^ capabilities) & capabilities));
|
||||
}
|
||||
|
||||
gboolean
|
||||
|
||||
@@ -1029,6 +1029,9 @@ mm_modem_capability_from_qmi_rat_mode_preference (QmiNasRatModePreference qmi)
|
||||
if (qmi & QMI_NAS_RAT_MODE_PREFERENCE_LTE)
|
||||
caps |= MM_MODEM_CAPABILITY_LTE;
|
||||
|
||||
if (qmi & QMI_NAS_RAT_MODE_PREFERENCE_5GNR)
|
||||
caps |= MM_MODEM_CAPABILITY_5GNR;
|
||||
|
||||
return caps;
|
||||
}
|
||||
|
||||
@@ -1050,6 +1053,9 @@ mm_modem_capability_to_qmi_rat_mode_preference (MMModemCapability caps)
|
||||
if (caps & MM_MODEM_CAPABILITY_LTE)
|
||||
qmi |= QMI_NAS_RAT_MODE_PREFERENCE_LTE;
|
||||
|
||||
if (caps & MM_MODEM_CAPABILITY_5GNR)
|
||||
qmi |= QMI_NAS_RAT_MODE_PREFERENCE_5GNR;
|
||||
|
||||
return qmi;
|
||||
}
|
||||
|
||||
@@ -1063,6 +1069,11 @@ mm_modem_capability_to_qmi_acquisition_order_preference (MMModemCapability caps)
|
||||
|
||||
array = g_array_new (FALSE, FALSE, sizeof (QmiNasRadioInterface));
|
||||
|
||||
if (caps & MM_MODEM_CAPABILITY_5GNR) {
|
||||
value = QMI_NAS_RADIO_INTERFACE_5GNR;
|
||||
g_array_append_val (array, value);
|
||||
}
|
||||
|
||||
if (caps & MM_MODEM_CAPABILITY_LTE) {
|
||||
value = QMI_NAS_RADIO_INTERFACE_LTE;
|
||||
g_array_append_val (array, value);
|
||||
@@ -1166,7 +1177,7 @@ mm_modem_capability_from_qmi_radio_technology_preference (QmiNasRadioTechnologyP
|
||||
if (qmi & QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_LTE)
|
||||
caps |= MM_MODEM_CAPABILITY_LTE;
|
||||
|
||||
/* FIXME: LTE Advanced? */
|
||||
/* NOTE: no 5GNR defined in Technology Preference */
|
||||
|
||||
return caps;
|
||||
}
|
||||
|
||||
@@ -41,7 +41,8 @@
|
||||
|
||||
#define MM_MODEM_CAPABILITY_3GPP \
|
||||
(MM_MODEM_CAPABILITY_GSM_UMTS | \
|
||||
MM_MODEM_CAPABILITY_LTE)
|
||||
MM_MODEM_CAPABILITY_LTE | \
|
||||
MM_MODEM_CAPABILITY_5GNR)
|
||||
|
||||
gchar *mm_strip_quotes (gchar *str);
|
||||
const gchar *mm_strip_tag (const gchar *str,
|
||||
|
||||
Reference in New Issue
Block a user