kernel: bump 5.10 to 5.10.124

All patches automatically rebased.

Build system: x86_64
Build-tested: ipq806x/R7800

Signed-off-by: John Audia <therealgraysky@proton.me>
This commit is contained in:
John Audia 2022-06-22 11:58:33 -04:00 committed by Hauke Mehrtens
parent 5202a511cc
commit 9e5d743422
35 changed files with 157 additions and 176 deletions

View File

@ -1,2 +1,2 @@
LINUX_VERSION-5.10 = .123 LINUX_VERSION-5.10 = .124
LINUX_KERNEL_HASH-5.10.123 = 654ab0960b70013e7dad6b3782c25d62e13cbb8c053010daef667d5d74061e52 LINUX_KERNEL_HASH-5.10.124 = ec46b1743286b08208769932f2cde2faa93656e986640010d661992500f7e37b

View File

@ -1,8 +1,6 @@
diff --git a/arch/mips/bcm47xx/board.c b/arch/mips/bcm47xx/board.c
index 35266a70e22a..4ef610431802 100644
--- a/arch/mips/bcm47xx/board.c --- a/arch/mips/bcm47xx/board.c
+++ b/arch/mips/bcm47xx/board.c +++ b/arch/mips/bcm47xx/board.c
@@ -141,6 +141,7 @@ struct bcm47xx_board_type_list2 bcm47xx_board_list_boot_hw[] __initconst = { @@ -141,6 +141,7 @@ struct bcm47xx_board_type_list2 bcm47xx_
{{BCM47XX_BOARD_LINKSYS_WRT300NV11, "Linksys WRT300N V1.1"}, "WRT300N", "1.1"}, {{BCM47XX_BOARD_LINKSYS_WRT300NV11, "Linksys WRT300N V1.1"}, "WRT300N", "1.1"},
{{BCM47XX_BOARD_LINKSYS_WRT310NV1, "Linksys WRT310N V1"}, "WRT310N", "1.0"}, {{BCM47XX_BOARD_LINKSYS_WRT310NV1, "Linksys WRT310N V1"}, "WRT310N", "1.0"},
{{BCM47XX_BOARD_LINKSYS_WRT310NV2, "Linksys WRT310N V2"}, "WRT310N", "2.0"}, {{BCM47XX_BOARD_LINKSYS_WRT310NV2, "Linksys WRT310N V2"}, "WRT310N", "2.0"},
@ -10,7 +8,7 @@ index 35266a70e22a..4ef610431802 100644
{{BCM47XX_BOARD_LINKSYS_WRT54G3GV2, "Linksys WRT54G3GV2-VF"}, "WRT54G3GV2-VF", "1.0"}, {{BCM47XX_BOARD_LINKSYS_WRT54G3GV2, "Linksys WRT54G3GV2-VF"}, "WRT54G3GV2-VF", "1.0"},
{{BCM47XX_BOARD_LINKSYS_WRT610NV1, "Linksys WRT610N V1"}, "WRT610N", "1.0"}, {{BCM47XX_BOARD_LINKSYS_WRT610NV1, "Linksys WRT610N V1"}, "WRT610N", "1.0"},
{{BCM47XX_BOARD_LINKSYS_WRT610NV2, "Linksys WRT610N V2"}, "WRT610N", "2.0"}, {{BCM47XX_BOARD_LINKSYS_WRT610NV2, "Linksys WRT610N V2"}, "WRT610N", "2.0"},
@@ -161,9 +162,12 @@ struct bcm47xx_board_type_list1 bcm47xx_board_list_board_id[] __initconst = { @@ -161,9 +162,12 @@ struct bcm47xx_board_type_list1 bcm47xx_
{{BCM47XX_BOARD_LUXUL_XWR_600_V1, "Luxul XWR-600 V1"}, "luxul_xwr600_v1"}, {{BCM47XX_BOARD_LUXUL_XWR_600_V1, "Luxul XWR-600 V1"}, "luxul_xwr600_v1"},
{{BCM47XX_BOARD_LUXUL_XWR_1750_V1, "Luxul XWR-1750 V1"}, "luxul_xwr1750_v1"}, {{BCM47XX_BOARD_LUXUL_XWR_1750_V1, "Luxul XWR-1750 V1"}, "luxul_xwr1750_v1"},
{{BCM47XX_BOARD_NETGEAR_R6200_V1, "Netgear R6200 V1"}, "U12H192T00_NETGEAR"}, {{BCM47XX_BOARD_NETGEAR_R6200_V1, "Netgear R6200 V1"}, "U12H192T00_NETGEAR"},
@ -23,7 +21,7 @@ index 35266a70e22a..4ef610431802 100644
{{BCM47XX_BOARD_NETGEAR_WNDR3300, "Netgear WNDR3300"}, "U12H093T00_NETGEAR"}, {{BCM47XX_BOARD_NETGEAR_WNDR3300, "Netgear WNDR3300"}, "U12H093T00_NETGEAR"},
{{BCM47XX_BOARD_NETGEAR_WNDR3400V1, "Netgear WNDR3400 V1"}, "U12H155T00_NETGEAR"}, {{BCM47XX_BOARD_NETGEAR_WNDR3400V1, "Netgear WNDR3400 V1"}, "U12H155T00_NETGEAR"},
{{BCM47XX_BOARD_NETGEAR_WNDR3400V2, "Netgear WNDR3400 V2"}, "U12H187T00_NETGEAR"}, {{BCM47XX_BOARD_NETGEAR_WNDR3400V2, "Netgear WNDR3400 V2"}, "U12H187T00_NETGEAR"},
@@ -177,6 +181,7 @@ struct bcm47xx_board_type_list1 bcm47xx_board_list_board_id[] __initconst = { @@ -177,6 +181,7 @@ struct bcm47xx_board_type_list1 bcm47xx_
{{BCM47XX_BOARD_NETGEAR_WNR1000_V3, "Netgear WNR1000 V3"}, "U12H139T50_NETGEAR"}, {{BCM47XX_BOARD_NETGEAR_WNR1000_V3, "Netgear WNR1000 V3"}, "U12H139T50_NETGEAR"},
{{BCM47XX_BOARD_NETGEAR_WNR2000, "Netgear WNR2000"}, "U12H114T00_NETGEAR"}, {{BCM47XX_BOARD_NETGEAR_WNR2000, "Netgear WNR2000"}, "U12H114T00_NETGEAR"},
{{BCM47XX_BOARD_NETGEAR_WNR3500L, "Netgear WNR3500L"}, "U12H136T99_NETGEAR"}, {{BCM47XX_BOARD_NETGEAR_WNR3500L, "Netgear WNR3500L"}, "U12H136T99_NETGEAR"},
@ -31,7 +29,7 @@ index 35266a70e22a..4ef610431802 100644
{{BCM47XX_BOARD_NETGEAR_WNR3500U, "Netgear WNR3500U"}, "U12H136T00_NETGEAR"}, {{BCM47XX_BOARD_NETGEAR_WNR3500U, "Netgear WNR3500U"}, "U12H136T00_NETGEAR"},
{{BCM47XX_BOARD_NETGEAR_WNR3500V2, "Netgear WNR3500 V2"}, "U12H127T00_NETGEAR"}, {{BCM47XX_BOARD_NETGEAR_WNR3500V2, "Netgear WNR3500 V2"}, "U12H127T00_NETGEAR"},
{{BCM47XX_BOARD_NETGEAR_WNR3500V2VC, "Netgear WNR3500 V2vc"}, "U12H127T70_NETGEAR"}, {{BCM47XX_BOARD_NETGEAR_WNR3500V2VC, "Netgear WNR3500 V2vc"}, "U12H127T70_NETGEAR"},
@@ -191,6 +196,7 @@ struct bcm47xx_board_type_list3 bcm47xx_board_list_board[] __initconst = { @@ -191,6 +196,7 @@ struct bcm47xx_board_type_list3 bcm47xx_
{{BCM47XX_BOARD_PHICOMM_M1, "Phicomm M1"}, "0x0590", "80", "0x1104"}, {{BCM47XX_BOARD_PHICOMM_M1, "Phicomm M1"}, "0x0590", "80", "0x1104"},
{{BCM47XX_BOARD_ZTE_H218N, "ZTE H218N"}, "0x053d", "1234", "0x1305"}, {{BCM47XX_BOARD_ZTE_H218N, "ZTE H218N"}, "0x053d", "1234", "0x1305"},
{{BCM47XX_BOARD_NETGEAR_WNR3500L, "Netgear WNR3500L"}, "0x04CF", "3500", "02"}, {{BCM47XX_BOARD_NETGEAR_WNR3500L, "Netgear WNR3500L"}, "0x04CF", "3500", "02"},
@ -39,28 +37,25 @@ index 35266a70e22a..4ef610431802 100644
{{BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0101, "Linksys WRT54G/GS/GL"}, "0x0101", "42", "0x10"}, {{BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0101, "Linksys WRT54G/GS/GL"}, "0x0101", "42", "0x10"},
{{BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0467, "Linksys WRT54G/GS/GL"}, "0x0467", "42", "0x10"}, {{BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0467, "Linksys WRT54G/GS/GL"}, "0x0467", "42", "0x10"},
{{BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0708, "Linksys WRT54G/GS/GL"}, "0x0708", "42", "0x10"}, {{BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0708, "Linksys WRT54G/GS/GL"}, "0x0708", "42", "0x10"},
diff --git a/arch/mips/bcm47xx/buttons.c b/arch/mips/bcm47xx/buttons.c
index 535d84addcdb..38e4a9cbcf4e 100644
--- a/arch/mips/bcm47xx/buttons.c --- a/arch/mips/bcm47xx/buttons.c
+++ b/arch/mips/bcm47xx/buttons.c +++ b/arch/mips/bcm47xx/buttons.c
@@ -26,6 +26,12 @@ @@ -27,6 +27,12 @@
/* Asus */ /* Asus */
+static const struct gpio_keys_button static const struct gpio_keys_button
+bcm47xx_buttons_asus_rtn10u[] __initconst = { +bcm47xx_buttons_asus_rtn10u[] __initconst = {
+ BCM47XX_GPIO_KEY(20, KEY_WPS_BUTTON), + BCM47XX_GPIO_KEY(20, KEY_WPS_BUTTON),
+ BCM47XX_GPIO_KEY(21, KEY_RESTART), + BCM47XX_GPIO_KEY(21, KEY_RESTART),
+}; +};
+ +
static const struct gpio_keys_button +static const struct gpio_keys_button
bcm47xx_buttons_asus_rtn12[] __initconst = { bcm47xx_buttons_asus_rtn12[] __initconst = {
BCM47XX_GPIO_KEY(0, KEY_WPS_BUTTON), BCM47XX_GPIO_KEY(0, KEY_WPS_BUTTON),
@@ -276,6 +282,18 @@ bcm47xx_buttons_linksys_wrt310nv1[] __initconst = { BCM47XX_GPIO_KEY(1, KEY_RESTART),
BCM47XX_GPIO_KEY(8, KEY_UNKNOWN), @@ -277,6 +283,18 @@ bcm47xx_buttons_linksys_wrt310nv1[] __in
}; };
+static const struct gpio_keys_button static const struct gpio_keys_button
+bcm47xx_buttons_linksys_wrt310n_v2[] __initconst = { +bcm47xx_buttons_linksys_wrt310n_v2[] __initconst = {
+ BCM47XX_GPIO_KEY(5, KEY_WPS_BUTTON), + BCM47XX_GPIO_KEY(5, KEY_WPS_BUTTON),
+ BCM47XX_GPIO_KEY(6, KEY_RESTART), + BCM47XX_GPIO_KEY(6, KEY_RESTART),
@ -72,14 +67,14 @@ index 535d84addcdb..38e4a9cbcf4e 100644
+ BCM47XX_GPIO_KEY(8, KEY_RESTART), + BCM47XX_GPIO_KEY(8, KEY_RESTART),
+}; +};
+ +
static const struct gpio_keys_button +static const struct gpio_keys_button
bcm47xx_buttons_linksys_wrt54g3gv2[] __initconst = { bcm47xx_buttons_linksys_wrt54g3gv2[] __initconst = {
BCM47XX_GPIO_KEY(5, KEY_WIMAX), BCM47XX_GPIO_KEY(5, KEY_WIMAX),
@@ -391,6 +409,17 @@ bcm47xx_buttons_netgear_r6200_v1[] __initconst = { BCM47XX_GPIO_KEY(6, KEY_RESTART),
BCM47XX_GPIO_KEY(4, KEY_WPS_BUTTON), @@ -392,6 +410,17 @@ bcm47xx_buttons_netgear_r6200_v1[] __ini
}; };
+static const struct gpio_keys_button static const struct gpio_keys_button
+bcm47xx_buttons_netgear_r6300_v1[] __initconst = { +bcm47xx_buttons_netgear_r6300_v1[] __initconst = {
+ BCM47XX_GPIO_KEY(6, KEY_RESTART), + BCM47XX_GPIO_KEY(6, KEY_RESTART),
+}; +};
@ -90,24 +85,25 @@ index 535d84addcdb..38e4a9cbcf4e 100644
+ BCM47XX_GPIO_KEY(31, KEY_WPS_BUTTON), + BCM47XX_GPIO_KEY(31, KEY_WPS_BUTTON),
+}; +};
+ +
static const struct gpio_keys_button +static const struct gpio_keys_button
bcm47xx_buttons_netgear_wndr3400v1[] __initconst = { bcm47xx_buttons_netgear_wndr3400v1[] __initconst = {
BCM47XX_GPIO_KEY(4, KEY_RESTART), BCM47XX_GPIO_KEY(4, KEY_RESTART),
@@ -430,6 +459,13 @@ bcm47xx_buttons_netgear_wnr3500lv1[] __initconst = {
BCM47XX_GPIO_KEY(6, KEY_WPS_BUTTON), BCM47XX_GPIO_KEY(6, KEY_WPS_BUTTON),
@@ -431,6 +460,13 @@ bcm47xx_buttons_netgear_wnr3500lv1[] __i
}; };
+static const struct gpio_keys_button static const struct gpio_keys_button
+bcm47xx_buttons_netgear_wnr3500lv2[] __initconst = { +bcm47xx_buttons_netgear_wnr3500lv2[] __initconst = {
+ BCM47XX_GPIO_KEY(4, KEY_RESTART), + BCM47XX_GPIO_KEY(4, KEY_RESTART),
+ BCM47XX_GPIO_KEY(6, KEY_WPS_BUTTON), + BCM47XX_GPIO_KEY(6, KEY_WPS_BUTTON),
+ BCM47XX_GPIO_KEY(8, KEY_RFKILL), + BCM47XX_GPIO_KEY(8, KEY_RFKILL),
+}; +};
+ +
static const struct gpio_keys_button +static const struct gpio_keys_button
bcm47xx_buttons_netgear_wnr834bv2[] __initconst = { bcm47xx_buttons_netgear_wnr834bv2[] __initconst = {
BCM47XX_GPIO_KEY(6, KEY_RESTART), BCM47XX_GPIO_KEY(6, KEY_RESTART),
@@ -478,6 +514,9 @@ int __init bcm47xx_buttons_register(void) };
@@ -478,6 +514,9 @@ int __init bcm47xx_buttons_register(void
int err; int err;
switch (board) { switch (board) {
@ -117,7 +113,7 @@ index 535d84addcdb..38e4a9cbcf4e 100644
case BCM47XX_BOARD_ASUS_RTN12: case BCM47XX_BOARD_ASUS_RTN12:
err = bcm47xx_copy_bdata(bcm47xx_buttons_asus_rtn12); err = bcm47xx_copy_bdata(bcm47xx_buttons_asus_rtn12);
break; break;
@@ -608,6 +647,12 @@ int __init bcm47xx_buttons_register(void) @@ -608,6 +647,12 @@ int __init bcm47xx_buttons_register(void
case BCM47XX_BOARD_LINKSYS_WRT310NV1: case BCM47XX_BOARD_LINKSYS_WRT310NV1:
err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt310nv1); err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt310nv1);
break; break;
@ -130,7 +126,7 @@ index 535d84addcdb..38e4a9cbcf4e 100644
case BCM47XX_BOARD_LINKSYS_WRT54G3GV2: case BCM47XX_BOARD_LINKSYS_WRT54G3GV2:
err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt54g3gv2); err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt54g3gv2);
break; break;
@@ -674,6 +719,12 @@ int __init bcm47xx_buttons_register(void) @@ -674,6 +719,12 @@ int __init bcm47xx_buttons_register(void
case BCM47XX_BOARD_NETGEAR_R6200_V1: case BCM47XX_BOARD_NETGEAR_R6200_V1:
err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_r6200_v1); err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_r6200_v1);
break; break;
@ -143,7 +139,7 @@ index 535d84addcdb..38e4a9cbcf4e 100644
case BCM47XX_BOARD_NETGEAR_WNDR3400V1: case BCM47XX_BOARD_NETGEAR_WNDR3400V1:
err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr3400v1); err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr3400v1);
break; break;
@@ -692,6 +743,9 @@ int __init bcm47xx_buttons_register(void) @@ -692,6 +743,9 @@ int __init bcm47xx_buttons_register(void
case BCM47XX_BOARD_NETGEAR_WNR3500L: case BCM47XX_BOARD_NETGEAR_WNR3500L:
err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wnr3500lv1); err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wnr3500lv1);
break; break;
@ -153,15 +149,12 @@ index 535d84addcdb..38e4a9cbcf4e 100644
case BCM47XX_BOARD_NETGEAR_WNR834BV2: case BCM47XX_BOARD_NETGEAR_WNR834BV2:
err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wnr834bv2); err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wnr834bv2);
break; break;
diff --git a/arch/mips/bcm47xx/leds.c b/arch/mips/bcm47xx/leds.c
index 167c42c71e79..8e257d0896d2 100644
--- a/arch/mips/bcm47xx/leds.c --- a/arch/mips/bcm47xx/leds.c
+++ b/arch/mips/bcm47xx/leds.c +++ b/arch/mips/bcm47xx/leds.c
@@ -29,6 +29,14 @@ @@ -30,6 +30,14 @@
/* Asus */ /* Asus */
+static const struct gpio_led static const struct gpio_led
+bcm47xx_leds_asus_rtn10u[] __initconst = { +bcm47xx_leds_asus_rtn10u[] __initconst = {
+ BCM47XX_GPIO_LED(5, "green", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF), + BCM47XX_GPIO_LED(5, "green", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
+ BCM47XX_GPIO_LED(6, "green", "power", 1, LEDS_GPIO_DEFSTATE_ON), + BCM47XX_GPIO_LED(6, "green", "power", 1, LEDS_GPIO_DEFSTATE_ON),
@ -169,28 +162,28 @@ index 167c42c71e79..8e257d0896d2 100644
+ BCM47XX_GPIO_LED(8, "green", "usb", 0, LEDS_GPIO_DEFSTATE_OFF), + BCM47XX_GPIO_LED(8, "green", "usb", 0, LEDS_GPIO_DEFSTATE_OFF),
+}; +};
+ +
static const struct gpio_led +static const struct gpio_led
bcm47xx_leds_asus_rtn12[] __initconst = { bcm47xx_leds_asus_rtn12[] __initconst = {
BCM47XX_GPIO_LED(2, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON), BCM47XX_GPIO_LED(2, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON),
@@ -313,6 +321,13 @@ bcm47xx_leds_linksys_wrt310nv1[] __initconst = { BCM47XX_GPIO_LED(7, "unk", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
BCM47XX_GPIO_LED(9, "blue", "wps", 1, LEDS_GPIO_DEFSTATE_OFF), @@ -314,6 +322,13 @@ bcm47xx_leds_linksys_wrt310nv1[] __initc
}; };
+static const struct gpio_led static const struct gpio_led
+bcm47xx_leds_linksys_wrt320n_v1[] __initconst = { +bcm47xx_leds_linksys_wrt320n_v1[] __initconst = {
+ BCM47XX_GPIO_LED(1, "blue", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF), + BCM47XX_GPIO_LED(1, "blue", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
+ BCM47XX_GPIO_LED(2, "blue", "power", 0, LEDS_GPIO_DEFSTATE_ON), + BCM47XX_GPIO_LED(2, "blue", "power", 0, LEDS_GPIO_DEFSTATE_ON),
+ BCM47XX_GPIO_LED(4, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF), + BCM47XX_GPIO_LED(4, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
+}; +};
+ +
static const struct gpio_led +static const struct gpio_led
bcm47xx_leds_linksys_wrt54g_generic[] __initconst = { bcm47xx_leds_linksys_wrt54g_generic[] __initconst = {
BCM47XX_GPIO_LED(0, "unk", "dmz", 1, LEDS_GPIO_DEFSTATE_OFF), BCM47XX_GPIO_LED(0, "unk", "dmz", 1, LEDS_GPIO_DEFSTATE_OFF),
@@ -512,6 +527,14 @@ bcm47xx_leds_netgear_wnr3500lv1[] __initconst = { BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
BCM47XX_GPIO_LED(7, "amber", "power", 0, LEDS_GPIO_DEFSTATE_OFF), @@ -513,6 +528,14 @@ bcm47xx_leds_netgear_wnr3500lv1[] __init
}; };
+static const struct gpio_led static const struct gpio_led
+bcm47xx_leds_netgear_wnr3500lv2[] __initconst = { +bcm47xx_leds_netgear_wnr3500lv2[] __initconst = {
+ BCM47XX_GPIO_LED(0, "blue", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF), + BCM47XX_GPIO_LED(0, "blue", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
+ BCM47XX_GPIO_LED(1, "green", "wps", 0, LEDS_GPIO_DEFSTATE_OFF), + BCM47XX_GPIO_LED(1, "green", "wps", 0, LEDS_GPIO_DEFSTATE_OFF),
@ -198,9 +191,10 @@ index 167c42c71e79..8e257d0896d2 100644
+ BCM47XX_GPIO_LED(7, "amber", "power", 0, LEDS_GPIO_DEFSTATE_OFF), + BCM47XX_GPIO_LED(7, "amber", "power", 0, LEDS_GPIO_DEFSTATE_OFF),
+}; +};
+ +
static const struct gpio_led +static const struct gpio_led
bcm47xx_leds_netgear_wnr834bv2[] __initconst = { bcm47xx_leds_netgear_wnr834bv2[] __initconst = {
BCM47XX_GPIO_LED(2, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON), BCM47XX_GPIO_LED(2, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
BCM47XX_GPIO_LED(3, "amber", "power", 0, LEDS_GPIO_DEFSTATE_OFF),
@@ -556,6 +579,9 @@ void __init bcm47xx_leds_register(void) @@ -556,6 +579,9 @@ void __init bcm47xx_leds_register(void)
enum bcm47xx_board board = bcm47xx_board_get(); enum bcm47xx_board board = bcm47xx_board_get();
@ -231,8 +225,6 @@ index 167c42c71e79..8e257d0896d2 100644
case BCM47XX_BOARD_NETGEAR_WNR834BV2: case BCM47XX_BOARD_NETGEAR_WNR834BV2:
bcm47xx_set_pdata(bcm47xx_leds_netgear_wnr834bv2); bcm47xx_set_pdata(bcm47xx_leds_netgear_wnr834bv2);
break; break;
diff --git a/arch/mips/bcm47xx/workarounds.c b/arch/mips/bcm47xx/workarounds.c
index 0ab95dd431b3..745c6228eb2c 100644
--- a/arch/mips/bcm47xx/workarounds.c --- a/arch/mips/bcm47xx/workarounds.c
+++ b/arch/mips/bcm47xx/workarounds.c +++ b/arch/mips/bcm47xx/workarounds.c
@@ -22,6 +22,7 @@ void __init bcm47xx_workarounds(void) @@ -22,6 +22,7 @@ void __init bcm47xx_workarounds(void)
@ -243,8 +235,6 @@ index 0ab95dd431b3..745c6228eb2c 100644
bcm47xx_workarounds_enable_usb_power(12); bcm47xx_workarounds_enable_usb_power(12);
break; break;
case BCM47XX_BOARD_NETGEAR_WNDR3400V2: case BCM47XX_BOARD_NETGEAR_WNDR3400V2:
diff --git a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
index f879be3e8099..30f4114ab872 100644
--- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h --- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h +++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
@@ -72,6 +72,7 @@ enum bcm47xx_board { @@ -72,6 +72,7 @@ enum bcm47xx_board {

View File

@ -19,7 +19,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
#include "mtk_eth_soc.h" #include "mtk_eth_soc.h"
@@ -1285,13 +1286,12 @@ static int mtk_poll_rx(struct napi_struc @@ -1296,13 +1297,12 @@ static int mtk_poll_rx(struct napi_struc
break; break;
/* find out which mac the packet come from. values start at 1 */ /* find out which mac the packet come from. values start at 1 */
@ -38,7 +38,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
if (unlikely(mac < 0 || mac >= MTK_MAC_COUNT || if (unlikely(mac < 0 || mac >= MTK_MAC_COUNT ||
!eth->netdev[mac])) !eth->netdev[mac]))
@@ -2257,6 +2257,9 @@ static void mtk_gdm_config(struct mtk_et @@ -2274,6 +2274,9 @@ static void mtk_gdm_config(struct mtk_et
val |= config; val |= config;

View File

@ -27,7 +27,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
obj-$(CONFIG_NET_MEDIATEK_STAR_EMAC) += mtk_star_emac.o obj-$(CONFIG_NET_MEDIATEK_STAR_EMAC) += mtk_star_emac.o
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2282,12 +2282,17 @@ static int mtk_open(struct net_device *d @@ -2299,12 +2299,17 @@ static int mtk_open(struct net_device *d
/* we run 2 netdevs on the same dma ring so we only bring it up once */ /* we run 2 netdevs on the same dma ring so we only bring it up once */
if (!refcount_read(&eth->dma_refcnt)) { if (!refcount_read(&eth->dma_refcnt)) {
@ -47,7 +47,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
napi_enable(&eth->tx_napi); napi_enable(&eth->tx_napi);
napi_enable(&eth->rx_napi); napi_enable(&eth->rx_napi);
@@ -2354,6 +2359,9 @@ static int mtk_stop(struct net_device *d @@ -2371,6 +2376,9 @@ static int mtk_stop(struct net_device *d
mtk_dma_free(eth); mtk_dma_free(eth);
@ -57,7 +57,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
return 0; return 0;
} }
@@ -3082,6 +3090,13 @@ static int mtk_probe(struct platform_dev @@ -3099,6 +3107,13 @@ static int mtk_probe(struct platform_dev
goto err_free_dev; goto err_free_dev;
} }
@ -71,7 +71,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
for (i = 0; i < MTK_MAX_DEVS; i++) { for (i = 0; i < MTK_MAX_DEVS; i++) {
if (!eth->netdev[i]) if (!eth->netdev[i])
continue; continue;
@@ -3156,6 +3171,7 @@ static const struct mtk_soc_data mt7621_ @@ -3173,6 +3188,7 @@ static const struct mtk_soc_data mt7621_
.hw_features = MTK_HW_FEATURES, .hw_features = MTK_HW_FEATURES,
.required_clks = MT7621_CLKS_BITMAP, .required_clks = MT7621_CLKS_BITMAP,
.required_pctl = false, .required_pctl = false,
@ -79,7 +79,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
}; };
static const struct mtk_soc_data mt7622_data = { static const struct mtk_soc_data mt7622_data = {
@@ -3164,6 +3180,7 @@ static const struct mtk_soc_data mt7622_ @@ -3181,6 +3197,7 @@ static const struct mtk_soc_data mt7622_
.hw_features = MTK_HW_FEATURES, .hw_features = MTK_HW_FEATURES,
.required_clks = MT7622_CLKS_BITMAP, .required_clks = MT7622_CLKS_BITMAP,
.required_pctl = false, .required_pctl = false,

View File

@ -21,7 +21,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
obj-$(CONFIG_NET_MEDIATEK_STAR_EMAC) += mtk_star_emac.o obj-$(CONFIG_NET_MEDIATEK_STAR_EMAC) += mtk_star_emac.o
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2837,6 +2837,7 @@ static const struct net_device_ops mtk_n @@ -2854,6 +2854,7 @@ static const struct net_device_ops mtk_n
#ifdef CONFIG_NET_POLL_CONTROLLER #ifdef CONFIG_NET_POLL_CONTROLLER
.ndo_poll_controller = mtk_poll_controller, .ndo_poll_controller = mtk_poll_controller,
#endif #endif
@ -29,7 +29,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
}; };
static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np) static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
@@ -3095,6 +3096,10 @@ static int mtk_probe(struct platform_dev @@ -3112,6 +3113,10 @@ static int mtk_probe(struct platform_dev
eth->base + MTK_ETH_PPE_BASE, 2); eth->base + MTK_ETH_PPE_BASE, 2);
if (err) if (err)
goto err_free_dev; goto err_free_dev;

View File

@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -1319,6 +1319,9 @@ static int mtk_poll_rx(struct napi_struc @@ -1333,6 +1333,9 @@ static int mtk_poll_rx(struct napi_struc
goto release_desc; goto release_desc;
} }
@ -27,7 +27,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* receive data */ /* receive data */
skb = build_skb(data, ring->frag_size); skb = build_skb(data, ring->frag_size);
if (unlikely(!skb)) { if (unlikely(!skb)) {
@@ -1328,8 +1331,6 @@ static int mtk_poll_rx(struct napi_struc @@ -1342,8 +1345,6 @@ static int mtk_poll_rx(struct napi_struc
} }
skb_reserve(skb, NET_SKB_PAD + NET_IP_ALIGN); skb_reserve(skb, NET_SKB_PAD + NET_IP_ALIGN);

View File

@ -16,7 +16,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -1325,9 +1325,9 @@ static int mtk_poll_rx(struct napi_struc @@ -1339,9 +1339,9 @@ static int mtk_poll_rx(struct napi_struc
/* receive data */ /* receive data */
skb = build_skb(data, ring->frag_size); skb = build_skb(data, ring->frag_size);
if (unlikely(!skb)) { if (unlikely(!skb)) {
@ -28,7 +28,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
} }
skb_reserve(skb, NET_SKB_PAD + NET_IP_ALIGN); skb_reserve(skb, NET_SKB_PAD + NET_IP_ALIGN);
@@ -1347,6 +1347,7 @@ static int mtk_poll_rx(struct napi_struc @@ -1361,6 +1361,7 @@ static int mtk_poll_rx(struct napi_struc
skb_record_rx_queue(skb, 0); skb_record_rx_queue(skb, 0);
napi_gro_receive(napi, skb); napi_gro_receive(napi, skb);

View File

@ -14,7 +14,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -879,7 +879,8 @@ static int txd_to_idx(struct mtk_tx_ring @@ -890,7 +890,8 @@ static int txd_to_idx(struct mtk_tx_ring
return ((void *)dma - (void *)ring->dma) / sizeof(*dma); return ((void *)dma - (void *)ring->dma) / sizeof(*dma);
} }
@ -24,7 +24,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
{ {
if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) { if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) {
if (tx_buf->flags & MTK_TX_FLAGS_SINGLE0) { if (tx_buf->flags & MTK_TX_FLAGS_SINGLE0) {
@@ -911,8 +912,12 @@ static void mtk_tx_unmap(struct mtk_eth @@ -922,8 +923,12 @@ static void mtk_tx_unmap(struct mtk_eth
tx_buf->flags = 0; tx_buf->flags = 0;
if (tx_buf->skb && if (tx_buf->skb &&
@ -39,7 +39,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
tx_buf->skb = NULL; tx_buf->skb = NULL;
} }
@@ -1090,7 +1095,7 @@ err_dma: @@ -1101,7 +1106,7 @@ err_dma:
tx_buf = mtk_desc_to_tx_buf(ring, itxd); tx_buf = mtk_desc_to_tx_buf(ring, itxd);
/* unmap dma */ /* unmap dma */
@ -48,7 +48,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
itxd->txd3 = TX_DMA_LS0 | TX_DMA_OWNER_CPU; itxd->txd3 = TX_DMA_LS0 | TX_DMA_OWNER_CPU;
if (!MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) if (!MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA))
@@ -1409,7 +1414,7 @@ static int mtk_poll_tx_qdma(struct mtk_e @@ -1423,7 +1428,7 @@ static int mtk_poll_tx_qdma(struct mtk_e
done[mac]++; done[mac]++;
budget--; budget--;
} }
@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
ring->last_free = desc; ring->last_free = desc;
atomic_inc(&ring->free_count); atomic_inc(&ring->free_count);
@@ -1446,7 +1451,7 @@ static int mtk_poll_tx_pdma(struct mtk_e @@ -1460,7 +1465,7 @@ static int mtk_poll_tx_pdma(struct mtk_e
budget--; budget--;
} }
@ -66,7 +66,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
desc = &ring->dma[cpu]; desc = &ring->dma[cpu];
ring->last_free = desc; ring->last_free = desc;
@@ -1648,7 +1653,7 @@ static void mtk_tx_clean(struct mtk_eth @@ -1662,7 +1667,7 @@ static void mtk_tx_clean(struct mtk_eth
if (ring->buf) { if (ring->buf) {
for (i = 0; i < MTK_DMA_SIZE; i++) for (i = 0; i < MTK_DMA_SIZE; i++)

View File

@ -16,7 +16,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -1152,17 +1152,6 @@ static void mtk_wake_queue(struct mtk_et @@ -1163,17 +1163,6 @@ static void mtk_wake_queue(struct mtk_et
} }
} }
@ -34,7 +34,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static netdev_tx_t mtk_start_xmit(struct sk_buff *skb, struct net_device *dev) static netdev_tx_t mtk_start_xmit(struct sk_buff *skb, struct net_device *dev)
{ {
struct mtk_mac *mac = netdev_priv(dev); struct mtk_mac *mac = netdev_priv(dev);
@@ -1183,7 +1172,7 @@ static netdev_tx_t mtk_start_xmit(struct @@ -1194,7 +1183,7 @@ static netdev_tx_t mtk_start_xmit(struct
tx_num = mtk_cal_txd_req(skb); tx_num = mtk_cal_txd_req(skb);
if (unlikely(atomic_read(&ring->free_count) <= tx_num)) { if (unlikely(atomic_read(&ring->free_count) <= tx_num)) {
@ -43,7 +43,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
netif_err(eth, tx_queued, dev, netif_err(eth, tx_queued, dev,
"Tx Ring full when queue awake!\n"); "Tx Ring full when queue awake!\n");
spin_unlock(&eth->page_lock); spin_unlock(&eth->page_lock);
@@ -1209,7 +1198,7 @@ static netdev_tx_t mtk_start_xmit(struct @@ -1220,7 +1209,7 @@ static netdev_tx_t mtk_start_xmit(struct
goto drop; goto drop;
if (unlikely(atomic_read(&ring->free_count) <= ring->thresh)) if (unlikely(atomic_read(&ring->free_count) <= ring->thresh))

View File

@ -15,7 +15,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2217,7 +2217,7 @@ static int mtk_start_dma(struct mtk_eth @@ -2234,7 +2234,7 @@ static int mtk_start_dma(struct mtk_eth
if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) { if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) {
mtk_w32(eth, mtk_w32(eth,
MTK_TX_WB_DDONE | MTK_TX_DMA_EN | MTK_TX_WB_DDONE | MTK_TX_DMA_EN |

View File

@ -28,7 +28,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
MediaTek SoC family. MediaTek SoC family.
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -1254,12 +1254,13 @@ static void mtk_update_rx_cpu_idx(struct @@ -1265,12 +1265,13 @@ static void mtk_update_rx_cpu_idx(struct
static int mtk_poll_rx(struct napi_struct *napi, int budget, static int mtk_poll_rx(struct napi_struct *napi, int budget,
struct mtk_eth *eth) struct mtk_eth *eth)
{ {
@ -43,7 +43,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
while (done < budget) { while (done < budget) {
struct net_device *netdev; struct net_device *netdev;
@@ -1333,6 +1334,7 @@ static int mtk_poll_rx(struct napi_struc @@ -1347,6 +1348,7 @@ static int mtk_poll_rx(struct napi_struc
else else
skb_checksum_none_assert(skb); skb_checksum_none_assert(skb);
skb->protocol = eth_type_trans(skb, netdev); skb->protocol = eth_type_trans(skb, netdev);
@ -51,7 +51,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (netdev->features & NETIF_F_HW_VLAN_CTAG_RX && if (netdev->features & NETIF_F_HW_VLAN_CTAG_RX &&
(trxd.rxd2 & RX_DMA_VTAG)) (trxd.rxd2 & RX_DMA_VTAG))
@@ -1365,6 +1367,12 @@ rx_done: @@ -1379,6 +1381,12 @@ rx_done:
mtk_update_rx_cpu_idx(eth); mtk_update_rx_cpu_idx(eth);
} }
@ -64,7 +64,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
return done; return done;
} }
@@ -1457,6 +1465,7 @@ static int mtk_poll_tx_pdma(struct mtk_e @@ -1471,6 +1479,7 @@ static int mtk_poll_tx_pdma(struct mtk_e
static int mtk_poll_tx(struct mtk_eth *eth, int budget) static int mtk_poll_tx(struct mtk_eth *eth, int budget)
{ {
struct mtk_tx_ring *ring = &eth->tx_ring; struct mtk_tx_ring *ring = &eth->tx_ring;
@ -72,7 +72,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
unsigned int done[MTK_MAX_DEVS]; unsigned int done[MTK_MAX_DEVS];
unsigned int bytes[MTK_MAX_DEVS]; unsigned int bytes[MTK_MAX_DEVS];
int total = 0, i; int total = 0, i;
@@ -1474,8 +1483,14 @@ static int mtk_poll_tx(struct mtk_eth *e @@ -1488,8 +1497,14 @@ static int mtk_poll_tx(struct mtk_eth *e
continue; continue;
netdev_completed_queue(eth->netdev[i], done[i], bytes[i]); netdev_completed_queue(eth->netdev[i], done[i], bytes[i]);
total += done[i]; total += done[i];
@ -87,7 +87,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (mtk_queue_stopped(eth) && if (mtk_queue_stopped(eth) &&
(atomic_read(&ring->free_count) > ring->thresh)) (atomic_read(&ring->free_count) > ring->thresh))
mtk_wake_queue(eth); mtk_wake_queue(eth);
@@ -2153,6 +2168,7 @@ static irqreturn_t mtk_handle_irq_rx(int @@ -2170,6 +2185,7 @@ static irqreturn_t mtk_handle_irq_rx(int
{ {
struct mtk_eth *eth = _eth; struct mtk_eth *eth = _eth;
@ -95,7 +95,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (likely(napi_schedule_prep(&eth->rx_napi))) { if (likely(napi_schedule_prep(&eth->rx_napi))) {
__napi_schedule(&eth->rx_napi); __napi_schedule(&eth->rx_napi);
mtk_rx_irq_disable(eth, MTK_RX_DONE_INT); mtk_rx_irq_disable(eth, MTK_RX_DONE_INT);
@@ -2165,6 +2181,7 @@ static irqreturn_t mtk_handle_irq_tx(int @@ -2182,6 +2198,7 @@ static irqreturn_t mtk_handle_irq_tx(int
{ {
struct mtk_eth *eth = _eth; struct mtk_eth *eth = _eth;
@ -103,7 +103,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (likely(napi_schedule_prep(&eth->tx_napi))) { if (likely(napi_schedule_prep(&eth->tx_napi))) {
__napi_schedule(&eth->tx_napi); __napi_schedule(&eth->tx_napi);
mtk_tx_irq_disable(eth, MTK_TX_DONE_INT); mtk_tx_irq_disable(eth, MTK_TX_DONE_INT);
@@ -2349,6 +2366,9 @@ static int mtk_stop(struct net_device *d @@ -2366,6 +2383,9 @@ static int mtk_stop(struct net_device *d
napi_disable(&eth->tx_napi); napi_disable(&eth->tx_napi);
napi_disable(&eth->rx_napi); napi_disable(&eth->rx_napi);
@ -113,7 +113,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA))
mtk_stop_dma(eth, MTK_QDMA_GLO_CFG); mtk_stop_dma(eth, MTK_QDMA_GLO_CFG);
mtk_stop_dma(eth, MTK_PDMA_GLO_CFG); mtk_stop_dma(eth, MTK_PDMA_GLO_CFG);
@@ -2401,6 +2421,64 @@ err_disable_clks: @@ -2418,6 +2438,64 @@ err_disable_clks:
return ret; return ret;
} }
@ -178,7 +178,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static int mtk_hw_init(struct mtk_eth *eth) static int mtk_hw_init(struct mtk_eth *eth)
{ {
int i, val, ret; int i, val, ret;
@@ -2422,9 +2500,6 @@ static int mtk_hw_init(struct mtk_eth *e @@ -2439,9 +2517,6 @@ static int mtk_hw_init(struct mtk_eth *e
goto err_disable_pm; goto err_disable_pm;
} }
@ -188,7 +188,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* disable delay and normal interrupt */ /* disable delay and normal interrupt */
mtk_tx_irq_disable(eth, ~0); mtk_tx_irq_disable(eth, ~0);
mtk_rx_irq_disable(eth, ~0); mtk_rx_irq_disable(eth, ~0);
@@ -2463,11 +2538,11 @@ static int mtk_hw_init(struct mtk_eth *e @@ -2480,11 +2555,11 @@ static int mtk_hw_init(struct mtk_eth *e
/* Enable RX VLan Offloading */ /* Enable RX VLan Offloading */
mtk_w32(eth, 1, MTK_CDMP_EG_CTRL); mtk_w32(eth, 1, MTK_CDMP_EG_CTRL);
@ -203,7 +203,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
mtk_tx_irq_disable(eth, ~0); mtk_tx_irq_disable(eth, ~0);
mtk_rx_irq_disable(eth, ~0); mtk_rx_irq_disable(eth, ~0);
@@ -2972,6 +3047,13 @@ static int mtk_probe(struct platform_dev @@ -2989,6 +3064,13 @@ static int mtk_probe(struct platform_dev
spin_lock_init(&eth->page_lock); spin_lock_init(&eth->page_lock);
spin_lock_init(&eth->tx_irq_lock); spin_lock_init(&eth->tx_irq_lock);
spin_lock_init(&eth->rx_irq_lock); spin_lock_init(&eth->rx_irq_lock);

View File

@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -1385,7 +1385,7 @@ static int mtk_poll_tx_qdma(struct mtk_e @@ -1399,7 +1399,7 @@ static int mtk_poll_tx_qdma(struct mtk_e
struct mtk_tx_buf *tx_buf; struct mtk_tx_buf *tx_buf;
u32 cpu, dma; u32 cpu, dma;
@ -26,7 +26,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
dma = mtk_r32(eth, MTK_QTX_DRX_PTR); dma = mtk_r32(eth, MTK_QTX_DRX_PTR);
desc = mtk_qdma_phys_to_virt(ring, cpu); desc = mtk_qdma_phys_to_virt(ring, cpu);
@@ -1419,6 +1419,7 @@ static int mtk_poll_tx_qdma(struct mtk_e @@ -1433,6 +1433,7 @@ static int mtk_poll_tx_qdma(struct mtk_e
cpu = next_cpu; cpu = next_cpu;
} }
@ -34,7 +34,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
mtk_w32(eth, cpu, MTK_QTX_CRX_PTR); mtk_w32(eth, cpu, MTK_QTX_CRX_PTR);
return budget; return budget;
@@ -1619,6 +1620,7 @@ static int mtk_tx_alloc(struct mtk_eth * @@ -1633,6 +1634,7 @@ static int mtk_tx_alloc(struct mtk_eth *
atomic_set(&ring->free_count, MTK_DMA_SIZE - 2); atomic_set(&ring->free_count, MTK_DMA_SIZE - 2);
ring->next_free = &ring->dma[0]; ring->next_free = &ring->dma[0];
ring->last_free = &ring->dma[MTK_DMA_SIZE - 1]; ring->last_free = &ring->dma[MTK_DMA_SIZE - 1];
@ -42,7 +42,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
ring->thresh = MAX_SKB_FRAGS; ring->thresh = MAX_SKB_FRAGS;
/* make sure that all changes to the dma ring are flushed before we /* make sure that all changes to the dma ring are flushed before we
@@ -1632,9 +1634,7 @@ static int mtk_tx_alloc(struct mtk_eth * @@ -1646,9 +1648,7 @@ static int mtk_tx_alloc(struct mtk_eth *
mtk_w32(eth, mtk_w32(eth,
ring->phys + ((MTK_DMA_SIZE - 1) * sz), ring->phys + ((MTK_DMA_SIZE - 1) * sz),
MTK_QTX_CRX_PTR); MTK_QTX_CRX_PTR);

View File

@ -36,8 +36,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
+ return true; + return true;
} }
/* the qdma core needs scratch memory to be setup */ static void *mtk_max_lro_buf_alloc(gfp_t gfp_mask)
@@ -1276,8 +1281,7 @@ static int mtk_poll_rx(struct napi_struc @@ -1287,8 +1292,7 @@ static int mtk_poll_rx(struct napi_struc
rxd = &ring->dma[idx]; rxd = &ring->dma[idx];
data = ring->data[idx]; data = ring->data[idx];

View File

@ -14,7 +14,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -1540,8 +1540,8 @@ static int mtk_napi_tx(struct napi_struc @@ -1554,8 +1554,8 @@ static int mtk_napi_tx(struct napi_struc
if (status & MTK_TX_DONE_INT) if (status & MTK_TX_DONE_INT)
return budget; return budget;
@ -25,7 +25,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
return tx_done; return tx_done;
} }
@@ -1574,8 +1574,9 @@ poll_again: @@ -1588,8 +1588,9 @@ poll_again:
remain_budget -= rx_done; remain_budget -= rx_done;
goto poll_again; goto poll_again;
} }

View File

@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -1517,7 +1517,6 @@ static void mtk_handle_status_irq(struct @@ -1531,7 +1531,6 @@ static void mtk_handle_status_irq(struct
static int mtk_napi_tx(struct napi_struct *napi, int budget) static int mtk_napi_tx(struct napi_struct *napi, int budget)
{ {
struct mtk_eth *eth = container_of(napi, struct mtk_eth, tx_napi); struct mtk_eth *eth = container_of(napi, struct mtk_eth, tx_napi);
@ -25,7 +25,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
int tx_done = 0; int tx_done = 0;
if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA))
@@ -1526,21 +1525,19 @@ static int mtk_napi_tx(struct napi_struc @@ -1540,21 +1539,19 @@ static int mtk_napi_tx(struct napi_struc
tx_done = mtk_poll_tx(eth, budget); tx_done = mtk_poll_tx(eth, budget);
if (unlikely(netif_msg_intr(eth))) { if (unlikely(netif_msg_intr(eth))) {
@ -52,7 +52,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
mtk_tx_irq_enable(eth, MTK_TX_DONE_INT); mtk_tx_irq_enable(eth, MTK_TX_DONE_INT);
return tx_done; return tx_done;
@@ -1549,36 +1546,33 @@ static int mtk_napi_tx(struct napi_struc @@ -1563,36 +1560,33 @@ static int mtk_napi_tx(struct napi_struc
static int mtk_napi_rx(struct napi_struct *napi, int budget) static int mtk_napi_rx(struct napi_struct *napi, int budget)
{ {
struct mtk_eth *eth = container_of(napi, struct mtk_eth, rx_napi); struct mtk_eth *eth = container_of(napi, struct mtk_eth, rx_napi);

View File

@ -24,7 +24,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
#include <net/dsa.h> #include <net/dsa.h>
#include "mtk_eth_soc.h" #include "mtk_eth_soc.h"
@@ -1271,6 +1272,7 @@ static int mtk_poll_rx(struct napi_struc @@ -1282,6 +1283,7 @@ static int mtk_poll_rx(struct napi_struc
struct net_device *netdev; struct net_device *netdev;
unsigned int pktlen; unsigned int pktlen;
dma_addr_t dma_addr; dma_addr_t dma_addr;
@ -32,7 +32,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
int mac; int mac;
ring = mtk_get_rx_ring(eth); ring = mtk_get_rx_ring(eth);
@@ -1340,6 +1342,12 @@ static int mtk_poll_rx(struct napi_struc @@ -1354,6 +1356,12 @@ static int mtk_poll_rx(struct napi_struc
skb->protocol = eth_type_trans(skb, netdev); skb->protocol = eth_type_trans(skb, netdev);
bytes += pktlen; bytes += pktlen;

View File

@ -19,7 +19,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2057,25 +2057,22 @@ static int mtk_set_features(struct net_d @@ -2074,25 +2074,22 @@ static int mtk_set_features(struct net_d
/* wait for DMA to finish whatever it is doing before we start using it again */ /* wait for DMA to finish whatever it is doing before we start using it again */
static int mtk_dma_busy_wait(struct mtk_eth *eth) static int mtk_dma_busy_wait(struct mtk_eth *eth)
{ {

View File

@ -48,7 +48,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
return buf_size; return buf_size;
} }
@@ -2609,6 +2609,35 @@ static void mtk_uninit(struct net_device @@ -2626,6 +2626,35 @@ static void mtk_uninit(struct net_device
mtk_rx_irq_disable(eth, ~0); mtk_rx_irq_disable(eth, ~0);
} }
@ -84,7 +84,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
static int mtk_do_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) static int mtk_do_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
{ {
struct mtk_mac *mac = netdev_priv(dev); struct mtk_mac *mac = netdev_priv(dev);
@@ -2905,6 +2934,7 @@ static const struct net_device_ops mtk_n @@ -2922,6 +2951,7 @@ static const struct net_device_ops mtk_n
.ndo_set_mac_address = mtk_set_mac_address, .ndo_set_mac_address = mtk_set_mac_address,
.ndo_validate_addr = eth_validate_addr, .ndo_validate_addr = eth_validate_addr,
.ndo_do_ioctl = mtk_do_ioctl, .ndo_do_ioctl = mtk_do_ioctl,
@ -92,7 +92,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.ndo_tx_timeout = mtk_tx_timeout, .ndo_tx_timeout = mtk_tx_timeout,
.ndo_get_stats64 = mtk_get_stats64, .ndo_get_stats64 = mtk_get_stats64,
.ndo_fix_features = mtk_fix_features, .ndo_fix_features = mtk_fix_features,
@@ -3007,7 +3037,10 @@ static int mtk_add_mac(struct mtk_eth *e @@ -3024,7 +3054,10 @@ static int mtk_add_mac(struct mtk_eth *e
eth->netdev[id]->irq = eth->irq[0]; eth->netdev[id]->irq = eth->irq[0];
eth->netdev[id]->dev.of_node = np; eth->netdev[id]->dev.of_node = np;

View File

@ -895,7 +895,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2583,14 +2583,11 @@ static int __init mtk_init(struct net_de @@ -2600,14 +2600,11 @@ static int __init mtk_init(struct net_de
{ {
struct mtk_mac *mac = netdev_priv(dev); struct mtk_mac *mac = netdev_priv(dev);
struct mtk_eth *eth = mac->hw; struct mtk_eth *eth = mac->hw;

View File

@ -11,11 +11,9 @@ Signed-off-by: Pavel Machek <pavel@ucw.cz>
drivers/leds/leds-pca955x.c | 63 ++++++++++++++++++------------------- drivers/leds/leds-pca955x.c | 63 ++++++++++++++++++-------------------
1 file changed, 30 insertions(+), 33 deletions(-) 1 file changed, 30 insertions(+), 33 deletions(-)
diff --git a/drivers/leds/leds-pca955x.c b/drivers/leds/leds-pca955x.c
index 7087ca4592fc96..f0d841cb59fcc8 100644
--- a/drivers/leds/leds-pca955x.c --- a/drivers/leds/leds-pca955x.c
+++ b/drivers/leds/leds-pca955x.c +++ b/drivers/leds/leds-pca955x.c
@@ -166,11 +166,10 @@ static inline u8 pca955x_ledsel(u8 oldval, int led_num, int state) @@ -166,11 +166,10 @@ static inline u8 pca955x_ledsel(u8 oldva
static int pca955x_write_psc(struct i2c_client *client, int n, u8 val) static int pca955x_write_psc(struct i2c_client *client, int n, u8 val)
{ {
struct pca955x *pca955x = i2c_get_clientdata(client); struct pca955x *pca955x = i2c_get_clientdata(client);
@ -29,7 +27,7 @@ index 7087ca4592fc96..f0d841cb59fcc8 100644
if (ret < 0) if (ret < 0)
dev_err(&client->dev, "%s: reg 0x%x, val 0x%x, err %d\n", dev_err(&client->dev, "%s: reg 0x%x, val 0x%x, err %d\n",
__func__, n, val, ret); __func__, n, val, ret);
@@ -187,11 +186,10 @@ static int pca955x_write_psc(struct i2c_client *client, int n, u8 val) @@ -187,11 +186,10 @@ static int pca955x_write_psc(struct i2c_
static int pca955x_write_pwm(struct i2c_client *client, int n, u8 val) static int pca955x_write_pwm(struct i2c_client *client, int n, u8 val)
{ {
struct pca955x *pca955x = i2c_get_clientdata(client); struct pca955x *pca955x = i2c_get_clientdata(client);
@ -43,7 +41,7 @@ index 7087ca4592fc96..f0d841cb59fcc8 100644
if (ret < 0) if (ret < 0)
dev_err(&client->dev, "%s: reg 0x%x, val 0x%x, err %d\n", dev_err(&client->dev, "%s: reg 0x%x, val 0x%x, err %d\n",
__func__, n, val, ret); __func__, n, val, ret);
@@ -205,11 +203,10 @@ static int pca955x_write_pwm(struct i2c_client *client, int n, u8 val) @@ -205,11 +203,10 @@ static int pca955x_write_pwm(struct i2c_
static int pca955x_write_ls(struct i2c_client *client, int n, u8 val) static int pca955x_write_ls(struct i2c_client *client, int n, u8 val)
{ {
struct pca955x *pca955x = i2c_get_clientdata(client); struct pca955x *pca955x = i2c_get_clientdata(client);
@ -57,7 +55,7 @@ index 7087ca4592fc96..f0d841cb59fcc8 100644
if (ret < 0) if (ret < 0)
dev_err(&client->dev, "%s: reg 0x%x, val 0x%x, err %d\n", dev_err(&client->dev, "%s: reg 0x%x, val 0x%x, err %d\n",
__func__, n, val, ret); __func__, n, val, ret);
@@ -223,10 +220,10 @@ static int pca955x_write_ls(struct i2c_client *client, int n, u8 val) @@ -223,10 +220,10 @@ static int pca955x_write_ls(struct i2c_c
static int pca955x_read_ls(struct i2c_client *client, int n, u8 *val) static int pca955x_read_ls(struct i2c_client *client, int n, u8 *val)
{ {
struct pca955x *pca955x = i2c_get_clientdata(client); struct pca955x *pca955x = i2c_get_clientdata(client);
@ -78,7 +76,7 @@ index 7087ca4592fc96..f0d841cb59fcc8 100644
struct fwnode_handle *child; struct fwnode_handle *child;
int count; int count;
@@ -401,13 +399,13 @@ pca955x_get_pdata(struct i2c_client *client, struct pca955x_chipdef *chip) @@ -401,13 +399,13 @@ pca955x_get_pdata(struct i2c_client *cli
if ((res != 0) && is_of_node(child)) if ((res != 0) && is_of_node(child))
name = to_of_node(child)->name; name = to_of_node(child)->name;
@ -97,7 +95,7 @@ index 7087ca4592fc96..f0d841cb59fcc8 100644
} }
pdata->num_leds = chip->bits; pdata->num_leds = chip->bits;
@@ -426,11 +424,12 @@ static const struct of_device_id of_pca955x_match[] = { @@ -426,11 +424,12 @@ static const struct of_device_id of_pca9
MODULE_DEVICE_TABLE(of, of_pca955x_match); MODULE_DEVICE_TABLE(of, of_pca955x_match);
static int pca955x_probe(struct i2c_client *client, static int pca955x_probe(struct i2c_client *client,
@ -111,7 +109,7 @@ index 7087ca4592fc96..f0d841cb59fcc8 100644
struct i2c_adapter *adapter; struct i2c_adapter *adapter;
int i, err; int i, err;
struct pca955x_platform_data *pdata; struct pca955x_platform_data *pdata;
@@ -449,13 +448,13 @@ static int pca955x_probe(struct i2c_client *client, @@ -449,13 +448,13 @@ static int pca955x_probe(struct i2c_clie
if ((client->addr & ~((1 << chip->slv_addr_shift) - 1)) != if ((client->addr & ~((1 << chip->slv_addr_shift) - 1)) !=
chip->slv_addr) { chip->slv_addr) {
dev_err(&client->dev, "invalid slave address %02x\n", dev_err(&client->dev, "invalid slave address %02x\n",
@ -128,7 +126,7 @@ index 7087ca4592fc96..f0d841cb59fcc8 100644
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA)) if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
return -EIO; return -EIO;
@@ -471,8 +470,8 @@ static int pca955x_probe(struct i2c_client *client, @@ -471,8 +470,8 @@ static int pca955x_probe(struct i2c_clie
if (!pca955x) if (!pca955x)
return -ENOMEM; return -ENOMEM;
@ -139,7 +137,7 @@ index 7087ca4592fc96..f0d841cb59fcc8 100644
if (!pca955x->leds) if (!pca955x->leds)
return -ENOMEM; return -ENOMEM;
@@ -501,27 +500,25 @@ static int pca955x_probe(struct i2c_client *client, @@ -501,27 +500,25 @@ static int pca955x_probe(struct i2c_clie
*/ */
if (pdata->leds[i].name[0] == '\0') if (pdata->leds[i].name[0] == '\0')
snprintf(pdata->leds[i].name, snprintf(pdata->leds[i].name,

View File

@ -11,11 +11,9 @@ Signed-off-by: Pavel Machek <pavel@ucw.cz>
drivers/leds/leds-pca955x.c | 52 +++++++++++++++++++++++++++++++++++++ drivers/leds/leds-pca955x.c | 52 +++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+) 1 file changed, 52 insertions(+)
diff --git a/drivers/leds/leds-pca955x.c b/drivers/leds/leds-pca955x.c
index f0d841cb59fcc8..e47ba7c3b7c7d8 100644
--- a/drivers/leds/leds-pca955x.c --- a/drivers/leds/leds-pca955x.c
+++ b/drivers/leds/leds-pca955x.c +++ b/drivers/leds/leds-pca955x.c
@@ -233,6 +233,57 @@ static int pca955x_read_ls(struct i2c_client *client, int n, u8 *val) @@ -233,6 +233,57 @@ static int pca955x_read_ls(struct i2c_cl
return 0; return 0;
} }
@ -73,7 +71,7 @@ index f0d841cb59fcc8..e47ba7c3b7c7d8 100644
static int pca955x_led_set(struct led_classdev *led_cdev, static int pca955x_led_set(struct led_classdev *led_cdev,
enum led_brightness value) enum led_brightness value)
{ {
@@ -512,6 +563,7 @@ static int pca955x_probe(struct i2c_client *client, @@ -512,6 +563,7 @@ static int pca955x_probe(struct i2c_clie
led->name = pca955x_led->name; led->name = pca955x_led->name;
led->brightness_set_blocking = pca955x_led_set; led->brightness_set_blocking = pca955x_led_set;

View File

@ -13,8 +13,6 @@ Signed-off-by: Pavel Machek <pavel@ucw.cz>
drivers/leds/leds-pca955x.c | 54 +++++++++++++++++++++++++++++++------ drivers/leds/leds-pca955x.c | 54 +++++++++++++++++++++++++++++++------
1 file changed, 46 insertions(+), 8 deletions(-) 1 file changed, 46 insertions(+), 8 deletions(-)
diff --git a/drivers/leds/leds-pca955x.c b/drivers/leds/leds-pca955x.c
index e47ba7c3b7c7d8..fa1d77d86ef67b 100644
--- a/drivers/leds/leds-pca955x.c --- a/drivers/leds/leds-pca955x.c
+++ b/drivers/leds/leds-pca955x.c +++ b/drivers/leds/leds-pca955x.c
@@ -129,6 +129,7 @@ struct pca955x_led { @@ -129,6 +129,7 @@ struct pca955x_led {
@ -25,7 +23,7 @@ index e47ba7c3b7c7d8..fa1d77d86ef67b 100644
const char *default_trigger; const char *default_trigger;
}; };
@@ -439,6 +440,7 @@ pca955x_get_pdata(struct i2c_client *client, struct pca955x_chipdef *chip) @@ -439,6 +440,7 @@ pca955x_get_pdata(struct i2c_client *cli
device_for_each_child_node(&client->dev, child) { device_for_each_child_node(&client->dev, child) {
const char *name; const char *name;
@ -33,7 +31,7 @@ index e47ba7c3b7c7d8..fa1d77d86ef67b 100644
u32 reg; u32 reg;
int res; int res;
@@ -457,6 +459,18 @@ pca955x_get_pdata(struct i2c_client *client, struct pca955x_chipdef *chip) @@ -457,6 +459,18 @@ pca955x_get_pdata(struct i2c_client *cli
fwnode_property_read_u32(child, "type", &led->type); fwnode_property_read_u32(child, "type", &led->type);
fwnode_property_read_string(child, "linux,default-trigger", fwnode_property_read_string(child, "linux,default-trigger",
&led->default_trigger); &led->default_trigger);
@ -52,7 +50,7 @@ index e47ba7c3b7c7d8..fa1d77d86ef67b 100644
} }
pdata->num_leds = chip->bits; pdata->num_leds = chip->bits;
@@ -485,6 +499,7 @@ static int pca955x_probe(struct i2c_client *client, @@ -485,6 +499,7 @@ static int pca955x_probe(struct i2c_clie
int i, err; int i, err;
struct pca955x_platform_data *pdata; struct pca955x_platform_data *pdata;
int ngpios = 0; int ngpios = 0;
@ -60,7 +58,7 @@ index e47ba7c3b7c7d8..fa1d77d86ef67b 100644
chip = &pca955x_chipdefs[id->driver_data]; chip = &pca955x_chipdefs[id->driver_data];
adapter = client->adapter; adapter = client->adapter;
@@ -565,14 +580,35 @@ static int pca955x_probe(struct i2c_client *client, @@ -565,14 +580,35 @@ static int pca955x_probe(struct i2c_clie
led->brightness_set_blocking = pca955x_led_set; led->brightness_set_blocking = pca955x_led_set;
led->brightness_get = pca955x_led_get; led->brightness_get = pca955x_led_get;
@ -100,7 +98,7 @@ index e47ba7c3b7c7d8..fa1d77d86ef67b 100644
} }
} }
@@ -581,10 +617,12 @@ static int pca955x_probe(struct i2c_client *client, @@ -581,10 +617,12 @@ static int pca955x_probe(struct i2c_clie
if (err) if (err)
return err; return err;

View File

@ -14,8 +14,6 @@ Signed-off-by: Pavel Machek <pavel@ucw.cz>
drivers/leds/leds-pca955x.c | 58 +++++++++++++++++++------------------ drivers/leds/leds-pca955x.c | 58 +++++++++++++++++++------------------
1 file changed, 30 insertions(+), 28 deletions(-) 1 file changed, 30 insertions(+), 28 deletions(-)
diff --git a/drivers/leds/leds-pca955x.c b/drivers/leds/leds-pca955x.c
index fa1d77d86ef67b..a6aa4b9abde8c4 100644
--- a/drivers/leds/leds-pca955x.c --- a/drivers/leds/leds-pca955x.c
+++ b/drivers/leds/leds-pca955x.c +++ b/drivers/leds/leds-pca955x.c
@@ -127,10 +127,9 @@ struct pca955x_led { @@ -127,10 +127,9 @@ struct pca955x_led {
@ -30,7 +28,7 @@ index fa1d77d86ef67b..a6aa4b9abde8c4 100644
}; };
struct pca955x_platform_data { struct pca955x_platform_data {
@@ -439,7 +438,6 @@ pca955x_get_pdata(struct i2c_client *client, struct pca955x_chipdef *chip) @@ -439,7 +438,6 @@ pca955x_get_pdata(struct i2c_client *cli
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
device_for_each_child_node(&client->dev, child) { device_for_each_child_node(&client->dev, child) {
@ -38,7 +36,7 @@ index fa1d77d86ef67b..a6aa4b9abde8c4 100644
const char *state; const char *state;
u32 reg; u32 reg;
int res; int res;
@@ -448,17 +446,10 @@ pca955x_get_pdata(struct i2c_client *client, struct pca955x_chipdef *chip) @@ -448,17 +446,10 @@ pca955x_get_pdata(struct i2c_client *cli
if ((res != 0) || (reg >= chip->bits)) if ((res != 0) || (reg >= chip->bits))
continue; continue;
@ -57,7 +55,7 @@ index fa1d77d86ef67b..a6aa4b9abde8c4 100644
if (!fwnode_property_read_string(child, "default-state", if (!fwnode_property_read_string(child, "default-state",
&state)) { &state)) {
@@ -495,11 +486,14 @@ static int pca955x_probe(struct i2c_client *client, @@ -495,11 +486,14 @@ static int pca955x_probe(struct i2c_clie
struct pca955x_led *pca955x_led; struct pca955x_led *pca955x_led;
struct pca955x_chipdef *chip; struct pca955x_chipdef *chip;
struct led_classdev *led; struct led_classdev *led;
@ -72,7 +70,7 @@ index fa1d77d86ef67b..a6aa4b9abde8c4 100644
chip = &pca955x_chipdefs[id->driver_data]; chip = &pca955x_chipdefs[id->driver_data];
adapter = client->adapter; adapter = client->adapter;
@@ -547,6 +541,9 @@ static int pca955x_probe(struct i2c_client *client, @@ -547,6 +541,9 @@ static int pca955x_probe(struct i2c_clie
pca955x->client = client; pca955x->client = client;
pca955x->chipdef = chip; pca955x->chipdef = chip;
@ -82,7 +80,7 @@ index fa1d77d86ef67b..a6aa4b9abde8c4 100644
for (i = 0; i < chip->bits; i++) { for (i = 0; i < chip->bits; i++) {
pca955x_led = &pca955x->leds[i]; pca955x_led = &pca955x->leds[i];
pca955x_led->led_num = i; pca955x_led->led_num = i;
@@ -560,23 +557,7 @@ static int pca955x_probe(struct i2c_client *client, @@ -560,23 +557,7 @@ static int pca955x_probe(struct i2c_clie
ngpios++; ngpios++;
break; break;
case PCA955X_TYPE_LED: case PCA955X_TYPE_LED:
@ -106,7 +104,7 @@ index fa1d77d86ef67b..a6aa4b9abde8c4 100644
led->brightness_set_blocking = pca955x_led_set; led->brightness_set_blocking = pca955x_led_set;
led->brightness_get = pca955x_led_get; led->brightness_get = pca955x_led_get;
@@ -592,7 +573,28 @@ static int pca955x_probe(struct i2c_client *client, @@ -592,7 +573,28 @@ static int pca955x_probe(struct i2c_clie
return err; return err;
} }

View File

@ -14,11 +14,9 @@ Signed-off-by: Pavel Machek <pavel@ucw.cz>
drivers/leds/leds-pca955x.c | 23 +++++++++++++++++++---- drivers/leds/leds-pca955x.c | 23 +++++++++++++++++++----
1 file changed, 19 insertions(+), 4 deletions(-) 1 file changed, 19 insertions(+), 4 deletions(-)
diff --git a/drivers/leds/leds-pca955x.c b/drivers/leds/leds-pca955x.c
index a6aa4b9abde8c4..a6b5699aeae4fe 100644
--- a/drivers/leds/leds-pca955x.c --- a/drivers/leds/leds-pca955x.c
+++ b/drivers/leds/leds-pca955x.c +++ b/drivers/leds/leds-pca955x.c
@@ -479,8 +479,7 @@ static const struct of_device_id of_pca955x_match[] = { @@ -479,8 +479,7 @@ static const struct of_device_id of_pca9
}; };
MODULE_DEVICE_TABLE(of, of_pca955x_match); MODULE_DEVICE_TABLE(of, of_pca955x_match);
@ -28,7 +26,7 @@ index a6aa4b9abde8c4..a6b5699aeae4fe 100644
{ {
struct pca955x *pca955x; struct pca955x *pca955x;
struct pca955x_led *pca955x_led; struct pca955x_led *pca955x_led;
@@ -494,8 +493,24 @@ static int pca955x_probe(struct i2c_client *client, @@ -494,8 +493,24 @@ static int pca955x_probe(struct i2c_clie
bool set_default_label = false; bool set_default_label = false;
bool keep_pwm = false; bool keep_pwm = false;
char default_label[8]; char default_label[8];
@ -54,7 +52,7 @@ index a6aa4b9abde8c4..a6b5699aeae4fe 100644
adapter = client->adapter; adapter = client->adapter;
pdata = dev_get_platdata(&client->dev); pdata = dev_get_platdata(&client->dev);
if (!pdata) { if (!pdata) {
@@ -670,7 +685,7 @@ static struct i2c_driver pca955x_driver = { @@ -670,7 +685,7 @@ static struct i2c_driver pca955x_driver
.name = "leds-pca955x", .name = "leds-pca955x",
.of_match_table = of_pca955x_match, .of_match_table = of_pca955x_match,
}, },
@ -62,3 +60,4 @@ index a6aa4b9abde8c4..a6b5699aeae4fe 100644
+ .probe_new = pca955x_probe, + .probe_new = pca955x_probe,
.id_table = pca955x_id, .id_table = pca955x_id,
}; };

View File

@ -16,7 +16,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
--- a/crypto/Kconfig --- a/crypto/Kconfig
+++ b/crypto/Kconfig +++ b/crypto/Kconfig
@@ -33,7 +33,7 @@ config CRYPTO_FIPS @@ -34,7 +34,7 @@ config CRYPTO_FIPS
this is. this is.
config CRYPTO_ALGAPI config CRYPTO_ALGAPI
@ -25,7 +25,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
select CRYPTO_ALGAPI2 select CRYPTO_ALGAPI2
help help
This option provides the API for cryptographic algorithms. This option provides the API for cryptographic algorithms.
@@ -42,7 +42,7 @@ config CRYPTO_ALGAPI2 @@ -43,7 +43,7 @@ config CRYPTO_ALGAPI2
tristate tristate
config CRYPTO_AEAD config CRYPTO_AEAD
@ -34,7 +34,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
select CRYPTO_AEAD2 select CRYPTO_AEAD2
select CRYPTO_ALGAPI select CRYPTO_ALGAPI
@@ -53,7 +53,7 @@ config CRYPTO_AEAD2 @@ -54,7 +54,7 @@ config CRYPTO_AEAD2
select CRYPTO_RNG2 select CRYPTO_RNG2
config CRYPTO_SKCIPHER config CRYPTO_SKCIPHER
@ -43,7 +43,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
select CRYPTO_SKCIPHER2 select CRYPTO_SKCIPHER2
select CRYPTO_ALGAPI select CRYPTO_ALGAPI
@@ -63,7 +63,7 @@ config CRYPTO_SKCIPHER2 @@ -64,7 +64,7 @@ config CRYPTO_SKCIPHER2
select CRYPTO_RNG2 select CRYPTO_RNG2
config CRYPTO_HASH config CRYPTO_HASH
@ -52,7 +52,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
select CRYPTO_HASH2 select CRYPTO_HASH2
select CRYPTO_ALGAPI select CRYPTO_ALGAPI
@@ -72,7 +72,7 @@ config CRYPTO_HASH2 @@ -73,7 +73,7 @@ config CRYPTO_HASH2
select CRYPTO_ALGAPI2 select CRYPTO_ALGAPI2
config CRYPTO_RNG config CRYPTO_RNG
@ -92,7 +92,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
bool bool
--- a/lib/Kconfig --- a/lib/Kconfig
+++ b/lib/Kconfig +++ b/lib/Kconfig
@@ -420,16 +420,16 @@ config BCH_CONST_T @@ -423,16 +423,16 @@ config BCH_CONST_T
# Textsearch support is select'ed if needed # Textsearch support is select'ed if needed
# #
config TEXTSEARCH config TEXTSEARCH

View File

@ -11,7 +11,7 @@
that can be interpreted by the ASN.1 stream decoder and used to that can be interpreted by the ASN.1 stream decoder and used to
--- a/lib/Kconfig --- a/lib/Kconfig
+++ b/lib/Kconfig +++ b/lib/Kconfig
@@ -591,7 +591,7 @@ config LIBFDT @@ -594,7 +594,7 @@ config LIBFDT
bool bool
config OID_REGISTRY config OID_REGISTRY

View File

@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/crypto/Kconfig --- a/crypto/Kconfig
+++ b/crypto/Kconfig +++ b/crypto/Kconfig
@@ -120,13 +120,13 @@ config CRYPTO_MANAGER @@ -121,13 +121,13 @@ config CRYPTO_MANAGER
cbc(aes). cbc(aes).
config CRYPTO_MANAGER2 config CRYPTO_MANAGER2

View File

@ -19,7 +19,7 @@
#define QUECTEL_VENDOR_ID 0x2c7c #define QUECTEL_VENDOR_ID 0x2c7c
/* These Quectel products use Quectel's vendor ID */ /* These Quectel products use Quectel's vendor ID */
@@ -1129,6 +1131,11 @@ static const struct usb_device_id option @@ -1131,6 +1133,11 @@ static const struct usb_device_id option
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG95, 0xff, 0, 0) }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG95, 0xff, 0, 0) },
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96), { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
.driver_info = RSVD(4) }, .driver_info = RSVD(4) },

View File

@ -1087,7 +1087,7 @@ Signed-off-by: Alexandros C. Couloumbis <alex@ozo.com>
#define JFFS2_NODE_ACCURATE 0x2000 #define JFFS2_NODE_ACCURATE 0x2000
--- a/lib/Kconfig --- a/lib/Kconfig
+++ b/lib/Kconfig +++ b/lib/Kconfig
@@ -317,6 +317,12 @@ config ZSTD_DECOMPRESS @@ -320,6 +320,12 @@ config ZSTD_DECOMPRESS
source "lib/xz/Kconfig" source "lib/xz/Kconfig"

View File

@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#include <linux/mfd/syscon.h> #include <linux/mfd/syscon.h>
#include <linux/regmap.h> #include <linux/regmap.h>
#include <linux/clk.h> #include <linux/clk.h>
@@ -821,7 +822,7 @@ static int mtk_init_fq_dma(struct mtk_et @@ -832,7 +833,7 @@ static int mtk_init_fq_dma(struct mtk_et
dma_addr_t dma_addr; dma_addr_t dma_addr;
int i; int i;
@ -29,7 +29,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
cnt * sizeof(struct mtk_tx_dma), cnt * sizeof(struct mtk_tx_dma),
&eth->phy_scratch_ring, &eth->phy_scratch_ring,
GFP_ATOMIC); GFP_ATOMIC);
@@ -833,10 +834,10 @@ static int mtk_init_fq_dma(struct mtk_et @@ -844,10 +845,10 @@ static int mtk_init_fq_dma(struct mtk_et
if (unlikely(!eth->scratch_head)) if (unlikely(!eth->scratch_head))
return -ENOMEM; return -ENOMEM;
@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
return -ENOMEM; return -ENOMEM;
phy_ring_tail = eth->phy_scratch_ring + phy_ring_tail = eth->phy_scratch_ring +
@@ -890,26 +891,26 @@ static void mtk_tx_unmap(struct mtk_eth @@ -901,26 +902,26 @@ static void mtk_tx_unmap(struct mtk_eth
{ {
if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) { if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) {
if (tx_buf->flags & MTK_TX_FLAGS_SINGLE0) { if (tx_buf->flags & MTK_TX_FLAGS_SINGLE0) {
@ -73,7 +73,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
dma_unmap_addr(tx_buf, dma_addr1), dma_unmap_addr(tx_buf, dma_addr1),
dma_unmap_len(tx_buf, dma_len1), dma_unmap_len(tx_buf, dma_len1),
DMA_TO_DEVICE); DMA_TO_DEVICE);
@@ -987,9 +988,9 @@ static int mtk_tx_map(struct sk_buff *sk @@ -998,9 +999,9 @@ static int mtk_tx_map(struct sk_buff *sk
if (skb_vlan_tag_present(skb)) if (skb_vlan_tag_present(skb))
txd4 |= TX_DMA_INS_VLAN | skb_vlan_tag_get(skb); txd4 |= TX_DMA_INS_VLAN | skb_vlan_tag_get(skb);
@ -85,7 +85,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
return -ENOMEM; return -ENOMEM;
WRITE_ONCE(itxd->txd1, mapped_addr); WRITE_ONCE(itxd->txd1, mapped_addr);
@@ -1028,10 +1029,10 @@ static int mtk_tx_map(struct sk_buff *sk @@ -1039,10 +1040,10 @@ static int mtk_tx_map(struct sk_buff *sk
frag_map_size = min(frag_size, MTK_TX_DMA_BUF_LEN); frag_map_size = min(frag_size, MTK_TX_DMA_BUF_LEN);
@ -98,7 +98,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
goto err_dma; goto err_dma;
if (i == nr_frags - 1 && if (i == nr_frags - 1 &&
@@ -1309,18 +1310,18 @@ static int mtk_poll_rx(struct napi_struc @@ -1323,18 +1324,18 @@ static int mtk_poll_rx(struct napi_struc
netdev->stats.rx_dropped++; netdev->stats.rx_dropped++;
goto release_desc; goto release_desc;
} }
@ -120,7 +120,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
ring->buf_size, DMA_FROM_DEVICE); ring->buf_size, DMA_FROM_DEVICE);
/* receive data */ /* receive data */
@@ -1593,7 +1594,7 @@ static int mtk_tx_alloc(struct mtk_eth * @@ -1607,7 +1608,7 @@ static int mtk_tx_alloc(struct mtk_eth *
if (!ring->buf) if (!ring->buf)
goto no_tx_mem; goto no_tx_mem;
@ -129,7 +129,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
&ring->phys, GFP_ATOMIC); &ring->phys, GFP_ATOMIC);
if (!ring->dma) if (!ring->dma)
goto no_tx_mem; goto no_tx_mem;
@@ -1611,7 +1612,7 @@ static int mtk_tx_alloc(struct mtk_eth * @@ -1625,7 +1626,7 @@ static int mtk_tx_alloc(struct mtk_eth *
* descriptors in ring->dma_pdma. * descriptors in ring->dma_pdma.
*/ */
if (!MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) { if (!MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) {
@ -138,7 +138,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
&ring->phys_pdma, &ring->phys_pdma,
GFP_ATOMIC); GFP_ATOMIC);
if (!ring->dma_pdma) if (!ring->dma_pdma)
@@ -1670,7 +1671,7 @@ static void mtk_tx_clean(struct mtk_eth @@ -1684,7 +1685,7 @@ static void mtk_tx_clean(struct mtk_eth
} }
if (ring->dma) { if (ring->dma) {
@ -147,7 +147,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
MTK_DMA_SIZE * sizeof(*ring->dma), MTK_DMA_SIZE * sizeof(*ring->dma),
ring->dma, ring->dma,
ring->phys); ring->phys);
@@ -1678,7 +1679,7 @@ static void mtk_tx_clean(struct mtk_eth @@ -1692,7 +1693,7 @@ static void mtk_tx_clean(struct mtk_eth
} }
if (ring->dma_pdma) { if (ring->dma_pdma) {
@ -156,7 +156,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
MTK_DMA_SIZE * sizeof(*ring->dma_pdma), MTK_DMA_SIZE * sizeof(*ring->dma_pdma),
ring->dma_pdma, ring->dma_pdma,
ring->phys_pdma); ring->phys_pdma);
@@ -1723,18 +1724,18 @@ static int mtk_rx_alloc(struct mtk_eth * @@ -1740,18 +1741,18 @@ static int mtk_rx_alloc(struct mtk_eth *
return -ENOMEM; return -ENOMEM;
} }
@ -178,7 +178,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
return -ENOMEM; return -ENOMEM;
ring->dma[i].rxd1 = (unsigned int)dma_addr; ring->dma[i].rxd1 = (unsigned int)dma_addr;
@@ -1770,7 +1771,7 @@ static void mtk_rx_clean(struct mtk_eth @@ -1787,7 +1788,7 @@ static void mtk_rx_clean(struct mtk_eth
continue; continue;
if (!ring->dma[i].rxd1) if (!ring->dma[i].rxd1)
continue; continue;
@ -187,7 +187,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
ring->dma[i].rxd1, ring->dma[i].rxd1,
ring->buf_size, ring->buf_size,
DMA_FROM_DEVICE); DMA_FROM_DEVICE);
@@ -1781,7 +1782,7 @@ static void mtk_rx_clean(struct mtk_eth @@ -1798,7 +1799,7 @@ static void mtk_rx_clean(struct mtk_eth
} }
if (ring->dma) { if (ring->dma) {
@ -196,7 +196,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
ring->dma_size * sizeof(*ring->dma), ring->dma_size * sizeof(*ring->dma),
ring->dma, ring->dma,
ring->phys); ring->phys);
@@ -2137,7 +2138,7 @@ static void mtk_dma_free(struct mtk_eth @@ -2154,7 +2155,7 @@ static void mtk_dma_free(struct mtk_eth
if (eth->netdev[i]) if (eth->netdev[i])
netdev_reset_queue(eth->netdev[i]); netdev_reset_queue(eth->netdev[i]);
if (eth->scratch_ring) { if (eth->scratch_ring) {
@ -205,7 +205,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
MTK_DMA_SIZE * sizeof(struct mtk_tx_dma), MTK_DMA_SIZE * sizeof(struct mtk_tx_dma),
eth->scratch_ring, eth->scratch_ring,
eth->phy_scratch_ring); eth->phy_scratch_ring);
@@ -2485,6 +2486,8 @@ static void mtk_dim_tx(struct work_struc @@ -2502,6 +2503,8 @@ static void mtk_dim_tx(struct work_struc
static int mtk_hw_init(struct mtk_eth *eth) static int mtk_hw_init(struct mtk_eth *eth)
{ {
@ -214,7 +214,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
int i, val, ret; int i, val, ret;
if (test_and_set_bit(MTK_HW_INIT, &eth->state)) if (test_and_set_bit(MTK_HW_INIT, &eth->state))
@@ -2497,6 +2500,10 @@ static int mtk_hw_init(struct mtk_eth *e @@ -2514,6 +2517,10 @@ static int mtk_hw_init(struct mtk_eth *e
if (ret) if (ret)
goto err_disable_pm; goto err_disable_pm;
@ -225,7 +225,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (MTK_HAS_CAPS(eth->soc->caps, MTK_SOC_MT7628)) { if (MTK_HAS_CAPS(eth->soc->caps, MTK_SOC_MT7628)) {
ret = device_reset(eth->dev); ret = device_reset(eth->dev);
if (ret) { if (ret) {
@@ -3046,6 +3053,35 @@ free_netdev: @@ -3063,6 +3070,35 @@ free_netdev:
return err; return err;
} }
@ -261,7 +261,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static int mtk_probe(struct platform_device *pdev) static int mtk_probe(struct platform_device *pdev)
{ {
struct device_node *mac_np; struct device_node *mac_np;
@@ -3059,6 +3095,7 @@ static int mtk_probe(struct platform_dev @@ -3076,6 +3112,7 @@ static int mtk_probe(struct platform_dev
eth->soc = of_device_get_match_data(&pdev->dev); eth->soc = of_device_get_match_data(&pdev->dev);
eth->dev = &pdev->dev; eth->dev = &pdev->dev;
@ -269,7 +269,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
eth->base = devm_platform_ioremap_resource(pdev, 0); eth->base = devm_platform_ioremap_resource(pdev, 0);
if (IS_ERR(eth->base)) if (IS_ERR(eth->base))
return PTR_ERR(eth->base); return PTR_ERR(eth->base);
@@ -3107,6 +3144,16 @@ static int mtk_probe(struct platform_dev @@ -3124,6 +3161,16 @@ static int mtk_probe(struct platform_dev
} }
} }

View File

@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static int mtk_msg_level = -1; static int mtk_msg_level = -1;
module_param_named(msg_level, mtk_msg_level, int, 0); module_param_named(msg_level, mtk_msg_level, int, 0);
@@ -3176,6 +3177,22 @@ static int mtk_probe(struct platform_dev @@ -3193,6 +3194,22 @@ static int mtk_probe(struct platform_dev
} }
} }

View File

@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2308,7 +2308,7 @@ static int mtk_open(struct net_device *d @@ -2325,7 +2325,7 @@ static int mtk_open(struct net_device *d
if (err) if (err)
return err; return err;
@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
gdm_config = MTK_GDMA_TO_PPE; gdm_config = MTK_GDMA_TO_PPE;
mtk_gdm_config(eth, gdm_config); mtk_gdm_config(eth, gdm_config);
@@ -2382,7 +2382,7 @@ static int mtk_stop(struct net_device *d @@ -2399,7 +2399,7 @@ static int mtk_stop(struct net_device *d
mtk_dma_free(eth); mtk_dma_free(eth);
if (eth->soc->offload_version) if (eth->soc->offload_version)
@ -28,7 +28,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
return 0; return 0;
} }
@@ -3268,10 +3268,11 @@ static int mtk_probe(struct platform_dev @@ -3285,10 +3285,11 @@ static int mtk_probe(struct platform_dev
} }
if (eth->soc->offload_version) { if (eth->soc->offload_version) {

View File

@ -33,7 +33,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#include <net/dsa.h> #include <net/dsa.h>
#include "mtk_eth_soc.h" #include "mtk_eth_soc.h"
@@ -1274,7 +1275,7 @@ static int mtk_poll_rx(struct napi_struc @@ -1285,7 +1286,7 @@ static int mtk_poll_rx(struct napi_struc
struct net_device *netdev; struct net_device *netdev;
unsigned int pktlen; unsigned int pktlen;
dma_addr_t dma_addr; dma_addr_t dma_addr;
@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
int mac; int mac;
ring = mtk_get_rx_ring(eth); ring = mtk_get_rx_ring(eth);
@@ -1350,6 +1351,11 @@ static int mtk_poll_rx(struct napi_struc @@ -1364,6 +1365,11 @@ static int mtk_poll_rx(struct napi_struc
skb_set_hash(skb, hash, PKT_HASH_TYPE_L4); skb_set_hash(skb, hash, PKT_HASH_TYPE_L4);
} }
@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (netdev->features & NETIF_F_HW_VLAN_CTAG_RX && if (netdev->features & NETIF_F_HW_VLAN_CTAG_RX &&
(trxd.rxd2 & RX_DMA_VTAG)) (trxd.rxd2 & RX_DMA_VTAG))
__vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q),
@@ -3268,7 +3274,7 @@ static int mtk_probe(struct platform_dev @@ -3285,7 +3291,7 @@ static int mtk_probe(struct platform_dev
} }
if (eth->soc->offload_version) { if (eth->soc->offload_version) {

View File

@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2182,8 +2182,8 @@ static irqreturn_t mtk_handle_irq_rx(int @@ -2199,8 +2199,8 @@ static irqreturn_t mtk_handle_irq_rx(int
eth->rx_events++; eth->rx_events++;
if (likely(napi_schedule_prep(&eth->rx_napi))) { if (likely(napi_schedule_prep(&eth->rx_napi))) {
@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
} }
return IRQ_HANDLED; return IRQ_HANDLED;
@@ -2195,8 +2195,8 @@ static irqreturn_t mtk_handle_irq_tx(int @@ -2212,8 +2212,8 @@ static irqreturn_t mtk_handle_irq_tx(int
eth->tx_events++; eth->tx_events++;
if (likely(napi_schedule_prep(&eth->tx_napi))) { if (likely(napi_schedule_prep(&eth->tx_napi))) {
@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
} }
return IRQ_HANDLED; return IRQ_HANDLED;
@@ -3303,6 +3303,8 @@ static int mtk_probe(struct platform_dev @@ -3320,6 +3320,8 @@ static int mtk_probe(struct platform_dev
* for NAPI to work * for NAPI to work
*/ */
init_dummy_netdev(&eth->dummy_dev); init_dummy_netdev(&eth->dummy_dev);

View File

@ -14,7 +14,7 @@ Signed-off-by: René van Dorst <opensource@vdorst.com>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2958,6 +2958,7 @@ static const struct net_device_ops mtk_n @@ -2975,6 +2975,7 @@ static const struct net_device_ops mtk_n
static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np) static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
{ {
@ -22,7 +22,7 @@ Signed-off-by: René van Dorst <opensource@vdorst.com>
const __be32 *_id = of_get_property(np, "reg", NULL); const __be32 *_id = of_get_property(np, "reg", NULL);
phy_interface_t phy_mode; phy_interface_t phy_mode;
struct phylink *phylink; struct phylink *phylink;
@@ -3053,6 +3054,9 @@ static int mtk_add_mac(struct mtk_eth *e @@ -3070,6 +3071,9 @@ static int mtk_add_mac(struct mtk_eth *e
else else
eth->netdev[id]->max_mtu = MTK_MAX_RX_LENGTH_2K - MTK_RX_ETH_HLEN; eth->netdev[id]->max_mtu = MTK_MAX_RX_LENGTH_2K - MTK_RX_ETH_HLEN;