diff mbox series

[net-next,v2] net: wwan: Add WWAN sahara port type

Message ID 20241120093904.8629-1-jerry.meng.lk@quectel.com (mailing list archive)
State Deferred
Delegated to: Netdev Maintainers
Headers show
Series [net-next,v2] net: wwan: Add WWAN sahara port type | expand

Checks

Context Check Description
netdev/series_format success Single patches do not need cover letters
netdev/tree_selection success Clearly marked for net-next
netdev/ynl success Generated files up to date; no warnings/errors; no diff in generated;
netdev/fixes_present success Fixes tag not required for -next series
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit success Errors and warnings before: 3 this patch: 3
netdev/build_tools success Errors and warnings before: 0 (+0) this patch: 0 (+0)
netdev/cc_maintainers warning 5 maintainers not CCed: kuba@kernel.org andrew+netdev@lunn.ch pabeni@redhat.com johannes@sipsolutions.net edumazet@google.com
netdev/build_clang success Errors and warnings before: 3 this patch: 3
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/deprecated_api success None detected
netdev/check_selftest success No net selftest shell script
netdev/verify_fixes success No Fixes tag
netdev/build_allmodconfig_warn success Errors and warnings before: 4 this patch: 4
netdev/checkpatch warning WARNING: line length of 98 exceeds 80 columns
netdev/build_clang_rust success No Rust files in patch. Skipping build
netdev/kdoc success Errors and warnings before: 2 this patch: 2
netdev/source_inline success Was 0 now: 0
netdev/contest success net-next-2024-11-20--15-00 (tests: 789)

Commit Message

Jerry Meng Nov. 20, 2024, 9:39 a.m. UTC
Add a Sahara protocol-based interface for downloading ramdump
from Qualcomm modems in SBL ramdump mode.

Signed-off-by: Jerry Meng <jerry.meng.lk@quectel.com>
---
v1 -> v2:
	- Fix errors checked by checkpatch.pl, mainly change indentation from space to tab
	- change my email acount to fit git-send-email

 drivers/net/wwan/mhi_wwan_ctrl.c | 1 +
 drivers/net/wwan/wwan_core.c     | 4 ++++
 include/linux/wwan.h             | 2 ++
 3 files changed, 7 insertions(+)

Comments

Sergey Ryazanov Nov. 20, 2024, 8:36 p.m. UTC | #1
+Manivannan

Hello Jerry,

this version looks a way better, still there is one minor thing to 
improve. See below.

Manivannan, Loic, could you advice is it Ok to export that SAHARA port 
as is?

On 20.11.2024 11:39, Jerry Meng wrote:
> Add a Sahara protocol-based interface for downloading ramdump
> from Qualcomm modems in SBL ramdump mode.
> 
> Signed-off-by: Jerry Meng <jerry.meng.lk@quectel.com>
> ---
> v1 -> v2:
> 	- Fix errors checked by checkpatch.pl, mainly change indentation from space to tab
> 	- change my email acount to fit git-send-email
> 
>   drivers/net/wwan/mhi_wwan_ctrl.c | 1 +
>   drivers/net/wwan/wwan_core.c     | 4 ++++
>   include/linux/wwan.h             | 2 ++
>   3 files changed, 7 insertions(+)
> 
> diff --git a/drivers/net/wwan/mhi_wwan_ctrl.c b/drivers/net/wwan/mhi_wwan_ctrl.c
> index e9f979d2d..082090ae5 100644
> --- a/drivers/net/wwan/mhi_wwan_ctrl.c
> +++ b/drivers/net/wwan/mhi_wwan_ctrl.c
> @@ -263,6 +263,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},
                                                            ^
The space is still missing between WWAN_PORT_SAHARA and trailing '}'. 
Please follow the format of existing table entries.

>   	{},
>   };
>   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 a51e27559..5eb0d6de3 100644
> --- a/drivers/net/wwan/wwan_core.c
> +++ b/drivers/net/wwan/wwan_core.c
> @@ -342,6 +342,10 @@ static const struct {
>   		.name = "MIPC",
>   		.devsuf = "mipc",
>   	},
> +	[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 79c781875..b0ea276f2 100644
> --- a/include/linux/wwan.h
> +++ b/include/linux/wwan.h
> @@ -19,6 +19,7 @@
>   * @WWAN_PORT_FASTBOOT: Fastboot protocol control
>   * @WWAN_PORT_ADB: ADB protocol control
>   * @WWAN_PORT_MIPC: MTK MIPC diagnostic interface
> + * @WWAN_PORT_SAHARA: Sahara protocol-based interface for downloading ramdump from Qualcomm modems
>   *
>   * @WWAN_PORT_MAX: Highest supported port types
>   * @WWAN_PORT_UNKNOWN: Special value to indicate an unknown port type
> @@ -34,6 +35,7 @@ enum wwan_port_type {
>   	WWAN_PORT_FASTBOOT,
>   	WWAN_PORT_ADB,
>   	WWAN_PORT_MIPC,
> +	WWAN_PORT_SAHARA,
>   
>   	/* Add new port types above this line */
>
Jeffrey Hugo Nov. 20, 2024, 9:48 p.m. UTC | #2
On 11/20/2024 1:36 PM, Sergey Ryazanov wrote:
> +Manivannan
> 
> Hello Jerry,
> 
> this version looks a way better, still there is one minor thing to 
> improve. See below.
> 
> Manivannan, Loic, could you advice is it Ok to export that SAHARA port 
> as is?

I'm against this.

There is an in-kernel Sahara implementation, which is going to be used 
by QDU100.  If WWAN is going to own the "SAHARA" MHI channel name, then 
no one else can use it which will conflict with QDU100.

I expect the in-kernel implementation can be leveraged for this.

-Jeff
Paolo Abeni Nov. 21, 2024, 9:05 a.m. UTC | #3
On 11/20/24 10:39, Jerry Meng wrote:
> Add a Sahara protocol-based interface for downloading ramdump
> from Qualcomm modems in SBL ramdump mode.
> 
> Signed-off-by: Jerry Meng <jerry.meng.lk@quectel.com>

Process note: in the next submissions please include a short changelog
vs the previous revisions after the SoB tag and a '---' separator.

Additionally:

## Form letter - net-next-closed

The merge window for v6.13 has begun and net-next is closed for new
drivers, features, code refactoring and optimizations. We are currently
accepting bug fixes only.

Please repost when net-next reopens after Dec 2nd.

RFC patches sent for review only are welcome at any time.

See:
https://www.kernel.org/doc/html/next/process/maintainer-netdev.html#development-cycle
Loic Poulain Nov. 21, 2024, 9:08 a.m. UTC | #4
On Wed, 20 Nov 2024 at 22:48, Jeffrey Hugo <quic_jhugo@quicinc.com> wrote:
>
> On 11/20/2024 1:36 PM, Sergey Ryazanov wrote:
> > +Manivannan
> >
> > Hello Jerry,
> >
> > this version looks a way better, still there is one minor thing to
> > improve. See below.
> >
> > Manivannan, Loic, could you advice is it Ok to export that SAHARA port
> > as is?
>
> I'm against this.
>
> There is an in-kernel Sahara implementation, which is going to be used
> by QDU100.  If WWAN is going to own the "SAHARA" MHI channel name, then
> no one else can use it which will conflict with QDU100.
>
> I expect the in-kernel implementation can be leveraged for this.

Fair enough, actually the same change has already been discussed two
years ago, and we agreed that it should not be exposed as a WWAN
control port:
https://lore.kernel.org/netdev/CAMZdPi_7KGx69s5tFumkswVXiQSdxXZjDXT5f9njRnBNz1k-VA@mail.gmail.com/#t

Regards,
Loic
diff mbox series

Patch

diff --git a/drivers/net/wwan/mhi_wwan_ctrl.c b/drivers/net/wwan/mhi_wwan_ctrl.c
index e9f979d2d..082090ae5 100644
--- a/drivers/net/wwan/mhi_wwan_ctrl.c
+++ b/drivers/net/wwan/mhi_wwan_ctrl.c
@@ -263,6 +263,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 a51e27559..5eb0d6de3 100644
--- a/drivers/net/wwan/wwan_core.c
+++ b/drivers/net/wwan/wwan_core.c
@@ -342,6 +342,10 @@  static const struct {
 		.name = "MIPC",
 		.devsuf = "mipc",
 	},
+	[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 79c781875..b0ea276f2 100644
--- a/include/linux/wwan.h
+++ b/include/linux/wwan.h
@@ -19,6 +19,7 @@ 
  * @WWAN_PORT_FASTBOOT: Fastboot protocol control
  * @WWAN_PORT_ADB: ADB protocol control
  * @WWAN_PORT_MIPC: MTK MIPC diagnostic interface
+ * @WWAN_PORT_SAHARA: Sahara protocol-based interface for downloading ramdump from Qualcomm modems
  *
  * @WWAN_PORT_MAX: Highest supported port types
  * @WWAN_PORT_UNKNOWN: Special value to indicate an unknown port type
@@ -34,6 +35,7 @@  enum wwan_port_type {
 	WWAN_PORT_FASTBOOT,
 	WWAN_PORT_ADB,
 	WWAN_PORT_MIPC,
+	WWAN_PORT_SAHARA,
 
 	/* Add new port types above this line */