Re: [PATCH] net: wwan: To support SAHARA port for Qualcomm WWAN module.

From: Loic Poulain
Date: Mon Feb 21 2022 - 04:13:17 EST


Hi Yonglin,

On Mon, 21 Feb 2022 at 09:42, Yonglin Tan <yonglin.tan@xxxxxxxxxxx> wrote:
>
> The SAHARA port for Qualcomm WWAN module is used to capture
> memory dump. But now this feature has not been supported by
> linux kernel code. Such that no SAHARA driver matched while
> the device entered to DUMP mode.

So this is SAHARA debug mode? Can you share an example of usage and
tool to communicate via this channel, AFAIU SAHARA is already partly
supported in MHI stack to load the firehose programmer automatically,
so can you elaborate a bit on how it works?

Regards,
Loic


>
> Cc: stable@xxxxxxxxxxxxxxx
> Fixes: fa588eba632d ("net: Add Qcom WWAN control driver")
> Signed-off-by: Yonglin Tan <yonglin.tan@xxxxxxxxxxx>
> ---
> drivers/net/wwan/mhi_wwan_ctrl.c | 1 +
> drivers/net/wwan/wwan_core.c | 4 ++++
> include/linux/wwan.h | 1 +
> 3 files changed, 6 insertions(+)
>
> diff --git a/drivers/net/wwan/mhi_wwan_ctrl.c b/drivers/net/wwan/mhi_wwan_ctrl.c
> index e4d0f69..4cf420e 100644
> --- a/drivers/net/wwan/mhi_wwan_ctrl.c
> +++ b/drivers/net/wwan/mhi_wwan_ctrl.c
> @@ -262,6 +262,7 @@ static const struct mhi_device_id mhi_wwan_ctrl_match_table[] = {
> { .chan = "QMI", .driver_data = WWAN_PORT_QMI },
> { .chan = "DIAG", .driver_data = WWAN_PORT_QCDM },
> { .chan = "FIREHOSE", .driver_data = WWAN_PORT_FIREHOSE },
> + { .chan = "SAHARA", .driver_data = WWAN_PORT_SAHARA },
> {},
> };
> MODULE_DEVICE_TABLE(mhi, mhi_wwan_ctrl_match_table);
> diff --git a/drivers/net/wwan/wwan_core.c b/drivers/net/wwan/wwan_core.c
> index b8c7843..2630677 100644
> --- a/drivers/net/wwan/wwan_core.c
> +++ b/drivers/net/wwan/wwan_core.c
> @@ -318,6 +318,10 @@ static const struct {
> .name = "FIREHOSE",
> .devsuf = "firehose",
> },
> + [WWAN_PORT_SAHARA] = {
> + .name = "SAHARA",
> + .devsuf = "sahara",
> + },
> };
>
> static ssize_t type_show(struct device *dev, struct device_attribute *attr,
> diff --git a/include/linux/wwan.h b/include/linux/wwan.h
> index 5ce2acf..fc8ecaf 100644
> --- a/include/linux/wwan.h
> +++ b/include/linux/wwan.h
> @@ -26,6 +26,7 @@ enum wwan_port_type {
> WWAN_PORT_QMI,
> WWAN_PORT_QCDM,
> WWAN_PORT_FIREHOSE,
> + WWAN_PORT_SAHARA,
>
> /* Add new port types above this line */
>
> --
> 2.7.4
>