Re:Re: [PATCH v2 1/2] bus: mhi: host: Import mux_id item

From: Slark Xiao
Date: Wed Jun 12 2024 - 06:20:03 EST



At 2024-06-12 17:46:09, "Manivannan Sadhasivam" <manivannan.sadhasivam@xxxxxxxxxx> wrote:
>On Wed, Jun 12, 2024 at 05:38:42PM +0800, Slark Xiao wrote:
>
>Subject could be improved:
>
>bus: mhi: host: Add configurable mux_id for MBIM mode
>

Would be updated in v3 version.

>> For SDX72 MBIM mode, it starts data mux id from 112 instead of 0.
>> This would lead to device can't ping outside successfully.
>> Also MBIM side would report "bad packet session (112)".
>> So we add a default mux_id value for SDX72. And this value
>> would be transferred to wwan mbim side.
>>
>> Signed-off-by: Slark Xiao <slark_xiao@xxxxxxx>
>> ---
>> drivers/bus/mhi/host/pci_generic.c | 3 +++
>> include/linux/mhi.h | 2 ++
>> 2 files changed, 5 insertions(+)
>>
>> diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
>> index 0b483c7c76a1..9e9adf8320d2 100644
>> --- a/drivers/bus/mhi/host/pci_generic.c
>> +++ b/drivers/bus/mhi/host/pci_generic.c
>> @@ -53,6 +53,7 @@ struct mhi_pci_dev_info {
>> unsigned int dma_data_width;
>> unsigned int mru_default;
>> bool sideband_wake;
>> + unsigned int mux_id;
>> };
>>
>> #define MHI_CHANNEL_CONFIG_UL(ch_num, ch_name, el_count, ev_ring) \
>> @@ -469,6 +470,7 @@ static const struct mhi_pci_dev_info mhi_foxconn_sdx72_info = {
>> .dma_data_width = 32,
>> .mru_default = 32768,
>> .sideband_wake = false,
>> + .mux_id = 112,
>> };
>>
>> static const struct mhi_channel_config mhi_mv3x_channels[] = {
>> @@ -1035,6 +1037,7 @@ static int mhi_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
>> mhi_cntrl->runtime_get = mhi_pci_runtime_get;
>> mhi_cntrl->runtime_put = mhi_pci_runtime_put;
>> mhi_cntrl->mru = info->mru_default;
>> + mhi_cntrl->link_id = info->mux_id;
>
>Again, 'link_id' is just a WWAN term. Use 'mux_id' here also.
>
>- Mani

I have updated the item name in mhi side but kept in wwan side. The value
"mhi_cntrl->link_id" would be called in function mhi_mbim_probe() of
mhi_wwan_mbim.c. According the description of last parameter of function
'wwan_register_ops()' in mhi_mbim_probe() :

* @def_link_id: id of default link that will be automatically created by
* the WWAN core for the WWAN device.

So are you sure we shall use mux_id in wwan side? Please help reconfirm it.

Thanks!
>
>--
>மணிவண்ணன் சதாசிவம்