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:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user