mirror-linux/drivers
Taehee Yoo 87c8f8496a bnxt_en: add support for tcp-data-split ethtool command
NICs that uses bnxt_en driver supports tcp-data-split feature by the
name of HDS(header-data-split).
But there is no implementation for the HDS to enable by ethtool.
Only getting the current HDS status is implemented and The HDS is just
automatically enabled only when either LRO, HW-GRO, or JUMBO is enabled.
The hds_threshold follows rx-copybreak value. and it was unchangeable.

This implements `ethtool -G <interface name> tcp-data-split <value>`
command option.
The value can be <on> and <auto>.
The value is <auto> and one of LRO/GRO/JUMBO is enabled, HDS is
automatically enabled and all LRO/GRO/JUMBO are disabled, HDS is
automatically disabled.

HDS feature relies on the aggregation ring.
So, if HDS is enabled, the bnxt_en driver initializes the aggregation ring.
This is the reason why BNXT_FLAG_AGG_RINGS contains HDS condition.

Acked-by: Jakub Kicinski <kuba@kernel.org>
Tested-by: Stanislav Fomichev <sdf@fomichev.me>
Tested-by: Andy Gospodarek <gospo@broadcom.com>
Signed-off-by: Taehee Yoo <ap420073@gmail.com>
Reviewed-by: Michael Chan <michael.chan@broadcom.com>
Link: https://patch.msgid.link/20250114142852.3364986-8-ap420073@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-01-15 14:42:12 -08:00
..
accel Merge tag 'drm-misc-fixes-2024-12-19' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-fixes 2024-12-20 07:13:45 +10:00
accessibility
acpi ACPI: EC: Enable EC support on LoongArch by default 2024-12-18 20:23:59 +01:00
amba ARM: 9415/1: amba: Add dev_is_amba() function and export it for modules 2024-11-12 16:41:45 +00:00
android Char/Misc/IIO/Whatever driver subsystem updates for 6.13-rc1 2024-11-29 11:58:27 -08:00
ata ata: sata_highbank: fix OF node reference leak in highbank_initialize_phys() 2024-12-09 09:06:58 +09:00
atm Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
auxdisplay Merge tag 'drm-misc-fixes-2024-12-19' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-fixes 2024-12-20 07:13:45 +10:00
base - Have the Automatic IBRS setting check on AMD does not falsely fire in 2024-12-08 11:38:56 -08:00
bcma Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
block block-6.13-20241228 2024-12-28 11:02:35 -08:00
bluetooth Bluetooth: btmtk: Fix failed to send func ctrl for MediaTek devices. 2025-01-08 11:14:03 -05:00
bus Char/Misc/IIO/Whatever driver subsystem updates for 6.13-rc1 2024-11-29 11:58:27 -08:00
cache
cdrom cdrom: Fix typo, 'devicen' to 'device' 2024-12-30 12:56:06 -07:00
cdx module: Convert default symbol namespace to string literal 2024-12-03 08:22:25 -08:00
char Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
clk A randconfig build fix and a performance fix: 2025-01-05 10:28:34 -08:00
clocksource x86/hyperv: Fix hv tsc page based sched_clock for hibernation 2024-12-09 18:42:42 +00:00
comedi
connector
counter module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
cpufreq cpufreq/amd-pstate: Use boost numerator for upper bound of frequencies 2024-12-10 10:17:43 -06:00
cpuidle Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
crypto crypto: hisilicon/debugfs - fix the struct pointer incorrectly offset problem 2024-12-10 13:40:25 +08:00
cxl cxl/region: Fix region creation for greater than x2 switches 2024-12-10 14:50:34 -07:00
dax module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
dca
devfreq Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
dio
dma dmaengine fixes for v6.13 2024-12-26 10:43:25 -08:00
dma-buf Merge tag 'drm-misc-fixes-2024-12-19' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-fixes 2024-12-20 07:13:45 +10:00
dpll
edac EDAC/amd64: Simplify ECC check on unified memory controllers 2024-12-11 21:47:33 +01:00
eisa
extcon Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
firewire firewire updates for v6.13 2024-11-25 17:12:54 -08:00
firmware soc: fixes for 6.13, part 2 2024-12-21 15:45:06 -08:00
fpga module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
fsi Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
gnss
gpio gpio: idio-16: Actually make use of the GPIO_IDIO_16 symbol namespace 2024-12-10 11:38:57 +01:00
gpu This supersedes drm-xe-fixes-2024-12-23. 2025-01-03 10:57:31 +10:00
greybus
hid hid-for-linus-2024120501 2024-12-05 10:06:47 -08:00
hsi Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
hte Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
hv Drivers: hv: util: Avoid accessing a ringbuffer not initialized yet 2024-12-09 18:44:15 +00:00
hwmon hwmon: (tmp513) Fix interpretation of values of Temperature Result and Limit Registers 2024-12-16 15:58:25 -08:00
hwspinlock Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
hwtracing Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
i2c i2c: microchip-core: fix "ghost" detections 2024-12-26 01:54:47 +01:00
i3c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
idle intel_idle: add Granite Rapids Xeon D support 2024-11-11 15:48:50 +01:00
iio 24 hotfixes. 17 are cc:stable. 15 are MM and 9 are non-MM. 2024-12-08 11:26:13 -08:00
infiniband Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-01-03 16:29:29 -08:00
input Input updates for v6.13-rc0 2024-11-25 10:31:39 -08:00
interconnect
iommu iommu/vt-d: Avoid draining PRQ in sva mm release path 2024-12-13 15:54:27 +01:00
ipack
irqchip irqchip/gic-v3: Work around insecure GIC integrations 2024-12-13 18:15:29 +01:00
isdn isdn: Remove unused get_Bprotocol4id() 2024-12-11 20:12:27 -08:00
leds module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
macintosh Merge tag 'drm-misc-fixes-2024-12-19' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-fixes 2024-12-20 07:13:45 +10:00
mailbox TTY / Serial driver updates for 6.13-rc1 2024-11-30 09:03:16 -08:00
mcb module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
md - dm-array fixes 2025-01-08 10:12:01 -08:00
media [GIT PULL for 6.13-rc4] media fixes 2024-12-21 10:56:34 -08:00
memory Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
memstick Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
message scsi: message: fusion: Constify struct pci_device_id 2024-11-20 21:38:24 -05:00
mfd module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
misc module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
mmc mmc: sdhci-msm: fix crypto key eviction 2024-12-19 14:42:10 +01:00
most
mtd mtd: rawnand: omap2: Fix build warnings with W=1 2024-12-05 11:15:00 +01:00
mux
net bnxt_en: add support for tcp-data-split ethtool command 2025-01-15 14:42:12 -08:00
nfc nfc: st21nfca: Drop unneeded null check in st21nfca_tx_work() 2025-01-06 16:49:29 -08:00
ntb
nubus
nvdimm module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
nvme nvme fixes for Linux 6.13 2024-12-31 10:41:58 -07:00
nvmem Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
of Devicetree fixes for 6.13, part 1: 2024-12-22 08:40:23 -08:00
opp Additional power management updates for 6.13-rc1 2024-11-27 14:40:33 -08:00
parisc Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
parport Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
pci Fix bogus MSI IRQ setup warning on RISC-V. 2024-12-29 10:03:01 -08:00
pcmcia Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
peci module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
perf module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
phy phy: mediatek: phy-mtk-hdmi: add regulator dependency 2024-12-24 20:38:53 +05:30
pinctrl Pin control fixes for the v6.13 series: 2025-01-03 10:57:57 -08:00
platform platform-drivers-x86 for v6.13-4 2024-12-30 11:20:42 -08:00
pmdomain pmdomain: core: add dummy release function to genpd device 2024-12-19 15:47:02 +01:00
pnp
power power: supply: bq24190: Fix BQ24296 Vbus regulator support 2024-12-19 00:35:30 +01:00
powercap module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
pps Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
ps3 ps3: Correct some typos in comments 2024-11-15 00:32:29 +11:00
ptp ptp: ocp: constify 'struct bin_attribute' 2025-01-02 17:10:27 -08:00
pwm pwm: Fix regression in pwm-stm32 driver when converting to new waveform support 2024-12-19 08:50:05 -08:00
rapidio
ras
regulator regulator: rename regulator-uv-survival-time-ms according to DT binding 2024-12-19 11:15:24 +00:00
remoteproc remoteproc: qcom: wcss: Remove double assignment in q6v5_wcss_probe() 2024-11-15 20:36:27 -08:00
reset module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
rpmsg Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
rtc module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
s390 Driver core changes for 6.13-rc1 2024-11-29 11:43:29 -08:00
sbus Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
scsi scsi: scsi_debug: Fix hrtimer support for ndelay 2024-12-04 13:22:59 -05:00
sh sh updates for v6.13 2024-11-30 14:45:29 -08:00
siox
slimbus Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
soc Networking changes for 6.13. 2024-11-21 08:28:08 -08:00
soundwire module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
spi spi: rockchip-sfc: Fix error in remove progress 2024-12-18 16:02:08 +00:00
spmi Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
ssb
staging Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-01-03 16:29:29 -08:00
target Merge branch '6.13/scsi-queue' into 6.13/scsi-fixes 2024-12-02 12:36:18 -05:00
tc TC: Fix the wrong format specifier 2024-11-12 15:48:08 +01:00
tee Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
thermal thermal/thresholds: Fix boundaries and detection routine 2024-12-18 14:51:31 +01:00
thunderbolt thunderbolt: Improve redrive mode handling 2024-12-16 09:59:38 +02:00
tty Serial driver fixes for 6.13-rc3 2024-12-14 09:31:19 -08:00
ufs scsi: ufs: qcom: Power down the controller/device during system suspend for SM8550/SM8650 SoCs 2025-01-02 13:00:16 -05:00
uio Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
usb usb: xhci: fix ring expansion regression in 6.13-rc1 2024-12-17 11:59:09 +01:00
vdpa net/mlx5: fs, add counter object to flow destination 2024-12-23 10:34:45 -08:00
vfio vfio/pci: Fallback huge faults for unaligned pfn 2025-01-03 08:49:05 -07:00
vhost mm: page_frag: avoid caller accessing 'page_frag_cache' directly 2024-11-11 10:56:27 -08:00
video Merge tag 'drm-misc-fixes-2024-12-19' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-fixes 2024-12-20 07:13:45 +10:00
virt virt: tdx-guest: Just leak decrypted memory on unrecoverable errors 2024-12-29 10:18:44 +01:00
virtio virtio_ring: add a func argument 'recycle_done' to virtqueue_reset() 2024-12-10 11:22:21 +01:00
w1 Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
watchdog watchdog: stm32_iwdg: fix error message during driver probe 2024-12-30 15:28:02 +01:00
xen module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
zorro
Kconfig
Makefile