diff --git a/linux-6.6/rk3568_patch/kernel.patch b/linux-6.6/rk3568_patch/kernel.patch index 7c7bf730a471376ec1ff1d8c793472c180403821..310e5a3b9077d59f8a0df4cc7ba115619171515d 100644 --- a/linux-6.6/rk3568_patch/kernel.patch +++ b/linux-6.6/rk3568_patch/kernel.patch @@ -30994,7 +30994,7 @@ index 81fc63f6b..5754f87e5 100644 }; MODULE_DEVICE_TABLE(of, ahci_of_match); diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c -index f1263364f..2b7080560 100644 +index 86fa5dc7d..7ead471bb 100644 --- a/drivers/ata/libahci.c +++ b/drivers/ata/libahci.c @@ -1519,7 +1519,7 @@ int ahci_do_softreset(struct ata_link *link, unsigned int *class, @@ -37118,7 +37118,7 @@ index 642838076..5e3c95eed 100644 if (gate->lock) diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c -index f8776065a..4750323af 100644 +index 5bbd036f5..7dedc37b5 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -5545,3 +5545,274 @@ void __init of_clk_init(const struct of_device_id *matches) @@ -319125,10 +319125,10 @@ index 000000000..994b04dad +} diff --git a/drivers/gpu/arm/mali400/mali/linux/mali_osk_mali.c b/drivers/gpu/arm/mali400/mali/linux/mali_osk_mali.c new file mode 100644 -index 000000000..a729d0499 +index 000000000..5d28d0eb3 --- /dev/null +++ b/drivers/gpu/arm/mali400/mali/linux/mali_osk_mali.c -@@ -0,0 +1,505 @@ +@@ -0,0 +1,503 @@ +/* + * Copyright (C) 2010-2017 ARM Limited. All rights reserved. + * @@ -319360,8 +319360,6 @@ index 000000000..a729d0499 +void _mali_osk_device_data_pmu_config_get(u16 *domain_config_array, int array_size) +{ + struct device_node *node = mali_platform_device->dev.of_node; -+ struct property *prop; -+ const __be32 *p; + int length = 0, i = 0; + u32 u; + @@ -319378,7 +319376,7 @@ index 000000000..a729d0499 + return; + } + -+ of_property_for_each_u32(node, "pmu_domain_config", prop, p, u) { ++ of_property_for_each_u32(node, "pmu_domain_config", u) { + domain_config_array[i] = (u16)u; + i++; + } @@ -778219,7 +778217,7 @@ index afd6a1841..6d8d96b84 100644 /* * Deactivate and disable all SPIs. Leave the PPI and SGIs diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c -index b1e60c13c..8edd357eb 100644 +index a1934fe4a..aafa98ff0 100644 --- a/drivers/irqchip/irq-gic-v3-its.c +++ b/drivers/irqchip/irq-gic-v3-its.c @@ -163,6 +163,7 @@ struct its_device { @@ -778452,7 +778450,7 @@ index b1e60c13c..8edd357eb 100644 if ((tmp ^ baser) & GITS_CBASER_SHAREABILITY_MASK) { diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c -index 412196a7d..988494e27 100644 +index 2c6c50348..810ae8433 100644 --- a/drivers/irqchip/irq-gic.c +++ b/drivers/irqchip/irq-gic.c @@ -49,6 +49,10 @@ @@ -918823,7 +918821,7 @@ index 521b1b5ff..c2829dbf4 100644 } diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -index d6ee90fef..c5df85c5f 100644 +index d3d5c01f6..42d6ac280 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -147,6 +147,14 @@ static void stmmac_exit_fs(struct net_device *dev); @@ -918926,7 +918924,7 @@ index d6ee90fef..c5df85c5f 100644 break; buf1_len = 0; -@@ -7138,22 +7160,30 @@ static void stmmac_napi_add(struct net_device *dev) +@@ -7168,22 +7190,30 @@ static void stmmac_napi_add(struct net_device *dev) for (queue = 0; queue < maxq; queue++) { struct stmmac_channel *ch = &priv->channel[queue]; @@ -918962,7 +918960,7 @@ index d6ee90fef..c5df85c5f 100644 } } } -@@ -7326,6 +7356,113 @@ static const struct xdp_metadata_ops stmmac_xdp_metadata_ops = { +@@ -7356,6 +7386,113 @@ static const struct xdp_metadata_ops stmmac_xdp_metadata_ops = { .xmo_rx_timestamp = stmmac_xdp_rx_timestamp, }; @@ -919076,7 +919074,7 @@ index d6ee90fef..c5df85c5f 100644 /** * stmmac_dvr_probe * @device: device pointer -@@ -7624,6 +7761,22 @@ int stmmac_dvr_probe(struct device *device, +@@ -7654,6 +7791,22 @@ int stmmac_dvr_probe(struct device *device, goto error_netdev_register; } @@ -919099,7 +919097,7 @@ index d6ee90fef..c5df85c5f 100644 #ifdef CONFIG_DEBUG_FS stmmac_init_fs(ndev); #endif -@@ -7736,6 +7889,9 @@ int stmmac_suspend(struct device *dev) +@@ -7766,6 +7919,9 @@ int stmmac_suspend(struct device *dev) stmmac_pmt(priv, priv->hw, priv->wolopts); priv->irq_wake = 1; } else { @@ -919109,7 +919107,7 @@ index d6ee90fef..c5df85c5f 100644 stmmac_mac_set(priv, priv->ioaddr, false); pinctrl_pm_select_sleep_state(priv->device); } -@@ -7835,6 +7991,9 @@ int stmmac_resume(struct device *dev) +@@ -7865,6 +8021,9 @@ int stmmac_resume(struct device *dev) /* reset the phy so that it's ready */ if (priv->mii) stmmac_mdio_reset(priv->mii); @@ -919120,10 +919118,10 @@ index d6ee90fef..c5df85c5f 100644 if (!(priv->plat->flags & STMMAC_FLAG_SERDES_UP_AFTER_PHY_LINKUP) && diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c -index b4fdd40be..51172584c 100644 +index 4d570efd9..8644e38d1 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c -@@ -464,6 +464,9 @@ stmmac_probe_config_dt(struct platform_device *pdev, u8 *mac) +@@ -483,6 +483,9 @@ stmmac_probe_config_dt(struct platform_device *pdev, u8 *mac) of_property_read_u32(np, "rx-fifo-depth", &plat->rx_fifo_size); @@ -919133,7 +919131,7 @@ index b4fdd40be..51172584c 100644 plat->force_sf_dma_mode = of_property_read_bool(np, "snps,force_sf_dma_mode"); -@@ -572,6 +575,9 @@ stmmac_probe_config_dt(struct platform_device *pdev, u8 *mac) +@@ -591,6 +594,9 @@ stmmac_probe_config_dt(struct platform_device *pdev, u8 *mac) of_property_read_u32(np, "snps,ps-speed", &plat->mac_port_sel_speed); @@ -919143,7 +919141,7 @@ index b4fdd40be..51172584c 100644 plat->axi = stmmac_axi_setup(pdev); rc = stmmac_mtl_setup(pdev, plat); -@@ -591,7 +597,7 @@ stmmac_probe_config_dt(struct platform_device *pdev, u8 *mac) +@@ -610,7 +616,7 @@ stmmac_probe_config_dt(struct platform_device *pdev, u8 *mac) clk_prepare_enable(plat->stmmac_clk); } @@ -1802861,7 +1802859,7 @@ index 8fc8b6753..994cd56af 100644 EXPORT_SYMBOL_GPL(dw8250_setup_port); +#endif diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c -index a17803da8..bf5b436d7 100644 +index 2b1b2928e..e0aaa4fac 100644 --- a/drivers/tty/serial/8250/8250_port.c +++ b/drivers/tty/serial/8250/8250_port.c @@ -55,6 +55,7 @@ @@ -1803030,7 +1803028,7 @@ index a17803da8..bf5b436d7 100644 uart_unlock_and_check_sysrq_irqrestore(port, flags); return 1; -@@ -2445,7 +2501,11 @@ int serial8250_do_startup(struct uart_port *port) +@@ -2446,7 +2502,11 @@ int serial8250_do_startup(struct uart_port *port) if (uart_console(port)) msg = "forbid DMA for kernel console"; else if (serial8250_request_dma(up)) @@ -1803042,7 +1803040,7 @@ index a17803da8..bf5b436d7 100644 if (msg) { dev_warn_ratelimited(port->dev, "%s\n", msg); up->dma = NULL; -@@ -2648,6 +2708,9 @@ void serial8250_do_set_divisor(struct uart_port *port, unsigned int baud, +@@ -2649,6 +2709,9 @@ void serial8250_do_set_divisor(struct uart_port *port, unsigned int baud, { struct uart_8250_port *up = up_to_u8250p(port); @@ -1803052,7 +1803050,7 @@ index a17803da8..bf5b436d7 100644 /* Workaround to enable 115200 baud on OMAP1510 internal ports */ if (is_omap1510_8250(up)) { if (baud == 115200) { -@@ -2667,6 +2730,16 @@ void serial8250_do_set_divisor(struct uart_port *port, unsigned int baud, +@@ -2668,6 +2731,16 @@ void serial8250_do_set_divisor(struct uart_port *port, unsigned int baud, serial_port_out(port, UART_LCR, up->lcr | UART_LCR_DLAB); serial_dl_write(up, quot); @@ -1803069,7 +1803067,7 @@ index a17803da8..bf5b436d7 100644 } EXPORT_SYMBOL_GPL(serial8250_do_set_divisor); -@@ -2847,6 +2920,7 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios, +@@ -2848,6 +2921,7 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios, if ((termios->c_cflag & CREAD) == 0) port->ignore_status_mask |= UART_LSR_DR; @@ -1803077,7 +1803075,7 @@ index a17803da8..bf5b436d7 100644 /* * CTS flow control flag and modem status interrupts */ -@@ -2860,6 +2934,7 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios, +@@ -2861,6 +2935,7 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios, up->ier |= UART_IER_RTOIE; serial_port_out(port, UART_IER, up->ier); @@ -1803085,7 +1803083,7 @@ index a17803da8..bf5b436d7 100644 if (up->capabilities & UART_CAP_EFR) { unsigned char efr = 0; -@@ -2878,8 +2953,23 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios, +@@ -2879,8 +2954,23 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios, serial_port_out(port, UART_EFR, efr); } @@ -1803109,7 +1803107,7 @@ index a17803da8..bf5b436d7 100644 /* * LCR DLAB must be set to enable 64-byte FIFO mode. If the FCR * is written without DLAB set, this mode will be disabled. -@@ -2888,6 +2978,7 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios, +@@ -2889,6 +2979,7 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios, serial_port_out(port, UART_FCR, up->fcr); serial_port_out(port, UART_LCR, up->lcr); /* reset DLAB */ @@ -1803117,7 +1803115,7 @@ index a17803da8..bf5b436d7 100644 if (port->type != PORT_16750) { /* emulated UARTs (Lucent Venus 167x) need two steps */ if (up->fcr & UART_FCR_ENABLE_FIFO) -@@ -2895,6 +2986,21 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios, +@@ -2896,6 +2987,21 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios, serial_port_out(port, UART_FCR, up->fcr); /* set fcr */ } serial8250_set_mctrl(port, port->mctrl); @@ -1806803,7 +1806801,7 @@ index 628b75be3..695f412af 100644 obj-$(CONFIG_SERIAL_8250_IOC3) += 8250_ioc3.o obj-$(CONFIG_SERIAL_8250_OMAP) += 8250_omap.o diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index 1ba3feb5e..6a94724ab 100644 +index 0944cfae8..0e1cea4bb 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -1865,7 +1865,8 @@ static int hub_probe(struct usb_interface *intf, const struct usb_device_id *id) @@ -1906025,7 +1906023,7 @@ index 000000000..39c497774 + +#endif diff --git a/include/linux/sched.h b/include/linux/sched.h -index b98bab13f..1b437268e 100644 +index 19a464e0a..3656ac6cc 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -843,6 +843,20 @@ struct kmap_ctrl { @@ -1906049,7 +1906047,7 @@ index b98bab13f..1b437268e 100644 struct task_struct { #ifdef CONFIG_THREAD_INFO_IN_TASK /* -@@ -1664,6 +1678,10 @@ struct task_struct { +@@ -1665,6 +1679,10 @@ struct task_struct { u64 ftoken; #endif @@ -1932680,7 +1932678,7 @@ index 16c750bb9..7ee30ec9b 100644 endif diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib -index e702552fb..fb2ddfb53 100644 +index 44f20b1b8..eaec22e10 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -389,8 +389,9 @@ $(obj)/%.dtbo.S: $(obj)/%.dtbo FORCE