Message ID | 20231105150510.96136-1-stachecki.tyler@gmail.com |
---|---|
State | New |
Headers | show |
Series | bus: mhi: host: pci_generic: Add support for Sierra Wireless EM9291 | expand |
On Sun, Nov 05, 2023 at 10:05:10AM -0500, Tyler J. Stachecki wrote: > Add support for the Sierra Wireless EM9291 modem. > Empirically, it seems to use the same configuration as > EM9191. > > $ lspci -vv > 03:00.0 Unassigned class [ff00]: Qualcomm Device 0308 > Subsystem: Device 18d7:0301 > > Hi Mani, I just want to highlight "empirically" here. I do not have access to the IP which confirms proper MHI configuration here. Given that, not sure it is appropriate for submission to the kernel. However, without these changes, AT is not exposed and QMI submissions time out -- so better than nothing...? Regards, Tyler
On Sun, Nov 05, 2023 at 10:05:10AM -0500, Tyler J. Stachecki wrote: > Add support for the Sierra Wireless EM9291 modem. > Empirically, it seems to use the same configuration as > EM9191. > > $ lspci -vv > 03:00.0 Unassigned class [ff00]: Qualcomm Device 0308 > Subsystem: Device 18d7:0301 > > Signed-off-by: Tyler J. Stachecki <stachecki.tyler@gmail.com> > --- > drivers/bus/mhi/host/pci_generic.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c > index 08f3f039dbdd..a9ac49a94832 100644 > --- a/drivers/bus/mhi/host/pci_generic.c > +++ b/drivers/bus/mhi/host/pci_generic.c > @@ -503,6 +503,14 @@ static const struct mhi_pci_dev_info mhi_sierra_em919x_info = { > .sideband_wake = false, > }; > > +static const struct mhi_pci_dev_info mhi_sierra_em929x_info = { > + .name = "sierra-em929x", > + .config = &modem_sierra_em919x_config, > + .bar_num = MHI_PCI_DEFAULT_BAR_NUM, > + .dma_data_width = 32, > + .sideband_wake = false, > +}; > + > static const struct mhi_channel_config mhi_telit_fn980_hw_v1_channels[] = { > MHI_CHANNEL_CONFIG_UL(14, "QMI", 32, 0), > MHI_CHANNEL_CONFIG_DL(15, "QMI", 32, 0), > @@ -587,6 +595,9 @@ static const struct pci_device_id mhi_pci_id_table[] = { > /* EM919x (sdx55), use the same vid:pid as qcom-sdx55m */ > { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306, 0x18d7, 0x0200), > .driver_data = (kernel_ulong_t) &mhi_sierra_em919x_info }, > + /* EM929x (sdx62), use the same vid:pid as qcom-sdx65m */ I'm confused about "sdx62" since the modem is using PID of SDX65. Typo? > + { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0308, 0x18d7, 0x0301), > + .driver_data = (kernel_ulong_t) &mhi_sierra_em929x_info }, Please sort the entry as per the note above mhi_pci_id_table[]. - Mani > /* Telit FN980 hardware revision v1 */ > { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306, 0x1C5D, 0x2000), > .driver_data = (kernel_ulong_t) &mhi_telit_fn980_hw_v1_info }, > -- > 2.30.2 > >
On Sun, Nov 05, 2023 at 10:11:42AM -0500, Tyler Stachecki wrote: > On Sun, Nov 05, 2023 at 10:05:10AM -0500, Tyler J. Stachecki wrote: > > Add support for the Sierra Wireless EM9291 modem. > > Empirically, it seems to use the same configuration as > > EM9191. > > > > $ lspci -vv > > 03:00.0 Unassigned class [ff00]: Qualcomm Device 0308 > > Subsystem: Device 18d7:0301 > > > > > > Hi Mani, > > I just want to highlight "empirically" here. I do not have > access to the IP which confirms proper MHI configuration > here. Given that, not sure it is appropriate for submission > to the kernel. > > However, without these changes, AT is not exposed and QMI > submissions time out -- so better than nothing...? > Yes, and that's how some other modem support is added as well. So it is totally fine. Thanks for the patch! - Mani > Regards, > Tyler >
diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c index 08f3f039dbdd..a9ac49a94832 100644 --- a/drivers/bus/mhi/host/pci_generic.c +++ b/drivers/bus/mhi/host/pci_generic.c @@ -503,6 +503,14 @@ static const struct mhi_pci_dev_info mhi_sierra_em919x_info = { .sideband_wake = false, }; +static const struct mhi_pci_dev_info mhi_sierra_em929x_info = { + .name = "sierra-em929x", + .config = &modem_sierra_em919x_config, + .bar_num = MHI_PCI_DEFAULT_BAR_NUM, + .dma_data_width = 32, + .sideband_wake = false, +}; + static const struct mhi_channel_config mhi_telit_fn980_hw_v1_channels[] = { MHI_CHANNEL_CONFIG_UL(14, "QMI", 32, 0), MHI_CHANNEL_CONFIG_DL(15, "QMI", 32, 0), @@ -587,6 +595,9 @@ static const struct pci_device_id mhi_pci_id_table[] = { /* EM919x (sdx55), use the same vid:pid as qcom-sdx55m */ { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306, 0x18d7, 0x0200), .driver_data = (kernel_ulong_t) &mhi_sierra_em919x_info }, + /* EM929x (sdx62), use the same vid:pid as qcom-sdx65m */ + { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0308, 0x18d7, 0x0301), + .driver_data = (kernel_ulong_t) &mhi_sierra_em929x_info }, /* Telit FN980 hardware revision v1 */ { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306, 0x1C5D, 0x2000), .driver_data = (kernel_ulong_t) &mhi_telit_fn980_hw_v1_info },
Add support for the Sierra Wireless EM9291 modem. Empirically, it seems to use the same configuration as EM9191. $ lspci -vv 03:00.0 Unassigned class [ff00]: Qualcomm Device 0308 Subsystem: Device 18d7:0301 Signed-off-by: Tyler J. Stachecki <stachecki.tyler@gmail.com> --- drivers/bus/mhi/host/pci_generic.c | 11 +++++++++++ 1 file changed, 11 insertions(+)