mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
kernel: bump 5.4 to 5.4.95 (#6340)
This commit is contained in:
parent
fbdca3d67e
commit
5b1838d04d
@ -8,11 +8,11 @@ endif
|
||||
|
||||
LINUX_VERSION-4.14 = .195
|
||||
LINUX_VERSION-4.19 = .138
|
||||
LINUX_VERSION-5.4 = .92
|
||||
LINUX_VERSION-5.4 = .95
|
||||
|
||||
LINUX_KERNEL_HASH-4.14.195 = 394f28798670240baacd9e2cce521fbd79f8da5e1fc191695b0e11381445a021
|
||||
LINUX_KERNEL_HASH-4.19.138 = d15c27d05f6c527269b75b30cc72972748e55720e7e00ad8abbaa4fe3b1d5e02
|
||||
LINUX_KERNEL_HASH-5.4.92 = c0937ff98824c4b14cfea68a04340e0beb3c00f1cc02984daf2f3bdf542394fd
|
||||
LINUX_KERNEL_HASH-5.4.95 = 030ae544f346bfa2ce619dd9e17e93d10ec393632d3b6d6cf5d1fc84b914d449
|
||||
|
||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||
|
@ -12,7 +12,7 @@ include $(INCLUDE_DIR)/version.mk
|
||||
include $(INCLUDE_DIR)/feeds.mk
|
||||
|
||||
PKG_NAME:=base-files
|
||||
PKG_RELEASE:=224
|
||||
PKG_RELEASE:=225
|
||||
PKG_FLAGS:=nonshared
|
||||
|
||||
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
|
||||
|
@ -152,10 +152,26 @@ macaddr_geteui() {
|
||||
echo ${mac:9:2}$sep${mac:12:2}$sep${mac:15:2}
|
||||
}
|
||||
|
||||
macaddr_setbit_la() {
|
||||
macaddr_setbit() {
|
||||
local mac=$1
|
||||
local bit=${2:-0}
|
||||
|
||||
printf "%02x:%s" $((0x${mac%%:*} | 0x02)) ${mac#*:}
|
||||
[ $bit -gt 0 -a $bit -le 48 ] || return
|
||||
|
||||
printf "%012x" $(( 0x${mac//:/} | 2**(48-bit) )) | sed -e 's/\(.\{2\}\)/\1:/g' -e 's/:$//'
|
||||
}
|
||||
|
||||
macaddr_unsetbit() {
|
||||
local mac=$1
|
||||
local bit=${2:-0}
|
||||
|
||||
[ $bit -gt 0 -a $bit -le 48 ] || return
|
||||
|
||||
printf "%012x" $(( 0x${mac//:/} & ~(2**(48-bit)) )) | sed -e 's/\(.\{2\}\)/\1:/g' -e 's/:$//'
|
||||
}
|
||||
|
||||
macaddr_setbit_la() {
|
||||
macaddr_setbit $1 7
|
||||
}
|
||||
|
||||
macaddr_unsetbit_mc() {
|
||||
|
@ -14,6 +14,7 @@ PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/linux4sam/at91bootstrap.git
|
||||
PKG_MIRROR_HASH:=06753d673756edc9753932db00f4e5b8c1f9fa7708337c4d6ce280573efb86b4
|
||||
PKG_SOURCE_VERSION:=d96833a4b6680b237708eb4dc9f10708b9e709d8
|
||||
PKG_BUILD_DIR = \
|
||||
$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
@ -12,6 +12,7 @@ PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/linux4sam/u-boot-at91.git
|
||||
PKG_MIRROR_HASH:=4f106d215c01c4d024c4612bbd3ef189188d19abc1ab2cc316b257d308534feb
|
||||
PKG_SOURCE_VERSION:=0e1d1b6efb7f8e27c372279a906fcd2524df09da
|
||||
|
||||
include $(INCLUDE_DIR)/u-boot.mk
|
||||
|
@ -23,6 +23,7 @@ allnet,all-wap02860ac|\
|
||||
arduino,yun|\
|
||||
buffalo,bhr-4grv2|\
|
||||
devolo,magic-2-wifi|\
|
||||
engenius,eap1200h|\
|
||||
engenius,eap300-v2|\
|
||||
engenius,eap350-v1|\
|
||||
engenius,eap600|\
|
||||
|
@ -1,64 +0,0 @@
|
||||
From patchwork Fri Feb 7 09:53:35 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Daniel Golle <daniel@makrotopia.org>
|
||||
X-Patchwork-Id: 1190470
|
||||
Date: Fri, 7 Feb 2020 11:53:35 +0200
|
||||
From: Daniel Golle <daniel@makrotopia.org>
|
||||
To: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org
|
||||
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
|
||||
Jiri Slaby <jslaby@suse.com>,
|
||||
Chuanhong Guo <gch981213@gmail.com>,
|
||||
Eitan Cohen <eitan@neot-semadar.com>,
|
||||
Ori Gofen <origofen@gmail.com>
|
||||
Subject: [PATCH] serial: ar933x_uart: set UART_CS_{RX,TX}_READY_ORIDE
|
||||
Message-ID: <20200207095335.GA179836@makrotopia.org>
|
||||
MIME-Version: 1.0
|
||||
Content-Disposition: inline
|
||||
Sender: linux-kernel-owner@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-kernel.vger.kernel.org>
|
||||
X-Mailing-List: linux-kernel@vger.kernel.org
|
||||
|
||||
On AR934x this UART is usually not initialized by the bootloader
|
||||
as it is only used as a secondary serial port while the primary
|
||||
UART is a newly introduced NS16550-compatible.
|
||||
In order to make use of the ar933x-uart on AR934x without RTS/CTS
|
||||
hardware flow control, one needs to set the
|
||||
UART_CS_{RX,TX}_READY_ORIDE bits as other than on AR933x where this
|
||||
UART is used as primary/console, the bootloader on AR934x typically
|
||||
doesn't set those bits.
|
||||
Setting them explicitely on AR933x should not do any harm, so just
|
||||
set them unconditionally.
|
||||
|
||||
Tested-by: Chuanhong Guo <gch981213@gmail.com>
|
||||
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
---
|
||||
drivers/tty/serial/ar933x_uart.c | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
--- a/drivers/tty/serial/ar933x_uart.c
|
||||
+++ b/drivers/tty/serial/ar933x_uart.c
|
||||
@@ -290,6 +290,10 @@ static void ar933x_uart_set_termios(stru
|
||||
ar933x_uart_rmw_set(up, AR933X_UART_CS_REG,
|
||||
AR933X_UART_CS_TX_READY_ORIDE | AR933X_UART_CS_RX_READY_ORIDE);
|
||||
|
||||
+ /* enable RX and TX ready overide */
|
||||
+ ar933x_uart_rmw_set(up, AR933X_UART_CS_REG,
|
||||
+ AR933X_UART_CS_TX_READY_ORIDE | AR933X_UART_CS_RX_READY_ORIDE);
|
||||
+
|
||||
/* reenable the UART */
|
||||
ar933x_uart_rmw(up, AR933X_UART_CS_REG,
|
||||
AR933X_UART_CS_IF_MODE_M << AR933X_UART_CS_IF_MODE_S,
|
||||
@@ -424,6 +428,10 @@ static int ar933x_uart_startup(struct ua
|
||||
|
||||
/* enable RX and TX ready overide */
|
||||
ar933x_uart_rmw_set(up, AR933X_UART_CS_REG,
|
||||
+ AR933X_UART_CS_TX_READY_ORIDE | AR933X_UART_CS_RX_READY_ORIDE);
|
||||
+
|
||||
+ /* enable RX and TX ready overide */
|
||||
+ ar933x_uart_rmw_set(up, AR933X_UART_CS_REG,
|
||||
AR933X_UART_CS_TX_READY_ORIDE | AR933X_UART_CS_RX_READY_ORIDE);
|
||||
|
||||
/* Enable RX interrupts */
|
@ -160,7 +160,7 @@ v2: use bool to indicate ongoing half-duplex send, use it afterwards
|
||||
}
|
||||
|
||||
static void ar933x_uart_break_ctl(struct uart_port *port, int break_state)
|
||||
@@ -340,11 +397,20 @@ static void ar933x_uart_rx_chars(struct
|
||||
@@ -336,11 +393,20 @@ static void ar933x_uart_rx_chars(struct
|
||||
static void ar933x_uart_tx_chars(struct ar933x_uart_port *up)
|
||||
{
|
||||
struct circ_buf *xmit = &up->port.state->xmit;
|
||||
@ -181,7 +181,7 @@ v2: use bool to indicate ongoing half-duplex send, use it afterwards
|
||||
count = up->port.fifosize;
|
||||
do {
|
||||
unsigned int rdata;
|
||||
@@ -372,8 +438,14 @@ static void ar933x_uart_tx_chars(struct
|
||||
@@ -368,8 +434,14 @@ static void ar933x_uart_tx_chars(struct
|
||||
if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS)
|
||||
uart_write_wakeup(&up->port);
|
||||
|
||||
@ -197,7 +197,7 @@ v2: use bool to indicate ongoing half-duplex send, use it afterwards
|
||||
}
|
||||
|
||||
static irqreturn_t ar933x_uart_interrupt(int irq, void *dev_id)
|
||||
@@ -435,8 +507,7 @@ static int ar933x_uart_startup(struct ua
|
||||
@@ -427,8 +499,7 @@ static int ar933x_uart_startup(struct ua
|
||||
AR933X_UART_CS_TX_READY_ORIDE | AR933X_UART_CS_RX_READY_ORIDE);
|
||||
|
||||
/* Enable RX interrupts */
|
||||
@ -207,7 +207,7 @@ v2: use bool to indicate ongoing half-duplex send, use it afterwards
|
||||
|
||||
spin_unlock_irqrestore(&up->port.lock, flags);
|
||||
|
||||
@@ -519,6 +590,21 @@ static const struct uart_ops ar933x_uart
|
||||
@@ -511,6 +582,21 @@ static const struct uart_ops ar933x_uart
|
||||
.verify_port = ar933x_uart_verify_port,
|
||||
};
|
||||
|
||||
@ -229,7 +229,7 @@ v2: use bool to indicate ongoing half-duplex send, use it afterwards
|
||||
#ifdef CONFIG_SERIAL_AR933X_CONSOLE
|
||||
static struct ar933x_uart_port *
|
||||
ar933x_console_ports[CONFIG_SERIAL_AR933X_NR_UARTS];
|
||||
@@ -688,6 +774,8 @@ static int ar933x_uart_probe(struct plat
|
||||
@@ -680,6 +766,8 @@ static int ar933x_uart_probe(struct plat
|
||||
goto err_disable_clk;
|
||||
}
|
||||
|
||||
@ -238,7 +238,7 @@ v2: use bool to indicate ongoing half-duplex send, use it afterwards
|
||||
port->mapbase = mem_res->start;
|
||||
port->line = id;
|
||||
port->irq = irq_res->start;
|
||||
@@ -698,6 +786,7 @@ static int ar933x_uart_probe(struct plat
|
||||
@@ -690,6 +778,7 @@ static int ar933x_uart_probe(struct plat
|
||||
port->regshift = 2;
|
||||
port->fifosize = AR933X_UART_FIFO_SIZE;
|
||||
port->ops = &ar933x_uart_ops;
|
||||
@ -246,7 +246,7 @@ v2: use bool to indicate ongoing half-duplex send, use it afterwards
|
||||
|
||||
baud = ar933x_uart_get_baud(port->uartclk, AR933X_UART_MAX_SCALE, 1);
|
||||
up->min_baud = max_t(unsigned int, baud, AR933X_UART_MIN_BAUD);
|
||||
@@ -705,6 +794,18 @@ static int ar933x_uart_probe(struct plat
|
||||
@@ -697,6 +786,18 @@ static int ar933x_uart_probe(struct plat
|
||||
baud = ar933x_uart_get_baud(port->uartclk, 0, AR933X_UART_MAX_STEP);
|
||||
up->max_baud = min_t(unsigned int, baud, AR933X_UART_MAX_BAUD);
|
||||
|
||||
|
@ -706,7 +706,7 @@
|
||||
EXPORT_SYMBOL(xfrm_parse_spi);
|
||||
--- a/net/ipv4/tcp_input.c
|
||||
+++ b/net/ipv4/tcp_input.c
|
||||
@@ -3972,14 +3972,16 @@ static bool tcp_parse_aligned_timestamp(
|
||||
@@ -3975,14 +3975,16 @@ static bool tcp_parse_aligned_timestamp(
|
||||
{
|
||||
const __be32 *ptr = (const __be32 *)(th + 1);
|
||||
|
||||
|
@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
#define USB_VENDOR_ID_BELKIN 0x050d
|
||||
#define USB_DEVICE_ID_FLIP_KVM 0x3201
|
||||
|
||||
@@ -1253,6 +1256,9 @@
|
||||
@@ -1254,6 +1257,9 @@
|
||||
#define USB_VENDOR_ID_XAT 0x2505
|
||||
#define USB_DEVICE_ID_XAT_CSR 0x0220
|
||||
|
||||
|
@ -19,7 +19,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
|
||||
--- a/arch/arm64/mm/init.c
|
||||
+++ b/arch/arm64/mm/init.c
|
||||
@@ -187,7 +187,7 @@ static void __init zone_sizes_init(unsig
|
||||
@@ -181,7 +181,7 @@ static void __init zone_sizes_init(unsig
|
||||
unsigned long max_zone_pfns[MAX_NR_ZONES] = {0};
|
||||
|
||||
#ifdef CONFIG_ZONE_DMA32
|
||||
|
@ -18,16 +18,16 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
|
||||
--- a/arch/arm64/mm/init.c
|
||||
+++ b/arch/arm64/mm/init.c
|
||||
@@ -56,7 +56,7 @@ EXPORT_SYMBOL(physvirt_offset);
|
||||
struct page *vmemmap __ro_after_init;
|
||||
EXPORT_SYMBOL(vmemmap);
|
||||
@@ -50,7 +50,7 @@
|
||||
s64 memstart_addr __ro_after_init = -1;
|
||||
EXPORT_SYMBOL(memstart_addr);
|
||||
|
||||
-phys_addr_t arm64_dma_phys_limit __ro_after_init;
|
||||
+phys_addr_t arm64_dma32_phys_limit __ro_after_init;
|
||||
|
||||
#ifdef CONFIG_KEXEC_CORE
|
||||
/*
|
||||
@@ -174,7 +174,7 @@ static void __init reserve_elfcorehdr(vo
|
||||
@@ -168,7 +168,7 @@ static void __init reserve_elfcorehdr(vo
|
||||
* currently assumes that for memory starting above 4G, 32-bit devices will
|
||||
* use a DMA offset.
|
||||
*/
|
||||
@ -36,7 +36,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
{
|
||||
phys_addr_t offset = memblock_start_of_DRAM() & GENMASK_ULL(63, 32);
|
||||
return min(offset + (1ULL << 32), memblock_end_of_DRAM());
|
||||
@@ -187,7 +187,7 @@ static void __init zone_sizes_init(unsig
|
||||
@@ -181,7 +181,7 @@ static void __init zone_sizes_init(unsig
|
||||
unsigned long max_zone_pfns[MAX_NR_ZONES] = {0};
|
||||
|
||||
#ifdef CONFIG_ZONE_DMA32
|
||||
@ -45,7 +45,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
#endif
|
||||
max_zone_pfns[ZONE_NORMAL] = max;
|
||||
|
||||
@@ -200,16 +200,16 @@ static void __init zone_sizes_init(unsig
|
||||
@@ -194,16 +194,16 @@ static void __init zone_sizes_init(unsig
|
||||
{
|
||||
struct memblock_region *reg;
|
||||
unsigned long zone_size[MAX_NR_ZONES], zhole_size[MAX_NR_ZONES];
|
||||
@ -66,7 +66,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
|
||||
memcpy(zhole_size, zone_size, sizeof(zhole_size));
|
||||
|
||||
@@ -221,14 +221,14 @@ static void __init zone_sizes_init(unsig
|
||||
@@ -215,14 +215,14 @@ static void __init zone_sizes_init(unsig
|
||||
continue;
|
||||
|
||||
#ifdef CONFIG_ZONE_DMA32
|
||||
@ -85,7 +85,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
zhole_size[ZONE_NORMAL] -= normal_end - normal_start;
|
||||
}
|
||||
}
|
||||
@@ -420,9 +420,9 @@ void __init arm64_memblock_init(void)
|
||||
@@ -410,9 +410,9 @@ void __init arm64_memblock_init(void)
|
||||
|
||||
/* 4GB maximum for 32-bit only capable devices */
|
||||
if (IS_ENABLED(CONFIG_ZONE_DMA32))
|
||||
@ -97,7 +97,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
|
||||
reserve_crashkernel();
|
||||
|
||||
@@ -430,7 +430,7 @@ void __init arm64_memblock_init(void)
|
||||
@@ -420,7 +420,7 @@ void __init arm64_memblock_init(void)
|
||||
|
||||
high_memory = __va(memblock_end_of_DRAM() - 1) + 1;
|
||||
|
||||
@ -106,7 +106,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
}
|
||||
|
||||
void __init bootmem_init(void)
|
||||
@@ -534,7 +534,7 @@ static void __init free_unused_memmap(vo
|
||||
@@ -524,7 +524,7 @@ static void __init free_unused_memmap(vo
|
||||
void __init mem_init(void)
|
||||
{
|
||||
if (swiotlb_force == SWIOTLB_FORCE ||
|
||||
|
@ -51,9 +51,9 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
#endif
|
||||
--- a/arch/arm64/mm/init.c
|
||||
+++ b/arch/arm64/mm/init.c
|
||||
@@ -56,6 +56,13 @@ EXPORT_SYMBOL(physvirt_offset);
|
||||
struct page *vmemmap __ro_after_init;
|
||||
EXPORT_SYMBOL(vmemmap);
|
||||
@@ -50,6 +50,13 @@
|
||||
s64 memstart_addr __ro_after_init = -1;
|
||||
EXPORT_SYMBOL(memstart_addr);
|
||||
|
||||
+/*
|
||||
+ * We create both ZONE_DMA and ZONE_DMA32. ZONE_DMA covers the first 1G of
|
||||
@ -65,7 +65,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
phys_addr_t arm64_dma32_phys_limit __ro_after_init;
|
||||
|
||||
#ifdef CONFIG_KEXEC_CORE
|
||||
@@ -169,15 +176,16 @@ static void __init reserve_elfcorehdr(vo
|
||||
@@ -163,15 +170,16 @@ static void __init reserve_elfcorehdr(vo
|
||||
{
|
||||
}
|
||||
#endif /* CONFIG_CRASH_DUMP */
|
||||
@ -88,7 +88,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
}
|
||||
|
||||
#ifdef CONFIG_NUMA
|
||||
@@ -186,6 +194,9 @@ static void __init zone_sizes_init(unsig
|
||||
@@ -180,6 +188,9 @@ static void __init zone_sizes_init(unsig
|
||||
{
|
||||
unsigned long max_zone_pfns[MAX_NR_ZONES] = {0};
|
||||
|
||||
@ -98,7 +98,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
#ifdef CONFIG_ZONE_DMA32
|
||||
max_zone_pfns[ZONE_DMA32] = PFN_DOWN(arm64_dma32_phys_limit);
|
||||
#endif
|
||||
@@ -201,13 +212,18 @@ static void __init zone_sizes_init(unsig
|
||||
@@ -195,13 +206,18 @@ static void __init zone_sizes_init(unsig
|
||||
struct memblock_region *reg;
|
||||
unsigned long zone_size[MAX_NR_ZONES], zhole_size[MAX_NR_ZONES];
|
||||
unsigned long max_dma32 = min;
|
||||
@ -119,7 +119,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
#endif
|
||||
zone_size[ZONE_NORMAL] = max - max_dma32;
|
||||
|
||||
@@ -219,11 +235,17 @@ static void __init zone_sizes_init(unsig
|
||||
@@ -213,11 +229,17 @@ static void __init zone_sizes_init(unsig
|
||||
|
||||
if (start >= max)
|
||||
continue;
|
||||
@ -140,7 +140,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
}
|
||||
#endif
|
||||
if (end > max_dma32) {
|
||||
@@ -418,9 +440,11 @@ void __init arm64_memblock_init(void)
|
||||
@@ -408,9 +430,11 @@ void __init arm64_memblock_init(void)
|
||||
|
||||
early_init_fdt_scan_reserved_mem();
|
||||
|
||||
@ -154,7 +154,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
else
|
||||
arm64_dma32_phys_limit = PHYS_MASK + 1;
|
||||
|
||||
@@ -430,7 +454,7 @@ void __init arm64_memblock_init(void)
|
||||
@@ -420,7 +444,7 @@ void __init arm64_memblock_init(void)
|
||||
|
||||
high_memory = __va(memblock_end_of_DRAM() - 1) + 1;
|
||||
|
||||
@ -163,7 +163,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
}
|
||||
|
||||
void __init bootmem_init(void)
|
||||
@@ -534,7 +558,7 @@ static void __init free_unused_memmap(vo
|
||||
@@ -524,7 +548,7 @@ static void __init free_unused_memmap(vo
|
||||
void __init mem_init(void)
|
||||
{
|
||||
if (swiotlb_force == SWIOTLB_FORCE ||
|
||||
|
@ -50,7 +50,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
/*
|
||||
* We need to be able to catch inadvertent references to memstart_addr
|
||||
* that occur (potentially in generic code) before arm64_memblock_init()
|
||||
@@ -440,8 +443,10 @@ void __init arm64_memblock_init(void)
|
||||
@@ -430,8 +433,10 @@ void __init arm64_memblock_init(void)
|
||||
|
||||
early_init_fdt_scan_reserved_mem();
|
||||
|
||||
|
@ -24,7 +24,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
|
||||
--- a/arch/arm64/mm/init.c
|
||||
+++ b/arch/arm64/mm/init.c
|
||||
@@ -91,7 +91,7 @@ static void __init reserve_crashkernel(v
|
||||
@@ -85,7 +85,7 @@ static void __init reserve_crashkernel(v
|
||||
|
||||
if (crash_base == 0) {
|
||||
/* Current arm64 boot protocol requires 2MB alignment */
|
||||
@ -33,7 +33,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
crash_size, SZ_2M);
|
||||
if (crash_base == 0) {
|
||||
pr_warn("cannot allocate crashkernel (size:0x%llx)\n",
|
||||
@@ -459,7 +459,7 @@ void __init arm64_memblock_init(void)
|
||||
@@ -449,7 +449,7 @@ void __init arm64_memblock_init(void)
|
||||
|
||||
high_memory = __va(memblock_end_of_DRAM() - 1) + 1;
|
||||
|
||||
|
@ -50,7 +50,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
|
||||
--- a/arch/arm64/mm/init.c
|
||||
+++ b/arch/arm64/mm/init.c
|
||||
@@ -214,15 +214,14 @@ static void __init zone_sizes_init(unsig
|
||||
@@ -208,15 +208,14 @@ static void __init zone_sizes_init(unsig
|
||||
{
|
||||
struct memblock_region *reg;
|
||||
unsigned long zone_size[MAX_NR_ZONES], zhole_size[MAX_NR_ZONES];
|
||||
@ -69,7 +69,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
||||
#endif
|
||||
#ifdef CONFIG_ZONE_DMA32
|
||||
max_dma32 = PFN_DOWN(arm64_dma32_phys_limit);
|
||||
@@ -236,25 +235,23 @@ static void __init zone_sizes_init(unsig
|
||||
@@ -230,25 +229,23 @@ static void __init zone_sizes_init(unsig
|
||||
unsigned long start = memblock_region_memory_base_pfn(reg);
|
||||
unsigned long end = memblock_region_memory_end_pfn(reg);
|
||||
|
||||
|
@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
device, it has to decide which ones to send first, which ones to
|
||||
--- a/net/sched/sch_api.c
|
||||
+++ b/net/sched/sch_api.c
|
||||
@@ -2271,7 +2271,7 @@ static int __init pktsched_init(void)
|
||||
@@ -2272,7 +2272,7 @@ static int __init pktsched_init(void)
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -136,7 +136,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
#include <net/protocol.h>
|
||||
#include <net/dst.h>
|
||||
@@ -545,6 +546,22 @@ skb_fail:
|
||||
@@ -549,6 +550,22 @@ skb_fail:
|
||||
}
|
||||
EXPORT_SYMBOL(__napi_alloc_skb);
|
||||
|
||||
|
@ -17,7 +17,7 @@ Signed-off-by: Florian Fainelli <florian@openwrt.org>
|
||||
|
||||
--- a/drivers/usb/host/ehci-hcd.c
|
||||
+++ b/drivers/usb/host/ehci-hcd.c
|
||||
@@ -639,7 +639,7 @@ static int ehci_run (struct usb_hcd *hcd
|
||||
@@ -651,7 +651,7 @@ static int ehci_run (struct usb_hcd *hcd
|
||||
"USB %x.%x started, EHCI %x.%02x%s\n",
|
||||
((ehci->sbrn & 0xf0)>>4), (ehci->sbrn & 0x0f),
|
||||
temp >> 8, temp & 0xff,
|
||||
@ -28,7 +28,7 @@ Signed-off-by: Florian Fainelli <florian@openwrt.org>
|
||||
&ehci->regs->intr_enable); /* Turn On Interrupts */
|
||||
--- a/drivers/usb/host/ehci-hub.c
|
||||
+++ b/drivers/usb/host/ehci-hub.c
|
||||
@@ -640,7 +640,7 @@ ehci_hub_status_data (struct usb_hcd *hc
|
||||
@@ -643,7 +643,7 @@ ehci_hub_status_data (struct usb_hcd *hc
|
||||
* always set, seem to clear PORT_OCC and PORT_CSC when writing to
|
||||
* PORT_POWER; that's surprising, but maybe within-spec.
|
||||
*/
|
||||
@ -37,7 +37,7 @@ Signed-off-by: Florian Fainelli <florian@openwrt.org>
|
||||
mask = PORT_CSC | PORT_PEC | PORT_OCC;
|
||||
else
|
||||
mask = PORT_CSC | PORT_PEC;
|
||||
@@ -1010,7 +1010,7 @@ int ehci_hub_control(
|
||||
@@ -1013,7 +1013,7 @@ int ehci_hub_control(
|
||||
if (temp & PORT_PEC)
|
||||
status |= USB_PORT_STAT_C_ENABLE << 16;
|
||||
|
||||
|
@ -267,7 +267,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
/* Some drivers may have called napi_schedule
|
||||
* prior to exhausting their budget.
|
||||
@@ -10265,6 +10324,10 @@ static int __init net_dev_init(void)
|
||||
@@ -10270,6 +10329,10 @@ static int __init net_dev_init(void)
|
||||
sd->backlog.weight = weight_p;
|
||||
}
|
||||
|
||||
|
@ -27,10 +27,22 @@ boot() {
|
||||
;;
|
||||
zyxel,nsa310b)
|
||||
path_to_hwmon='/sys/devices/platform/ocp@f1000000/f1011000.i2c/i2c-0/0-002e/hwmon/hwmon0'
|
||||
echo 2 > "$path_to_hwmon/pwm1_enable" # fan is on pwm1
|
||||
echo 1 > "$path_to_hwmon/pwm1_auto_channels" # temp1 is the only one that changes
|
||||
echo 23000 > "$path_to_hwmon/temp1_auto_temp_min"
|
||||
echo 43000 > "$path_to_hwmon/temp1_auto_temp_max" # next step is 49600 millicelsius, or 50 celsius, 43 celsius is better
|
||||
# use the max. value of (temp1) OR (temp2) OR (temp3) as an input
|
||||
# for the PWM of the cooling fan
|
||||
echo 123 > "$path_to_hwmon/pwm1_auto_channels"
|
||||
# Temperature sensor #1 placed on mainboard
|
||||
echo 30000 > "$path_to_hwmon/temp1_auto_temp_min"
|
||||
echo 49600 > "$path_to_hwmon/temp1_auto_temp_max"
|
||||
# Temperature sensor #2 placed on mainboard
|
||||
# range: 0 to 127000 in steps of 1000 [millicelsius]
|
||||
echo 30000 > "$path_to_hwmon/temp2_auto_temp_min"
|
||||
# range: 0 to 127000 in steps of ???? [millicelsius]
|
||||
echo 49600 > "$path_to_hwmon/temp2_auto_temp_max"
|
||||
# Temperature sensor #3 placed close to a chipset
|
||||
# range: 0 to 60000 in steps of 1000 [millicelsius]
|
||||
echo 23000 > "$path_to_hwmon/temp3_auto_temp_min"
|
||||
# pre-defined steps: 103000, 122000, 143300, 170000 in [millicelsius]
|
||||
echo 103000 > "$path_to_hwmon/temp3_auto_temp_max"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
@ -133,12 +133,14 @@ CONFIG_GENERIC_IRQ_SHOW=y
|
||||
CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
|
||||
CONFIG_GENERIC_PCI_IOMAP=y
|
||||
CONFIG_GENERIC_PHY=y
|
||||
CONFIG_GENERIC_PINCONF=y
|
||||
CONFIG_GENERIC_SCHED_CLOCK=y
|
||||
CONFIG_GENERIC_SMP_IDLE_THREAD=y
|
||||
CONFIG_GENERIC_STRNCPY_FROM_USER=y
|
||||
CONFIG_GENERIC_STRNLEN_USER=y
|
||||
CONFIG_GLOB=y
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_GPIOLIB_IRQCHIP=y
|
||||
CONFIG_GPIO_MVEBU=y
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_GRO_CELLS=y
|
||||
|
@ -24,7 +24,7 @@ Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
|
||||
|
||||
--- a/net/core/skbuff.c
|
||||
+++ b/net/core/skbuff.c
|
||||
@@ -941,6 +941,32 @@ void napi_consume_skb(struct sk_buff *sk
|
||||
@@ -945,6 +945,32 @@ void napi_consume_skb(struct sk_buff *sk
|
||||
}
|
||||
EXPORT_SYMBOL(napi_consume_skb);
|
||||
|
||||
|
@ -32,7 +32,7 @@ Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
|
||||
+ a specific device.
|
||||
--- a/drivers/base/core.c
|
||||
+++ b/drivers/base/core.c
|
||||
@@ -1318,6 +1318,34 @@ static ssize_t online_store(struct devic
|
||||
@@ -1333,6 +1333,34 @@ static ssize_t online_store(struct devic
|
||||
}
|
||||
static DEVICE_ATTR_RW(online);
|
||||
|
||||
@ -67,7 +67,7 @@ Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
|
||||
int device_add_groups(struct device *dev, const struct attribute_group **groups)
|
||||
{
|
||||
return sysfs_create_groups(&dev->kobj, groups);
|
||||
@@ -1489,8 +1517,20 @@ static int device_add_attrs(struct devic
|
||||
@@ -1504,8 +1532,20 @@ static int device_add_attrs(struct devic
|
||||
goto err_remove_dev_groups;
|
||||
}
|
||||
|
||||
@ -88,7 +88,7 @@ Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
|
||||
err_remove_dev_groups:
|
||||
device_remove_groups(dev, dev->groups);
|
||||
err_remove_type_groups:
|
||||
@@ -1508,6 +1548,8 @@ static void device_remove_attrs(struct d
|
||||
@@ -1523,6 +1563,8 @@ static void device_remove_attrs(struct d
|
||||
struct class *class = dev->class;
|
||||
const struct device_type *type = dev->type;
|
||||
|
||||
|
@ -14,7 +14,7 @@ Signed-off-by: Poonam Aggrwal <poonam.aggrwal@nxp.com>
|
||||
|
||||
--- a/arch/arm64/mm/init.c
|
||||
+++ b/arch/arm64/mm/init.c
|
||||
@@ -416,6 +416,8 @@ void __init arm64_memblock_init(void)
|
||||
@@ -406,6 +406,8 @@ void __init arm64_memblock_init(void)
|
||||
initrd_end = initrd_start + phys_initrd_size;
|
||||
}
|
||||
|
||||
@ -23,7 +23,7 @@ Signed-off-by: Poonam Aggrwal <poonam.aggrwal@nxp.com>
|
||||
early_init_fdt_scan_reserved_mem();
|
||||
|
||||
/* 4GB maximum for 32-bit only capable devices */
|
||||
@@ -426,8 +428,6 @@ void __init arm64_memblock_init(void)
|
||||
@@ -416,8 +418,6 @@ void __init arm64_memblock_init(void)
|
||||
|
||||
reserve_crashkernel();
|
||||
|
||||
|
@ -287,7 +287,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
}
|
||||
if (netif_is_lag_master(info->upper_dev)) {
|
||||
if (info->linking)
|
||||
@@ -2011,6 +2034,7 @@ int ocelot_probe_port(struct ocelot *oce
|
||||
@@ -2009,6 +2032,7 @@ int ocelot_probe_port(struct ocelot *oce
|
||||
{
|
||||
struct ocelot_port *ocelot_port;
|
||||
struct net_device *dev;
|
||||
@ -295,7 +295,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
int err;
|
||||
|
||||
dev = alloc_etherdev(sizeof(struct ocelot_port));
|
||||
@@ -2046,7 +2070,15 @@ int ocelot_probe_port(struct ocelot *oce
|
||||
@@ -2044,7 +2068,15 @@ int ocelot_probe_port(struct ocelot *oce
|
||||
}
|
||||
|
||||
/* Basic L2 initialization */
|
||||
|
@ -231,7 +231,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
info->upper_dev);
|
||||
}
|
||||
break;
|
||||
@@ -2140,7 +2133,7 @@ int ocelot_probe_port(struct ocelot *oce
|
||||
@@ -2138,7 +2131,7 @@ int ocelot_probe_port(struct ocelot *oce
|
||||
REW_PORT_VLAN_CFG, port);
|
||||
|
||||
/* Enable vcap lookups */
|
||||
|
@ -707,7 +707,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
}
|
||||
if (netif_is_lag_master(info->upper_dev)) {
|
||||
if (info->linking)
|
||||
@@ -2084,21 +2110,23 @@ int ocelot_probe_port(struct ocelot *oce
|
||||
@@ -2082,21 +2108,23 @@ int ocelot_probe_port(struct ocelot *oce
|
||||
void __iomem *regs,
|
||||
struct phy_device *phy)
|
||||
{
|
||||
|
@ -15,7 +15,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/ethernet/mscc/ocelot.c
|
||||
+++ b/drivers/net/ethernet/mscc/ocelot.c
|
||||
@@ -2137,6 +2137,28 @@ static int ocelot_init_timestamp(struct
|
||||
@@ -2135,6 +2135,28 @@ static int ocelot_init_timestamp(struct
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -44,7 +44,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
int ocelot_probe_port(struct ocelot *ocelot, u8 port,
|
||||
void __iomem *regs,
|
||||
struct phy_device *phy)
|
||||
@@ -2144,7 +2166,6 @@ int ocelot_probe_port(struct ocelot *oce
|
||||
@@ -2142,7 +2164,6 @@ int ocelot_probe_port(struct ocelot *oce
|
||||
struct ocelot_port_private *priv;
|
||||
struct ocelot_port *ocelot_port;
|
||||
struct net_device *dev;
|
||||
@ -52,7 +52,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
int err;
|
||||
|
||||
dev = alloc_etherdev(sizeof(struct ocelot_port_private));
|
||||
@@ -2172,32 +2193,14 @@ int ocelot_probe_port(struct ocelot *oce
|
||||
@@ -2170,32 +2191,14 @@ int ocelot_probe_port(struct ocelot *oce
|
||||
ocelot_mact_learn(ocelot, PGID_CPU, dev->dev_addr, ocelot_port->pvid,
|
||||
ENTRYTYPE_LOCKED);
|
||||
|
||||
|
@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/ethernet/mscc/ocelot.c
|
||||
+++ b/drivers/net/ethernet/mscc/ocelot.c
|
||||
@@ -2247,6 +2247,7 @@ int ocelot_init(struct ocelot *ocelot)
|
||||
@@ -2245,6 +2245,7 @@ int ocelot_init(struct ocelot *ocelot)
|
||||
if (!ocelot->stats_queue)
|
||||
return -ENOMEM;
|
||||
|
||||
|
@ -32,7 +32,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
/* Set vlan ingress filter mask to all ports but the CPU port by
|
||||
* default.
|
||||
*/
|
||||
@@ -2228,11 +2222,52 @@ int ocelot_probe_port(struct ocelot *oce
|
||||
@@ -2226,11 +2220,52 @@ int ocelot_probe_port(struct ocelot *oce
|
||||
}
|
||||
EXPORT_SYMBOL(ocelot_probe_port);
|
||||
|
||||
@ -87,7 +87,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
ocelot->lags = devm_kcalloc(ocelot->dev, ocelot->num_phys_ports,
|
||||
sizeof(u32), GFP_KERNEL);
|
||||
@@ -2312,13 +2347,6 @@ int ocelot_init(struct ocelot *ocelot)
|
||||
@@ -2310,13 +2345,6 @@ int ocelot_init(struct ocelot *ocelot)
|
||||
ocelot_write_rix(ocelot, 0, ANA_PGID_PGID, PGID_SRC + port);
|
||||
}
|
||||
|
||||
@ -101,7 +101,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
/* Allow broadcast MAC frames. */
|
||||
for (i = ocelot->num_phys_ports + 1; i < PGID_CPU; i++) {
|
||||
u32 val = ANA_PGID_PGID_PGID(GENMASK(ocelot->num_phys_ports - 1, 0));
|
||||
@@ -2331,13 +2359,6 @@ int ocelot_init(struct ocelot *ocelot)
|
||||
@@ -2329,13 +2357,6 @@ int ocelot_init(struct ocelot *ocelot)
|
||||
ocelot_write_rix(ocelot, 0, ANA_PGID_PGID, PGID_MCIPV4);
|
||||
ocelot_write_rix(ocelot, 0, ANA_PGID_PGID, PGID_MCIPV6);
|
||||
|
||||
|
@ -98,7 +98,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
}
|
||||
|
||||
static void ocelot_port_adjust_link(struct net_device *dev)
|
||||
@@ -2145,11 +2104,53 @@ static int ocelot_init_timestamp(struct
|
||||
@@ -2143,11 +2102,53 @@ static int ocelot_init_timestamp(struct
|
||||
static void ocelot_init_port(struct ocelot *ocelot, int port)
|
||||
{
|
||||
struct ocelot_port *ocelot_port = ocelot->ports[port];
|
||||
|
@ -20,7 +20,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/ethernet/mscc/ocelot.c
|
||||
+++ b/drivers/net/ethernet/mscc/ocelot.c
|
||||
@@ -2101,11 +2101,32 @@ static int ocelot_init_timestamp(struct
|
||||
@@ -2099,11 +2099,32 @@ static int ocelot_init_timestamp(struct
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -54,7 +54,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
INIT_LIST_HEAD(&ocelot_port->skbs);
|
||||
|
||||
/* Basic L2 initialization */
|
||||
@@ -2126,8 +2147,7 @@ static void ocelot_init_port(struct ocel
|
||||
@@ -2124,8 +2145,7 @@ static void ocelot_init_port(struct ocel
|
||||
DEV_MAC_HDX_CFG);
|
||||
|
||||
/* Set Max Length and maximum tags allowed */
|
||||
@ -64,7 +64,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
ocelot_port_writel(ocelot_port, DEV_MAC_TAGS_CFG_TAG_ID(ETH_P_8021AD) |
|
||||
DEV_MAC_TAGS_CFG_VLAN_AWR_ENA |
|
||||
DEV_MAC_TAGS_CFG_VLAN_LEN_AWR_ENA,
|
||||
@@ -2137,20 +2157,6 @@ static void ocelot_init_port(struct ocel
|
||||
@@ -2135,20 +2155,6 @@ static void ocelot_init_port(struct ocel
|
||||
ocelot_port_writel(ocelot_port, 0, DEV_MAC_FC_MAC_HIGH_CFG);
|
||||
ocelot_port_writel(ocelot_port, 0, DEV_MAC_FC_MAC_LOW_CFG);
|
||||
|
||||
|
@ -22,7 +22,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/ethernet/mscc/ocelot.c
|
||||
+++ b/drivers/net/ethernet/mscc/ocelot.c
|
||||
@@ -2234,9 +2234,18 @@ void ocelot_set_cpu_port(struct ocelot *
|
||||
@@ -2232,9 +2232,18 @@ void ocelot_set_cpu_port(struct ocelot *
|
||||
* Only one port can be an NPI at the same time.
|
||||
*/
|
||||
if (cpu < ocelot->num_phys_ports) {
|
||||
|
@ -20,7 +20,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/ethernet/mscc/ocelot.c
|
||||
+++ b/drivers/net/ethernet/mscc/ocelot.c
|
||||
@@ -2273,6 +2273,14 @@ int ocelot_init(struct ocelot *ocelot)
|
||||
@@ -2271,6 +2271,14 @@ int ocelot_init(struct ocelot *ocelot)
|
||||
int i, ret;
|
||||
u32 port;
|
||||
|
||||
|
@ -329,7 +329,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
static void ocelot_set_aggr_pgids(struct ocelot *ocelot)
|
||||
{
|
||||
@@ -2123,7 +2136,7 @@ static void ocelot_port_set_mtu(struct o
|
||||
@@ -2121,7 +2134,7 @@ static void ocelot_port_set_mtu(struct o
|
||||
ocelot_write(ocelot, ocelot_wm_enc(atop_wm), SYS_ATOP_TOT_CFG);
|
||||
}
|
||||
|
||||
@ -338,7 +338,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
{
|
||||
struct ocelot_port *ocelot_port = ocelot->ports[port];
|
||||
|
||||
@@ -2170,6 +2183,7 @@ static void ocelot_init_port(struct ocel
|
||||
@@ -2168,6 +2181,7 @@ static void ocelot_init_port(struct ocel
|
||||
/* Enable vcap lookups */
|
||||
ocelot_vcap_enable(ocelot, port);
|
||||
}
|
||||
|
@ -96,7 +96,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(ocelot_get_txtstamp);
|
||||
@@ -2210,7 +2201,7 @@ void ocelot_init_port(struct ocelot *oce
|
||||
@@ -2208,7 +2199,7 @@ void ocelot_init_port(struct ocelot *oce
|
||||
{
|
||||
struct ocelot_port *ocelot_port = ocelot->ports[port];
|
||||
|
||||
@ -105,7 +105,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
/* Basic L2 initialization */
|
||||
|
||||
@@ -2495,9 +2486,7 @@ EXPORT_SYMBOL(ocelot_init);
|
||||
@@ -2493,9 +2484,7 @@ EXPORT_SYMBOL(ocelot_init);
|
||||
|
||||
void ocelot_deinit(struct ocelot *ocelot)
|
||||
{
|
||||
@ -115,7 +115,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
int i;
|
||||
|
||||
cancel_delayed_work(&ocelot->stats_work);
|
||||
@@ -2509,14 +2498,7 @@ void ocelot_deinit(struct ocelot *ocelot
|
||||
@@ -2507,14 +2496,7 @@ void ocelot_deinit(struct ocelot *ocelot
|
||||
|
||||
for (i = 0; i < ocelot->num_phys_ports; i++) {
|
||||
port = ocelot->ports[i];
|
||||
|
@ -41,7 +41,7 @@ Signed-off-by: Xiaoliang Yang <xiaoliang.yang_1@nxp.com>
|
||||
ocelot_write_rix(ocelot, val, ANA_PGID_PGID, i);
|
||||
|
||||
__dev_mc_sync(dev, ocelot_mc_sync, ocelot_mc_unsync);
|
||||
@@ -2412,10 +2412,11 @@ int ocelot_init(struct ocelot *ocelot)
|
||||
@@ -2410,10 +2410,11 @@ int ocelot_init(struct ocelot *ocelot)
|
||||
SYS_FRM_AGING_MAX_AGE(307692), SYS_FRM_AGING);
|
||||
|
||||
/* Setup flooding PGIDs */
|
||||
|
@ -14,7 +14,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
|
||||
--- a/drivers/net/ethernet/mscc/ocelot.c
|
||||
+++ b/drivers/net/ethernet/mscc/ocelot.c
|
||||
@@ -2342,6 +2342,20 @@ void ocelot_set_cpu_port(struct ocelot *
|
||||
@@ -2340,6 +2340,20 @@ void ocelot_set_cpu_port(struct ocelot *
|
||||
}
|
||||
EXPORT_SYMBOL(ocelot_set_cpu_port);
|
||||
|
||||
@ -35,7 +35,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
int ocelot_init(struct ocelot *ocelot)
|
||||
{
|
||||
char queue_name[32];
|
||||
@@ -2479,6 +2493,13 @@ int ocelot_init(struct ocelot *ocelot)
|
||||
@@ -2477,6 +2491,13 @@ int ocelot_init(struct ocelot *ocelot)
|
||||
"Timestamp initialization failed\n");
|
||||
return ret;
|
||||
}
|
||||
@ -49,7 +49,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -2493,6 +2514,8 @@ void ocelot_deinit(struct ocelot *ocelot
|
||||
@@ -2491,6 +2512,8 @@ void ocelot_deinit(struct ocelot *ocelot
|
||||
cancel_delayed_work(&ocelot->stats_work);
|
||||
destroy_workqueue(ocelot->stats_queue);
|
||||
mutex_destroy(&ocelot->stats_lock);
|
||||
|
@ -128,7 +128,7 @@ Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
|
||||
|
||||
--- a/drivers/net/ethernet/mscc/ocelot.c
|
||||
+++ b/drivers/net/ethernet/mscc/ocelot.c
|
||||
@@ -2296,6 +2296,18 @@ void ocelot_set_cpu_port(struct ocelot *
|
||||
@@ -2294,6 +2294,18 @@ void ocelot_set_cpu_port(struct ocelot *
|
||||
enum ocelot_tag_prefix injection,
|
||||
enum ocelot_tag_prefix extraction)
|
||||
{
|
||||
|
@ -163,7 +163,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
||||
|
||||
--- a/drivers/usb/host/ehci-hcd.c
|
||||
+++ b/drivers/usb/host/ehci-hcd.c
|
||||
@@ -1233,6 +1233,10 @@ static const struct hc_driver ehci_hc_dr
|
||||
@@ -1245,6 +1245,10 @@ static const struct hc_driver ehci_hc_dr
|
||||
* device support
|
||||
*/
|
||||
.free_dev = ehci_remove_device,
|
||||
@ -176,7 +176,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
||||
void ehci_init_driver(struct hc_driver *drv,
|
||||
--- a/drivers/usb/host/ehci-hub.c
|
||||
+++ b/drivers/usb/host/ehci-hub.c
|
||||
@@ -724,145 +724,6 @@ ehci_hub_descriptor (
|
||||
@@ -727,145 +727,6 @@ ehci_hub_descriptor (
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
@ -42,7 +42,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
||||
retval = xhci_enter_test_mode(xhci, test_mode, wIndex,
|
||||
--- a/drivers/usb/host/xhci-ring.c
|
||||
+++ b/drivers/usb/host/xhci-ring.c
|
||||
@@ -3580,6 +3580,129 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
|
||||
@@ -3582,6 +3582,129 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -50,31 +50,30 @@
|
||||
};
|
||||
|
||||
thermal-zones {
|
||||
chassis-thermal {
|
||||
hdd-thermal {
|
||||
polling-delay = <20000>;
|
||||
polling-delay-passive = <2000>;
|
||||
|
||||
thermal-sensors = <&hdd0_temp>, <&hdd1_temp>;
|
||||
coefficients = <1 1>;
|
||||
thermal-sensors = <&hdd0_temp>; /* only one drivetemp sensor is supported */
|
||||
|
||||
trips {
|
||||
chassis_alert1: chassis-alert1 {
|
||||
hdd_alert1: trip1 {
|
||||
temperature = <36000>;
|
||||
hysteresis = <2000>;
|
||||
type = "active";
|
||||
};
|
||||
chassis_alert2: chassis-alert2 {
|
||||
temperature = <46000>;
|
||||
hdd_alert2: trip2 {
|
||||
temperature = <44000>;
|
||||
hysteresis = <2000>;
|
||||
type = "active";
|
||||
};
|
||||
chassis_alert3: chassis-alert3 {
|
||||
temperature = <56000>;
|
||||
hdd_alert3: trip3 {
|
||||
temperature = <52000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
chassis_crit: chassis-crit {
|
||||
temperature = <66000>;
|
||||
hdd_crit: trip4 {
|
||||
temperature = <60000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
@ -82,19 +81,48 @@
|
||||
|
||||
cooling-maps {
|
||||
map1 {
|
||||
trip = <&chassis_alert1>;
|
||||
trip = <&hdd_alert1>;
|
||||
cooling-device = <&system_fan THERMAL_NO_LIMIT 1>;
|
||||
};
|
||||
map2 {
|
||||
trip = <&chassis_alert2>;
|
||||
trip = <&hdd_alert2>;
|
||||
cooling-device = <&system_fan 2 2>;
|
||||
};
|
||||
map3 {
|
||||
trip = <&chassis_alert3>;
|
||||
trip = <&hdd_alert3>;
|
||||
cooling-device = <&system_fan 3 THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ethphy-thermal {
|
||||
polling-delay = <20000>;
|
||||
polling-delay-passive = <2000>;
|
||||
|
||||
thermal-sensors = <ðphy0>;
|
||||
|
||||
trips {
|
||||
ethphy_alert1: trip1 {
|
||||
temperature = <65000>;
|
||||
hysteresis = <4000>;
|
||||
type = "passive";
|
||||
};
|
||||
|
||||
ethphy_crit: trip2 {
|
||||
temperature = <100000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
map1 {
|
||||
trip = <ðphy_alert1>;
|
||||
cooling-device = <&system_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
gpio_keys {
|
||||
@ -243,6 +271,7 @@
|
||||
marvell,reg-init = <0x3 0x10 0x1 0x1991>, /* LED function */
|
||||
<0x3 0x11 0x1 0x4401>, /* LED polarity */
|
||||
<0x3 0x12 0x1 0x4905>; /* LED timer */
|
||||
#thermal-sensor-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -20,7 +20,7 @@ Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
|
||||
|
||||
--- a/drivers/gpio/gpio-mvebu.c
|
||||
+++ b/drivers/gpio/gpio-mvebu.c
|
||||
@@ -1253,7 +1253,7 @@ static int mvebu_gpio_probe(struct platf
|
||||
@@ -1248,7 +1248,7 @@ static int mvebu_gpio_probe(struct platf
|
||||
* pins.
|
||||
*/
|
||||
for (i = 0; i < 4; i++) {
|
||||
|
@ -19,6 +19,13 @@ rockchip_setup_interfaces()
|
||||
esac
|
||||
}
|
||||
|
||||
nanopi_generate_mac()
|
||||
{
|
||||
local sd_hash=$(sha256sum /sys/devices/platform/*.dwmmc/mmc_host/mmc0/mmc0:*/cid)
|
||||
local mac_base=$(macaddr_canonicalize "$(echo "${sd_hash}" | dd bs=1 count=12 2>/dev/null)")
|
||||
echo "$(macaddr_unsetbit_mc "$(macaddr_setbit_la "${mac_base}")")"
|
||||
}
|
||||
|
||||
rockchip_setup_macs()
|
||||
{
|
||||
local board="$1"
|
||||
@ -27,14 +34,11 @@ rockchip_setup_macs()
|
||||
local label_mac=""
|
||||
|
||||
case "$board" in
|
||||
friendlyarm,nanopi-r2s)
|
||||
wan_mac=$(macaddr_random)
|
||||
lan_mac=$(macaddr_add "$wan_mac" +1)
|
||||
;;
|
||||
friendlyarm,nanopi-r2s|\
|
||||
friendlyarm,nanopi-r4s-1gb|\
|
||||
friendlyarm,nanopi-r4s-4gb)
|
||||
lan_mac=$(cat /sys/class/net/eth1/address)
|
||||
wan_mac=$(macaddr_random)
|
||||
wan_mac=$(nanopi_generate_mac)
|
||||
lan_mac=$(macaddr_add "$wan_mac" +1)
|
||||
;;
|
||||
esac
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user