mbox series

[net-next,v7,0/2] Add TAPRIO offload support for ICSSG driver

Message ID 20240527055300.154563-1-danishanwar@ti.com (mailing list archive)
Headers show
Series Add TAPRIO offload support for ICSSG driver | expand

Message

MD Danish Anwar May 27, 2024, 5:52 a.m. UTC
This series adds taprio offload support for ICSSG driver.

Patch [1/2] of the series moves some structures and API definition to .h
files so that these can be accessed by taprio (icssg_qos.c) file.

Patch [2/2] of the series intoduces the taprio support for icssg driver.

Changes from v6 to v7:
*) Rebased on 6.10-rc1.
*) Removed RFC tag, no functional changes.

Changes from v5 to v6:
*) Added RFC tag as net-next is closed now.
*) Created a new patch for "the struct definition move" and made this
   series instead of single patch as suggested by
   Paolo Abeni <pabeni@redhat.com>.
*) Removed est_new structure as that is no longer used.
*) Freeing qos.tas.taprio_admin using taprio_offload_free() as suggested
   by Paolo Abeni <pabeni@redhat.com>
*) Clearing taprio_admin and taprio in error case in emac_taprio_replace()
   API using goto label taprio_clear.
*) Added RB tag of Simon Horman <horms@kernel.org> 

Changes from v4 to v5:
*) Rebased on latest net-next/main [commit 5c4c0edca68a]
*) Moved icss_iep structure to icss_iep.h file so that iep wraparound time
   which is stored in iep->def_inc, can be accessed by qos file.
*) Added comment about IEP wraparound time compensation in icssg_qos.c
*) Moved icssg_qos_tas_init() to prueth_netdev_init() so that icssg_qos_tas_init()
   gets called even if interface is down.
*) Fixed print statements as suggested by Vladimir Oltean <vladimir.oltean@nxp.com>
*) Added taprio_offload_get() and taprio_offload_free() in emac_taprio_replace()
   and emac_taprio_destory() respectively.

Changes from v3 to v4:
*) Rebased on the latest next-20231005 linux-next.
*) Addressed Roger and Vinicius' comments and moved all the validations to
   emac_taprio_replace() API.
*) Modified emac_setup_taprio() API to use switch case based on taprio->cmd
   and added emac_taprio_destroy() and emac_taprio_replace() APIs.
*) Modified the documentation of structs / enums in icssg_qos.h by using
   the correct kdoc format.

Changes from v2 to v3:
*) Rebased on the latest next-20230928 linux-next.
*) Retained original authorship of the patch.
*) Addressed Roger's comments and modified emac_setup_taprio() and
   emac_set_taprio() APIs accordingly.
*) Removed netif_running() check from emac_setup_taprio().
*) Addressed Vinicius' comments and added check for MIN and MAX cycle time.
*) Added check for allocation failure of est_new in emac_setup_taprio().

Changes from v1 to v2:
*) Rebased on the latest next-20230921 linux-next.
*) Dropped the RFC tag as merge window is open now.
*) Splitted this patch from the switch mode series [v1].
*) Removed TODO comment as asked by Andrew and Roger.
*) Changed Copyright to 2023 as asked by Roger.

v6: https://lore.kernel.org/all/20240515065042.2852877-1-danishanwar@ti.com/
v5: https://lore.kernel.org/all/20240429103022.808161-1-danishanwar@ti.com/
v4: https://lore.kernel.org/all/20231006102028.3831341-1-danishanwar@ti.com/
v3: https://lore.kernel.org/all/20230928103000.186304-1-danishanwar@ti.com/
v2: https://lore.kernel.org/all/20230921070031.795788-1-danishanwar@ti.com/
v1: https://lore.kernel.org/all/20230830110847.1219515-1-danishanwar@ti.com/

MD Danish Anwar (1):
  net: ti: icssg: Move icss_iep structure

Roger Quadros (1):
  net: ti: icssg_prueth: add TAPRIO offload support

 drivers/net/ethernet/ti/Kconfig              |   1 +
 drivers/net/ethernet/ti/Makefile             |   3 +-
 drivers/net/ethernet/ti/icssg/icss_iep.c     |  72 -----
 drivers/net/ethernet/ti/icssg/icss_iep.h     |  73 ++++-
 drivers/net/ethernet/ti/icssg/icssg_prueth.c |   5 +-
 drivers/net/ethernet/ti/icssg/icssg_prueth.h |   5 +
 drivers/net/ethernet/ti/icssg/icssg_qos.c    | 288 +++++++++++++++++++
 drivers/net/ethernet/ti/icssg/icssg_qos.h    | 113 ++++++++
 8 files changed, 485 insertions(+), 75 deletions(-)
 create mode 100644 drivers/net/ethernet/ti/icssg/icssg_qos.c
 create mode 100644 drivers/net/ethernet/ti/icssg/icssg_qos.h


base-commit: 66ad4829ddd0b5540dc0b076ef2818e89c8f720e

Comments

Andrew Lunn May 27, 2024, 10:16 p.m. UTC | #1
On Mon, May 27, 2024 at 11:22:58AM +0530, MD Danish Anwar wrote:
> This series adds taprio offload support for ICSSG driver.
> 
> Patch [1/2] of the series moves some structures and API definition to .h
> files so that these can be accessed by taprio (icssg_qos.c) file.
> 
> Patch [2/2] of the series intoduces the taprio support for icssg driver.

What is the dependency between these patches and switchdev support? It
is good to make that clear in the cover note, especially if this code
will not apply without some other patches first.

     Andrew
MD Danish Anwar May 28, 2024, 5:17 a.m. UTC | #2
Hi Andrew,

On 28/05/24 3:46 am, Andrew Lunn wrote:
> On Mon, May 27, 2024 at 11:22:58AM +0530, MD Danish Anwar wrote:
>> This series adds taprio offload support for ICSSG driver.
>>
>> Patch [1/2] of the series moves some structures and API definition to .h
>> files so that these can be accessed by taprio (icssg_qos.c) file.
>>
>> Patch [2/2] of the series intoduces the taprio support for icssg driver.
> 
> What is the dependency between these patches and switchdev support? It
> is good to make that clear in the cover note, especially if this code
> will not apply without some other patches first.
> 

I have developed this patch and the switchdev series independently. Both
series can be applied to latest net-next without any error. Once one of
these gets applied I will rebase it on top of the other one. There is no
dependency between switch and mac mode for taprio support.

>      Andrew