intel: custom setup for all available AT ports

Fully disable send delay as we're using AT ports via the new WWAN subsystem.
This commit is contained in:
Aleksander Morgado
2022-03-07 09:51:43 +00:00
parent 671164a64f
commit 84e22e9b98
+30 -1
View File
@@ -41,6 +41,35 @@ G_DEFINE_TYPE_EXTENDED (MMBroadbandModemMbimIntel, mm_broadband_modem_mbim_intel
/*****************************************************************************/
static void
setup_ports (MMBroadbandModem *self)
{
MMPortSerialAt *ports[3];
guint i;
/* Run the shared XMM port setup logic */
mm_shared_xmm_setup_ports (self);
ports[0] = mm_base_modem_peek_port_primary (MM_BASE_MODEM (self));
ports[1] = mm_base_modem_peek_port_secondary (MM_BASE_MODEM (self));
/* GNSS control port may or may not be a primary/secondary port */
ports[2] = mm_base_modem_peek_port_gps_control (MM_BASE_MODEM (self));
if (ports[2] && ((ports[2] == ports[0]) || (ports[2] == ports[1])))
ports[2] = NULL;
for (i = 0; i < G_N_ELEMENTS (ports); i++) {
if (!ports[i])
continue;
g_object_set (ports[i],
MM_PORT_SERIAL_SEND_DELAY, (guint64) 0,
NULL);
}
}
/*****************************************************************************/
MMBroadbandModemMbimIntel *
mm_broadband_modem_mbim_intel_new (const gchar *device,
const gchar **drivers,
@@ -112,5 +141,5 @@ mm_broadband_modem_mbim_intel_class_init (MMBroadbandModemMbimIntelClass *klass)
{
MMBroadbandModemClass *broadband_modem_class = MM_BROADBAND_MODEM_CLASS (klass);
broadband_modem_class->setup_ports = mm_shared_xmm_setup_ports;
broadband_modem_class->setup_ports = setup_ports;
}