net: enetc: add Tx checksum offload for i.MX95 ENETC
authorWei Fang <wei.fang@nxp.com>
Thu, 19 Dec 2024 05:47:52 +0000 (13:47 +0800)
committerJakub Kicinski <kuba@kernel.org>
Mon, 23 Dec 2024 17:54:33 +0000 (09:54 -0800)
commitd9a093d2d12aec87ed0a2ac660b3a62261bef966
tree9d7e369756ada435dfde54ccc6ec8d1a16fdb385
parenta502ea6fa94b1f7be72a24bcf9e3f5f6b7e6e90c
net: enetc: add Tx checksum offload for i.MX95 ENETC

In addition to supporting Rx checksum offload, i.MX95 ENETC also supports
Tx checksum offload. The transmit checksum offload is implemented through
the Tx BD. To support Tx checksum offload, software needs to fill some
auxiliary information in Tx BD, such as IP version, IP header offset and
size, whether L4 is UDP or TCP, etc.

Same as Rx checksum offload, Tx checksum offload capability isn't defined
in register, so tx_csum bit is added to struct enetc_drvdata to indicate
whether the device supports Tx checksum offload.

Signed-off-by: Wei Fang <wei.fang@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Claudiu Manoil <claudiu.manoil@nxp.com>
Link: https://patch.msgid.link/20241219054755.1615626-2-wei.fang@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/freescale/enetc/enetc.c
drivers/net/ethernet/freescale/enetc/enetc.h
drivers/net/ethernet/freescale/enetc/enetc_hw.h
drivers/net/ethernet/freescale/enetc/enetc_pf_common.c