Merge Official Source
This commit is contained in:
commit
3bac4ea0d9
@ -8,11 +8,11 @@ endif
|
||||
|
||||
LINUX_VERSION-4.14 = .176
|
||||
LINUX_VERSION-4.19 = .115
|
||||
LINUX_VERSION-5.4 = .36
|
||||
LINUX_VERSION-5.4 = .38
|
||||
|
||||
LINUX_KERNEL_HASH-4.14.176 = bcae0956baaeb55dab5bad0401873fbc5baaa7fbe957ea6d27a5ab241cec5ca2
|
||||
LINUX_KERNEL_HASH-4.19.115 = 11b2d97c8ea5ceb40c5e1d0bb87ad5b2b8c84560181bc60c0d28ec3a3e3801c2
|
||||
LINUX_KERNEL_HASH-5.4.36 = b9faea98122e8316af8fb428c942e81797b5d28a8fc59a24a4e47959e3765b8d
|
||||
LINUX_KERNEL_HASH-5.4.38 = e72b9fa4e3a222d42d64dce9915e5b18f1b75ae722d529a1e560ced2e5d0f30e
|
||||
|
||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||
|
||||
41
package/boot/uboot-mediatek/Makefile
Normal file
41
package/boot/uboot-mediatek/Makefile
Normal file
@ -0,0 +1,41 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_VERSION:=2020.04
|
||||
PKG_RELEASE:=1
|
||||
PKG_HASH:=fe732aaf037d9cc3c0909bad8362af366ae964bbdac6913a34081ff4ad565372
|
||||
|
||||
include $(INCLUDE_DIR)/u-boot.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
|
||||
define U-Boot/Default
|
||||
BUILD_TARGET:=mediatek
|
||||
UBOOT_IMAGE:=u-boot-mtk.bin
|
||||
DEFAULT:=y
|
||||
endef
|
||||
|
||||
define U-Boot/mt7629
|
||||
NAME:=MT7629
|
||||
BUILD_SUBTARGET:=mt7629
|
||||
UBOOT_CONFIG:=mt7629_rfb
|
||||
endef
|
||||
|
||||
define U-Boot/mt7622
|
||||
NAME:=MT7622
|
||||
BUILD_SUBTARGET:=mt7622
|
||||
UBOOT_CONFIG:=mt7622_rfb
|
||||
endef
|
||||
|
||||
UBOOT_TARGETS := mt7629 mt7622
|
||||
|
||||
UBOOT_MAKE_FLAGS += $(UBOOT_IMAGE)
|
||||
|
||||
Build/Exports:=$(Host/Exports)
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/$(UBOOT_IMAGE) $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-$(UBOOT_IMAGE)
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage/U-Boot))
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,64 @@
|
||||
From b1b3c3d2ce62872c8dec4a7d645af6b3c565e094 Mon Sep 17 00:00:00 2001
|
||||
From: Sam Shih <sam.shih@mediatek.com>
|
||||
Date: Mon, 20 Apr 2020 17:11:32 +0800
|
||||
Subject: [PATCH 2/3] mt7622 uboot: add dts and config for spi nand
|
||||
|
||||
This patch add dts and config for mt7622 spi nand
|
||||
|
||||
Signed-off-by: Xiangsheng Hou <xiangsheng.hou@mediatek.com>
|
||||
---
|
||||
arch/arm/dts/mt7622-rfb.dts | 6 ++++++
|
||||
arch/arm/dts/mt7622.dtsi | 20 ++++++++++++++++++++
|
||||
2 files changed, 26 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/dts/mt7622-rfb.dts b/arch/arm/dts/mt7622-rfb.dts
|
||||
index f05c3fe14d..05502bddec 100644
|
||||
--- a/arch/arm/dts/mt7622-rfb.dts
|
||||
+++ b/arch/arm/dts/mt7622-rfb.dts
|
||||
@@ -143,6 +143,12 @@
|
||||
};
|
||||
};
|
||||
|
||||
+&nandc {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&snfi_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins>;
|
||||
diff --git a/arch/arm/dts/mt7622.dtsi b/arch/arm/dts/mt7622.dtsi
|
||||
index 1e8ec9b48b..63fdb63d4a 100644
|
||||
--- a/arch/arm/dts/mt7622.dtsi
|
||||
+++ b/arch/arm/dts/mt7622.dtsi
|
||||
@@ -52,6 +52,26 @@
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
+ nandc: nfi@1100d000 {
|
||||
+ compatible = "mediatek,mt7622-nfc";
|
||||
+ reg = <0x1100d000 0x1000>,
|
||||
+ <0x1100e000 0x1000>;
|
||||
+ interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>,
|
||||
+ <GIC_SPI 95 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ clocks = <&pericfg CLK_PERI_NFI_PD>,
|
||||
+ <&pericfg CLK_PERI_NFIECC_PD>,
|
||||
+ <&pericfg CLK_PERI_SNFI_PD>,
|
||||
+ <&topckgen CLK_TOP_NFI_INFRA_SEL>,
|
||||
+ <&topckgen CLK_TOP_UNIVPLL2_D8>;
|
||||
+ clock-names = "nfi_clk",
|
||||
+ "ecc_clk",
|
||||
+ "snfi_clk",
|
||||
+ "spinfi_sel",
|
||||
+ "spinfi_parent_50m";
|
||||
+ nand-ecc-mode = "hw";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupt-parent = <&gic>;
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@ -0,0 +1,38 @@
|
||||
From e5745143a2984cf44fbfc0b3aedb49e57873f109 Mon Sep 17 00:00:00 2001
|
||||
From: Sam Shih <sam.shih@mediatek.com>
|
||||
Date: Mon, 20 Apr 2020 17:17:04 +0800
|
||||
Subject: [PATCH 3/3] configs: enable mtd and mtk_spi_nand in defconfig
|
||||
|
||||
This patch enable mtk and mtk_spi_nand in mt7622_rfb defconfig
|
||||
|
||||
Signed-off-by: Sam Shih <sam.shih@mediatek.com>
|
||||
---
|
||||
configs/mt7622_rfb_defconfig | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/configs/mt7622_rfb_defconfig b/configs/mt7622_rfb_defconfig
|
||||
index 1ce6ebdfeb..816126267b 100644
|
||||
--- a/configs/mt7622_rfb_defconfig
|
||||
+++ b/configs/mt7622_rfb_defconfig
|
||||
@@ -13,6 +13,7 @@ CONFIG_DEFAULT_FDT_FILE="mt7622-rfb"
|
||||
CONFIG_SYS_PROMPT="MT7622> "
|
||||
CONFIG_CMD_BOOTMENU=y
|
||||
CONFIG_CMD_MMC=y
|
||||
+CONFIG_CMD_NAND=y
|
||||
CONFIG_CMD_SF_TEST=y
|
||||
CONFIG_CMD_PING=y
|
||||
CONFIG_CMD_SMC=y
|
||||
@@ -25,6 +26,10 @@ CONFIG_CLK=y
|
||||
CONFIG_DM_MMC=y
|
||||
CONFIG_MMC_HS200_SUPPORT=y
|
||||
CONFIG_MMC_MTK=y
|
||||
+CONFIG_MTD=y
|
||||
+CONFIG_DM_MTD=y
|
||||
+CONFIG_MTK_SPI_NAND=y
|
||||
+CONFIG_MTD_RAW_NAND=y
|
||||
CONFIG_DM_SPI_FLASH=y
|
||||
CONFIG_SPI_FLASH_EON=y
|
||||
CONFIG_SPI_FLASH_GIGADEVICE=y
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@ -590,7 +590,13 @@ mac80211_setup_supplicant() {
|
||||
local add_sp=0
|
||||
local spobj="$(ubus -S list | grep wpa_supplicant.${ifname})"
|
||||
|
||||
wpa_supplicant_prepare_interface "$ifname" nl80211 || return 1
|
||||
[ "$enable" = 0 ] && {
|
||||
ubus call wpa_supplicant.${phy} config_del "{\"iface\":\"$ifname\"}"
|
||||
ip link set dev "$ifname" down
|
||||
iw dev "$ifname" del
|
||||
return 0
|
||||
}
|
||||
|
||||
wpa_supplicant_prepare_interface "$ifname" nl80211 || {
|
||||
iw dev "$ifname" del
|
||||
return 1
|
||||
@ -607,18 +613,17 @@ mac80211_setup_supplicant() {
|
||||
[ "$spobj" ] && ubus call wpa_supplicant config_remove "{\"iface\":\"$ifname\"}"
|
||||
add_sp=1
|
||||
fi
|
||||
[ "$enable" = 0 ] && {
|
||||
ubus call wpa_supplicant config_remove "{\"iface\":\"$ifname\"}"
|
||||
ip link set dev "$ifname" down
|
||||
return 0
|
||||
}
|
||||
[ -z "$spobj" ] && add_sp=1
|
||||
|
||||
NEW_MD5_SP=$(test -e "${_config}" && md5sum ${_config})
|
||||
OLD_MD5_SP=$(uci -q -P /var/state get wireless._${phy}.md5_${ifname})
|
||||
if [ "$add_sp" = "1" ]; then
|
||||
wpa_supplicant_run "$ifname" "$hostapd_ctrl"
|
||||
else
|
||||
ubus call $spobj reload
|
||||
[ "${NEW_MD5_SP}" == "${OLD_MD5_SP}" ] || ubus call $spobj reload
|
||||
fi
|
||||
uci -q -P /var/state set wireless._${phy}.md5_${ifname}="${NEW_MD5_SP}"
|
||||
return 0
|
||||
}
|
||||
|
||||
mac80211_setup_supplicant_noctl() {
|
||||
@ -765,7 +770,6 @@ mac80211_setup_vif() {
|
||||
|
||||
[ "$vif_enable" = 1 ] || action=down
|
||||
if [ "$mode" != "ap" ] || [ "$ifname" = "$ap_ifname" ]; then
|
||||
logger ip link set dev "$ifname" $action
|
||||
ip link set dev "$ifname" "$action" || {
|
||||
wireless_setup_vif_failed IFUP_ERROR
|
||||
json_select ..
|
||||
@ -923,8 +927,8 @@ drv_mac80211_setup() {
|
||||
[ "$rxantenna" = "all" ] && rxantenna=0xffffffff
|
||||
|
||||
iw phy "$phy" set antenna $txantenna $rxantenna >/dev/null 2>&1
|
||||
iw phy "$phy" set antenna_gain $antenna_gain
|
||||
iw phy "$phy" set distance "$distance"
|
||||
iw phy "$phy" set antenna_gain $antenna_gain >/dev/null 2>&1
|
||||
iw phy "$phy" set distance "$distance" >/dev/null 2>&1
|
||||
|
||||
if [ -n "$txpower" ]; then
|
||||
iw phy "$phy" set txpower fixed "${txpower%%.*}00"
|
||||
@ -954,8 +958,8 @@ drv_mac80211_setup() {
|
||||
OLD_MD5=$(uci -q -P /var/state get wireless._${phy}.md5)
|
||||
if [ "${NEWAPLIST}" != "${OLDAPLIST}" ]; then
|
||||
mac80211_vap_cleanup hostapd "${OLDAPLIST}"
|
||||
[ -n "${NEWAPLIST}" ] && mac80211_iw_interface_add "$phy" "${NEWAPLIST%% *}" __ap || return
|
||||
fi
|
||||
[ -n "${NEWAPLIST}" ] && mac80211_iw_interface_add "$phy" "${NEWAPLIST%% *}" __ap
|
||||
local add_ap=0
|
||||
local primary_ap=${NEWAPLIST%% *}
|
||||
[ -n "$hostapd_ctrl" ] && {
|
||||
@ -966,7 +970,11 @@ drv_mac80211_setup() {
|
||||
no_reload=$?
|
||||
if [ "$no_reload" != "0" ]; then
|
||||
mac80211_vap_cleanup hostapd "${OLDAPLIST}"
|
||||
[ -n "${NEWAPLIST}" ] && mac80211_iw_interface_add "$phy" "${NEWAPLIST%% *}" __ap || return
|
||||
mac80211_vap_cleanup wpa_supplicant "$(uci -q -P /var/state get wireless._${phy}.splist)"
|
||||
mac80211_vap_cleanup none "$(uci -q -P /var/state get wireless._${phy}.umlist)"
|
||||
sleep 2
|
||||
mac80211_iw_interface_add "$phy" "${NEWAPLIST%% *}" __ap
|
||||
for_each_interface "sta adhoc mesh monitor" mac80211_prepare_vif
|
||||
fi
|
||||
}
|
||||
fi
|
||||
@ -1031,12 +1039,10 @@ list_phy_interfaces() {
|
||||
drv_mac80211_teardown() {
|
||||
wireless_process_kill_all
|
||||
|
||||
json_select data
|
||||
json_get_vars phy
|
||||
json_select ..
|
||||
|
||||
mac80211_interface_cleanup "$phy"
|
||||
uci -q -P /var/state revert wireless._${phy}
|
||||
for phy in `ls /sys/class/ieee80211/`; do
|
||||
mac80211_interface_cleanup "$phy"
|
||||
uci -q -P /var/state revert wireless._${phy}
|
||||
done
|
||||
}
|
||||
|
||||
add_driver mac80211
|
||||
|
||||
@ -12,9 +12,9 @@ PKG_RELEASE:=3
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcpd.git
|
||||
PKG_SOURCE_DATE:=2020-03-14
|
||||
PKG_SOURCE_VERSION:=6594c6b182a9065570316cf3a7a6a72a7afda150
|
||||
PKG_MIRROR_HASH:=58c87e3322854b3c2797403e622b09b019eac9ccf3dddd2bc2307cedad1c003a
|
||||
PKG_SOURCE_DATE:=2020-05-04
|
||||
PKG_SOURCE_VERSION:=5ce077026b991f49d96464587386f93d92f56385
|
||||
PKG_MIRROR_HASH:=5fcb4e9f219398ac09ab87e942d1a9a3f4c58431dceefa30b429a19d2dba8ff6
|
||||
|
||||
PKG_MAINTAINER:=Hans Dedecker <dedeckeh@gmail.com>
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Johannes Krude <johannes@krude.de>
|
||||
|
||||
--- a/sound/soc/soc-core.c
|
||||
+++ b/sound/soc/soc-core.c
|
||||
@@ -1646,7 +1646,15 @@ int snd_soc_runtime_set_dai_fmt(struct s
|
||||
@@ -1656,7 +1656,15 @@ int snd_soc_runtime_set_dai_fmt(struct s
|
||||
int ret;
|
||||
|
||||
for_each_rtd_codec_dai(rtd, i, codec_dai) {
|
||||
|
||||
@ -24,7 +24,7 @@ Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
|
||||
|
||||
--- a/arch/arm/boot/dts/bcm283x.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm283x.dtsi
|
||||
@@ -634,22 +634,16 @@
|
||||
@@ -635,22 +635,16 @@
|
||||
};
|
||||
|
||||
clocks {
|
||||
|
||||
@ -97,7 +97,7 @@ Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
|
||||
dpi: dpi@7e208000 {
|
||||
compatible = "brcm,bcm2835-dpi";
|
||||
reg = <0x7e208000 0x8c>;
|
||||
@@ -607,12 +595,6 @@
|
||||
@@ -608,12 +596,6 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
||||
@ -1845,7 +1845,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
@@ -540,32 +446,6 @@
|
||||
@@ -541,32 +447,6 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -1878,7 +1878,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
i2c1: i2c@7e804000 {
|
||||
compatible = "brcm,bcm2835-i2c";
|
||||
reg = <0x7e804000 0x1000>;
|
||||
@@ -576,16 +456,6 @@
|
||||
@@ -577,16 +457,6 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -1895,7 +1895,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
vec: vec@7e806000 {
|
||||
compatible = "brcm,bcm2835-vec";
|
||||
reg = <0x7e806000 0x1000>;
|
||||
@@ -594,20 +464,6 @@
|
||||
@@ -595,20 +465,6 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -1916,7 +1916,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
usb: usb@7e980000 {
|
||||
compatible = "brcm,bcm2835-usb";
|
||||
reg = <0x7e980000 0x10000>;
|
||||
@@ -619,10 +475,6 @@
|
||||
@@ -620,10 +476,6 @@
|
||||
phys = <&usbphy>;
|
||||
phy-names = "usb2-phy";
|
||||
};
|
||||
|
||||
@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
+MODULE_LICENSE("GPL");
|
||||
--- a/kernel/sched/core.c
|
||||
+++ b/kernel/sched/core.c
|
||||
@@ -2673,6 +2673,7 @@ int wake_up_state(struct task_struct *p,
|
||||
@@ -2668,6 +2668,7 @@ int wake_up_state(struct task_struct *p,
|
||||
{
|
||||
return try_to_wake_up(p, state, 0);
|
||||
}
|
||||
|
||||
@ -8,18 +8,6 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/image.mk
|
||||
|
||||
# for arm
|
||||
KERNEL_LOADADDR := 0x80008000
|
||||
|
||||
# for arm64
|
||||
ifeq ($(SUBTARGET),mt7622)
|
||||
KERNEL_LOADADDR = 0x41080000
|
||||
endif
|
||||
|
||||
ifeq ($(SUBTARGET),mt7629)
|
||||
KERNEL_LOADADDR = 0x40008000
|
||||
endif
|
||||
|
||||
define Build/sysupgrade-emmc
|
||||
rm -f $@.recovery
|
||||
mkfs.fat -C $@.recovery 3070
|
||||
@ -37,7 +25,7 @@ define Device/Default
|
||||
FILESYSTEMS := squashfs
|
||||
DEVICE_DTS_DIR := $(DTS_DIR)
|
||||
IMAGES := sysupgrade.bin
|
||||
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
|
||||
IMAGE/sysupgrade.bin := append-kernel | pad-to 128k | append-rootfs | pad-rootfs | append-metadata
|
||||
SUPPORTED_DEVICES := $(subst _,$(comma),$(1))
|
||||
ifeq ($(SUBTARGET),mt7623)
|
||||
KERNEL_NAME := zImage
|
||||
@ -50,17 +38,7 @@ else
|
||||
endif
|
||||
endef
|
||||
|
||||
ifeq ($(SUBTARGET),mt7622)
|
||||
include mt7622.mk
|
||||
endif
|
||||
|
||||
ifeq ($(SUBTARGET),mt7623)
|
||||
include mt7623.mk
|
||||
endif
|
||||
|
||||
ifeq ($(SUBTARGET),mt7629)
|
||||
include mt7629.mk
|
||||
endif
|
||||
include $(SUBTARGET).mk
|
||||
|
||||
define Image/Build
|
||||
$(call Image/Build/$(1),$(1))
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
KERNEL_LOADADDR := 0x41080000
|
||||
|
||||
define Device/mediatek_mt7622-rfb1
|
||||
DEVICE_VENDOR := MediaTek
|
||||
DEVICE_MODEL := MTK7622 rfb1 AP
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
KERNEL_LOADADDR := 0x80008000
|
||||
|
||||
define Device/unielec_u7623-02-emmc-512m
|
||||
DEVICE_VENDOR := UniElec
|
||||
DEVICE_MODEL := U7623-02
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
KERNEL_LOADADDR := 0x40008000
|
||||
|
||||
define Device/mediatek_mt7629-rfb
|
||||
DEVICE_VENDOR := MediaTek
|
||||
DEVICE_MODEL := MT7629 rfb AP
|
||||
|
||||
@ -147,20 +147,7 @@
|
||||
|
||||
#include "mtk_eth_soc.h"
|
||||
|
||||
@@ -69,10 +71,12 @@ u32 mtk_m32(struct mtk_eth *eth, u32 mas
|
||||
{
|
||||
u32 val;
|
||||
|
||||
+ spin_lock(ð->page_lock);
|
||||
val = mtk_r32(eth, reg);
|
||||
val &= ~mask;
|
||||
val |= set;
|
||||
mtk_w32(eth, val, reg);
|
||||
+ spin_unlock(ð->page_lock);
|
||||
return reg;
|
||||
}
|
||||
|
||||
@@ -1298,8 +1302,16 @@ static int mtk_poll_rx(struct napi_struc
|
||||
@@ -1298,8 +1312,16 @@ static int mtk_poll_rx(struct napi_struc
|
||||
(trxd.rxd2 & RX_DMA_VTAG))
|
||||
__vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q),
|
||||
RX_DMA_VID(trxd.rxd3));
|
||||
@ -179,7 +166,7 @@
|
||||
|
||||
ring->data[idx] = new_data;
|
||||
rxd->rxd1 = (unsigned int)dma_addr;
|
||||
@@ -2216,6 +2228,9 @@ static int mtk_open(struct net_device *d
|
||||
@@ -2216,6 +2238,9 @@ static int mtk_open(struct net_device *d
|
||||
mtk_tx_irq_enable(eth, MTK_TX_DONE_INT);
|
||||
mtk_rx_irq_enable(eth, MTK_RX_DONE_INT);
|
||||
refcount_set(ð->dma_refcnt, 1);
|
||||
@ -189,7 +176,7 @@
|
||||
}
|
||||
else
|
||||
refcount_inc(ð->dma_refcnt);
|
||||
@@ -2274,6 +2289,9 @@ static int mtk_stop(struct net_device *d
|
||||
@@ -2274,6 +2299,9 @@ static int mtk_stop(struct net_device *d
|
||||
|
||||
mtk_dma_free(eth);
|
||||
|
||||
@ -199,7 +186,7 @@
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -2733,6 +2751,27 @@ static int mtk_set_rxnfc(struct net_devi
|
||||
@@ -2733,6 +2761,27 @@ static int mtk_set_rxnfc(struct net_devi
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -227,7 +214,7 @@
|
||||
static const struct ethtool_ops mtk_ethtool_ops = {
|
||||
.get_link_ksettings = mtk_get_link_ksettings,
|
||||
.set_link_ksettings = mtk_set_link_ksettings,
|
||||
@@ -2764,6 +2803,9 @@ static const struct net_device_ops mtk_n
|
||||
@@ -2764,6 +2813,9 @@ static const struct net_device_ops mtk_n
|
||||
#ifdef CONFIG_NET_POLL_CONTROLLER
|
||||
.ndo_poll_controller = mtk_poll_controller,
|
||||
#endif
|
||||
@ -237,7 +224,7 @@
|
||||
};
|
||||
|
||||
static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
|
||||
@@ -3097,6 +3139,7 @@ static const struct mtk_soc_data mt7622_
|
||||
@@ -3097,6 +3149,7 @@ static const struct mtk_soc_data mt7622_
|
||||
.hw_features = MTK_HW_FEATURES,
|
||||
.required_clks = MT7622_CLKS_BITMAP,
|
||||
.required_pctl = false,
|
||||
|
||||
@ -0,0 +1,94 @@
|
||||
diff -urN a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c 2020-04-21 14:33:05.702816632 +0800
|
||||
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c 2020-04-21 14:33:19.590328084 +0800
|
||||
@@ -2191,6 +2191,31 @@
|
||||
return 0;
|
||||
}
|
||||
|
||||
+static void mtk_gdm_config(struct mtk_eth *eth, u32 config)
|
||||
+{
|
||||
+ int i;
|
||||
+
|
||||
+ if (MTK_HAS_CAPS(eth->soc->caps, MTK_SOC_MT7628))
|
||||
+ return;
|
||||
+
|
||||
+ for (i = 0; i < MTK_MAC_COUNT; i++) {
|
||||
+ u32 val = mtk_r32(eth, MTK_GDMA_FWD_CFG(i));
|
||||
+
|
||||
+ /* default setup the forward port to send frame to PDMA */
|
||||
+ val &= ~0xffff;
|
||||
+
|
||||
+ /* Enable RX checksum */
|
||||
+ val |= MTK_GDMA_ICS_EN | MTK_GDMA_TCS_EN | MTK_GDMA_UCS_EN;
|
||||
+
|
||||
+ val |= config;
|
||||
+
|
||||
+ mtk_w32(eth, val, MTK_GDMA_FWD_CFG(i));
|
||||
+ }
|
||||
+ /* Reset and enable PSE */
|
||||
+ mtk_w32(eth, RST_GL_PSE, MTK_RST_GL);
|
||||
+ mtk_w32(eth, 0, MTK_RST_GL);
|
||||
+}
|
||||
+
|
||||
static int mtk_open(struct net_device *dev)
|
||||
{
|
||||
struct mtk_mac *mac = netdev_priv(dev);
|
||||
@@ -2211,6 +2236,8 @@
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
+ mtk_gdm_config(eth, MTK_GDMA_TO_PDMA);
|
||||
+
|
||||
napi_enable(ð->tx_napi);
|
||||
napi_enable(ð->rx_napi);
|
||||
mtk_tx_irq_enable(eth, MTK_TX_DONE_INT);
|
||||
@@ -2266,6 +2293,8 @@
|
||||
if (!refcount_dec_and_test(ð->dma_refcnt))
|
||||
return 0;
|
||||
|
||||
+ mtk_gdm_config(eth, MTK_GDMA_DROP_ALL);
|
||||
+
|
||||
mtk_tx_irq_disable(eth, MTK_TX_DONE_INT);
|
||||
mtk_rx_irq_disable(eth, MTK_RX_DONE_INT);
|
||||
napi_disable(ð->tx_napi);
|
||||
@@ -2392,8 +2421,6 @@
|
||||
mtk_w32(eth, 0, MTK_QDMA_DELAY_INT);
|
||||
mtk_tx_irq_disable(eth, ~0);
|
||||
mtk_rx_irq_disable(eth, ~0);
|
||||
- mtk_w32(eth, RST_GL_PSE, MTK_RST_GL);
|
||||
- mtk_w32(eth, 0, MTK_RST_GL);
|
||||
|
||||
/* FE int grouping */
|
||||
mtk_w32(eth, MTK_TX_DONE_INT, MTK_PDMA_INT_GRP1);
|
||||
@@ -2402,19 +2429,6 @@
|
||||
mtk_w32(eth, MTK_RX_DONE_INT, MTK_QDMA_INT_GRP2);
|
||||
mtk_w32(eth, 0x21021000, MTK_FE_INT_GRP);
|
||||
|
||||
- for (i = 0; i < MTK_MAC_COUNT; i++) {
|
||||
- u32 val = mtk_r32(eth, MTK_GDMA_FWD_CFG(i));
|
||||
-
|
||||
- /* setup the forward port to send frame to PDMA */
|
||||
- val &= ~0xffff;
|
||||
-
|
||||
- /* Enable RX checksum */
|
||||
- val |= MTK_GDMA_ICS_EN | MTK_GDMA_TCS_EN | MTK_GDMA_UCS_EN;
|
||||
-
|
||||
- /* setup the mac dma */
|
||||
- mtk_w32(eth, val, MTK_GDMA_FWD_CFG(i));
|
||||
- }
|
||||
-
|
||||
return 0;
|
||||
|
||||
err_disable_pm:
|
||||
diff -urN a/drivers/net/ethernet/mediatek/mtk_eth_soc.h b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
|
||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h 2020-04-21 14:33:10.702640743 +0800
|
||||
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h 2020-04-21 14:33:24.902141220 +0800
|
||||
@@ -84,6 +84,8 @@
|
||||
#define MTK_GDMA_ICS_EN BIT(22)
|
||||
#define MTK_GDMA_TCS_EN BIT(21)
|
||||
#define MTK_GDMA_UCS_EN BIT(20)
|
||||
+#define MTK_GDMA_TO_PDMA 0x0
|
||||
+#define MTK_GDMA_DROP_ALL 0x7777
|
||||
|
||||
/* Unicast Filter MAC Address Register - Low */
|
||||
#define MTK_GDMA_MAC_ADRL(x) (0x508 + (x * 0x1000))
|
||||
@ -0,0 +1,25 @@
|
||||
diff -urN a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c 2020-04-21 14:33:05.702816632 +0800
|
||||
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c 2020-04-21 14:33:19.590328084 +0800
|
||||
@@ -1345,10 +1345,11 @@
|
||||
u32 next_cpu = desc->txd2;
|
||||
int mac = 0;
|
||||
|
||||
- desc = mtk_qdma_phys_to_virt(ring, desc->txd2);
|
||||
if ((desc->txd3 & TX_DMA_OWNER_CPU) == 0)
|
||||
break;
|
||||
|
||||
+ desc = mtk_qdma_phys_to_virt(ring, desc->txd2);
|
||||
+
|
||||
tx_buf = mtk_desc_to_tx_buf(ring, desc);
|
||||
if (tx_buf->flags & MTK_TX_FLAGS_FPORT1)
|
||||
mac = 1;
|
||||
@@ -2172,7 +2173,7 @@
|
||||
|
||||
if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) {
|
||||
mtk_w32(eth,
|
||||
- MTK_TX_WB_DDONE | MTK_TX_DMA_EN |
|
||||
+ MTK_TX_DMA_EN |
|
||||
MTK_DMA_SIZE_16DWORDS | MTK_NDP_CO_PRO |
|
||||
MTK_RX_DMA_EN | MTK_RX_2B_OFFSET |
|
||||
MTK_RX_BT_32DWORDS,
|
||||
@ -22,10 +22,10 @@ Signed-off-by: Tim Harvey <tharvey@gateworks.com>
|
||||
#include <linux/platform_data/x86/apple.h>
|
||||
#include <linux/pm_runtime.h>
|
||||
#include <linux/switchtec.h>
|
||||
@@ -5497,3 +5498,34 @@ out_disable:
|
||||
DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_VENDOR_ID_NVIDIA, 0x13b1,
|
||||
PCI_CLASS_DISPLAY_VGA, 8,
|
||||
quirk_reset_lenovo_thinkpad_p50_nvgpu);
|
||||
@@ -5564,3 +5565,34 @@ static void apex_pci_fixup_class(struct
|
||||
}
|
||||
DECLARE_PCI_FIXUP_CLASS_HEADER(0x1ac1, 0x089a,
|
||||
PCI_CLASS_NOT_DEFINED, 8, apex_pci_fixup_class);
|
||||
+
|
||||
+#ifdef CONFIG_PCI_HOST_THUNDER_PEM
|
||||
+/*
|
||||
|
||||
Loading…
Reference in New Issue
Block a user