[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240628073626.1447288-1-slark_xiao@163.com>
Date: Fri, 28 Jun 2024 15:36:26 +0800
From: Slark Xiao <slark_xiao@....com>
To: manivannan.sadhasivam@...aro.org,
loic.poulain@...aro.org,
ryazanov.s.a@...il.com,
johannes@...solutions.net,
quic_jhugo@...cinc.com
Cc: netdev@...r.kernel.org,
mhi@...ts.linux.dev,
linux-arm-msm@...r.kernel.org,
linux-kernel@...r.kernel.org,
Slark Xiao <slark_xiao@....com>
Subject: [PATCH v3 2/3] bus: mhi: host: Add name for mhi_controller
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)".
In oder to fix this issue, we decide to use the modem name
to do a match in client driver side. Then client driver could
set a corresponding mux_id value for this modem product.
Signed-off-by: Slark Xiao <slark_xiao@....com>
---
drivers/bus/mhi/host/pci_generic.c | 1 +
include/linux/mhi.h | 2 ++
2 files changed, 3 insertions(+)
diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
index 1fb1c2f2fe12..14a11880bcea 100644
--- a/drivers/bus/mhi/host/pci_generic.c
+++ b/drivers/bus/mhi/host/pci_generic.c
@@ -1086,6 +1086,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->name = info->name;
if (info->edl_trigger)
mhi_cntrl->edl_trigger = mhi_pci_generic_edl_trigger;
diff --git a/include/linux/mhi.h b/include/linux/mhi.h
index b573f15762f8..86aa4f52842c 100644
--- a/include/linux/mhi.h
+++ b/include/linux/mhi.h
@@ -361,6 +361,7 @@ struct mhi_controller_config {
* @wake_set: Device wakeup set flag
* @irq_flags: irq flags passed to request_irq (optional)
* @mru: the default MRU for the MHI device
+ * @name: name of the modem
*
* Fields marked as (required) need to be populated by the controller driver
* before calling mhi_register_controller(). For the fields marked as (optional)
@@ -445,6 +446,7 @@ struct mhi_controller {
bool wake_set;
unsigned long irq_flags;
u32 mru;
+ const char *name;
};
/**
--
2.25.1
Powered by blists - more mailing lists