Hey, > > What is done in the downstream driver? > > As we encountered issues with the generic event ring configuration, I > tried with a configuration equivalent to that of the vendor driver, > that uses the same ring for data, control and diag stuff. > This is the event ring configuration in the MBPL driver from Sierra, with NUM_MHI_EVT_RING_ELEMENTS=2048: static struct mhi_event_properties event_config[] = { /* num intmod msi chan pri brs type hw_ev c_m off */ { NUM_MHI_EVT_RING_ELEMENTS, 1, 1, 0, 1, 2, 1, 0, 0, 0}, { NUM_MHI_EVT_RING_ELEMENTS, 1, 2, 100, 1, 3, 0, 1, 0, 0}, { NUM_MHI_EVT_RING_ELEMENTS, 1, 3, 101, 1, 3, 0, 1, 0, 0}, // { 240, 1, 3, 101, 1, 2, 0, 1, 0, 0}, // { 240, 1, 4, 0, 1, 2, 1, 0, 0, 0}, }; And this is the event ring configuration we're using in the upstream integration: static struct mhi_event_config modem_sierra_em919x_mhi_events[] = { /* first ring is control+data and DIAG ring */ MHI_EVENT_CONFIG_CTRL(0, 2048), /* Hardware channels request dedicated hardware event rings */ MHI_EVENT_CONFIG_HW_DATA(1, 2048, 100), MHI_EVENT_CONFIG_HW_DATA(2, 2048, 101) }; I have tried to add a non-ctrl ring copying the setup of the Foxconn SDX55, but did not help in my case: MHI_EVENT_CONFIG_CTRL(0, 128), MHI_EVENT_CONFIG_DATA(1, 128), MHI_EVENT_CONFIG_HW_DATA(2, 1024, 100), MHI_EVENT_CONFIG_HW_DATA(3, 1024, 101) -- Aleksander https://aleksander.es