From: Greg Kroah-Hartman Date: Sun, 7 May 2023 06:47:27 +0000 (+0200) Subject: drop igc patch from 5.15, 6.1, and 6.2 X-Git-Tag: v5.15.111~92 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fe5afa896dbca12aaf03bf06676b3592e8751e2f;p=thirdparty%2Fkernel%2Fstable-queue.git drop igc patch from 5.15, 6.1, and 6.2 --- diff --git a/queue-5.15/igc-read-before-write-to-srrctl-register.patch b/queue-5.15/igc-read-before-write-to-srrctl-register.patch deleted file mode 100644 index 3babe07a881..00000000000 --- a/queue-5.15/igc-read-before-write-to-srrctl-register.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 3ce29c17dc847bf4245e16aad78a7617afa96297 Mon Sep 17 00:00:00 2001 -From: Song Yoong Siang -Date: Tue, 2 May 2023 08:48:06 -0700 -Subject: igc: read before write to SRRCTL register - -From: Song Yoong Siang - -commit 3ce29c17dc847bf4245e16aad78a7617afa96297 upstream. - -igc_configure_rx_ring() function will be called as part of XDP program -setup. If Rx hardware timestamp is enabled prio to XDP program setup, -this timestamp enablement will be overwritten when buffer size is -written into SRRCTL register. - -Thus, this commit read the register value before write to SRRCTL -register. This commit is tested by using xdp_hw_metadata bpf selftest -tool. The tool enables Rx hardware timestamp and then attach XDP program -to igc driver. It will display hardware timestamp of UDP packet with -port number 9092. Below are detail of test steps and results. - -Command on DUT: - sudo ./xdp_hw_metadata - -Command on Link Partner: - echo -n skb | nc -u -q1 9092 - -Result before this patch: - skb hwtstamp is not found! - -Result after this patch: - found skb hwtstamp = 1677800973.642836757 - -Optionally, read PHC to confirm the values obtained are almost the same: -Command: - sudo ./testptp -d /dev/ptp0 -g -Result: - clock time: 1677800973.913598978 or Fri Mar 3 07:49:33 2023 - -Fixes: fc9df2a0b520 ("igc: Enable RX via AF_XDP zero-copy") -Cc: # 5.14+ -Signed-off-by: Song Yoong Siang -Reviewed-by: Jacob Keller -Reviewed-by: Jesper Dangaard Brouer -Tested-by: Jesper Dangaard Brouer -Tested-by: Naama Meir -Signed-off-by: Tony Nguyen -Reviewed-by: Leon Romanovsky -Signed-off-by: David S. Miller -Signed-off-by: Greg Kroah-Hartman ---- - drivers/net/ethernet/intel/igc/igc_base.h | 11 ++++++++--- - drivers/net/ethernet/intel/igc/igc_main.c | 7 +++++-- - 2 files changed, 13 insertions(+), 5 deletions(-) - ---- a/drivers/net/ethernet/intel/igc/igc_base.h -+++ b/drivers/net/ethernet/intel/igc/igc_base.h -@@ -85,8 +85,13 @@ union igc_adv_rx_desc { - #define IGC_RXDCTL_SWFLUSH 0x04000000 /* Receive Software Flush */ - - /* SRRCTL bit definitions */ --#define IGC_SRRCTL_BSIZEPKT_SHIFT 10 /* Shift _right_ */ --#define IGC_SRRCTL_BSIZEHDRSIZE_SHIFT 2 /* Shift _left_ */ --#define IGC_SRRCTL_DESCTYPE_ADV_ONEBUF 0x02000000 -+#define IGC_SRRCTL_BSIZEPKT_MASK GENMASK(6, 0) -+#define IGC_SRRCTL_BSIZEPKT(x) FIELD_PREP(IGC_SRRCTL_BSIZEPKT_MASK, \ -+ (x) / 1024) /* in 1 KB resolution */ -+#define IGC_SRRCTL_BSIZEHDR_MASK GENMASK(13, 8) -+#define IGC_SRRCTL_BSIZEHDR(x) FIELD_PREP(IGC_SRRCTL_BSIZEHDR_MASK, \ -+ (x) / 64) /* in 64 bytes resolution */ -+#define IGC_SRRCTL_DESCTYPE_MASK GENMASK(27, 25) -+#define IGC_SRRCTL_DESCTYPE_ADV_ONEBUF FIELD_PREP(IGC_SRRCTL_DESCTYPE_MASK, 1) - - #endif /* _IGC_BASE_H */ ---- a/drivers/net/ethernet/intel/igc/igc_main.c -+++ b/drivers/net/ethernet/intel/igc/igc_main.c -@@ -640,8 +640,11 @@ static void igc_configure_rx_ring(struct - else - buf_size = IGC_RXBUFFER_2048; - -- srrctl = IGC_RX_HDR_LEN << IGC_SRRCTL_BSIZEHDRSIZE_SHIFT; -- srrctl |= buf_size >> IGC_SRRCTL_BSIZEPKT_SHIFT; -+ srrctl = rd32(IGC_SRRCTL(reg_idx)); -+ srrctl &= ~(IGC_SRRCTL_BSIZEPKT_MASK | IGC_SRRCTL_BSIZEHDR_MASK | -+ IGC_SRRCTL_DESCTYPE_MASK); -+ srrctl |= IGC_SRRCTL_BSIZEHDR(IGC_RX_HDR_LEN); -+ srrctl |= IGC_SRRCTL_BSIZEPKT(buf_size); - srrctl |= IGC_SRRCTL_DESCTYPE_ADV_ONEBUF; - - wr32(IGC_SRRCTL(reg_idx), srrctl); diff --git a/queue-5.15/series b/queue-5.15/series index 4246299964b..be4f0c4ab16 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -46,7 +46,6 @@ writeback-cgroup-fix-null-ptr-deref-write-in-bdi_spl.patch ksmbd-call-rcu_barrier-in-ksmbd_server_exit.patch ksmbd-fix-null-pointer-dereference-in-smb2_get_info_filesystem.patch ksmbd-fix-memleak-in-session-setup.patch -igc-read-before-write-to-srrctl-register.patch i2c-omap-fix-standard-mode-false-ack-readings.patch riscv-mm-remove-redundant-parameter-of-create_fdt_early_page_table.patch tracing-fix-permissions-for-the-buffer_percent-file.patch diff --git a/queue-6.1/igc-read-before-write-to-srrctl-register.patch b/queue-6.1/igc-read-before-write-to-srrctl-register.patch deleted file mode 100644 index 30aa9c5f67b..00000000000 --- a/queue-6.1/igc-read-before-write-to-srrctl-register.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 3ce29c17dc847bf4245e16aad78a7617afa96297 Mon Sep 17 00:00:00 2001 -From: Song Yoong Siang -Date: Tue, 2 May 2023 08:48:06 -0700 -Subject: igc: read before write to SRRCTL register - -From: Song Yoong Siang - -commit 3ce29c17dc847bf4245e16aad78a7617afa96297 upstream. - -igc_configure_rx_ring() function will be called as part of XDP program -setup. If Rx hardware timestamp is enabled prio to XDP program setup, -this timestamp enablement will be overwritten when buffer size is -written into SRRCTL register. - -Thus, this commit read the register value before write to SRRCTL -register. This commit is tested by using xdp_hw_metadata bpf selftest -tool. The tool enables Rx hardware timestamp and then attach XDP program -to igc driver. It will display hardware timestamp of UDP packet with -port number 9092. Below are detail of test steps and results. - -Command on DUT: - sudo ./xdp_hw_metadata - -Command on Link Partner: - echo -n skb | nc -u -q1 9092 - -Result before this patch: - skb hwtstamp is not found! - -Result after this patch: - found skb hwtstamp = 1677800973.642836757 - -Optionally, read PHC to confirm the values obtained are almost the same: -Command: - sudo ./testptp -d /dev/ptp0 -g -Result: - clock time: 1677800973.913598978 or Fri Mar 3 07:49:33 2023 - -Fixes: fc9df2a0b520 ("igc: Enable RX via AF_XDP zero-copy") -Cc: # 5.14+ -Signed-off-by: Song Yoong Siang -Reviewed-by: Jacob Keller -Reviewed-by: Jesper Dangaard Brouer -Tested-by: Jesper Dangaard Brouer -Tested-by: Naama Meir -Signed-off-by: Tony Nguyen -Reviewed-by: Leon Romanovsky -Signed-off-by: David S. Miller -Signed-off-by: Greg Kroah-Hartman ---- - drivers/net/ethernet/intel/igc/igc_base.h | 11 ++++++++--- - drivers/net/ethernet/intel/igc/igc_main.c | 7 +++++-- - 2 files changed, 13 insertions(+), 5 deletions(-) - ---- a/drivers/net/ethernet/intel/igc/igc_base.h -+++ b/drivers/net/ethernet/intel/igc/igc_base.h -@@ -85,8 +85,13 @@ union igc_adv_rx_desc { - #define IGC_RXDCTL_SWFLUSH 0x04000000 /* Receive Software Flush */ - - /* SRRCTL bit definitions */ --#define IGC_SRRCTL_BSIZEPKT_SHIFT 10 /* Shift _right_ */ --#define IGC_SRRCTL_BSIZEHDRSIZE_SHIFT 2 /* Shift _left_ */ --#define IGC_SRRCTL_DESCTYPE_ADV_ONEBUF 0x02000000 -+#define IGC_SRRCTL_BSIZEPKT_MASK GENMASK(6, 0) -+#define IGC_SRRCTL_BSIZEPKT(x) FIELD_PREP(IGC_SRRCTL_BSIZEPKT_MASK, \ -+ (x) / 1024) /* in 1 KB resolution */ -+#define IGC_SRRCTL_BSIZEHDR_MASK GENMASK(13, 8) -+#define IGC_SRRCTL_BSIZEHDR(x) FIELD_PREP(IGC_SRRCTL_BSIZEHDR_MASK, \ -+ (x) / 64) /* in 64 bytes resolution */ -+#define IGC_SRRCTL_DESCTYPE_MASK GENMASK(27, 25) -+#define IGC_SRRCTL_DESCTYPE_ADV_ONEBUF FIELD_PREP(IGC_SRRCTL_DESCTYPE_MASK, 1) - - #endif /* _IGC_BASE_H */ ---- a/drivers/net/ethernet/intel/igc/igc_main.c -+++ b/drivers/net/ethernet/intel/igc/igc_main.c -@@ -641,8 +641,11 @@ static void igc_configure_rx_ring(struct - else - buf_size = IGC_RXBUFFER_2048; - -- srrctl = IGC_RX_HDR_LEN << IGC_SRRCTL_BSIZEHDRSIZE_SHIFT; -- srrctl |= buf_size >> IGC_SRRCTL_BSIZEPKT_SHIFT; -+ srrctl = rd32(IGC_SRRCTL(reg_idx)); -+ srrctl &= ~(IGC_SRRCTL_BSIZEPKT_MASK | IGC_SRRCTL_BSIZEHDR_MASK | -+ IGC_SRRCTL_DESCTYPE_MASK); -+ srrctl |= IGC_SRRCTL_BSIZEHDR(IGC_RX_HDR_LEN); -+ srrctl |= IGC_SRRCTL_BSIZEPKT(buf_size); - srrctl |= IGC_SRRCTL_DESCTYPE_ADV_ONEBUF; - - wr32(IGC_SRRCTL(reg_idx), srrctl); diff --git a/queue-6.1/series b/queue-6.1/series index 26fc48ad8de..17e8b043c2a 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -91,7 +91,6 @@ ksmbd-fix-memleak-in-session-setup.patch ksmbd-not-allow-guest-user-on-multichannel.patch ksmbd-fix-deadlock-in-ksmbd_find_crypto_ctx.patch acpi-video-remove-acpi_backlight-video-quirk-for-lenovo-thinkpad-w530.patch -igc-read-before-write-to-srrctl-register.patch i2c-omap-fix-standard-mode-false-ack-readings.patch riscv-mm-remove-redundant-parameter-of-create_fdt_early_page_table.patch tracing-fix-permissions-for-the-buffer_percent-file.patch diff --git a/queue-6.2/igc-read-before-write-to-srrctl-register.patch b/queue-6.2/igc-read-before-write-to-srrctl-register.patch deleted file mode 100644 index 30aa9c5f67b..00000000000 --- a/queue-6.2/igc-read-before-write-to-srrctl-register.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 3ce29c17dc847bf4245e16aad78a7617afa96297 Mon Sep 17 00:00:00 2001 -From: Song Yoong Siang -Date: Tue, 2 May 2023 08:48:06 -0700 -Subject: igc: read before write to SRRCTL register - -From: Song Yoong Siang - -commit 3ce29c17dc847bf4245e16aad78a7617afa96297 upstream. - -igc_configure_rx_ring() function will be called as part of XDP program -setup. If Rx hardware timestamp is enabled prio to XDP program setup, -this timestamp enablement will be overwritten when buffer size is -written into SRRCTL register. - -Thus, this commit read the register value before write to SRRCTL -register. This commit is tested by using xdp_hw_metadata bpf selftest -tool. The tool enables Rx hardware timestamp and then attach XDP program -to igc driver. It will display hardware timestamp of UDP packet with -port number 9092. Below are detail of test steps and results. - -Command on DUT: - sudo ./xdp_hw_metadata - -Command on Link Partner: - echo -n skb | nc -u -q1 9092 - -Result before this patch: - skb hwtstamp is not found! - -Result after this patch: - found skb hwtstamp = 1677800973.642836757 - -Optionally, read PHC to confirm the values obtained are almost the same: -Command: - sudo ./testptp -d /dev/ptp0 -g -Result: - clock time: 1677800973.913598978 or Fri Mar 3 07:49:33 2023 - -Fixes: fc9df2a0b520 ("igc: Enable RX via AF_XDP zero-copy") -Cc: # 5.14+ -Signed-off-by: Song Yoong Siang -Reviewed-by: Jacob Keller -Reviewed-by: Jesper Dangaard Brouer -Tested-by: Jesper Dangaard Brouer -Tested-by: Naama Meir -Signed-off-by: Tony Nguyen -Reviewed-by: Leon Romanovsky -Signed-off-by: David S. Miller -Signed-off-by: Greg Kroah-Hartman ---- - drivers/net/ethernet/intel/igc/igc_base.h | 11 ++++++++--- - drivers/net/ethernet/intel/igc/igc_main.c | 7 +++++-- - 2 files changed, 13 insertions(+), 5 deletions(-) - ---- a/drivers/net/ethernet/intel/igc/igc_base.h -+++ b/drivers/net/ethernet/intel/igc/igc_base.h -@@ -85,8 +85,13 @@ union igc_adv_rx_desc { - #define IGC_RXDCTL_SWFLUSH 0x04000000 /* Receive Software Flush */ - - /* SRRCTL bit definitions */ --#define IGC_SRRCTL_BSIZEPKT_SHIFT 10 /* Shift _right_ */ --#define IGC_SRRCTL_BSIZEHDRSIZE_SHIFT 2 /* Shift _left_ */ --#define IGC_SRRCTL_DESCTYPE_ADV_ONEBUF 0x02000000 -+#define IGC_SRRCTL_BSIZEPKT_MASK GENMASK(6, 0) -+#define IGC_SRRCTL_BSIZEPKT(x) FIELD_PREP(IGC_SRRCTL_BSIZEPKT_MASK, \ -+ (x) / 1024) /* in 1 KB resolution */ -+#define IGC_SRRCTL_BSIZEHDR_MASK GENMASK(13, 8) -+#define IGC_SRRCTL_BSIZEHDR(x) FIELD_PREP(IGC_SRRCTL_BSIZEHDR_MASK, \ -+ (x) / 64) /* in 64 bytes resolution */ -+#define IGC_SRRCTL_DESCTYPE_MASK GENMASK(27, 25) -+#define IGC_SRRCTL_DESCTYPE_ADV_ONEBUF FIELD_PREP(IGC_SRRCTL_DESCTYPE_MASK, 1) - - #endif /* _IGC_BASE_H */ ---- a/drivers/net/ethernet/intel/igc/igc_main.c -+++ b/drivers/net/ethernet/intel/igc/igc_main.c -@@ -641,8 +641,11 @@ static void igc_configure_rx_ring(struct - else - buf_size = IGC_RXBUFFER_2048; - -- srrctl = IGC_RX_HDR_LEN << IGC_SRRCTL_BSIZEHDRSIZE_SHIFT; -- srrctl |= buf_size >> IGC_SRRCTL_BSIZEPKT_SHIFT; -+ srrctl = rd32(IGC_SRRCTL(reg_idx)); -+ srrctl &= ~(IGC_SRRCTL_BSIZEPKT_MASK | IGC_SRRCTL_BSIZEHDR_MASK | -+ IGC_SRRCTL_DESCTYPE_MASK); -+ srrctl |= IGC_SRRCTL_BSIZEHDR(IGC_RX_HDR_LEN); -+ srrctl |= IGC_SRRCTL_BSIZEPKT(buf_size); - srrctl |= IGC_SRRCTL_DESCTYPE_ADV_ONEBUF; - - wr32(IGC_SRRCTL(reg_idx), srrctl); diff --git a/queue-6.2/series b/queue-6.2/series index 8e92e986f63..5c420b3a91f 100644 --- a/queue-6.2/series +++ b/queue-6.2/series @@ -94,7 +94,6 @@ ksmbd-fix-memleak-in-session-setup.patch ksmbd-not-allow-guest-user-on-multichannel.patch ksmbd-fix-deadlock-in-ksmbd_find_crypto_ctx.patch acpi-video-remove-acpi_backlight-video-quirk-for-lenovo-thinkpad-w530.patch -igc-read-before-write-to-srrctl-register.patch i2c-omap-fix-standard-mode-false-ack-readings.patch riscv-mm-remove-redundant-parameter-of-create_fdt_early_page_table.patch tracing-fix-permissions-for-the-buffer_percent-file.patch