forked from Minki/linux
net: wwan: iosm: fix invalid mux header type
Data stall seen during peak DL throughput test & packets are
dropped by mux layer due to invalid header type in datagram.
During initlization Mux aggregration protocol is set to default
UL/DL size and TD count of Mux lite protocol. This configuration
mismatch between device and driver is resulting in data stall/packet
drops.
Override the UL/DL size and TD count for Mux aggregation protocol.
Fixes: 1f52d7b622
("net: wwan: iosm: Enable M.2 7360 WWAN card support")
Signed-off-by: M Chetan Kumar <m.chetan.kumar@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
035e3befc1
commit
02d2d2ea4a
@ -91,6 +91,14 @@ void ipc_imem_wwan_channel_init(struct iosm_imem *ipc_imem,
|
||||
}
|
||||
|
||||
ipc_chnl_cfg_get(&chnl_cfg, ipc_imem->nr_of_channels);
|
||||
|
||||
if (ipc_imem->mmio->mux_protocol == MUX_AGGREGATION &&
|
||||
ipc_imem->nr_of_channels == IPC_MEM_IP_CHL_ID_0) {
|
||||
chnl_cfg.ul_nr_of_entries = IPC_MEM_MAX_TDS_MUX_AGGR_UL;
|
||||
chnl_cfg.dl_nr_of_entries = IPC_MEM_MAX_TDS_MUX_AGGR_DL;
|
||||
chnl_cfg.dl_buf_size = IPC_MEM_MAX_ADB_BUF_SIZE;
|
||||
}
|
||||
|
||||
ipc_imem_channel_init(ipc_imem, IPC_CTYPE_WWAN, chnl_cfg,
|
||||
IRQ_MOD_OFF);
|
||||
|
||||
|
@ -10,6 +10,7 @@
|
||||
|
||||
#define IPC_MEM_MAX_UL_DG_ENTRIES 100
|
||||
#define IPC_MEM_MAX_TDS_MUX_AGGR_UL 60
|
||||
#define IPC_MEM_MAX_TDS_MUX_AGGR_DL 60
|
||||
|
||||
#define IPC_MEM_MAX_ADB_BUF_SIZE (16 * 1024)
|
||||
#define IPC_MEM_MAX_UL_ADB_BUF_SIZE IPC_MEM_MAX_ADB_BUF_SIZE
|
||||
|
Loading…
Reference in New Issue
Block a user