2018-03-26 05:37:25

by Govind Singh

[permalink] [raw]
Subject: [PATCH v3 00/12] *** Add support for wifi QMI client driver ***

Add QMI client driver for Q6 integrated WLAN connectivity subsystem.
This module is responsible for communicating WLAN control messages to FW
over QMI interface.

“QUALCOMM Messaging Interface”(QMI) provides the control interface between
components running b/w remote processors with underlying transport layer
based on integrated chipset(shared memory) or discrete chipset(PCI/USB/SDIO/UART).

QMI client driver implementation is based on qmi frmework https://lwn.net/Articles/729924/.

Below is the sequence of qmi handshake.

QMI CLIENT(APPS) QMI SERVER(FW in Q6)

<------wlan service discoverd----

-----connect to wlam qmi service----->

------------wlan info request----->

<------------wlan info resp------------

------------msa info req-------->

<------------msa info resp------------

------------msa ready req-------->

<------------msa ready resp------------

<------------msa ready indication-------

------------capability req------->

<------------capability resp------------

------------qmi bdf req--------->

<------------qmi bdf resp------------

------------qmi cal trigger------->

<------------ QMI FW ready indication-------

Govind Singh (12):
ath10k: Add qmi service for wlan qmi client
dt: bindings: add bindings for ath10k qmi client
ath10k: Add WCN3990 QMI client driver
ath10k: add support to start and stop qmi service
ath10k: Add support of QMI indication message
firmware: qcom: scm: Add WLAN VMID for Qualcomm SCM interface
ath10k: Add MSA handshake QMI mgs support
ath10k: Add QMI CAP request support
ath10k: Add QMI HOST CAP request support
ath10k: add bdf/cal indication support
ath10k: Add wlan mode on/off qmi message
ath10k: Add qmi wlan enable/disable support for WCN3990

.../bindings/net/wireless/qcom,ath10k.txt | 8 +
drivers/net/wireless/ath/ath10k/Makefile | 4 +
drivers/net/wireless/ath/ath10k/qmi.c | 1188 ++++++++++
drivers/net/wireless/ath/ath10k/qmi.h | 102 +
drivers/net/wireless/ath/ath10k/qmi_svc_v01.c | 2323 ++++++++++++++++++++
drivers/net/wireless/ath/ath10k/qmi_svc_v01.h | 685 ++++++
drivers/net/wireless/ath/ath10k/snoc.c | 179 +-
include/linux/qcom_scm.h | 4 +-
8 files changed, 4491 insertions(+), 2 deletions(-)
create mode 100644 drivers/net/wireless/ath/ath10k/qmi.c
create mode 100644 drivers/net/wireless/ath/ath10k/qmi.h
create mode 100644 drivers/net/wireless/ath/ath10k/qmi_svc_v01.c
create mode 100644 drivers/net/wireless/ath/ath10k/qmi_svc_v01.h

--
1.9.1


2018-03-27 17:06:46

by Govind Singh

[permalink] [raw]
Subject: Re: [PATCH 00/12] *** Add support for wifi QMI client driver ***

Hi Peter,

On 2018-03-27 01:51, Peter Oh wrote:
>> Add QMI client driver for Q6 integrated WLAN connectivity subsystem.
> Can you give an example which chipset series is Q6 integrated WLAN ?
>
> Thanks,
> Peter

SDM845/MSM8998 series is using the same, where WLAN firmware is running
on Q6 processor.


Thanks,
Govind

2018-03-26 20:21:27

by Peter Oh

[permalink] [raw]
Subject: Re: [PATCH v3 00/12] *** Add support for wifi QMI client driver ***


> Add QMI client driver for Q6 integrated WLAN connectivity subsystem.
Can you give an example which chipset series is Q6 integrated WLAN ?

Thanks,
Peter

2018-05-14 13:38:38

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH v3 00/12] *** Add support for wifi QMI client driver ***

Govind Singh <[email protected]> writes:

> Add QMI client driver for Q6 integrated WLAN connectivity subsystem.
> This module is responsible for communicating WLAN control messages to FW
> over QMI interface.
>
> =E2=80=9CQUALCOMM Messaging Interface=E2=80=9D(QMI) provides the control =
interface between
> components running b/w remote processors with underlying transport layer
> based on integrated chipset(shared memory) or discrete chipset(PCI/USB/SD=
IO/UART).
>
> QMI client driver implementation is based on qmi frmework https://lwn.net=
/Articles/729924/.
>
> Below is the sequence of qmi handshake.
>
> QMI CLIENT(APPS) QMI SERVE=
R(FW in Q6)
>
> <------wlan service discoverd----
>
> -----connect to wlam qmi service----->
>
> ------------wlan info request----->
>
> <------------wlan info resp------------
>
> ------------msa info req-------->
>
> <------------msa info resp------------
>
> ------------msa ready req-------->
>
> <------------msa ready resp------------
>
> <------------msa ready indication-------
>
> ------------capability req------->
>
> <------------capability resp------------
>
> ------------qmi bdf req--------->
>
> <------------qmi bdf resp------------
>
> ------------qmi cal trigger------->
>
> <------------ QMI FW ready indication-------
>
> Govind Singh (12):
> ath10k: Add qmi service for wlan qmi client
> dt: bindings: add bindings for ath10k qmi client
> ath10k: Add WCN3990 QMI client driver
> ath10k: add support to start and stop qmi service
> ath10k: Add support of QMI indication message
> firmware: qcom: scm: Add WLAN VMID for Qualcomm SCM interface
> ath10k: Add MSA handshake QMI mgs support
> ath10k: Add QMI CAP request support
> ath10k: Add QMI HOST CAP request support
> ath10k: add bdf/cal indication support
> ath10k: Add wlan mode on/off qmi message
> ath10k: Add qmi wlan enable/disable support for WCN3990

BTW, I noticed that you had v3 only in the cover letter but the version
number should be in every patch part of the set:

https://patchwork.kernel.org/patch/10307161/

--=20
Kalle Valo

2018-05-08 17:35:48

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH v3 00/12] *** Add support for wifi QMI client driver ***

On Sun 25 Mar 22:37 PDT 2018, Govind Singh wrote:

> Add QMI client driver for Q6 integrated WLAN connectivity subsystem.
> This module is responsible for communicating WLAN control messages to FW
> over QMI interface.
>
> ?QUALCOMM Messaging Interface?(QMI) provides the control interface between
> components running b/w remote processors with underlying transport layer
> based on integrated chipset(shared memory) or discrete chipset(PCI/USB/SDIO/UART).
>
> QMI client driver implementation is based on qmi frmework https://lwn.net/Articles/729924/.
>
> Below is the sequence of qmi handshake.
>
> QMI CLIENT(APPS) QMI SERVER(FW in Q6)
>
> <------wlan service discoverd----
>
> -----connect to wlam qmi service----->
>
> ------------wlan info request----->
>
> <------------wlan info resp------------
>
> ------------msa info req-------->
>
> <------------msa info resp------------
>
> ------------msa ready req-------->
>
> <------------msa ready resp------------
>
> <------------msa ready indication-------
>
> ------------capability req------->
>
> <------------capability resp------------
>
> ------------qmi bdf req--------->
>
> <------------qmi bdf resp------------
>
> ------------qmi cal trigger------->
>
> <------------ QMI FW ready indication-------

Does the responsibility of the driver ends here? I mean is this a driver
for setting up the firmware and then there's something else doing the
actual wifi operation, or does it simply hand over execution to the
common ath10k logic at this point?

>
> Govind Singh (12):
> ath10k: Add qmi service for wlan qmi client
> dt: bindings: add bindings for ath10k qmi client
> ath10k: Add WCN3990 QMI client driver
> ath10k: add support to start and stop qmi service
> ath10k: Add support of QMI indication message
> firmware: qcom: scm: Add WLAN VMID for Qualcomm SCM interface
> ath10k: Add MSA handshake QMI mgs support
> ath10k: Add QMI CAP request support
> ath10k: Add QMI HOST CAP request support
> ath10k: add bdf/cal indication support
> ath10k: Add wlan mode on/off qmi message
> ath10k: Add qmi wlan enable/disable support for WCN3990

I'm missing this last patch in my mailbox, and it would be nice if all
the patches where in-reply-to the cover letter, to make them easier to
find.

Regards,
Bjorn

2018-05-09 04:02:33

by Govind Singh

[permalink] [raw]
Subject: Re: [PATCH v3 00/12] *** Add support for wifi QMI client driver ***

On 2018-05-08 23:07, Bjorn Andersson wrote:
> On Sun 25 Mar 22:37 PDT 2018, Govind Singh wrote:
>
>> Add QMI client driver for Q6 integrated WLAN connectivity subsystem.
>> This module is responsible for communicating WLAN control messages to
>> FW
>> over QMI interface.
>>
>> “QUALCOMM Messaging Interface”(QMI) provides the control interface
>> between
>> components running b/w remote processors with underlying transport
>> layer
>> based on integrated chipset(shared memory) or discrete
>> chipset(PCI/USB/SDIO/UART).
>>
>> QMI client driver implementation is based on qmi frmework
>> https://lwn.net/Articles/729924/.
>>
>> Below is the sequence of qmi handshake.
>>
>> QMI CLIENT(APPS) QMI
>> SERVER(FW in Q6)
>>
>> <------wlan service discoverd----
>>
>> -----connect to wlam qmi service----->
>>
>> ------------wlan info request----->
>>
>> <------------wlan info resp------------
>>
>> ------------msa info req-------->
>>
>> <------------msa info resp------------
>>
>> ------------msa ready req-------->
>>
>> <------------msa ready resp------------
>>
>> <------------msa ready indication-------
>>
>> ------------capability req------->
>>
>> <------------capability resp------------
>>
>> ------------qmi bdf req--------->
>>
>> <------------qmi bdf resp------------
>>
>> ------------qmi cal trigger------->
>>
>> <------------ QMI FW ready indication-------
>
> Does the responsibility of the driver ends here? I mean is this a
> driver
> for setting up the firmware and then there's something else doing the
> actual wifi operation, or does it simply hand over execution to the
> common ath10k logic at this point?
>

From wlan qmi client point of view once wlan qmi service is discovered,
it connects to the service and
does the above handshakes and later it handover the execution to common
ath10k logic.
These handshakes will be done as part of pd restart as well.

>>
>> Govind Singh (12):
>> ath10k: Add qmi service for wlan qmi client
>> dt: bindings: add bindings for ath10k qmi client
>> ath10k: Add WCN3990 QMI client driver
>> ath10k: add support to start and stop qmi service
>> ath10k: Add support of QMI indication message
>> firmware: qcom: scm: Add WLAN VMID for Qualcomm SCM interface
>> ath10k: Add MSA handshake QMI mgs support
>> ath10k: Add QMI CAP request support
>> ath10k: Add QMI HOST CAP request support
>> ath10k: add bdf/cal indication support
>> ath10k: Add wlan mode on/off qmi message
>> ath10k: Add qmi wlan enable/disable support for WCN3990
>
> I'm missing this last patch in my mailbox, and it would be nice if all
> the patches where in-reply-to the cover letter, to make them easier to
> find.
>
> Regards,
> Bjorn

Sure, I will take care this while submitting next version of this patch
series.

BR,
Govind