On Tue, Jul 02, 2024 at 02:34:51PM +0800, Slark Xiao wrote: > > At 2024-07-02 00:25:23, "Manivannan Sadhasivam" <manivannan.sadhasivam@xxxxxxxxxx> wrote: > >On Mon, Jul 01, 2024 at 10:12:14AM +0800, Slark Xiao wrote: > >> Align with Qcom SDX72, add ready timeout item for Foxconn SDX72. > >> And also, add firehose support since SDX72. > >> > >> Signed-off-by: Slark Xiao <slark_xiao@xxxxxxx> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx> - Mani > >> --- > >> v2: (1). Update the edl file path and name (2). Set SDX72 support > >> trigger edl mode by default > >> v3: Divide into 2 parts for Foxconn sdx72 platform > >> --- > >> drivers/bus/mhi/host/pci_generic.c | 43 ++++++++++++++++++++++++++++++ > >> 1 file changed, 43 insertions(+) > >> > >> diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c > >> index 35ae7cd0711f..1fb1c2f2fe12 100644 > >> --- a/drivers/bus/mhi/host/pci_generic.c > >> +++ b/drivers/bus/mhi/host/pci_generic.c > >> @@ -399,6 +399,8 @@ static const struct mhi_channel_config mhi_foxconn_sdx55_channels[] = { > >> MHI_CHANNEL_CONFIG_DL(13, "MBIM", 32, 0), > >> MHI_CHANNEL_CONFIG_UL(32, "DUN", 32, 0), > >> MHI_CHANNEL_CONFIG_DL(33, "DUN", 32, 0), > >> + MHI_CHANNEL_CONFIG_UL_FP(34, "FIREHOSE", 32, 0), > >> + MHI_CHANNEL_CONFIG_DL_FP(35, "FIREHOSE", 32, 0), > >> MHI_CHANNEL_CONFIG_HW_UL(100, "IP_HW0_MBIM", 128, 2), > >> MHI_CHANNEL_CONFIG_HW_DL(101, "IP_HW0_MBIM", 128, 3), > >> }; > >> @@ -419,6 +421,16 @@ static const struct mhi_controller_config modem_foxconn_sdx55_config = { > >> .event_cfg = mhi_foxconn_sdx55_events, > >> }; > >> > >> +static const struct mhi_controller_config modem_foxconn_sdx72_config = { > >> + .max_channels = 128, > >> + .timeout_ms = 20000, > >> + .ready_timeout_ms = 50000, > >> + .num_channels = ARRAY_SIZE(mhi_foxconn_sdx55_channels), > >> + .ch_cfg = mhi_foxconn_sdx55_channels, > >> + .num_events = ARRAY_SIZE(mhi_foxconn_sdx55_events), > >> + .event_cfg = mhi_foxconn_sdx55_events, > > > >Weird. Why this modem is using all SDX55 configs? Reusing is fine, but it is > >strange to see only this SDX72 modem using different config than the others > >added below. > > > >- Mani > > > > There is a settings ".ready_timeout_ms = 50000," for SDX72/SDX75 only. > It aligns with Qcom SDX72/SDX75 in case of timeout issue. > > >> +}; > >> + > >> static const struct mhi_pci_dev_info mhi_foxconn_sdx55_info = { > >> .name = "foxconn-sdx55", > >> .fw = "qcom/sdx55m/sbl1.mbn", > >> @@ -488,6 +500,28 @@ static const struct mhi_pci_dev_info mhi_foxconn_dw5932e_info = { > >> .sideband_wake = false, > >> }; > >> > >> +static const struct mhi_pci_dev_info mhi_foxconn_t99w515_info = { > >> + .name = "foxconn-t99w515", > >> + .edl = "fox/sdx72m/edl.mbn", > >> + .edl_trigger = true, > >> + .config = &modem_foxconn_sdx72_config, > >> + .bar_num = MHI_PCI_DEFAULT_BAR_NUM, > >> + .dma_data_width = 32, > >> + .mru_default = 32768, > >> + .sideband_wake = false, > >> +}; > >> + > >> +static const struct mhi_pci_dev_info mhi_foxconn_dw5934e_info = { > >> + .name = "foxconn-dw5934e", > >> + .edl = "fox/sdx72m/edl.mbn", > >> + .edl_trigger = true, > >> + .config = &modem_foxconn_sdx72_config, > >> + .bar_num = MHI_PCI_DEFAULT_BAR_NUM, > >> + .dma_data_width = 32, > >> + .mru_default = 32768, > >> + .sideband_wake = false, > >> +}; > >> + > >> static const struct mhi_channel_config mhi_mv3x_channels[] = { > >> MHI_CHANNEL_CONFIG_UL(0, "LOOPBACK", 64, 0), > >> MHI_CHANNEL_CONFIG_DL(1, "LOOPBACK", 64, 0), > >> @@ -720,6 +754,15 @@ static const struct pci_device_id mhi_pci_id_table[] = { > >> /* DW5932e (sdx62), Non-eSIM */ > >> { PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0f9), > >> .driver_data = (kernel_ulong_t) &mhi_foxconn_dw5932e_info }, > >> + /* T99W515 (sdx72) */ > >> + { PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe118), > >> + .driver_data = (kernel_ulong_t) &mhi_foxconn_t99w515_info }, > >> + /* DW5934e(sdx72), With eSIM */ > >> + { PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe11d), > >> + .driver_data = (kernel_ulong_t) &mhi_foxconn_dw5934e_info }, > >> + /* DW5934e(sdx72), Non-eSIM */ > >> + { PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe11e), > >> + .driver_data = (kernel_ulong_t) &mhi_foxconn_dw5934e_info }, > >> /* MV31-W (Cinterion) */ > >> { PCI_DEVICE(PCI_VENDOR_ID_THALES, 0x00b3), > >> .driver_data = (kernel_ulong_t) &mhi_mv31_info }, > >> -- > >> 2.25.1 > >> > > > >-- > >மணிவண்ணன் சதாசிவம் -- மணிவண்ணன் சதாசிவம்