From: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
To: Ricardo Martinez <ricardo.martinez@linux.intel.com>
Cc: Netdev <netdev@vger.kernel.org>,
linux-wireless@vger.kernel.org, kuba@kernel.org,
davem@davemloft.net, johannes@sipsolutions.net,
ryazanov.s.a@gmail.com, loic.poulain@linaro.org,
m.chetan.kumar@intel.com, chandrashekar.devegowda@intel.com,
linuxwwan@intel.com, chiranjeevi.rapolu@linux.intel.com,
haijun.liu@mediatek.com, amir.hanania@intel.com,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
dinesh.sharma@intel.com, eliot.lee@intel.com,
moises.veleta@intel.com, pierre-louis.bossart@intel.com,
muralidharan.sethuraman@intel.com,
Soumya.Prakash.Mishra@intel.com, sreehari.kancharla@intel.com,
madhusmita.sahu@intel.com
Subject: Re: [PATCH net-next v6 02/13] net: wwan: t7xx: Add control DMA interface
Date: Thu, 21 Apr 2022 14:55:58 +0300 (EEST) [thread overview]
Message-ID: <735a12c8-384a-a2ca-cb84-da16eda81414@linux.intel.com> (raw)
In-Reply-To: <20220407223629.21487-3-ricardo.martinez@linux.intel.com>
[-- Attachment #1: Type: text/plain, Size: 2352 bytes --]
On Thu, 7 Apr 2022, Ricardo Martinez wrote:
> From: Haijun Liu <haijun.liu@mediatek.com>
>
> Cross Layer DMA (CLDMA) Hardware interface (HIF) enables the control
> path of Host-Modem data transfers. CLDMA HIF layer provides a common
> interface to the Port Layer.
>
> CLDMA manages 8 independent RX/TX physical channels with data flow
> control in HW queues. CLDMA uses ring buffers of General Packet
> Descriptors (GPD) for TX/RX. GPDs can represent multiple or single
> data buffers (DB).
>
> CLDMA HIF initializes GPD rings, registers ISR handlers for CLDMA
> interrupts, and initializes CLDMA HW registers.
>
> CLDMA TX flow:
> 1. Port Layer write
> 2. Get DB address
> 3. Configure GPD
> 4. Triggering processing via HW register write
>
> CLDMA RX flow:
> 1. CLDMA HW sends a RX "done" to host
> 2. Driver starts thread to safely read GPD
> 3. DB is sent to Port layer
> 4. Create a new buffer for GPD ring
>
> Note: This patch does not enable compilation since it has dependencies
> such as t7xx_pcie_mac_clear_int()/t7xx_pcie_mac_set_int() and
> struct t7xx_pci_dev which are added by the core patch.
>
> Signed-off-by: Haijun Liu <haijun.liu@mediatek.com>
> Signed-off-by: Chandrashekar Devegowda <chandrashekar.devegowda@intel.com>
> Co-developed-by: Ricardo Martinez <ricardo.martinez@linux.intel.com>
> Signed-off-by: Ricardo Martinez <ricardo.martinez@linux.intel.com>
>
> >From a WWAN framework perspective:
> Reviewed-by: Loic Poulain <loic.poulain@linaro.org>
>
> Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> +struct cldma_tgpd {
> + u8 gpd_flags;
> + u8 not_used1;
> + u8 not_used2;
> + u8 debug_id;
> + __le32 next_gpd_ptr_h;
> + __le32 next_gpd_ptr_l;
> + __le32 data_buff_bd_ptr_h;
> + __le32 data_buff_bd_ptr_l;
> + __le16 data_buff_len;
> + __le16 not_used3;
> +};
> +
> +struct cldma_rgpd {
> + u8 gpd_flags;
> + u8 not_used1;
> + __le16 data_allow_len;
> + __le32 next_gpd_ptr_h;
> + __le32 next_gpd_ptr_l;
> + __le32 data_buff_bd_ptr_h;
> + __le32 data_buff_bd_ptr_l;
> + __le16 data_buff_len;
> + u8 not_used2;
> + u8 debug_id;
> +};
A small additional thing...
If you put next_gpd_ptr_h, next_gpd_ptr_l, data_buff_bd_ptr_h, and
data_buff_bd_ptr_l into another struct inside these structs,
t7xx_cldma_tgpd_set_data_ptr() and friends don't require duplicated
versions for tgpd and rgpd.
--
i.
next prev parent reply other threads:[~2022-04-21 11:56 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-07 22:36 [PATCH net-next v6 00/13] net: wwan: t7xx: PCIe driver for MediaTek M.2 modem Ricardo Martinez
2022-04-07 22:36 ` [PATCH net-next v6 01/13] list: Add list_next_entry_circular() and list_prev_entry_circular() Ricardo Martinez
2022-04-07 22:36 ` [PATCH net-next v6 02/13] net: wwan: t7xx: Add control DMA interface Ricardo Martinez
2022-04-21 11:55 ` Ilpo Järvinen [this message]
2022-04-25 23:52 ` Sergey Ryazanov
2022-04-26 0:19 ` Sergey Ryazanov
2022-04-27 12:34 ` Loic Poulain
2022-04-27 13:17 ` Sergey Ryazanov
2022-04-07 22:36 ` [PATCH net-next v6 03/13] net: wwan: t7xx: Add core components Ricardo Martinez
2022-04-11 10:18 ` Ilpo Järvinen
2022-04-25 23:52 ` Sergey Ryazanov
2022-04-07 22:36 ` [PATCH net-next v6 04/13] net: wwan: t7xx: Add port proxy infrastructure Ricardo Martinez
2022-04-12 11:13 ` Ilpo Järvinen
2022-04-25 23:53 ` Sergey Ryazanov
[not found] ` <MWHPR1101MB231920A2152DC2FC7B2FBB3CE0FB9@MWHPR1101MB2319.namprd11.prod.outlook.com>
2022-04-26 23:06 ` Sergey Ryazanov
[not found] ` <MWHPR1101MB2319F7A27B51ECD998855494E0FA9@MWHPR1101MB2319.namprd11.prod.outlook.com>
2022-04-27 1:35 ` Sergey Ryazanov
2022-04-07 22:36 ` [PATCH net-next v6 05/13] net: wwan: t7xx: Add control port Ricardo Martinez
2022-04-12 12:04 ` Ilpo Järvinen
2022-04-13 23:00 ` Martinez, Ricardo
2022-04-25 23:54 ` Sergey Ryazanov
2022-04-07 22:36 ` [PATCH net-next v6 06/13] net: wwan: t7xx: Add AT and MBIM WWAN ports Ricardo Martinez
2022-04-12 12:54 ` Ilpo Järvinen
2022-04-25 23:54 ` Sergey Ryazanov
2022-04-07 22:36 ` [PATCH net-next v6 07/13] net: wwan: t7xx: Data path HW layer Ricardo Martinez
2022-04-12 13:01 ` Ilpo Järvinen
2022-04-25 23:54 ` Sergey Ryazanov
2022-04-07 22:36 ` [PATCH net-next v6 08/13] net: wwan: t7xx: Add data path interface Ricardo Martinez
2022-04-21 10:54 ` Ilpo Järvinen
2022-04-25 23:55 ` Sergey Ryazanov
2022-04-26 7:29 ` Ilpo Järvinen
2022-04-26 8:00 ` Sergey Ryazanov
2022-05-02 16:51 ` Martinez, Ricardo
2022-05-02 17:40 ` Sergey Ryazanov
2022-04-07 22:36 ` [PATCH net-next v6 09/13] net: wwan: t7xx: Add WWAN network interface Ricardo Martinez
2022-04-21 10:56 ` Ilpo Järvinen
2022-04-25 23:55 ` Sergey Ryazanov
2022-04-07 22:36 ` [PATCH net-next v6 10/13] net: wwan: t7xx: Introduce power management Ricardo Martinez
2022-04-21 11:01 ` Ilpo Järvinen
2022-04-07 22:36 ` [PATCH net-next v6 11/13] net: wwan: t7xx: Runtime PM Ricardo Martinez
2022-04-21 11:03 ` Ilpo Järvinen
2022-04-07 22:36 ` [PATCH net-next v6 12/13] net: wwan: t7xx: Device deep sleep lock/unlock Ricardo Martinez
2022-04-21 11:47 ` Ilpo Järvinen
2022-04-07 22:36 ` [PATCH net-next v6 13/13] net: wwan: t7xx: Add maintainers and documentation Ricardo Martinez
2022-04-21 12:01 ` Ilpo Järvinen
2022-04-25 23:55 ` Sergey Ryazanov
2022-04-08 4:15 ` [PATCH net-next v6 00/13] net: wwan: t7xx: PCIe driver for MediaTek M.2 modem Jakub Kicinski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=735a12c8-384a-a2ca-cb84-da16eda81414@linux.intel.com \
--to=ilpo.jarvinen@linux.intel.com \
--cc=Soumya.Prakash.Mishra@intel.com \
--cc=amir.hanania@intel.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=chandrashekar.devegowda@intel.com \
--cc=chiranjeevi.rapolu@linux.intel.com \
--cc=davem@davemloft.net \
--cc=dinesh.sharma@intel.com \
--cc=eliot.lee@intel.com \
--cc=haijun.liu@mediatek.com \
--cc=johannes@sipsolutions.net \
--cc=kuba@kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=linuxwwan@intel.com \
--cc=loic.poulain@linaro.org \
--cc=m.chetan.kumar@intel.com \
--cc=madhusmita.sahu@intel.com \
--cc=moises.veleta@intel.com \
--cc=muralidharan.sethuraman@intel.com \
--cc=netdev@vger.kernel.org \
--cc=pierre-louis.bossart@intel.com \
--cc=ricardo.martinez@linux.intel.com \
--cc=ryazanov.s.a@gmail.com \
--cc=sreehari.kancharla@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.