Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
@@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-6.6 = .50
|
||||
LINUX_KERNEL_HASH-6.6.50 = c065e36daf28210060c91a37ef3e92ac5814784e634577e04e406297ead2e86e
|
||||
LINUX_VERSION-6.6 = .51
|
||||
LINUX_KERNEL_HASH-6.6.51 = 1c0c9a14650879c4913efdbac428ba31a540c3d987155ddf34d33e11eca008b3
|
||||
|
||||
@@ -14,14 +14,6 @@ meraki,mr24)
|
||||
ucidef_set_led_wlan "wlan2g_0" "WIFI 2.4GHz-0" "green:wlan-3" "phy0radio"
|
||||
;;
|
||||
|
||||
meraki,mx60)
|
||||
ucidef_set_led_switch "wan" "WAN" "green:wan" "switch0" "0x20"
|
||||
ucidef_set_led_switch "lan1" "LAN1" "green:lan-0" "switch0" "0x10"
|
||||
ucidef_set_led_switch "lan2" "LAN2" "green:lan-1" "switch0" "0x08"
|
||||
ucidef_set_led_switch "lan3" "LAN3" "green:lan-2" "switch0" "0x04"
|
||||
ucidef_set_led_switch "lan4" "LAN4" "green:lan-3" "switch0" "0x02"
|
||||
;;
|
||||
|
||||
netgear,wndap620)
|
||||
ucidef_set_led_switch "lan_act" "LAN (Activity)" "green:activity" "switch0" "0x04" "0x0f" "rx tx"
|
||||
ucidef_set_led_switch "lan_100" "LAN 100Mbps" "amber:lan" "switch0" "0x04" "0x04" "link"
|
||||
@@ -39,8 +31,8 @@ netgear,wndap660)
|
||||
;;
|
||||
|
||||
netgear,wndr4700)
|
||||
ucidef_set_led_switch "wan_green" "WAN (green)" "green:wan" "switch0" "0x20"
|
||||
ucidef_set_led_netdev "wan_yellow" "WAN (yellow)" "yellow:wan" "eth0.2" "tx rx"
|
||||
ucidef_set_led_netdev "wan_green" "WAN (green)" "green:wan" "wan" "link"
|
||||
ucidef_set_led_netdev "wan_yellow" "WAN (yellow)" "yellow:wan" "wan" "tx rx"
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
@@ -20,8 +20,7 @@ netgear,wndap660)
|
||||
;;
|
||||
meraki,mx60|\
|
||||
netgear,wndr4700)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "4:lan" "3:lan" "2:lan" "1:lan" "5:wan"
|
||||
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
|
||||
;;
|
||||
|
||||
*)
|
||||
|
||||
@@ -5,7 +5,7 @@ meraki,mx60|\
|
||||
netgear,wndap620|\
|
||||
netgear,wndap660|\
|
||||
netgear,wndr4700)
|
||||
uci set system.@system[0].compat_version="2.0"
|
||||
uci set system.@system[0].compat_version="3.0"
|
||||
uci commit system
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
preinit_set_mac_address() {
|
||||
. /lib/functions.sh
|
||||
|
||||
case $(board_name) in
|
||||
meraki,mr24|\
|
||||
meraki,mx60)
|
||||
mac_lan=$(mtd_get_mac_binary_ubi board-config 0x66)
|
||||
[ -n "$mac_lan" ] && ip link set eth0 address "$mac_lan"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
boot_hook_add preinit_main preinit_set_mac_address
|
||||
@@ -86,8 +86,25 @@
|
||||
};
|
||||
|
||||
partition@180000 {
|
||||
compatible = "linux,ubi";
|
||||
label = "ubi";
|
||||
reg = <0x00180000 0x01e80000>;
|
||||
|
||||
volumes {
|
||||
ubi-volume-board-config {
|
||||
volume = "board-config";
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
macaddr_board_66: macaddr@66 {
|
||||
reg = <0x66 0x6>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -110,6 +127,9 @@
|
||||
&EMAC0 {
|
||||
status = "okay";
|
||||
|
||||
nvmem-cells = <&macaddr_board_66>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
|
||||
phy-mode = "rgmii-id";
|
||||
phy-map = <0x2>;
|
||||
phy-address = <0x1>;
|
||||
|
||||
@@ -71,8 +71,27 @@
|
||||
};
|
||||
|
||||
partition@240000 {
|
||||
compatible = "linux,ubi";
|
||||
label = "ubi";
|
||||
reg = <0x00240000 0x3fdc0000>;
|
||||
|
||||
volumes {
|
||||
ubi-volume-board-config {
|
||||
volume = "board-config";
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
macaddr_board_66: macaddr@66 {
|
||||
compatible = "mac-base";
|
||||
reg = <0x66 0x6>;
|
||||
#nvmem-cell-cells = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -92,23 +111,246 @@
|
||||
|
||||
&EMAC0 {
|
||||
status = "okay";
|
||||
phy-handle = <&phy0>;
|
||||
|
||||
nvmem-cells = <&macaddr_board_66 0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
|
||||
fixed-link {
|
||||
speed = <1000>;
|
||||
full-duplex;
|
||||
};
|
||||
|
||||
mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
phy0: ethernet-phy@0 {
|
||||
|
||||
phy_port1: phy@0 {
|
||||
compatible = "ethernet-phy-id004d.d034";
|
||||
reg = <0>;
|
||||
qca,mib-poll-interval = <500>;
|
||||
};
|
||||
|
||||
qca,ar8327-initvals = <
|
||||
0x0010 0x40000000
|
||||
0x0624 0x007f7f7f
|
||||
0x0004 0x07a00000 /* PAD0_MODE */
|
||||
0x000c 0x01000000 /* PAD6_MODE */
|
||||
0x007c 0x0000007e /* PORT0_STATUS */
|
||||
>;
|
||||
phy_port2: phy@1 {
|
||||
compatible = "ethernet-phy-id004d.d034";
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
phy_port3: phy@2 {
|
||||
compatible = "ethernet-phy-id004d.d034";
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
phy_port4: phy@3 {
|
||||
compatible = "ethernet-phy-id004d.d034";
|
||||
reg = <3>;
|
||||
};
|
||||
|
||||
phy_port5: phy@4 {
|
||||
compatible = "ethernet-phy-id004d.d034";
|
||||
reg = <4>;
|
||||
};
|
||||
|
||||
switch0@10 {
|
||||
compatible = "qca,qca8327";
|
||||
reg = <0x10>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
ethernet = <&EMAC0>;
|
||||
phy-mode = "rgmii-id";
|
||||
tx-internal-delay-ps = <2000>;
|
||||
|
||||
fixed-link {
|
||||
speed = <1000>;
|
||||
full-duplex;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
label = "lan4";
|
||||
phy-mode = "internal";
|
||||
phy-handle = <&phy_port1>;
|
||||
|
||||
leds {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
led@0 {
|
||||
reg = <0>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <0>;
|
||||
default-state = "keep";
|
||||
};
|
||||
|
||||
led@1 {
|
||||
reg = <1>;
|
||||
color = <LED_COLOR_ID_ORANGE>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <1>;
|
||||
default-state = "keep";
|
||||
};
|
||||
|
||||
led@2 {
|
||||
reg = <2>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <2>;
|
||||
default-state = "keep";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
label = "lan3";
|
||||
phy-mode = "internal";
|
||||
phy-handle = <&phy_port2>;
|
||||
|
||||
leds {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
led@0 {
|
||||
reg = <0>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <0>;
|
||||
default-state = "keep";
|
||||
};
|
||||
|
||||
led@1 {
|
||||
reg = <1>;
|
||||
color = <LED_COLOR_ID_ORANGE>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <1>;
|
||||
default-state = "keep";
|
||||
};
|
||||
|
||||
led@2 {
|
||||
reg = <2>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <2>;
|
||||
default-state = "keep";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
port@3 {
|
||||
reg = <3>;
|
||||
label = "lan2";
|
||||
phy-mode = "internal";
|
||||
phy-handle = <&phy_port3>;
|
||||
|
||||
leds {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
led@0 {
|
||||
reg = <0>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <0>;
|
||||
default-state = "keep";
|
||||
};
|
||||
|
||||
led@1 {
|
||||
reg = <1>;
|
||||
color = <LED_COLOR_ID_ORANGE>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <1>;
|
||||
default-state = "keep";
|
||||
};
|
||||
|
||||
led@2 {
|
||||
reg = <2>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <2>;
|
||||
default-state = "keep";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
port@4 {
|
||||
reg = <4>;
|
||||
label = "lan1";
|
||||
phy-mode = "internal";
|
||||
phy-handle = <&phy_port4>;
|
||||
|
||||
leds {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
led@0 {
|
||||
reg = <0>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <0>;
|
||||
default-state = "keep";
|
||||
};
|
||||
|
||||
led@1 {
|
||||
reg = <1>;
|
||||
color = <LED_COLOR_ID_ORANGE>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <1>;
|
||||
default-state = "keep";
|
||||
};
|
||||
|
||||
led@2 {
|
||||
reg = <2>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <2>;
|
||||
default-state = "keep";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
port@5 {
|
||||
reg = <5>;
|
||||
label = "wan";
|
||||
phy-mode = "internal";
|
||||
phy-handle = <&phy_port5>;
|
||||
nvmem-cells = <&macaddr_board_66 1>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
|
||||
leds {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
led@0 {
|
||||
reg = <0>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_WAN;
|
||||
function-enumerator = <0>;
|
||||
default-state = "keep";
|
||||
};
|
||||
|
||||
led@1 {
|
||||
reg = <1>;
|
||||
color = <LED_COLOR_ID_ORANGE>;
|
||||
function = LED_FUNCTION_WAN;
|
||||
function-enumerator = <1>;
|
||||
default-state = "keep";
|
||||
};
|
||||
|
||||
led@2 {
|
||||
reg = <2>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_WAN;
|
||||
function-enumerator = <2>;
|
||||
default-state = "keep";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -350,24 +350,93 @@
|
||||
|
||||
&EMAC0 {
|
||||
status = "okay";
|
||||
phy-handle = <&phy0>;
|
||||
fifo-entry-size = <10>;
|
||||
|
||||
fixed-link {
|
||||
speed = <1000>;
|
||||
full-duplex;
|
||||
};
|
||||
|
||||
mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
phy0: ethernet-phy@0 {
|
||||
device_type = "ethernet-phy";
|
||||
reg = <0>;
|
||||
qca,mib-poll-interval = <500>;
|
||||
|
||||
qca,ar8327-initvals = <
|
||||
0x0010 0x40000000
|
||||
0x0624 0x007f7f7f
|
||||
0x0004 0x07a00000 /* PAD0_MODE */
|
||||
0x000c 0x01000000 /* PAD6_MODE */
|
||||
0x007c 0x0000007e /* PORT0_STATUS */
|
||||
>;
|
||||
phy_port1: phy@0 {
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
phy_port2: phy@1 {
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
phy_port3: phy@2 {
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
phy_port4: phy@3 {
|
||||
reg = <3>;
|
||||
};
|
||||
|
||||
phy_port5: phy@4 {
|
||||
reg = <4>;
|
||||
};
|
||||
|
||||
switch0@10 {
|
||||
compatible = "qca,qca8327";
|
||||
reg = <0x10>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
label = "cpu";
|
||||
ethernet = <&EMAC0>;
|
||||
phy-mode = "rgmii-id";
|
||||
tx-internal-delay-ps = <2000>;
|
||||
|
||||
fixed-link {
|
||||
speed = <1000>;
|
||||
full-duplex;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
label = "lan4";
|
||||
phy-mode = "internal";
|
||||
phy-handle = <&phy_port1>;
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
label = "lan3";
|
||||
phy-mode = "internal";
|
||||
phy-handle = <&phy_port2>;
|
||||
};
|
||||
|
||||
port@3 {
|
||||
reg = <3>;
|
||||
label = "lan2";
|
||||
phy-mode = "internal";
|
||||
phy-handle = <&phy_port3>;
|
||||
};
|
||||
|
||||
port@4 {
|
||||
reg = <4>;
|
||||
label = "lan1";
|
||||
phy-mode = "internal";
|
||||
phy-handle = <&phy_port4>;
|
||||
};
|
||||
|
||||
port@5 {
|
||||
reg = <5>;
|
||||
label = "wan";
|
||||
phy-mode = "internal";
|
||||
phy-handle = <&phy_port5>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -50,8 +50,9 @@ define Device/meraki_mx60
|
||||
KERNEL := kernel-bin | libdeflate-gzip | MuImage-initramfs gzip
|
||||
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
|
||||
UBINIZE_OPTS := -E 5
|
||||
DEVICE_COMPAT_VERSION := 2.0
|
||||
DEVICE_COMPAT_VERSION := 3.0
|
||||
DEVICE_COMPAT_MESSAGE := uboot's bootcmd has to be updated to support standard multi-image uImages. \
|
||||
Network swconfig configuration cannot be upgraded to DSA. \
|
||||
Upgrade via sysupgrade mechanism is not possible.
|
||||
endef
|
||||
TARGET_DEVICES += meraki_mx60
|
||||
@@ -88,6 +89,9 @@ endef
|
||||
TARGET_DEVICES += netgear_wndap660
|
||||
|
||||
define Device/netgear_wndr4700
|
||||
DEVICE_COMPAT_VERSION := 3.0
|
||||
DEVICE_COMPAT_MESSAGE := Network swconfig configuration cannot be upgraded to DSA. \
|
||||
Upgrade via sysupgrade mechanism is not possible.
|
||||
DEVICE_VENDOR := NETGEAR
|
||||
DEVICE_MODEL := Centria N900 WNDR4700
|
||||
DEVICE_ALT0_VENDOR := NETGEAR
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
CONFIG_AT803X_PHY=y
|
||||
CONFIG_AR8216_PHY=y
|
||||
# CONFIG_SATA_DWC_OLD_DMA is not set
|
||||
CONFIG_IKAREM=y
|
||||
# CONFIG_PCI_DISABLE_COMMON_QUIRKS is not set
|
||||
@@ -26,6 +24,15 @@ CONFIG_MTD_UBI=y
|
||||
CONFIG_MTD_UBI_BEB_LIMIT=20
|
||||
CONFIG_MTD_UBI_BLOCK=y
|
||||
CONFIG_MTD_UBI_WL_THRESHOLD=4096
|
||||
CONFIG_NET_DEVLINK=y
|
||||
CONFIG_NET_DSA=y
|
||||
CONFIG_NET_DSA_QCA8K=y
|
||||
CONFIG_NET_DSA_QCA8K_LEDS_SUPPORT=y
|
||||
CONFIG_NET_DSA_TAG_QCA=y
|
||||
CONFIG_NET_SWITCHDEV=y
|
||||
CONFIG_PHYLINK=y
|
||||
CONFIG_QCA83XX_PHY=y
|
||||
CONFIG_QCOM_NET_PHYLIB=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_RTL8366_SMI=y
|
||||
CONFIG_RTL8367B_PHY=y
|
||||
@@ -33,4 +40,3 @@ CONFIG_SENSORS_LM90=y
|
||||
CONFIG_SENSORS_TC654=y
|
||||
CONFIG_SWCONFIG=y
|
||||
CONFIG_SWCONFIG_LEDS=y
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
--- a/net/bluetooth/smp.c
|
||||
+++ b/net/bluetooth/smp.c
|
||||
@@ -2222,7 +2222,7 @@ mackey_and_ltk:
|
||||
@@ -2215,7 +2215,7 @@ mackey_and_ltk:
|
||||
if (err)
|
||||
return SMP_UNSPECIFIED;
|
||||
|
||||
@@ -33,7 +33,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
if (test_bit(SMP_FLAG_INITIATOR, &smp->flags)) {
|
||||
sc_dhkey_check(smp);
|
||||
SMP_ALLOW_CMD(smp, SMP_CMD_DHKEY_CHECK);
|
||||
@@ -2237,9 +2237,6 @@ mackey_and_ltk:
|
||||
@@ -2230,9 +2230,6 @@ mackey_and_ltk:
|
||||
confirm_hint = 0;
|
||||
|
||||
confirm:
|
||||
|
||||
@@ -344,7 +344,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
}
|
||||
--- a/drivers/mmc/core/quirks.h
|
||||
+++ b/drivers/mmc/core/quirks.h
|
||||
@@ -130,6 +130,14 @@ static const struct mmc_fixup __maybe_un
|
||||
@@ -134,6 +134,14 @@ static const struct mmc_fixup __maybe_un
|
||||
MMC_FIXUP(CID_NAME_ANY, CID_MANFID_SANDISK_SD, 0x5344, add_quirk_sd,
|
||||
MMC_QUIRK_BROKEN_SD_DISCARD),
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
--- a/net/bluetooth/hci_sync.c
|
||||
+++ b/net/bluetooth/hci_sync.c
|
||||
@@ -4707,6 +4707,7 @@ static const struct {
|
||||
@@ -4861,6 +4861,7 @@ static const struct {
|
||||
*/
|
||||
static int hci_dev_setup_sync(struct hci_dev *hdev)
|
||||
{
|
||||
@@ -28,7 +28,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
int ret = 0;
|
||||
bool invalid_bdaddr;
|
||||
size_t i;
|
||||
@@ -4735,7 +4736,8 @@ static int hci_dev_setup_sync(struct hci
|
||||
@@ -4889,7 +4890,8 @@ static int hci_dev_setup_sync(struct hci
|
||||
test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks);
|
||||
if (!ret) {
|
||||
if (test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks) &&
|
||||
|
||||
@@ -246,7 +246,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
ret = dwc3_phy_power_on(dwc);
|
||||
if (ret)
|
||||
goto err_exit_phy;
|
||||
@@ -1341,6 +1361,24 @@ static int dwc3_core_init(struct dwc3 *d
|
||||
@@ -1356,6 +1376,24 @@ static int dwc3_core_init(struct dwc3 *d
|
||||
|
||||
dwc3_config_threshold(dwc);
|
||||
|
||||
@@ -271,7 +271,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
return 0;
|
||||
|
||||
err_power_off_phy:
|
||||
@@ -1484,6 +1522,7 @@ static void dwc3_get_properties(struct d
|
||||
@@ -1499,6 +1537,7 @@ static void dwc3_get_properties(struct d
|
||||
u8 tx_thr_num_pkt_prd = 0;
|
||||
u8 tx_max_burst_prd = 0;
|
||||
u8 tx_fifo_resize_max_num;
|
||||
@@ -279,7 +279,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
const char *usb_psy_name;
|
||||
int ret;
|
||||
|
||||
@@ -1506,6 +1545,9 @@ static void dwc3_get_properties(struct d
|
||||
@@ -1521,6 +1560,9 @@ static void dwc3_get_properties(struct d
|
||||
*/
|
||||
tx_fifo_resize_max_num = 6;
|
||||
|
||||
@@ -289,7 +289,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
dwc->maximum_speed = usb_get_maximum_speed(dev);
|
||||
dwc->max_ssp_rate = usb_get_maximum_ssp_rate(dev);
|
||||
dwc->dr_mode = usb_get_dr_mode(dev);
|
||||
@@ -1627,6 +1669,9 @@ static void dwc3_get_properties(struct d
|
||||
@@ -1642,6 +1684,9 @@ static void dwc3_get_properties(struct d
|
||||
dwc->dis_split_quirk = device_property_read_bool(dev,
|
||||
"snps,dis-split-quirk");
|
||||
|
||||
@@ -299,7 +299,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
dwc->lpm_nyet_threshold = lpm_nyet_threshold;
|
||||
dwc->tx_de_emphasis = tx_de_emphasis;
|
||||
|
||||
@@ -1644,6 +1689,8 @@ static void dwc3_get_properties(struct d
|
||||
@@ -1659,6 +1704,8 @@ static void dwc3_get_properties(struct d
|
||||
dwc->tx_thr_num_pkt_prd = tx_thr_num_pkt_prd;
|
||||
dwc->tx_max_burst_prd = tx_max_burst_prd;
|
||||
|
||||
@@ -308,7 +308,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
dwc->imod_interval = 0;
|
||||
|
||||
dwc->tx_fifo_resize_max_num = tx_fifo_resize_max_num;
|
||||
@@ -1919,6 +1966,12 @@ static int dwc3_probe(struct platform_de
|
||||
@@ -1934,6 +1981,12 @@ static int dwc3_probe(struct platform_de
|
||||
|
||||
dwc3_get_properties(dwc);
|
||||
|
||||
@@ -333,7 +333,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
/* Global Debug LSP MUX Select */
|
||||
#define DWC3_GDBGLSPMUX_ENDBC BIT(15) /* Host only */
|
||||
#define DWC3_GDBGLSPMUX_HOSTSELECT(n) ((n) & 0x3fff)
|
||||
@@ -1060,6 +1063,7 @@ struct dwc3_scratchpad_array {
|
||||
@@ -1061,6 +1064,7 @@ struct dwc3_scratchpad_array {
|
||||
* @tx_max_burst_prd: max periodic ESS transmit burst size
|
||||
* @tx_fifo_resize_max_num: max number of fifos allocated during txfifo resize
|
||||
* @clear_stall_protocol: endpoint number that requires a delayed status phase
|
||||
@@ -341,7 +341,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
* @hsphy_interface: "utmi" or "ulpi"
|
||||
* @connected: true when we're connected to a host, false otherwise
|
||||
* @softconnect: true when gadget connect is called, false when disconnect runs
|
||||
@@ -1294,6 +1298,7 @@ struct dwc3 {
|
||||
@@ -1296,6 +1300,7 @@ struct dwc3 {
|
||||
u8 tx_max_burst_prd;
|
||||
u8 tx_fifo_resize_max_num;
|
||||
u8 clear_stall_protocol;
|
||||
|
||||
@@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
--- a/drivers/usb/dwc3/core.c
|
||||
+++ b/drivers/usb/dwc3/core.c
|
||||
@@ -1351,6 +1351,9 @@ static int dwc3_core_init(struct dwc3 *d
|
||||
@@ -1366,6 +1366,9 @@ static int dwc3_core_init(struct dwc3 *d
|
||||
if (dwc->parkmode_disable_hs_quirk)
|
||||
reg |= DWC3_GUCTL1_PARKMODE_DISABLE_HS;
|
||||
|
||||
@@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
if (DWC3_VER_IS_WITHIN(DWC3, 290A, ANY) &&
|
||||
(dwc->maximum_speed == USB_SPEED_HIGH ||
|
||||
dwc->maximum_speed == USB_SPEED_FULL))
|
||||
@@ -1649,6 +1652,8 @@ static void dwc3_get_properties(struct d
|
||||
@@ -1664,6 +1667,8 @@ static void dwc3_get_properties(struct d
|
||||
"snps,parkmode-disable-ss-quirk");
|
||||
dwc->parkmode_disable_hs_quirk = device_property_read_bool(dev,
|
||||
"snps,parkmode-disable-hs-quirk");
|
||||
@@ -45,7 +45,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
#define DWC3_GUCTL1_RESUME_OPMODE_HS_HOST BIT(10)
|
||||
|
||||
/* Global Status Register */
|
||||
@@ -1115,10 +1116,12 @@ struct dwc3_scratchpad_array {
|
||||
@@ -1116,10 +1117,12 @@ struct dwc3_scratchpad_array {
|
||||
* generation after resume from suspend.
|
||||
* @ulpi_ext_vbus_drv: Set to confiure the upli chip to drives CPEN pin
|
||||
* VBUS with an external supply.
|
||||
@@ -62,7 +62,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
* @tx_de_emphasis_quirk: set if we enable Tx de-emphasis quirk
|
||||
* @tx_de_emphasis: Tx de-emphasis value
|
||||
* 0 - -6dB de-emphasis
|
||||
@@ -1342,6 +1345,7 @@ struct dwc3 {
|
||||
@@ -1344,6 +1347,7 @@ struct dwc3 {
|
||||
unsigned ulpi_ext_vbus_drv:1;
|
||||
unsigned parkmode_disable_ss_quirk:1;
|
||||
unsigned parkmode_disable_hs_quirk:1;
|
||||
|
||||
@@ -91,7 +91,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
cmd.flags &= ~MMC_RSP_CRC; /* Ignore CRC */
|
||||
--- a/drivers/mmc/core/sd.c
|
||||
+++ b/drivers/mmc/core/sd.c
|
||||
@@ -1015,8 +1015,8 @@ static bool mmc_sd_card_using_v18(struct
|
||||
@@ -1016,8 +1016,8 @@ static bool mmc_sd_card_using_v18(struct
|
||||
(SD_MODE_UHS_SDR50 | SD_MODE_UHS_SDR104 | SD_MODE_UHS_DDR50);
|
||||
}
|
||||
|
||||
@@ -102,7 +102,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
{
|
||||
struct mmc_host *host = card->host;
|
||||
struct mmc_request mrq = {};
|
||||
@@ -1174,8 +1174,14 @@ static int sd_parse_ext_reg_perf(struct
|
||||
@@ -1175,8 +1175,14 @@ static int sd_parse_ext_reg_perf(struct
|
||||
card->ext_perf.feature_support |= SD_EXT_PERF_CACHE;
|
||||
|
||||
/* Command queue support indicated via queue depth bits (0 to 4). */
|
||||
@@ -118,7 +118,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
card->ext_perf.fno = fno;
|
||||
card->ext_perf.page = page;
|
||||
@@ -1559,13 +1565,41 @@ cont:
|
||||
@@ -1563,13 +1569,41 @@ cont:
|
||||
goto free_card;
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
kfree(card);
|
||||
--- a/drivers/mmc/core/sd.c
|
||||
+++ b/drivers/mmc/core/sd.c
|
||||
@@ -1025,9 +1025,8 @@ int sd_write_ext_reg(struct mmc_card *ca
|
||||
@@ -1026,9 +1026,8 @@ int sd_write_ext_reg(struct mmc_card *ca
|
||||
struct scatterlist sg;
|
||||
u8 *reg_buf;
|
||||
|
||||
@@ -42,7 +42,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
mrq.cmd = &cmd;
|
||||
mrq.data = &data;
|
||||
@@ -1059,8 +1058,6 @@ int sd_write_ext_reg(struct mmc_card *ca
|
||||
@@ -1060,8 +1059,6 @@ int sd_write_ext_reg(struct mmc_card *ca
|
||||
mmc_set_data_timeout(&data, card);
|
||||
mmc_wait_for_req(host, &mrq);
|
||||
|
||||
@@ -51,7 +51,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
/*
|
||||
* Note that, the SD card is allowed to signal busy on DAT0 up to 1s
|
||||
* after the CMD49. Although, let's leave this to be managed by the
|
||||
@@ -1101,9 +1098,7 @@ static int sd_parse_ext_reg_power(struct
|
||||
@@ -1102,9 +1099,7 @@ static int sd_parse_ext_reg_power(struct
|
||||
int err;
|
||||
u8 *reg_buf;
|
||||
|
||||
@@ -62,7 +62,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
/* Read the extension register for power management function. */
|
||||
err = sd_read_ext_reg(card, fno, page, offset, 512, reg_buf);
|
||||
@@ -1133,7 +1128,6 @@ static int sd_parse_ext_reg_power(struct
|
||||
@@ -1134,7 +1129,6 @@ static int sd_parse_ext_reg_power(struct
|
||||
card->ext_power.offset = offset;
|
||||
|
||||
out:
|
||||
@@ -70,7 +70,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
return err;
|
||||
}
|
||||
|
||||
@@ -1143,9 +1137,7 @@ static int sd_parse_ext_reg_perf(struct
|
||||
@@ -1144,9 +1138,7 @@ static int sd_parse_ext_reg_perf(struct
|
||||
int err;
|
||||
u8 *reg_buf;
|
||||
|
||||
@@ -81,7 +81,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
err = sd_read_ext_reg(card, fno, page, offset, 512, reg_buf);
|
||||
if (err) {
|
||||
@@ -1188,7 +1180,6 @@ static int sd_parse_ext_reg_perf(struct
|
||||
@@ -1189,7 +1181,6 @@ static int sd_parse_ext_reg_perf(struct
|
||||
card->ext_perf.offset = offset;
|
||||
|
||||
out:
|
||||
@@ -89,7 +89,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
return err;
|
||||
}
|
||||
|
||||
@@ -1259,6 +1250,12 @@ static int sd_read_ext_regs(struct mmc_c
|
||||
@@ -1260,6 +1251,12 @@ static int sd_read_ext_regs(struct mmc_c
|
||||
if (!gen_info_buf)
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -102,7 +102,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
/*
|
||||
* Read 512 bytes of general info, which is found at function number 0,
|
||||
* at page 0 and with no offset.
|
||||
@@ -1325,9 +1322,7 @@ static int sd_flush_cache(struct mmc_hos
|
||||
@@ -1326,9 +1323,7 @@ static int sd_flush_cache(struct mmc_hos
|
||||
if (!sd_cache_enabled(host))
|
||||
return 0;
|
||||
|
||||
@@ -113,7 +113,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
/*
|
||||
* Set Flush Cache at bit 0 in the performance enhancement register at
|
||||
@@ -1363,21 +1358,15 @@ static int sd_flush_cache(struct mmc_hos
|
||||
@@ -1364,21 +1359,15 @@ static int sd_flush_cache(struct mmc_hos
|
||||
if (reg_buf[0] & BIT(0))
|
||||
err = -ETIMEDOUT;
|
||||
out:
|
||||
@@ -135,7 +135,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
/*
|
||||
* Set Cache Enable at bit 0 in the performance enhancement register at
|
||||
* 260 bytes offset.
|
||||
@@ -1396,7 +1385,6 @@ static int sd_enable_cache(struct mmc_ca
|
||||
@@ -1397,7 +1386,6 @@ static int sd_enable_cache(struct mmc_ca
|
||||
card->ext_perf.feature_enabled |= SD_EXT_PERF_CACHE;
|
||||
|
||||
out:
|
||||
|
||||
@@ -31,15 +31,6 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
pr_debug("%s: cqhci: CQE off\n", mmc_hostname(mmc));
|
||||
|
||||
if (cq_host->ops->post_disable)
|
||||
@@ -612,7 +614,7 @@ static int cqhci_request(struct mmc_host
|
||||
cqhci_writel(cq_host, 0, CQHCI_CTL);
|
||||
mmc->cqe_on = true;
|
||||
pr_debug("%s: cqhci: CQE on\n", mmc_hostname(mmc));
|
||||
- if (cqhci_readl(cq_host, CQHCI_CTL) && CQHCI_HALT) {
|
||||
+ if (cqhci_readl(cq_host, CQHCI_CTL) & CQHCI_HALT) {
|
||||
pr_err("%s: cqhci: CQE failed to exit halt state\n",
|
||||
mmc_hostname(mmc));
|
||||
}
|
||||
@@ -975,8 +977,11 @@ static bool cqhci_halt(struct mmc_host *
|
||||
|
||||
ret = cqhci_halted(cq_host);
|
||||
|
||||
@@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
--- a/drivers/mmc/core/sd.c
|
||||
+++ b/drivers/mmc/core/sd.c
|
||||
@@ -1015,83 +1015,6 @@ static bool mmc_sd_card_using_v18(struct
|
||||
@@ -1016,83 +1016,6 @@ static bool mmc_sd_card_using_v18(struct
|
||||
(SD_MODE_UHS_SDR50 | SD_MODE_UHS_SDR104 | SD_MODE_UHS_DDR50);
|
||||
}
|
||||
|
||||
@@ -100,7 +100,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
static int sd_parse_ext_reg_power(struct mmc_card *card, u8 fno, u8 page,
|
||||
u16 offset)
|
||||
{
|
||||
@@ -1101,7 +1024,7 @@ static int sd_parse_ext_reg_power(struct
|
||||
@@ -1102,7 +1025,7 @@ static int sd_parse_ext_reg_power(struct
|
||||
reg_buf = card->ext_reg_buf;
|
||||
|
||||
/* Read the extension register for power management function. */
|
||||
@@ -109,7 +109,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
if (err) {
|
||||
pr_warn("%s: error %d reading PM func of ext reg\n",
|
||||
mmc_hostname(card->host), err);
|
||||
@@ -1139,7 +1062,7 @@ static int sd_parse_ext_reg_perf(struct
|
||||
@@ -1140,7 +1063,7 @@ static int sd_parse_ext_reg_perf(struct
|
||||
|
||||
reg_buf = card->ext_reg_buf;
|
||||
|
||||
@@ -118,7 +118,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
if (err) {
|
||||
pr_warn("%s: error %d reading PERF func of ext reg\n",
|
||||
mmc_hostname(card->host), err);
|
||||
@@ -1234,7 +1157,7 @@ static int sd_parse_ext_reg(struct mmc_c
|
||||
@@ -1235,7 +1158,7 @@ static int sd_parse_ext_reg(struct mmc_c
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -127,7 +127,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
{
|
||||
int err, i;
|
||||
u8 num_ext, *gen_info_buf;
|
||||
@@ -1260,7 +1183,7 @@ static int sd_read_ext_regs(struct mmc_c
|
||||
@@ -1261,7 +1184,7 @@ static int sd_read_ext_regs(struct mmc_c
|
||||
* Read 512 bytes of general info, which is found at function number 0,
|
||||
* at page 0 and with no offset.
|
||||
*/
|
||||
@@ -136,7 +136,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
if (err) {
|
||||
pr_err("%s: error %d reading general info of SD ext reg\n",
|
||||
mmc_hostname(card->host), err);
|
||||
@@ -1332,7 +1255,7 @@ static int sd_flush_cache(struct mmc_hos
|
||||
@@ -1333,7 +1256,7 @@ static int sd_flush_cache(struct mmc_hos
|
||||
page = card->ext_perf.page;
|
||||
offset = card->ext_perf.offset + 261;
|
||||
|
||||
@@ -145,7 +145,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
if (err) {
|
||||
pr_warn("%s: error %d writing Cache Flush bit\n",
|
||||
mmc_hostname(host), err);
|
||||
@@ -1348,7 +1271,7 @@ static int sd_flush_cache(struct mmc_hos
|
||||
@@ -1349,7 +1272,7 @@ static int sd_flush_cache(struct mmc_hos
|
||||
* Read the Flush Cache bit. The card shall reset it, to confirm that
|
||||
* it's has completed the flushing of the cache.
|
||||
*/
|
||||
@@ -154,7 +154,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
if (err) {
|
||||
pr_warn("%s: error %d reading Cache Flush bit\n",
|
||||
mmc_hostname(host), err);
|
||||
@@ -1371,7 +1294,7 @@ static int sd_enable_cache(struct mmc_ca
|
||||
@@ -1372,7 +1295,7 @@ static int sd_enable_cache(struct mmc_ca
|
||||
* Set Cache Enable at bit 0 in the performance enhancement register at
|
||||
* 260 bytes offset.
|
||||
*/
|
||||
@@ -163,7 +163,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
card->ext_perf.offset + 260, BIT(0));
|
||||
if (err) {
|
||||
pr_warn("%s: error %d writing Cache Enable bit\n",
|
||||
@@ -1541,7 +1464,7 @@ retry:
|
||||
@@ -1545,7 +1468,7 @@ retry:
|
||||
cont:
|
||||
if (!oldcard) {
|
||||
/* Read/parse the extension registers. */
|
||||
@@ -172,7 +172,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
if (err)
|
||||
goto free_card;
|
||||
}
|
||||
@@ -1668,7 +1591,7 @@ static int sd_busy_poweroff_notify_cb(vo
|
||||
@@ -1672,7 +1595,7 @@ static int sd_busy_poweroff_notify_cb(vo
|
||||
* one byte offset and is one byte long. The Power Off Notification
|
||||
* Ready is bit 0.
|
||||
*/
|
||||
@@ -181,7 +181,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
card->ext_power.offset + 1, 1, data->reg_buf);
|
||||
if (err) {
|
||||
pr_warn("%s: error %d reading status reg of PM func\n",
|
||||
@@ -1694,7 +1617,7 @@ static int sd_poweroff_notify(struct mmc
|
||||
@@ -1698,7 +1621,7 @@ static int sd_poweroff_notify(struct mmc
|
||||
* Set the Power Off Notification bit in the power management settings
|
||||
* register at 2 bytes offset.
|
||||
*/
|
||||
|
||||
@@ -17,7 +17,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
--- a/drivers/mmc/core/sd.c
|
||||
+++ b/drivers/mmc/core/sd.c
|
||||
@@ -1088,8 +1088,12 @@ static int sd_parse_ext_reg_perf(struct
|
||||
@@ -1089,8 +1089,12 @@ static int sd_parse_ext_reg_perf(struct
|
||||
if ((reg_buf[4] & BIT(0)) && !mmc_card_broken_sd_cache(card))
|
||||
card->ext_perf.feature_support |= SD_EXT_PERF_CACHE;
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
pr_info("%s: Host Software Queue enabled\n",
|
||||
--- a/drivers/mmc/core/sd.c
|
||||
+++ b/drivers/mmc/core/sd.c
|
||||
@@ -714,7 +714,8 @@ MMC_DEV_ATTR(oemid, "0x%04x\n", card->ci
|
||||
@@ -715,7 +715,8 @@ MMC_DEV_ATTR(oemid, "0x%04x\n", card->ci
|
||||
MMC_DEV_ATTR(serial, "0x%08x\n", card->cid.serial);
|
||||
MMC_DEV_ATTR(ocr, "0x%08x\n", card->ocr);
|
||||
MMC_DEV_ATTR(rca, "0x%04x\n", card->rca);
|
||||
@@ -37,7 +37,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
static ssize_t mmc_dsr_show(struct device *dev, struct device_attribute *attr,
|
||||
char *buf)
|
||||
@@ -776,6 +777,8 @@ static struct attribute *sd_std_attrs[]
|
||||
@@ -777,6 +778,8 @@ static struct attribute *sd_std_attrs[]
|
||||
&dev_attr_ocr.attr,
|
||||
&dev_attr_rca.attr,
|
||||
&dev_attr_dsr.attr,
|
||||
@@ -46,7 +46,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
NULL,
|
||||
};
|
||||
|
||||
@@ -1508,8 +1511,8 @@ cont:
|
||||
@@ -1512,8 +1515,8 @@ cont:
|
||||
host->cqe_enabled = true;
|
||||
|
||||
if (card->ext_csd.cmdq_en) {
|
||||
|
||||
@@ -14,7 +14,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
--- a/drivers/mmc/core/sd.c
|
||||
+++ b/drivers/mmc/core/sd.c
|
||||
@@ -1176,7 +1176,7 @@ static int mmc_sd_read_ext_regs(struct m
|
||||
@@ -1177,7 +1177,7 @@ static int mmc_sd_read_ext_regs(struct m
|
||||
if (!(card->scr.cmds & SD_SCR_CMD48_SUPPORT))
|
||||
return 0;
|
||||
|
||||
@@ -23,7 +23,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
if (!gen_info_buf)
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -1207,14 +1207,23 @@ static int mmc_sd_read_ext_regs(struct m
|
||||
@@ -1208,14 +1208,23 @@ static int mmc_sd_read_ext_regs(struct m
|
||||
num_ext = gen_info_buf[4];
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
From 598e155f3467316b9ad70bde46b92fc30e3eea73 Mon Sep 17 00:00:00 2001
|
||||
From: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
Date: Mon, 8 Apr 2024 16:01:34 +0100
|
||||
Subject: [PATCH 1018/1085] drivers: mmc: apply SD quirks earlier during probe
|
||||
|
||||
Applying MMC_QUIRK_BROKEN_SD_CACHE is broken, as the card's extended
|
||||
registers are parsed prior to the quirk being applied in mmc_blk.
|
||||
|
||||
Split this out into an SD-specific list of quirks and apply in
|
||||
mmc_sd_init_card instead.
|
||||
|
||||
Fixes: c467c8f08185 ("mmc: Add MMC_QUIRK_BROKEN_SD_CACHE for Kingston Canvas Go Plus from 11/2019")
|
||||
|
||||
Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
---
|
||||
drivers/mmc/core/quirks.h | 22 +++++++++++++---------
|
||||
drivers/mmc/core/sd.c | 4 ++++
|
||||
2 files changed, 17 insertions(+), 9 deletions(-)
|
||||
|
||||
--- a/drivers/mmc/core/quirks.h
|
||||
+++ b/drivers/mmc/core/quirks.h
|
||||
@@ -15,6 +15,19 @@
|
||||
|
||||
#include "card.h"
|
||||
|
||||
+static const struct mmc_fixup __maybe_unused mmc_sd_fixups[] = {
|
||||
+ /*
|
||||
+ * Kingston Canvas Go! Plus microSD cards never finish SD cache flush.
|
||||
+ * This has so far only been observed on cards from 11/2019, while new
|
||||
+ * cards from 2023/05 do not exhibit this behavior.
|
||||
+ */
|
||||
+ _FIXUP_EXT("SD64G", CID_MANFID_KINGSTON_SD, 0x5449, 2019, 11,
|
||||
+ 0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd,
|
||||
+ MMC_QUIRK_BROKEN_SD_CACHE, EXT_CSD_REV_ANY),
|
||||
+
|
||||
+ END_FIXUP
|
||||
+};
|
||||
+
|
||||
static const struct mmc_fixup __maybe_unused mmc_blk_fixups[] = {
|
||||
#define INAND_CMD38_ARG_EXT_CSD 113
|
||||
#define INAND_CMD38_ARG_ERASE 0x00
|
||||
@@ -54,15 +67,6 @@ static const struct mmc_fixup __maybe_un
|
||||
MMC_QUIRK_BLK_NO_CMD23),
|
||||
|
||||
/*
|
||||
- * Kingston Canvas Go! Plus microSD cards never finish SD cache flush.
|
||||
- * This has so far only been observed on cards from 11/2019, while new
|
||||
- * cards from 2023/05 do not exhibit this behavior.
|
||||
- */
|
||||
- _FIXUP_EXT("SD64G", CID_MANFID_KINGSTON_SD, 0x5449, 2019, 11,
|
||||
- 0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd,
|
||||
- MMC_QUIRK_BROKEN_SD_CACHE, EXT_CSD_REV_ANY),
|
||||
-
|
||||
- /*
|
||||
* Some SD cards lockup while using CMD23 multiblock transfers.
|
||||
*/
|
||||
MMC_FIXUP("AF SD", CID_MANFID_ATP, CID_OEMID_ANY, add_quirk_sd,
|
||||
--- a/drivers/mmc/core/sd.c
|
||||
+++ b/drivers/mmc/core/sd.c
|
||||
@@ -26,6 +26,7 @@
|
||||
#include "host.h"
|
||||
#include "bus.h"
|
||||
#include "mmc_ops.h"
|
||||
+#include "quirks.h"
|
||||
#include "sd.h"
|
||||
#include "sd_ops.h"
|
||||
|
||||
@@ -1408,6 +1409,9 @@ retry:
|
||||
goto free_card;
|
||||
}
|
||||
|
||||
+ /* Apply quirks prior to card setup */
|
||||
+ mmc_fixup_device(card, mmc_sd_fixups);
|
||||
+
|
||||
err = mmc_sd_setup_card(host, card, oldcard != NULL);
|
||||
if (err)
|
||||
goto free_card;
|
||||
@@ -1,47 +0,0 @@
|
||||
From 542440fd7b30983cae23e32bd22f69a076ec7ef4 Mon Sep 17 00:00:00 2001
|
||||
From: Arnd Bergmann <arnd@arndb.de>
|
||||
Date: Fri, 19 Jul 2024 12:40:24 +0200
|
||||
Subject: regmap: maple: work around gcc-14.1 false-positive warning
|
||||
|
||||
With gcc-14.1, there is a false-postive -Wuninitialized warning in
|
||||
regcache_maple_drop:
|
||||
|
||||
drivers/base/regmap/regcache-maple.c: In function 'regcache_maple_drop':
|
||||
drivers/base/regmap/regcache-maple.c:113:23: error: 'lower_index' is used uninitialized [-Werror=uninitialized]
|
||||
113 | unsigned long lower_index, lower_last;
|
||||
| ^~~~~~~~~~~
|
||||
drivers/base/regmap/regcache-maple.c:113:36: error: 'lower_last' is used uninitialized [-Werror=uninitialized]
|
||||
113 | unsigned long lower_index, lower_last;
|
||||
| ^~~~~~~~~~
|
||||
|
||||
I've created a reduced test case to see if this needs to be reported
|
||||
as a gcc, but it appears that the gcc-14.x branch already has a change
|
||||
that turns this into a more sensible -Wmaybe-uninitialized warning, so
|
||||
I ended up not reporting it so far.
|
||||
|
||||
The reduced test case also produces a warning for gcc-13 and gcc-12
|
||||
but I don't see that with the version in the kernel.
|
||||
|
||||
Link: https://godbolt.org/z/oKbohKqd3
|
||||
Link: https://lore.kernel.org/all/CAMuHMdWj=FLmkazPbYKPevDrcym2_HDb_U7Mb9YE9ovrP0jJfA@mail.gmail.com/
|
||||
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
||||
Link: https://patch.msgid.link/20240719104030.1382465-1-arnd@kernel.org
|
||||
Signed-off-by: Mark Brown <broonie@kernel.org>
|
||||
---
|
||||
drivers/base/regmap/regcache-maple.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
(limited to 'drivers/base/regmap/regcache-maple.c')
|
||||
|
||||
--- a/drivers/base/regmap/regcache-maple.c
|
||||
+++ b/drivers/base/regmap/regcache-maple.c
|
||||
@@ -110,7 +110,8 @@ static int regcache_maple_drop(struct re
|
||||
struct maple_tree *mt = map->cache;
|
||||
MA_STATE(mas, mt, min, max);
|
||||
unsigned long *entry, *lower, *upper;
|
||||
- unsigned long lower_index, lower_last;
|
||||
+ /* initialized to work around false-positive -Wuninitialized warning */
|
||||
+ unsigned long lower_index = 0, lower_last = 0;
|
||||
unsigned long upper_index, upper_last;
|
||||
int ret = 0;
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
From c69f37f6559a8948d70badd2b179db7714dedd62 Mon Sep 17 00:00:00 2001
|
||||
From: Geert Uytterhoeven <geert+renesas@glider.be>
|
||||
Date: Mon, 2 Sep 2024 15:25:09 +0100
|
||||
Subject: [PATCH] nvmem: Fix return type of devm_nvmem_device_get() in
|
||||
kerneldoc
|
||||
|
||||
devm_nvmem_device_get() returns an nvmem device, not an nvmem cell.
|
||||
|
||||
Fixes: e2a5402ec7c6d044 ("nvmem: Add nvmem_device based consumer apis.")
|
||||
Cc: stable <stable@kernel.org>
|
||||
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
|
||||
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
Link: https://lore.kernel.org/r/20240902142510.71096-3-srinivas.kandagatla@linaro.org
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
---
|
||||
drivers/nvmem/core.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
--- a/drivers/nvmem/core.c
|
||||
+++ b/drivers/nvmem/core.c
|
||||
@@ -1275,13 +1275,13 @@ void nvmem_device_put(struct nvmem_devic
|
||||
EXPORT_SYMBOL_GPL(nvmem_device_put);
|
||||
|
||||
/**
|
||||
- * devm_nvmem_device_get() - Get nvmem cell of device form a given id
|
||||
+ * devm_nvmem_device_get() - Get nvmem device of device form a given id
|
||||
*
|
||||
* @dev: Device that requests the nvmem device.
|
||||
* @id: name id for the requested nvmem device.
|
||||
*
|
||||
- * Return: ERR_PTR() on error or a valid pointer to a struct nvmem_cell
|
||||
- * on success. The nvmem_cell will be freed by the automatically once the
|
||||
+ * Return: ERR_PTR() on error or a valid pointer to a struct nvmem_device
|
||||
+ * on success. The nvmem_device will be freed by the automatically once the
|
||||
* device is freed.
|
||||
*/
|
||||
struct nvmem_device *devm_nvmem_device_get(struct device *dev, const char *id)
|
||||
@@ -22,7 +22,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
#include <linux/crc32.h>
|
||||
#include <linux/if_vlan.h>
|
||||
#include <linux/uaccess.h>
|
||||
@@ -7035,6 +7036,22 @@ static void rtl_tally_reset(struct r8152
|
||||
@@ -7044,6 +7045,22 @@ static void rtl_tally_reset(struct r8152
|
||||
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data);
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
static void r8152b_init(struct r8152 *tp)
|
||||
{
|
||||
u32 ocp_data;
|
||||
@@ -7076,6 +7093,8 @@ static void r8152b_init(struct r8152 *tp
|
||||
@@ -7085,6 +7102,8 @@ static void r8152b_init(struct r8152 *tp
|
||||
ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL);
|
||||
ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN);
|
||||
ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data);
|
||||
@@ -54,7 +54,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
}
|
||||
|
||||
static void r8153_init(struct r8152 *tp)
|
||||
@@ -7216,6 +7235,8 @@ static void r8153_init(struct r8152 *tp)
|
||||
@@ -7225,6 +7244,8 @@ static void r8153_init(struct r8152 *tp)
|
||||
tp->coalesce = COALESCE_SLOW;
|
||||
break;
|
||||
}
|
||||
@@ -63,7 +63,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
}
|
||||
|
||||
static void r8153b_init(struct r8152 *tp)
|
||||
@@ -7298,6 +7319,8 @@ static void r8153b_init(struct r8152 *tp
|
||||
@@ -7307,6 +7328,8 @@ static void r8153b_init(struct r8152 *tp
|
||||
rtl_tally_reset(tp);
|
||||
|
||||
tp->coalesce = 15000; /* 15 us */
|
||||
|
||||
@@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
INDIRECT_CALLABLE_DECLARE(struct dst_entry *ip6_dst_check(struct dst_entry *,
|
||||
u32));
|
||||
INDIRECT_CALLABLE_DECLARE(struct dst_entry *ipv4_dst_check(struct dst_entry *,
|
||||
@@ -2247,9 +2264,11 @@ static void __sk_free(struct sock *sk)
|
||||
@@ -2239,9 +2256,11 @@ static void __sk_free(struct sock *sk)
|
||||
if (likely(sk->sk_net_refcnt))
|
||||
sock_inuse_add(sock_net(sk), -1);
|
||||
|
||||
|
||||
@@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/core/sock.c
|
||||
+++ b/net/core/sock.c
|
||||
@@ -4148,6 +4148,8 @@ static __net_initdata struct pernet_oper
|
||||
@@ -4140,6 +4140,8 @@ static __net_initdata struct pernet_oper
|
||||
|
||||
static int __init proto_init(void)
|
||||
{
|
||||
|
||||
@@ -96,7 +96,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
return features;
|
||||
--- a/net/core/sock.c
|
||||
+++ b/net/core/sock.c
|
||||
@@ -2449,7 +2449,7 @@ void sk_setup_caps(struct sock *sk, stru
|
||||
@@ -2441,7 +2441,7 @@ void sk_setup_caps(struct sock *sk, stru
|
||||
if (sk_is_tcp(sk))
|
||||
sk->sk_route_caps |= NETIF_F_GSO;
|
||||
if (sk->sk_route_caps & NETIF_F_GSO)
|
||||
|
||||
@@ -96,7 +96,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
kfree(ap);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(ata_port_free);
|
||||
@@ -5927,7 +5950,23 @@ int ata_host_register(struct ata_host *h
|
||||
@@ -5929,7 +5952,23 @@ int ata_host_register(struct ata_host *h
|
||||
host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
|
||||
host->ports[i]->local_port_no = i + 1;
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ CPU_TYPE:=cortex-a8
|
||||
CPU_SUBTYPE:=vfpv3
|
||||
SUBTARGETS:=generic
|
||||
|
||||
KERNEL_PATCHVER:=6.1
|
||||
KERNEL_PATCHVER:=6.6
|
||||
|
||||
KERNELNAME:=zImage dtbs
|
||||
|
||||
|
||||
@@ -10,7 +10,6 @@ CONFIG_ARCH_MULTIPLATFORM=y
|
||||
CONFIG_ARCH_MULTI_V6_V7=y
|
||||
CONFIG_ARCH_MULTI_V7=y
|
||||
CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED=y
|
||||
CONFIG_ARCH_NR_GPIO=0
|
||||
CONFIG_ARCH_OMAP=y
|
||||
CONFIG_ARCH_OMAP2PLUS=y
|
||||
CONFIG_ARCH_OMAP2PLUS_TYPICAL=y
|
||||
@@ -20,6 +19,7 @@ CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y
|
||||
CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y
|
||||
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_ARCH_SPARSEMEM_ENABLE=y
|
||||
CONFIG_ARCH_STACKWALK=y
|
||||
CONFIG_ARCH_SUSPEND_POSSIBLE=y
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARM_APPENDED_DTB=y
|
||||
@@ -63,6 +63,7 @@ CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_BLK_PM=y
|
||||
CONFIG_BOUNCE=y
|
||||
CONFIG_BSD_PROCESS_ACCT=y
|
||||
CONFIG_BUFFER_HEAD=y
|
||||
CONFIG_CACHE_L2X0=y
|
||||
CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y
|
||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
||||
@@ -123,6 +124,7 @@ CONFIG_CPU_IDLE_GOV_LADDER=y
|
||||
CONFIG_CPU_IDLE_GOV_MENU=y
|
||||
CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
|
||||
CONFIG_CPU_LITTLE_ENDIAN=y
|
||||
CONFIG_CPU_MITIGATIONS=y
|
||||
CONFIG_CPU_PABRT_V7=y
|
||||
CONFIG_CPU_PM=y
|
||||
CONFIG_CPU_RMAP=y
|
||||
@@ -157,6 +159,7 @@ CONFIG_CRYPTO_DRBG_HMAC=y
|
||||
CONFIG_CRYPTO_DRBG_MENU=y
|
||||
CONFIG_CRYPTO_ECB=y
|
||||
CONFIG_CRYPTO_ENGINE=y
|
||||
CONFIG_CRYPTO_GENIV=y
|
||||
CONFIG_CRYPTO_GHASH_ARM_CE=y
|
||||
CONFIG_CRYPTO_HASH_INFO=y
|
||||
CONFIG_CRYPTO_HMAC=y
|
||||
@@ -164,10 +167,13 @@ CONFIG_CRYPTO_HW=y
|
||||
CONFIG_CRYPTO_JITTERENTROPY=y
|
||||
CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
|
||||
CONFIG_CRYPTO_LIB_DES=y
|
||||
CONFIG_CRYPTO_LIB_GF128MUL=y
|
||||
CONFIG_CRYPTO_LIB_SHA1=y
|
||||
CONFIG_CRYPTO_LIB_SHA256=y
|
||||
CONFIG_CRYPTO_LIB_UTILS=y
|
||||
CONFIG_CRYPTO_LZO=y
|
||||
# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
|
||||
# CONFIG_CRYPTO_MANAGER_EXTRA_TESTS is not set
|
||||
CONFIG_CRYPTO_MD5=y
|
||||
CONFIG_CRYPTO_RNG=y
|
||||
CONFIG_CRYPTO_RNG2=y
|
||||
@@ -178,8 +184,10 @@ CONFIG_CRYPTO_SHA1_ARM=y
|
||||
CONFIG_CRYPTO_SHA1_ARM_NEON=y
|
||||
CONFIG_CRYPTO_SHA256=y
|
||||
CONFIG_CRYPTO_SHA256_ARM=y
|
||||
CONFIG_CRYPTO_SHA3=y
|
||||
CONFIG_CRYPTO_SHA512=y
|
||||
CONFIG_CRYPTO_SHA512_ARM=y
|
||||
CONFIG_CRYPTO_SIG2=y
|
||||
CONFIG_CRYPTO_SIMD=y
|
||||
CONFIG_CRYPTO_ZSTD=y
|
||||
CONFIG_CURRENT_POINTER_IN_TPIDRURO=y
|
||||
@@ -201,7 +209,6 @@ CONFIG_DRM_BRIDGE=y
|
||||
CONFIG_DRM_DISPLAY_CONNECTOR=y
|
||||
CONFIG_DRM_KMS_HELPER=y
|
||||
CONFIG_DRM_MIPI_DSI=y
|
||||
CONFIG_DRM_NOMODESET=y
|
||||
CONFIG_DRM_OMAP=y
|
||||
CONFIG_DRM_PANEL=y
|
||||
CONFIG_DRM_PANEL_BRIDGE=y
|
||||
@@ -228,16 +235,16 @@ CONFIG_EXTCON_USB_GPIO=y
|
||||
CONFIG_F2FS_FS=y
|
||||
CONFIG_FANOTIFY=y
|
||||
CONFIG_FAT_FS=y
|
||||
CONFIG_FB_CMDLINE=y
|
||||
CONFIG_FHANDLE=y
|
||||
CONFIG_FIXED_PHY=y
|
||||
CONFIG_FIX_EARLYCON_MEM=y
|
||||
CONFIG_FS_IOMAP=y
|
||||
CONFIG_FS_MBCACHE=y
|
||||
CONFIG_FUNCTION_ALIGNMENT=0
|
||||
CONFIG_FWNODE_MDIO=y
|
||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||
CONFIG_FW_LOADER_SYSFS=y
|
||||
CONFIG_GCC11_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_GENERIC_ALLOCATOR=y
|
||||
CONFIG_GENERIC_ARCH_TOPOLOGY=y
|
||||
CONFIG_GENERIC_BUG=y
|
||||
@@ -283,6 +290,7 @@ CONFIG_HARDEN_BRANCH_PREDICTOR=y
|
||||
CONFIG_HARDIRQS_SW_RESEND=y
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT=y
|
||||
CONFIG_HAS_IOPORT_MAP=y
|
||||
CONFIG_HAVE_SMP=y
|
||||
CONFIG_HDMI=y
|
||||
@@ -330,8 +338,8 @@ CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_PWM=y
|
||||
CONFIG_LEDS_TRIGGER_BACKLIGHT=y
|
||||
CONFIG_LEDS_TRIGGER_CPU=y
|
||||
CONFIG_LEDS_TRIGGER_GPIO=y
|
||||
CONFIG_LEDS_TRIGGER_ONESHOT=y
|
||||
CONFIG_LEGACY_DIRECT_IO=y
|
||||
CONFIG_LIBCRC32C=y
|
||||
CONFIG_LIBFDT=y
|
||||
CONFIG_LOCKD=y
|
||||
@@ -346,7 +354,6 @@ CONFIG_MDIO_BUS=y
|
||||
CONFIG_MDIO_DEVICE=y
|
||||
CONFIG_MDIO_DEVRES=y
|
||||
# CONFIG_MDIO_GPIO is not set
|
||||
CONFIG_MEMFD_CREATE=y
|
||||
CONFIG_MEMORY=y
|
||||
CONFIG_MEMORY_ISOLATION=y
|
||||
CONFIG_MFD_CORE=y
|
||||
@@ -368,6 +375,7 @@ CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_EXTERNAL_DMA=y
|
||||
CONFIG_MMC_SDHCI_OMAP=y
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
CONFIG_MMU_LAZY_TLB_REFCOUNT=y
|
||||
CONFIG_MODULES_USE_ELF_REL=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
@@ -394,14 +402,19 @@ CONFIG_MTD_UBI_WL_THRESHOLD=4096
|
||||
# CONFIG_MUSB_PIO_ONLY is not set
|
||||
CONFIG_MUTEX_SPIN_ON_OWNER=y
|
||||
CONFIG_NEED_DMA_MAP_STATE=y
|
||||
CONFIG_NEED_SRCU_NMI_SAFE=y
|
||||
CONFIG_NEON=y
|
||||
CONFIG_NET_DEVLINK=y
|
||||
CONFIG_NET_EGRESS=y
|
||||
CONFIG_NET_FLOW_LIMIT=y
|
||||
CONFIG_NET_HANDSHAKE=y
|
||||
CONFIG_NET_INGRESS=y
|
||||
CONFIG_NET_KEY=y
|
||||
CONFIG_NET_KEY_MIGRATE=y
|
||||
CONFIG_NET_PTP_CLASSIFY=y
|
||||
CONFIG_NET_SELFTESTS=y
|
||||
CONFIG_NET_SWITCHDEV=y
|
||||
CONFIG_NET_XGRESS=y
|
||||
CONFIG_NFS_ACL_SUPPORT=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_USE_KERNEL_DNS=y
|
||||
@@ -437,7 +450,6 @@ CONFIG_OMAP2_DSS_SDI=y
|
||||
CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET=y
|
||||
CONFIG_OMAP2_DSS_VENC=y
|
||||
# CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE is not set
|
||||
# CONFIG_OMAP3_SDRC_AC_TIMING is not set
|
||||
CONFIG_OMAP3_THERMAL=y
|
||||
CONFIG_OMAP4_DSS_HDMI=y
|
||||
CONFIG_OMAP4_DSS_HDMI_CEC=y
|
||||
@@ -488,7 +500,6 @@ CONFIG_POWER_SUPPLY=y
|
||||
CONFIG_PPS=y
|
||||
CONFIG_PREEMPT_NONE_BUILD=y
|
||||
CONFIG_PRINTK_TIME=y
|
||||
CONFIG_PRINT_QUOTA_WARNING=y
|
||||
CONFIG_PROC_EVENTS=y
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_PTP_1588_CLOCK=y
|
||||
@@ -618,12 +629,11 @@ CONFIG_SPI_MASTER=y
|
||||
CONFIG_SPI_MEM=y
|
||||
CONFIG_SPI_OMAP24XX=y
|
||||
CONFIG_SPI_TI_QSPI=y
|
||||
CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
|
||||
CONFIG_SRAM=y
|
||||
CONFIG_SRAM_EXEC=y
|
||||
CONFIG_SRCU=y
|
||||
CONFIG_STACKTRACE=y
|
||||
CONFIG_SUNRPC=y
|
||||
CONFIG_SUNRPC_GSS=y
|
||||
CONFIG_SWPHY=y
|
||||
CONFIG_SWP_EMULATE=y
|
||||
CONFIG_SYNC_FILE=y
|
||||
@@ -677,7 +687,6 @@ CONFIG_USB_EHCI_HCD_OMAP=y
|
||||
# CONFIG_USB_EHCI_HCD_PLATFORM is not set
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_INVENTRA_DMA=y
|
||||
CONFIG_USB_MUSB_AM35X=y
|
||||
CONFIG_USB_MUSB_DSPS=y
|
||||
CONFIG_USB_MUSB_DUAL_ROLE=y
|
||||
CONFIG_USB_MUSB_HDRC=y
|
||||
@@ -693,6 +702,8 @@ CONFIG_VFAT_FS=y
|
||||
CONFIG_VFP=y
|
||||
CONFIG_VFPv3=y
|
||||
CONFIG_VIDEOMODE_HELPERS=y
|
||||
CONFIG_VIDEO_CMDLINE=y
|
||||
CONFIG_VIDEO_NOMODESET=y
|
||||
CONFIG_WATCHDOG_CORE=y
|
||||
CONFIG_XFRM_ALGO=y
|
||||
CONFIG_XFRM_MIGRATE=y
|
||||
@@ -33,6 +33,7 @@ define Device/Default
|
||||
PROFILES := Default
|
||||
KERNEL_NAME := zImage
|
||||
KERNEL := kernel-bin
|
||||
DTS_DIR := $(DTS_DIR)/ti/omap
|
||||
DEVICE_DTS = $(lastword $(subst _, ,$(1)))
|
||||
IMAGES := sdcard.img.gz
|
||||
IMAGE/sdcard.img.gz := omap-sdcard | append-metadata | gzip
|
||||
|
||||
@@ -17,9 +17,9 @@ devices in OpenWrt usable again with the default network config.)
|
||||
Signed-off-by: Jan Hoffmann <jan@3e8.eu>
|
||||
---
|
||||
|
||||
--- a/arch/arm/boot/dts/am335x-bone-common.dtsi
|
||||
+++ b/arch/arm/boot/dts/am335x-bone-common.dtsi
|
||||
@@ -353,27 +353,24 @@
|
||||
--- a/arch/arm/boot/dts/ti/omap/am335x-bone-common.dtsi
|
||||
+++ b/arch/arm/boot/dts/ti/omap/am335x-bone-common.dtsi
|
||||
@@ -358,27 +358,24 @@
|
||||
};
|
||||
};
|
||||
|
||||
@@ -52,8 +52,8 @@ Signed-off-by: Jan Hoffmann <jan@3e8.eu>
|
||||
|
||||
ethphy0: ethernet-phy@0 {
|
||||
reg = <0>;
|
||||
--- a/arch/arm/boot/dts/am335x-evm.dts
|
||||
+++ b/arch/arm/boot/dts/am335x-evm.dts
|
||||
--- a/arch/arm/boot/dts/ti/omap/am335x-evm.dts
|
||||
+++ b/arch/arm/boot/dts/ti/omap/am335x-evm.dts
|
||||
@@ -682,31 +682,28 @@
|
||||
};
|
||||
};
|
||||
@@ -6,29 +6,10 @@ Subject: [PATCH 05/53] MIPS: use set_mode() to enable/disable the cevt-r4k
|
||||
|
||||
Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
---
|
||||
arch/mips/ralink/Kconfig | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
arch/mips/kernel/cevt-r4k.c | 43 +++++++++++++++++++++++++++++++++++++
|
||||
arch/mips/ralink/Kconfig | 5 +++++
|
||||
2 files changed, 48 insertions(+)
|
||||
|
||||
--- a/arch/mips/ralink/Kconfig
|
||||
+++ b/arch/mips/ralink/Kconfig
|
||||
@@ -1,12 +1,17 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
if RALINK
|
||||
|
||||
+config CEVT_SYSTICK_QUIRK
|
||||
+ bool
|
||||
+ default n
|
||||
+
|
||||
config CLKEVT_RT3352
|
||||
bool
|
||||
depends on SOC_RT305X || SOC_MT7620
|
||||
default y
|
||||
select TIMER_OF
|
||||
select CLKSRC_MMIO
|
||||
+ select CEVT_SYSTICK_QUIRK
|
||||
|
||||
config RALINK_ILL_ACC
|
||||
bool
|
||||
--- a/arch/mips/kernel/cevt-r4k.c
|
||||
+++ b/arch/mips/kernel/cevt-r4k.c
|
||||
@@ -16,6 +16,31 @@
|
||||
@@ -73,11 +54,28 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
unsigned int cpu = smp_processor_id();
|
||||
struct clock_event_device *cd;
|
||||
unsigned int irq, min_delta;
|
||||
@@ -322,11 +349,16 @@ int r4k_clockevent_init(void)
|
||||
@@ -303,6 +330,15 @@ int r4k_clockevent_init(void)
|
||||
if (!c0_compare_int_usable())
|
||||
return -ENXIO;
|
||||
|
||||
+#ifdef CONFIG_CEVT_SYSTICK_QUIRK
|
||||
+ /*
|
||||
+ * With vectored interrupts things are getting platform specific.
|
||||
+ * get_c0_compare_int is a hook to allow a platform to return the
|
||||
+ * interrupt number of its liking.
|
||||
+ */
|
||||
+ irq = get_c0_compare_int();
|
||||
+#endif
|
||||
+
|
||||
cd = &per_cpu(mips_clockevent_device, cpu);
|
||||
|
||||
cd->name = "MIPS";
|
||||
@@ -314,11 +350,17 @@ int r4k_clockevent_init(void)
|
||||
|
||||
cd->rating = 300;
|
||||
cd->irq = irq;
|
||||
cd->cpumask = cpumask_of(cpu);
|
||||
+#ifdef CONFIG_CEVT_SYSTICK_QUIRK
|
||||
+ cd->irq = irq;
|
||||
+ cd->set_state_shutdown = mips_state_shutdown;
|
||||
+ cd->set_state_oneshot = mips_state_oneshot;
|
||||
+#endif
|
||||
@@ -90,7 +88,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
if (cp0_timer_irq_installed)
|
||||
return 0;
|
||||
|
||||
@@ -335,6 +367,7 @@ int r4k_clockevent_init(void)
|
||||
@@ -334,6 +376,7 @@ int r4k_clockevent_init(void)
|
||||
if (request_irq(irq, c0_compare_interrupt, flags, "timer",
|
||||
c0_compare_interrupt))
|
||||
pr_err("Failed to request irq %d (timer)\n", irq);
|
||||
@@ -98,3 +96,23 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
|
||||
return 0;
|
||||
}
|
||||
--- a/arch/mips/ralink/Kconfig
|
||||
+++ b/arch/mips/ralink/Kconfig
|
||||
@@ -1,12 +1,17 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
if RALINK
|
||||
|
||||
+config CEVT_SYSTICK_QUIRK
|
||||
+ bool
|
||||
+ default n
|
||||
+
|
||||
config CLKEVT_RT3352
|
||||
bool
|
||||
depends on SOC_RT305X || SOC_MT7620
|
||||
default y
|
||||
select TIMER_OF
|
||||
select CLKSRC_MMIO
|
||||
+ select CEVT_SYSTICK_QUIRK
|
||||
|
||||
config RALINK_ILL_ACC
|
||||
bool
|
||||
|
||||
26
target/linux/realtek/base-files/etc/uci-defaults/04_dlinkfan
Normal file
26
target/linux/realtek/base-files/etc/uci-defaults/04_dlinkfan
Normal file
@@ -0,0 +1,26 @@
|
||||
#
|
||||
# Copyright (C) 2024 openwrt.org
|
||||
#
|
||||
|
||||
. /lib/functions.sh
|
||||
|
||||
board=$(board_name)
|
||||
|
||||
case "$board" in
|
||||
d-link,dgs-1210-28mp-f)
|
||||
# Enable fan control
|
||||
FAN_CTRL='/sys/class/hwmon/hwmon0'
|
||||
echo 1 > "$FAN_PATH/pwm1_enable"
|
||||
|
||||
# Set fan script execution in crontab
|
||||
grep -s -q fan_ctrl.sh /etc/crontabs/root && exit 0
|
||||
|
||||
echo "# dlink fan script runs every 5 minutes" >> /etc/crontabs/root
|
||||
echo "*/5 * * * * /sbin/fan_ctrl.sh" >> /etc/crontabs/root
|
||||
|
||||
# Execute one time after initial flash (instead of waiting 5 min for cron)
|
||||
/sbin/fan_ctrl.sh
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
13
target/linux/realtek/base-files/sbin/fan_ctrl.sh
Executable file
13
target/linux/realtek/base-files/sbin/fan_ctrl.sh
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
|
||||
PSU_TEMP=$(cut -c1-2 /sys/class/hwmon/hwmon0/temp1_input)
|
||||
|
||||
FAN_CTRL='/sys/class/hwmon/hwmon0/pwm1'
|
||||
|
||||
PSU_THRESH=51000
|
||||
|
||||
if [ "$PSU_TEMP" -ge "$PSU_THRESH" ];then
|
||||
echo "250" > $FAN_CTRL
|
||||
else
|
||||
echo "156" > $FAN_CTRL
|
||||
fi
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "rtl838x.dtsi"
|
||||
#include "rtl83xx_d-link_dgs-1210_common.dtsi"
|
||||
#include "rtl83xx_d-link_dgs-1210_gpio.dtsi"
|
||||
#include "rtl83xx_d-link_dgs-1210_gpio_sfp.dtsi"
|
||||
#include "rtl8382_d-link_dgs-1210-28_common.dtsi"
|
||||
|
||||
/ {
|
||||
|
||||
@@ -34,10 +34,11 @@
|
||||
EXTERNAL_PHY(22)
|
||||
EXTERNAL_PHY(23)
|
||||
|
||||
EXTERNAL_SFP_PHY(24)
|
||||
EXTERNAL_SFP_PHY(25)
|
||||
EXTERNAL_SFP_PHY(26)
|
||||
EXTERNAL_SFP_PHY(27)
|
||||
/* External phy RTL8214FC */
|
||||
EXTERNAL_SFP_PHY_FULL(24, 0)
|
||||
EXTERNAL_SFP_PHY_FULL(25, 1)
|
||||
EXTERNAL_SFP_PHY_FULL(26, 2)
|
||||
EXTERNAL_SFP_PHY_FULL(27, 3)
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -3,11 +3,28 @@
|
||||
#include "rtl838x.dtsi"
|
||||
#include "rtl83xx_d-link_dgs-1210_common.dtsi"
|
||||
#include "rtl83xx_d-link_dgs-1210_gpio.dtsi"
|
||||
#include "rtl83xx_d-link_dgs-1210_gpio_sfp.dtsi"
|
||||
#include "rtl8382_d-link_dgs-1210-28_common.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "d-link,dgs-1210-28mp-f", "realtek,rtl8382-soc", "realtek,rtl838x-soc";
|
||||
model = "D-Link DGS-1210-28MP F";
|
||||
|
||||
/* LM63 */
|
||||
i2c-gpio-4 {
|
||||
compatible = "i2c-gpio";
|
||||
sda-gpios = <&gpio1 32 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
scl-gpios = <&gpio1 31 GPIO_ACTIVE_HIGH>;
|
||||
i2c-gpio,delay-us = <2>;
|
||||
i2c-gpio,scl-open-drain; /* should be replaced by i2c-gpio,scl-has-no-pullup in kernel 6.6 */
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
lm63@4c {
|
||||
compatible = "national,lm63";
|
||||
reg = <0x4c>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&leds {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "rtl839x.dtsi"
|
||||
#include "rtl83xx_d-link_dgs-1210_common.dtsi"
|
||||
#include "rtl83xx_d-link_dgs-1210_gpio.dtsi"
|
||||
#include "rtl839x_d-link_dgs-1210_gpio.dtsi"
|
||||
#include "rtl83xx_d-link_dgs-1210_gpio_sfp.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "d-link,dgs-1210-52", "realtek,rtl8393-soc";
|
||||
|
||||
@@ -71,7 +71,7 @@ define Device/d-link_dgs-1210-28mp-f
|
||||
SOC := rtl8382
|
||||
DEVICE_MODEL := DGS-1210-28MP
|
||||
DEVICE_VARIANT := F
|
||||
DEVICE_PACKAGES += realtek-poe
|
||||
DEVICE_PACKAGES += realtek-poe kmod-hwmon-lm63
|
||||
endef
|
||||
TARGET_DEVICES += d-link_dgs-1210-28mp-f
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
clk_disable_unprepare(dwc->susp_clk);
|
||||
clk_disable_unprepare(dwc->ref_clk);
|
||||
clk_disable_unprepare(dwc->bus_clk);
|
||||
@@ -1863,6 +1877,20 @@ static int dwc3_get_clocks(struct dwc3 *
|
||||
@@ -1878,6 +1892,20 @@ static int dwc3_get_clocks(struct dwc3 *
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
--- a/drivers/usb/dwc3/core.h
|
||||
+++ b/drivers/usb/dwc3/core.h
|
||||
@@ -996,6 +996,8 @@ struct dwc3_scratchpad_array {
|
||||
@@ -997,6 +997,8 @@ struct dwc3_scratchpad_array {
|
||||
* @bus_clk: clock for accessing the registers
|
||||
* @ref_clk: reference clock
|
||||
* @susp_clk: clock used when the SS phy is in low power (S3) state
|
||||
@@ -80,7 +80,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
* @reset: reset control
|
||||
* @regs: base address for our registers
|
||||
* @regs_size: address space size
|
||||
@@ -1166,6 +1168,8 @@ struct dwc3 {
|
||||
@@ -1167,6 +1169,8 @@ struct dwc3 {
|
||||
struct clk *bus_clk;
|
||||
struct clk *ref_clk;
|
||||
struct clk *susp_clk;
|
||||
|
||||
@@ -14,7 +14,7 @@ Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
|
||||
|
||||
--- a/arch/riscv/Kconfig
|
||||
+++ b/arch/riscv/Kconfig
|
||||
@@ -896,6 +896,14 @@ config PORTABLE
|
||||
@@ -897,6 +897,14 @@ config PORTABLE
|
||||
select MMU
|
||||
select OF
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
|
||||
|
||||
--- a/drivers/clk/starfive/clk-starfive-jh7110-sys.c
|
||||
+++ b/drivers/clk/starfive/clk-starfive-jh7110-sys.c
|
||||
@@ -501,7 +501,52 @@ static int __init jh7110_syscrg_probe(st
|
||||
@@ -530,7 +530,52 @@ static int __init jh7110_syscrg_probe(st
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
||||
return irq;
|
||||
--- a/drivers/crypto/starfive/jh7110-cryp.h
|
||||
+++ b/drivers/crypto/starfive/jh7110-cryp.h
|
||||
@@ -125,6 +125,15 @@ union starfive_pka_cacr {
|
||||
@@ -126,6 +126,15 @@ union starfive_pka_cacr {
|
||||
};
|
||||
};
|
||||
|
||||
@@ -58,7 +58,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
||||
struct starfive_rsa_key {
|
||||
u8 *n;
|
||||
u8 *e;
|
||||
@@ -183,7 +192,6 @@ struct starfive_cryp_dev {
|
||||
@@ -184,7 +193,6 @@ struct starfive_cryp_dev {
|
||||
struct crypto_engine *engine;
|
||||
struct tasklet_struct aes_done;
|
||||
struct tasklet_struct hash_done;
|
||||
@@ -99,8 +99,8 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
||||
+/* A * A * R mod N ==> A */
|
||||
#define CRYPTO_CMD_AARN 0x7
|
||||
|
||||
#define STARFIVE_RSA_MAX_KEYSZ 256
|
||||
@@ -43,21 +37,10 @@
|
||||
#define STARFIVE_RSA_RESET 0x2
|
||||
@@ -42,21 +36,10 @@
|
||||
static inline int starfive_pka_wait_done(struct starfive_cryp_ctx *ctx)
|
||||
{
|
||||
struct starfive_cryp_dev *cryp = ctx->cryp;
|
||||
@@ -125,7 +125,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
||||
}
|
||||
|
||||
static void starfive_rsa_free_key(struct starfive_rsa_key *key)
|
||||
@@ -114,10 +97,9 @@ static int starfive_rsa_montgomery_form(
|
||||
@@ -113,10 +96,9 @@ static int starfive_rsa_montgomery_form(
|
||||
rctx->csr.pka.not_r2 = 1;
|
||||
rctx->csr.pka.ie = 1;
|
||||
|
||||
@@ -137,7 +137,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
||||
return -ETIMEDOUT;
|
||||
|
||||
for (loop = 0; loop <= opsize; loop++)
|
||||
@@ -136,10 +118,9 @@ static int starfive_rsa_montgomery_form(
|
||||
@@ -135,10 +117,9 @@ static int starfive_rsa_montgomery_form(
|
||||
rctx->csr.pka.start = 1;
|
||||
rctx->csr.pka.ie = 1;
|
||||
|
||||
@@ -149,7 +149,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
||||
return -ETIMEDOUT;
|
||||
} else {
|
||||
rctx->csr.pka.v = 0;
|
||||
@@ -151,10 +132,9 @@ static int starfive_rsa_montgomery_form(
|
||||
@@ -150,10 +131,9 @@ static int starfive_rsa_montgomery_form(
|
||||
rctx->csr.pka.pre_expf = 1;
|
||||
rctx->csr.pka.ie = 1;
|
||||
|
||||
@@ -161,7 +161,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
||||
return -ETIMEDOUT;
|
||||
|
||||
for (loop = 0; loop <= count; loop++)
|
||||
@@ -172,10 +152,9 @@ static int starfive_rsa_montgomery_form(
|
||||
@@ -171,10 +151,9 @@ static int starfive_rsa_montgomery_form(
|
||||
rctx->csr.pka.start = 1;
|
||||
rctx->csr.pka.ie = 1;
|
||||
|
||||
@@ -173,7 +173,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
||||
return -ETIMEDOUT;
|
||||
}
|
||||
|
||||
@@ -226,11 +205,10 @@ static int starfive_rsa_cpu_start(struct
|
||||
@@ -225,11 +204,10 @@ static int starfive_rsa_cpu_start(struct
|
||||
rctx->csr.pka.start = 1;
|
||||
rctx->csr.pka.ie = 1;
|
||||
|
||||
@@ -186,7 +186,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
||||
goto rsa_err;
|
||||
|
||||
if (mlen) {
|
||||
@@ -242,10 +220,9 @@ static int starfive_rsa_cpu_start(struct
|
||||
@@ -241,10 +219,9 @@ static int starfive_rsa_cpu_start(struct
|
||||
rctx->csr.pka.start = 1;
|
||||
rctx->csr.pka.ie = 1;
|
||||
|
||||
|
||||
@@ -114,7 +114,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
||||
.cra_module = THIS_MODULE,
|
||||
--- a/drivers/crypto/starfive/jh7110-cryp.h
|
||||
+++ b/drivers/crypto/starfive/jh7110-cryp.h
|
||||
@@ -50,8 +50,6 @@ union starfive_aes_csr {
|
||||
@@ -51,8 +51,6 @@ union starfive_aes_csr {
|
||||
u32 ccm_start :1;
|
||||
#define STARFIVE_AES_MODE_ECB 0x0
|
||||
#define STARFIVE_AES_MODE_CBC 0x1
|
||||
|
||||
@@ -15,7 +15,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
||||
|
||||
--- a/drivers/crypto/starfive/jh7110-rsa.c
|
||||
+++ b/drivers/crypto/starfive/jh7110-rsa.c
|
||||
@@ -45,12 +45,9 @@ static inline int starfive_pka_wait_done
|
||||
@@ -44,12 +44,9 @@ static inline int starfive_pka_wait_done
|
||||
|
||||
static void starfive_rsa_free_key(struct starfive_rsa_key *key)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user