From 7a05ef8bf33c1929a59a0d3219c3b4e9abc410ae Mon Sep 17 00:00:00 2001 From: Yafen Date: Tue, 3 Dec 2024 09:42:23 +0800 Subject: [PATCH] RPi: update to openEuler 6.6.0-59.0.0 --- 0000-raspberrypi-kernel.patch | 195 +++++++++++++++++----------------- raspberrypi-kernel.spec | 7 +- 2 files changed, 103 insertions(+), 99 deletions(-) diff --git a/0000-raspberrypi-kernel.patch b/0000-raspberrypi-kernel.patch index 944ea67..45d7a3e 100644 --- a/0000-raspberrypi-kernel.patch +++ b/0000-raspberrypi-kernel.patch @@ -1,7 +1,7 @@ -From 165b9bc811e170edde9863a9a0d09230a0043d94 Mon Sep 17 00:00:00 2001 +From 46ff512235e3c700f5fc47176a020c251fb2e1d7 Mon Sep 17 00:00:00 2001 From: Yafen -Date: Tue, 29 Oct 2024 17:36:48 +0800 -Subject: [PATCH] apply RPi patch of 6.6.59 (openEuler 6.6.0-53.0.0) +Date: Mon, 2 Dec 2024 18:11:39 +0800 +Subject: [PATCH] apply RPi patch of 6.6.59 (openEuler 6.6.0-60.0.0) --- .../admin-guide/media/bcm2835-isp.rst | 127 + @@ -6015,7 +6015,7 @@ index 24b34cdfa6fe..44589ac3e909 100644 + pixfmt-nv24 pixfmt-m420 diff --git a/MAINTAINERS b/MAINTAINERS -index 6fc9e82a35d8..467ede1af0d6 100644 +index 008a26b0f027..b6eee668e0fa 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1569,6 +1569,22 @@ S: Maintained @@ -6071,7 +6071,7 @@ index 6fc9e82a35d8..467ede1af0d6 100644 BROADCOM BCM47XX MIPS ARCHITECTURE M: Hauke Mehrtens M: Rafał Miłecki -@@ -15892,6 +15931,14 @@ S: Maintained +@@ -15908,6 +15947,14 @@ S: Maintained T: git git://linuxtv.org/media_tree.git F: drivers/media/i2c/ov5695.c @@ -6086,7 +6086,7 @@ index 6fc9e82a35d8..467ede1af0d6 100644 OMNIVISION OV7670 SENSOR DRIVER L: linux-media@vger.kernel.org S: Orphan -@@ -17461,7 +17508,7 @@ F: drivers/video/backlight/pwm_bl.c +@@ -17477,7 +17524,7 @@ F: drivers/video/backlight/pwm_bl.c F: include/dt-bindings/pwm/ F: include/linux/pwm.h F: include/linux/pwm_backlight.h @@ -6095,7 +6095,7 @@ index 6fc9e82a35d8..467ede1af0d6 100644 PXA GPIO DRIVER M: Robert Jarzmik -@@ -18051,6 +18098,12 @@ F: drivers/ras/ +@@ -18067,6 +18114,12 @@ F: drivers/ras/ F: include/linux/ras.h F: include/ras/ras_event.h @@ -6108,7 +6108,7 @@ index 6fc9e82a35d8..467ede1af0d6 100644 RAYLINK/WEBGEAR 802.11 WIRELESS LAN DRIVER L: linux-wireless@vger.kernel.org S: Orphan -@@ -18062,6 +18115,14 @@ L: linux-edac@vger.kernel.org +@@ -18078,6 +18131,14 @@ L: linux-edac@vger.kernel.org S: Maintained F: drivers/ras/amd/fmpm.c @@ -6123,7 +6123,7 @@ index 6fc9e82a35d8..467ede1af0d6 100644 RC-CORE / LIRC FRAMEWORK M: Sean Young L: linux-media@vger.kernel.org -@@ -18659,6 +18720,13 @@ S: Supported +@@ -18675,6 +18736,13 @@ S: Supported F: drivers/iio/light/rohm-bu27008.c F: drivers/iio/light/rohm-bu27034.c @@ -6137,7 +6137,7 @@ index 6fc9e82a35d8..467ede1af0d6 100644 ROHM MULTIFUNCTION BD9571MWV-M PMIC DEVICE DRIVERS M: Marek Vasut L: linux-kernel@vger.kernel.org -@@ -20052,7 +20120,7 @@ M: Sakari Ailus +@@ -20068,7 +20136,7 @@ M: Sakari Ailus L: linux-media@vger.kernel.org S: Maintained T: git git://linuxtv.org/media_tree.git @@ -6146,7 +6146,7 @@ index 6fc9e82a35d8..467ede1af0d6 100644 F: drivers/media/i2c/imx258.c SONY IMX274 SENSOR DRIVER -@@ -20129,6 +20197,39 @@ T: git git://linuxtv.org/media_tree.git +@@ -20145,6 +20213,39 @@ T: git git://linuxtv.org/media_tree.git F: Documentation/devicetree/bindings/media/i2c/sony,imx415.yaml F: drivers/media/i2c/imx415.c @@ -55548,10 +55548,10 @@ index 7e8773a2d99d..a1ff693e49bf 100644 /* * Save the userland NEON/VFP state. Under UP, diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index 58ee09b133ac..21ae673510c6 100644 +index c11aa218c08e..8e661da1e5af 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -125,7 +125,8 @@ config ARM64 +@@ -126,7 +126,8 @@ config ARM64 select CRC32 select DCACHE_WORD_ACCESS select DYNAMIC_FTRACE if FUNCTION_TRACER @@ -55561,7 +55561,7 @@ index 58ee09b133ac..21ae673510c6 100644 select DMA_DIRECT_REMAP select EDAC_SUPPORT select FRAME_POINTER -@@ -1595,6 +1596,16 @@ config ARCH_CUSTOM_NUMA_DISTANCE +@@ -1598,6 +1599,16 @@ config ARCH_CUSTOM_NUMA_DISTANCE If unsure, say N. @@ -66044,7 +66044,7 @@ index c0436881a533..0717d12f972a 100644 if (H5_HDR_LEN(hdr) > 2) h5->tx_win = (data[2] & 0x07); diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig -index 625af75833fc..96c3c37b7577 100644 +index ea7ace87a9df..601667c291c9 100644 --- a/drivers/char/Kconfig +++ b/drivers/char/Kconfig @@ -5,6 +5,8 @@ @@ -66056,7 +66056,7 @@ index 625af75833fc..96c3c37b7577 100644 source "drivers/tty/Kconfig" config TTY_PRINTK -@@ -422,4 +424,12 @@ config ADI +@@ -442,4 +444,12 @@ config ADI and SSM (Silicon Secured Memory). Intended consumers of this driver include crash and makedumpfile. @@ -66070,10 +66070,10 @@ index 625af75833fc..96c3c37b7577 100644 + endmenu diff --git a/drivers/char/Makefile b/drivers/char/Makefile -index c5f532e412f1..2ae16025a64b 100644 +index 109af71c5416..0af99e408e35 100644 --- a/drivers/char/Makefile +++ b/drivers/char/Makefile -@@ -44,3 +44,5 @@ obj-$(CONFIG_PS3_FLASH) += ps3flash.o +@@ -46,3 +46,5 @@ obj-$(CONFIG_PS3_FLASH) += ps3flash.o obj-$(CONFIG_XILLYBUS_CLASS) += xillybus/ obj-$(CONFIG_POWERNV_OP_PANEL) += powernv-op-panel.o obj-$(CONFIG_ADI) += adi.o @@ -98643,7 +98643,7 @@ index 5495f2a94fa9..eb57a1b96ab1 100644 dev->mode_config.preferred_depth = 24; dev->mode_config.async_page_flip = true; diff --git a/drivers/gpu/drm/vc4/vc4_perfmon.c b/drivers/gpu/drm/vc4/vc4_perfmon.c -index c4ac2c946238..4cd3643c3ba7 100644 +index c00a5cc2316d..75ff2f748235 100644 --- a/drivers/gpu/drm/vc4/vc4_perfmon.c +++ b/drivers/gpu/drm/vc4/vc4_perfmon.c @@ -23,7 +23,7 @@ void vc4_perfmon_get(struct vc4_perfmon *perfmon) @@ -98700,7 +98700,7 @@ index c4ac2c946238..4cd3643c3ba7 100644 return; mutex_init(&vc4file->perfmon.lock); -@@ -126,7 +126,7 @@ void vc4_perfmon_close_file(struct vc4_file *vc4file) +@@ -131,7 +131,7 @@ void vc4_perfmon_close_file(struct vc4_file *vc4file) { struct vc4_dev *vc4 = vc4file->dev; @@ -98709,7 +98709,7 @@ index c4ac2c946238..4cd3643c3ba7 100644 return; mutex_lock(&vc4file->perfmon.lock); -@@ -146,7 +146,7 @@ int vc4_perfmon_create_ioctl(struct drm_device *dev, void *data, +@@ -151,7 +151,7 @@ int vc4_perfmon_create_ioctl(struct drm_device *dev, void *data, unsigned int i; int ret; @@ -98718,7 +98718,7 @@ index c4ac2c946238..4cd3643c3ba7 100644 return -ENODEV; if (!vc4->v3d) { -@@ -200,7 +200,7 @@ int vc4_perfmon_destroy_ioctl(struct drm_device *dev, void *data, +@@ -205,7 +205,7 @@ int vc4_perfmon_destroy_ioctl(struct drm_device *dev, void *data, struct drm_vc4_perfmon_destroy *req = data; struct vc4_perfmon *perfmon; @@ -98727,7 +98727,7 @@ index c4ac2c946238..4cd3643c3ba7 100644 return -ENODEV; if (!vc4->v3d) { -@@ -228,7 +228,7 @@ int vc4_perfmon_get_values_ioctl(struct drm_device *dev, void *data, +@@ -233,7 +233,7 @@ int vc4_perfmon_get_values_ioctl(struct drm_device *dev, void *data, struct vc4_perfmon *perfmon; int ret; @@ -101662,10 +101662,10 @@ index 000000000000..e8d2b4b162f7 + VC_IMAGE_YUVINFO_CSC_REC_2020 = 9, +}; diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h -index a17bd0454fd8..d8aa8990f4a6 100644 +index dd696cb559ae..eec8a133ff73 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h -@@ -239,6 +239,9 @@ +@@ -242,6 +242,9 @@ #define USB_VENDOR_ID_BAANTO 0x2453 #define USB_DEVICE_ID_BAANTO_MT_190W2 0x0100 @@ -101675,7 +101675,7 @@ index a17bd0454fd8..d8aa8990f4a6 100644 #define USB_VENDOR_ID_BELKIN 0x050d #define USB_DEVICE_ID_FLIP_KVM 0x3201 -@@ -1410,6 +1413,9 @@ +@@ -1420,6 +1423,9 @@ #define USB_VENDOR_ID_XIAOMI 0x2717 #define USB_DEVICE_ID_MI_SILENT_MOUSE 0x5014 @@ -101738,10 +101738,10 @@ index 257dd73e37bf..fb588ac24acc 100644 ret = -ENOMEM; if (usb_endpoint_dir_in(endpoint)) { diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig -index b7ce1654c48e..5b3cc16b9512 100644 +index ee2eaf825c62..ad9b4810b496 100644 --- a/drivers/hwmon/Kconfig +++ b/drivers/hwmon/Kconfig -@@ -2386,6 +2386,13 @@ config SENSORS_INTEL_M10_BMC_HWMON +@@ -2390,6 +2390,13 @@ config SENSORS_INTEL_M10_BMC_HWMON sensors monitor various telemetry data of different components on the card, e.g. board temperature, FPGA core temperature/voltage/current. @@ -103299,7 +103299,7 @@ index b92de1944221..71a74de9fa5a 100644 static const struct i2c_algorithm bcm2835_i2c_algo = { diff --git a/drivers/i2c/busses/i2c-designware-common.c b/drivers/i2c/busses/i2c-designware-common.c -index 3208705ec803..f7c97b836a05 100644 +index c283743916fe..a53514813924 100644 --- a/drivers/i2c/busses/i2c-designware-common.c +++ b/drivers/i2c/busses/i2c-designware-common.c @@ -57,6 +57,8 @@ static char *abort_sources[] = { @@ -103352,7 +103352,7 @@ index 3208705ec803..f7c97b836a05 100644 } EXPORT_SYMBOL_GPL(i2c_dw_adjust_bus_speed); -@@ -588,8 +617,16 @@ int i2c_dw_wait_bus_not_busy(struct dw_i2c_dev *dev) +@@ -590,8 +619,16 @@ int i2c_dw_wait_bus_not_busy(struct dw_i2c_dev *dev) int i2c_dw_handle_tx_abort(struct dw_i2c_dev *dev) { unsigned long abort_source = dev->abort_source; @@ -103369,7 +103369,7 @@ index 3208705ec803..f7c97b836a05 100644 if (abort_source & DW_IC_TX_ABRT_NOACK) { for_each_set_bit(i, &abort_source, ARRAY_SIZE(abort_sources)) dev_dbg(dev->dev, -@@ -604,6 +641,8 @@ int i2c_dw_handle_tx_abort(struct dw_i2c_dev *dev) +@@ -606,6 +643,8 @@ int i2c_dw_handle_tx_abort(struct dw_i2c_dev *dev) return -EAGAIN; else if (abort_source & DW_IC_TX_ABRT_GCALL_READ) return -EINVAL; /* wrong msgs[] data */ @@ -103379,7 +103379,7 @@ index 3208705ec803..f7c97b836a05 100644 return -EIO; } diff --git a/drivers/i2c/busses/i2c-designware-core.h b/drivers/i2c/busses/i2c-designware-core.h -index 46ac68b5ff40..20c29e6c997f 100644 +index d4909e9b1c84..15c8520bde40 100644 --- a/drivers/i2c/busses/i2c-designware-core.h +++ b/drivers/i2c/busses/i2c-designware-core.h @@ -79,9 +79,12 @@ @@ -103395,7 +103395,7 @@ index 46ac68b5ff40..20c29e6c997f 100644 #define DW_IC_COMP_TYPE 0xfc #define DW_IC_COMP_TYPE_VALUE 0x44570140 /* "DW" + 0x0140 */ -@@ -111,19 +114,23 @@ +@@ -111,6 +114,7 @@ #define DW_IC_ENABLE_ENABLE BIT(0) #define DW_IC_ENABLE_ABORT BIT(1) @@ -103403,9 +103403,10 @@ index 46ac68b5ff40..20c29e6c997f 100644 #define DW_IC_STATUS_ACTIVITY BIT(0) #define DW_IC_STATUS_TFE BIT(2) - #define DW_IC_STATUS_RFNE BIT(3) +@@ -118,13 +122,16 @@ #define DW_IC_STATUS_MASTER_ACTIVITY BIT(5) #define DW_IC_STATUS_SLAVE_ACTIVITY BIT(6) + #define DW_IC_STATUS_MASTER_HOLD_TX_FIFO_EMPTY BIT(7) +#define DW_IC_STATUS_SDA_STUCK_NOT_RECOVERED BIT(11) #define DW_IC_SDA_HOLD_RX_SHIFT 16 @@ -103419,7 +103420,7 @@ index 46ac68b5ff40..20c29e6c997f 100644 #define DW_IC_COMP_PARAM_1_SPEED_MODE_HIGH (BIT(2) | BIT(3)) #define DW_IC_COMP_PARAM_1_SPEED_MODE_MASK GENMASK(3, 2) -@@ -162,6 +169,7 @@ +@@ -163,6 +170,7 @@ #define ABRT_SLAVE_FLUSH_TXFIFO 13 #define ABRT_SLAVE_ARBLOST 14 #define ABRT_SLAVE_RD_INTX 15 @@ -103427,7 +103428,7 @@ index 46ac68b5ff40..20c29e6c997f 100644 #define DW_IC_TX_ABRT_7B_ADDR_NOACK BIT(ABRT_7B_ADDR_NOACK) #define DW_IC_TX_ABRT_10ADDR1_NOACK BIT(ABRT_10ADDR1_NOACK) -@@ -177,6 +185,7 @@ +@@ -178,6 +186,7 @@ #define DW_IC_RX_ABRT_SLAVE_RD_INTX BIT(ABRT_SLAVE_RD_INTX) #define DW_IC_RX_ABRT_SLAVE_ARBLOST BIT(ABRT_SLAVE_ARBLOST) #define DW_IC_RX_ABRT_SLAVE_FLUSH_TXFIFO BIT(ABRT_SLAVE_FLUSH_TXFIFO) @@ -103435,7 +103436,7 @@ index 46ac68b5ff40..20c29e6c997f 100644 #define DW_IC_TX_ABRT_NOACK (DW_IC_TX_ABRT_7B_ADDR_NOACK | \ DW_IC_TX_ABRT_10ADDR1_NOACK | \ -@@ -290,6 +299,7 @@ struct dw_i2c_dev { +@@ -291,6 +300,7 @@ struct dw_i2c_dev { u16 fp_lcnt; u16 hs_hcnt; u16 hs_lcnt; @@ -103872,7 +103873,7 @@ index a1b037891af2..a1cf56096156 100644 for (i = 0; i < pdata->num_row_gpios; i++) diff --git a/drivers/input/touchscreen/edt-ft5x06.c b/drivers/input/touchscreen/edt-ft5x06.c -index 457d53337fbb..1d2b8df0aea9 100644 +index a365577a1994..b590bc18dde6 100644 --- a/drivers/input/touchscreen/edt-ft5x06.c +++ b/drivers/input/touchscreen/edt-ft5x06.c @@ -69,6 +69,7 @@ @@ -104052,7 +104053,7 @@ index 457d53337fbb..1d2b8df0aea9 100644 tsdata->tdata_offset + crclen; } -@@ -1243,7 +1322,7 @@ static int edt_ft5x06_ts_probe(struct i2c_client *client) +@@ -1261,7 +1340,7 @@ static int edt_ft5x06_ts_probe(struct i2c_client *client) if (tsdata->reset_gpio) { usleep_range(5000, 6000); gpiod_set_value_cansleep(tsdata->reset_gpio, 0); @@ -104061,7 +104062,7 @@ index 457d53337fbb..1d2b8df0aea9 100644 } input = devm_input_allocate_device(&client->dev); -@@ -1317,17 +1396,28 @@ static int edt_ft5x06_ts_probe(struct i2c_client *client) +@@ -1335,17 +1414,28 @@ static int edt_ft5x06_ts_probe(struct i2c_client *client) return error; } @@ -104100,7 +104101,7 @@ index 457d53337fbb..1d2b8df0aea9 100644 } error = devm_device_add_group(&client->dev, &edt_ft5x06_attr_group); -@@ -1353,6 +1443,10 @@ static void edt_ft5x06_ts_remove(struct i2c_client *client) +@@ -1371,6 +1461,10 @@ static void edt_ft5x06_ts_remove(struct i2c_client *client) { struct edt_ft5x06_ts_data *tsdata = i2c_get_clientdata(client); @@ -104109,8 +104110,8 @@ index 457d53337fbb..1d2b8df0aea9 100644 + cancel_work_sync(&tsdata->work_i2c_poll); + } edt_ft5x06_ts_teardown_debugfs(tsdata); - regmap_exit(tsdata->regmap); } + diff --git a/drivers/input/touchscreen/goodix.c b/drivers/input/touchscreen/goodix.c index b068ff8afbc9..23134a20ef50 100644 --- a/drivers/input/touchscreen/goodix.c @@ -105218,7 +105219,7 @@ index 6ffcdad8b131..81c3c771e45d 100644 bool select GENERIC_IRQ_CHIP diff --git a/drivers/irqchip/Makefile b/drivers/irqchip/Makefile -index 246aa0603d6e..a9f13a66b191 100644 +index 787206e166fc..a50d2258371b 100644 --- a/drivers/irqchip/Makefile +++ b/drivers/irqchip/Makefile @@ -74,6 +74,7 @@ obj-$(CONFIG_XTENSA_MX) += irq-xtensa-mx.o @@ -106248,7 +106249,7 @@ index ea12fb8d2401..8c54980b4b7e 100644 MODULE_AUTHOR("Lubomir Rintel "); MODULE_DESCRIPTION("BCM2835 mailbox IPC driver"); diff --git a/drivers/media/common/videobuf2/videobuf2-core.c b/drivers/media/common/videobuf2/videobuf2-core.c -index 468191438849..33c39d5daa46 100644 +index 29bfc2bf796b..0a34ad9d9ce4 100644 --- a/drivers/media/common/videobuf2/videobuf2-core.c +++ b/drivers/media/common/videobuf2/videobuf2-core.c @@ -2229,12 +2229,12 @@ static int __find_plane_by_offset(struct vb2_queue *q, unsigned long off, @@ -158900,7 +158901,7 @@ index 78c972bb1d96..2e259d91b936 100644 struct macb_tx_skb rm9200_txq[2]; unsigned int max_tx_length; diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c -index b940dcd3ace6..79fab300a534 100644 +index 8f61731e4554..0f9080371c4e 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -40,6 +40,9 @@ @@ -158942,7 +158943,7 @@ index b940dcd3ace6..79fab300a534 100644 static void macb_init_buffers(struct macb *bp) { struct macb_queue *queue; -@@ -969,6 +985,7 @@ static int macb_mii_init(struct macb *bp) +@@ -977,6 +993,7 @@ static int macb_mii_init(struct macb *bp) bp->mii_bus->write = &macb_mdio_write_c22; bp->mii_bus->read_c45 = &macb_mdio_read_c45; bp->mii_bus->write_c45 = &macb_mdio_write_c45; @@ -158950,7 +158951,7 @@ index b940dcd3ace6..79fab300a534 100644 snprintf(bp->mii_bus->id, MII_BUS_ID_SIZE, "%s-%x", bp->pdev->name, bp->pdev->id); bp->mii_bus->priv = bp; -@@ -1640,6 +1657,11 @@ static int macb_rx(struct macb_queue *queue, struct napi_struct *napi, +@@ -1648,6 +1665,11 @@ static int macb_rx(struct macb_queue *queue, struct napi_struct *napi, macb_init_rx_ring(queue); queue_writel(queue, RBQP, queue->rx_ring_dma); @@ -158962,7 +158963,7 @@ index b940dcd3ace6..79fab300a534 100644 macb_writel(bp, NCR, ctrl | MACB_BIT(RE)); -@@ -1940,8 +1962,9 @@ static irqreturn_t macb_interrupt(int irq, void *dev_id) +@@ -1948,8 +1970,9 @@ static irqreturn_t macb_interrupt(int irq, void *dev_id) queue_writel(queue, ISR, MACB_BIT(TCOMP) | MACB_BIT(TXUBR)); @@ -158973,7 +158974,7 @@ index b940dcd3ace6..79fab300a534 100644 wmb(); // ensure softirq can see update } -@@ -2394,6 +2417,11 @@ static netdev_tx_t macb_start_xmit(struct sk_buff *skb, struct net_device *dev) +@@ -2402,6 +2425,11 @@ static netdev_tx_t macb_start_xmit(struct sk_buff *skb, struct net_device *dev) skb_tx_timestamp(skb); spin_lock_irq(&bp->lock); @@ -158985,7 +158986,7 @@ index b940dcd3ace6..79fab300a534 100644 macb_writel(bp, NCR, macb_readl(bp, NCR) | MACB_BIT(TSTART)); spin_unlock_irq(&bp->lock); -@@ -2768,6 +2796,37 @@ static void macb_configure_dma(struct macb *bp) +@@ -2776,6 +2804,37 @@ static void macb_configure_dma(struct macb *bp) } } @@ -159023,7 +159024,7 @@ index b940dcd3ace6..79fab300a534 100644 static void macb_init_hw(struct macb *bp) { u32 config; -@@ -2796,6 +2855,11 @@ static void macb_init_hw(struct macb *bp) +@@ -2804,6 +2863,11 @@ static void macb_init_hw(struct macb *bp) if (bp->caps & MACB_CAPS_JUMBO) bp->rx_frm_len_mask = MACB_RX_JFRMLEN_MASK; @@ -159035,7 +159036,7 @@ index b940dcd3ace6..79fab300a534 100644 macb_configure_dma(bp); /* Enable RX partial store and forward and set watermark */ -@@ -3157,6 +3221,52 @@ static void gem_get_ethtool_strings(struct net_device *dev, u32 sset, u8 *p) +@@ -3165,6 +3229,52 @@ static void gem_get_ethtool_strings(struct net_device *dev, u32 sset, u8 *p) } } @@ -159088,7 +159089,7 @@ index b940dcd3ace6..79fab300a534 100644 static struct net_device_stats *macb_get_stats(struct net_device *dev) { struct macb *bp = netdev_priv(dev); -@@ -3749,6 +3859,8 @@ static const struct ethtool_ops macb_ethtool_ops = { +@@ -3757,6 +3867,8 @@ static const struct ethtool_ops macb_ethtool_ops = { }; static const struct ethtool_ops gem_ethtool_ops = { @@ -159097,7 +159098,7 @@ index b940dcd3ace6..79fab300a534 100644 .get_regs_len = macb_get_regs_len, .get_regs = macb_get_regs, .get_wol = macb_get_wol, -@@ -3758,6 +3870,8 @@ static const struct ethtool_ops gem_ethtool_ops = { +@@ -3766,6 +3878,8 @@ static const struct ethtool_ops gem_ethtool_ops = { .get_ethtool_stats = gem_get_ethtool_stats, .get_strings = gem_get_ethtool_strings, .get_sset_count = gem_get_sset_count, @@ -159106,7 +159107,7 @@ index b940dcd3ace6..79fab300a534 100644 .get_link_ksettings = macb_get_link_ksettings, .set_link_ksettings = macb_set_link_ksettings, .get_ringparam = macb_get_ringparam, -@@ -5054,6 +5168,11 @@ static int macb_probe(struct platform_device *pdev) +@@ -5062,6 +5176,11 @@ static int macb_probe(struct platform_device *pdev) } } } @@ -159118,7 +159119,7 @@ index b940dcd3ace6..79fab300a534 100644 spin_lock_init(&bp->lock); /* setup capabilities */ -@@ -5109,6 +5228,21 @@ static int macb_probe(struct platform_device *pdev) +@@ -5117,6 +5236,21 @@ static int macb_probe(struct platform_device *pdev) else bp->phy_interface = interface; @@ -159140,7 +159141,7 @@ index b940dcd3ace6..79fab300a534 100644 /* IP specific init */ err = init(pdev); if (err) -@@ -5185,6 +5319,19 @@ static int macb_remove(struct platform_device *pdev) +@@ -5193,6 +5327,19 @@ static int macb_remove(struct platform_device *pdev) return 0; } @@ -159160,7 +159161,7 @@ index b940dcd3ace6..79fab300a534 100644 static int __maybe_unused macb_suspend(struct device *dev) { struct net_device *netdev = dev_get_drvdata(dev); -@@ -5399,6 +5546,7 @@ static const struct dev_pm_ops macb_pm_ops = { +@@ -5407,6 +5554,7 @@ static const struct dev_pm_ops macb_pm_ops = { static struct platform_driver macb_driver = { .probe = macb_probe, .remove = macb_remove, @@ -159366,7 +159367,7 @@ index 000000000000..007d077edcad + rtl8168_setup_ldev(leds + i, ndev, i); +} diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c -index 8987eb143758..1e4de3de406a 100644 +index 115adbce6c56..010f09d39679 100644 --- a/drivers/net/ethernet/realtek/r8169_main.c +++ b/drivers/net/ethernet/realtek/r8169_main.c @@ -289,6 +289,7 @@ enum rtl8168_8101_registers { @@ -159448,7 +159449,7 @@ index 8987eb143758..1e4de3de406a 100644 static void r8168fp_adjust_ocp_cmd(struct rtl8169_private *tp, u32 *cmd, int type) { /* based on RTL8168FP_OOBMAC_BASE in vendor driver */ -@@ -5281,6 +5339,7 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) +@@ -5283,6 +5341,7 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) raw_spin_lock_init(&tp->cfg9346_usage_lock); raw_spin_lock_init(&tp->config25_lock); raw_spin_lock_init(&tp->mac_ocp_lock); @@ -159456,7 +159457,7 @@ index 8987eb143758..1e4de3de406a 100644 dev->tstats = devm_netdev_alloc_pcpu_stats(&pdev->dev, struct pcpu_sw_netstats); -@@ -5437,6 +5496,12 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) +@@ -5439,6 +5498,12 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) if (rc) return rc; @@ -162903,10 +162904,10 @@ index e47a77f943b1..457a8d29fad8 100644 fail: diff --git a/drivers/perf/Kconfig b/drivers/perf/Kconfig -index 273d67ecf6d2..b73a4880578e 100644 +index 7b7b15f9bb6f..8de6595f1001 100644 --- a/drivers/perf/Kconfig +++ b/drivers/perf/Kconfig -@@ -208,6 +208,14 @@ config ALIBABA_UNCORE_DRW_PMU +@@ -220,6 +220,14 @@ config ALIBABA_UNCORE_DRW_PMU Support for Driveway PMU events monitoring on Yitian 710 DDR Sub-system. @@ -162922,10 +162923,10 @@ index 273d67ecf6d2..b73a4880578e 100644 config MARVELL_CN10K_DDR_PMU diff --git a/drivers/perf/Makefile b/drivers/perf/Makefile -index 16b3ec4db916..d33610e432dc 100644 +index a8b7bc22e3d6..56bc50c79f78 100644 --- a/drivers/perf/Makefile +++ b/drivers/perf/Makefile -@@ -26,3 +26,4 @@ obj-$(CONFIG_ALIBABA_UNCORE_DRW_PMU) += alibaba_uncore_drw_pmu.o +@@ -27,3 +27,4 @@ obj-$(CONFIG_ALIBABA_UNCORE_DRW_PMU) += alibaba_uncore_drw_pmu.o obj-$(CONFIG_ARM_CORESIGHT_PMU_ARCH_SYSTEM_PMU) += arm_cspmu/ obj-$(CONFIG_MESON_DDR_PMU) += amlogic/ obj-$(CONFIG_CXL_PMU) += cxl_pmu.o @@ -188875,10 +188876,10 @@ index db67df29fb2b..b16e528859a8 100644 } diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c -index 9955091c5336..0f4a9a8b28db 100644 +index fcb509059d7c..220d09c555d9 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c -@@ -1202,6 +1202,24 @@ static void dwc3_config_threshold(struct dwc3 *dwc) +@@ -1208,6 +1208,24 @@ static void dwc3_config_threshold(struct dwc3 *dwc) } } @@ -188903,7 +188904,7 @@ index 9955091c5336..0f4a9a8b28db 100644 /** * dwc3_core_init - Low-level initialization of DWC3 Core * @dwc: Pointer to our controller context structure -@@ -1267,6 +1285,8 @@ static int dwc3_core_init(struct dwc3 *dwc) +@@ -1273,6 +1291,8 @@ static int dwc3_core_init(struct dwc3 *dwc) dwc3_set_incr_burst_type(dwc); @@ -188912,7 +188913,7 @@ index 9955091c5336..0f4a9a8b28db 100644 ret = dwc3_phy_power_on(dwc); if (ret) goto err_exit_phy; -@@ -1346,6 +1366,9 @@ static int dwc3_core_init(struct dwc3 *dwc) +@@ -1352,6 +1372,9 @@ static int dwc3_core_init(struct dwc3 *dwc) if (dwc->parkmode_disable_hs_quirk) reg |= DWC3_GUCTL1_PARKMODE_DISABLE_HS; @@ -188922,7 +188923,7 @@ index 9955091c5336..0f4a9a8b28db 100644 if (DWC3_VER_IS_WITHIN(DWC3, 290A, ANY) && (dwc->maximum_speed == USB_SPEED_HIGH || dwc->maximum_speed == USB_SPEED_FULL)) -@@ -1356,6 +1379,24 @@ static int dwc3_core_init(struct dwc3 *dwc) +@@ -1362,6 +1385,24 @@ static int dwc3_core_init(struct dwc3 *dwc) dwc3_config_threshold(dwc); @@ -188947,7 +188948,7 @@ index 9955091c5336..0f4a9a8b28db 100644 return 0; err_power_off_phy: -@@ -1499,6 +1540,7 @@ static void dwc3_get_properties(struct dwc3 *dwc) +@@ -1505,6 +1546,7 @@ static void dwc3_get_properties(struct dwc3 *dwc) u8 tx_thr_num_pkt_prd = 0; u8 tx_max_burst_prd = 0; u8 tx_fifo_resize_max_num; @@ -188955,7 +188956,7 @@ index 9955091c5336..0f4a9a8b28db 100644 const char *usb_psy_name; int ret; -@@ -1521,6 +1563,9 @@ static void dwc3_get_properties(struct dwc3 *dwc) +@@ -1527,6 +1569,9 @@ static void dwc3_get_properties(struct dwc3 *dwc) */ tx_fifo_resize_max_num = 6; @@ -188965,7 +188966,7 @@ index 9955091c5336..0f4a9a8b28db 100644 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); -@@ -1622,6 +1667,8 @@ static void dwc3_get_properties(struct dwc3 *dwc) +@@ -1628,6 +1673,8 @@ static void dwc3_get_properties(struct dwc3 *dwc) "snps,parkmode-disable-ss-quirk"); dwc->parkmode_disable_hs_quirk = device_property_read_bool(dev, "snps,parkmode-disable-hs-quirk"); @@ -188974,7 +188975,7 @@ index 9955091c5336..0f4a9a8b28db 100644 dwc->gfladj_refclk_lpm_sel = device_property_read_bool(dev, "snps,gfladj-refclk-lpm-sel-quirk"); -@@ -1642,6 +1689,9 @@ static void dwc3_get_properties(struct dwc3 *dwc) +@@ -1648,6 +1695,9 @@ static void dwc3_get_properties(struct dwc3 *dwc) dwc->dis_split_quirk = device_property_read_bool(dev, "snps,dis-split-quirk"); @@ -188984,7 +188985,7 @@ index 9955091c5336..0f4a9a8b28db 100644 dwc->lpm_nyet_threshold = lpm_nyet_threshold; dwc->tx_de_emphasis = tx_de_emphasis; -@@ -1659,6 +1709,8 @@ static void dwc3_get_properties(struct dwc3 *dwc) +@@ -1665,6 +1715,8 @@ static void dwc3_get_properties(struct dwc3 *dwc) dwc->tx_thr_num_pkt_prd = tx_thr_num_pkt_prd; dwc->tx_max_burst_prd = tx_max_burst_prd; @@ -188993,7 +188994,7 @@ index 9955091c5336..0f4a9a8b28db 100644 dwc->imod_interval = 0; dwc->tx_fifo_resize_max_num = tx_fifo_resize_max_num; -@@ -1934,6 +1986,12 @@ static int dwc3_probe(struct platform_device *pdev) +@@ -1940,6 +1992,12 @@ static int dwc3_probe(struct platform_device *pdev) dwc3_get_properties(dwc); @@ -189007,7 +189008,7 @@ index 9955091c5336..0f4a9a8b28db 100644 if (IS_ERR(dwc->reset)) { ret = PTR_ERR(dwc->reset); diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h -index db1a793a9b13..0aa6a1052336 100644 +index 3325796f3cb4..1338b30466af 100644 --- a/drivers/usb/dwc3/core.h +++ b/drivers/usb/dwc3/core.h @@ -185,6 +185,9 @@ @@ -189053,7 +189054,7 @@ index db1a793a9b13..0aa6a1052336 100644 * @tx_de_emphasis_quirk: set if we enable Tx de-emphasis quirk * @tx_de_emphasis: Tx de-emphasis value * 0 - -6dB de-emphasis -@@ -1296,6 +1303,7 @@ struct dwc3 { +@@ -1298,6 +1305,7 @@ struct dwc3 { u8 tx_max_burst_prd; u8 tx_fifo_resize_max_num; u8 clear_stall_protocol; @@ -189061,7 +189062,7 @@ index db1a793a9b13..0aa6a1052336 100644 const char *hsphy_interface; -@@ -1339,6 +1347,7 @@ struct dwc3 { +@@ -1341,6 +1349,7 @@ struct dwc3 { unsigned ulpi_ext_vbus_drv:1; unsigned parkmode_disable_ss_quirk:1; unsigned parkmode_disable_hs_quirk:1; @@ -248951,7 +248952,7 @@ index 54c47463c215..17f4a9fabee6 100644 erst_base = xhci_read_64(xhci, &ir->ir_set->erst_base); diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c -index 7257f2b78a12..f84be33f39f5 100644 +index dbad516262ef..860e22f45d89 100644 --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c @@ -27,6 +27,8 @@ @@ -248963,7 +248964,7 @@ index 7257f2b78a12..f84be33f39f5 100644 /* Device for a quirk */ #define PCI_VENDOR_ID_FRESCO_LOGIC 0x1b73 #define PCI_DEVICE_ID_FRESCO_LOGIC_PDK 0x1000 -@@ -294,6 +296,16 @@ static int xhci_pci_reinit(struct xhci_hcd *xhci, struct pci_dev *pdev) +@@ -295,6 +297,16 @@ static int xhci_pci_reinit(struct xhci_hcd *xhci, struct pci_dev *pdev) return 0; } @@ -248980,7 +248981,7 @@ index 7257f2b78a12..f84be33f39f5 100644 static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) { struct pci_dev *pdev = to_pci_dev(dev); -@@ -489,8 +501,15 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) +@@ -490,8 +502,15 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) pdev->device == 0x3432) xhci->quirks |= XHCI_BROKEN_STREAMS; @@ -248998,7 +248999,7 @@ index 7257f2b78a12..f84be33f39f5 100644 if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA && pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI) { diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c -index 824c578522f4..ac001bfbf700 100644 +index 84cc0bf7066d..1c319e713b7f 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c @@ -633,8 +633,11 @@ static int xhci_move_dequeue_past_td(struct xhci_hcd *xhci, @@ -249261,10 +249262,10 @@ index f005ce1f91ca..f2a81c18a28c 100644 .enable_device = xhci_enable_device, .update_hub_device = xhci_update_hub_device, diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h -index d6ba4da64f49..f970f45cc048 100644 +index e8530f0ee27a..e79177e7bf43 100644 --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1681,8 +1681,9 @@ struct urb_priv { +@@ -1425,8 +1425,9 @@ struct urb_priv { * Each segment table entry is 4*32bits long. 1K seems like an ok size: * (1K bytes * 8bytes/bit) / (4*32 bits) = 64 segment entries in the table, * meaning 64 ring segments. @@ -249276,7 +249277,7 @@ index d6ba4da64f49..f970f45cc048 100644 /* Poll every 60 seconds */ #define POLL_TIMEOUT 60 /* Stop endpoint command timeout (secs) for URB cancellation watchdog timer */ -@@ -1918,6 +1919,11 @@ struct xhci_hcd { +@@ -1662,6 +1663,11 @@ struct xhci_hcd { #define XHCI_WRITE_64_HI_LO BIT_ULL(47) #define XHCI_CDNS_SCTX_QUIRK BIT_ULL(48) @@ -254018,10 +254019,10 @@ index bb001c5d7f17..2ce96ba0ee39 100644 static int bcm2835_wdt_probe(struct platform_device *pdev) diff --git a/fs/ntfs3/fslog.c b/fs/ntfs3/fslog.c -index 231b012fb19d..7140cbf7b83e 100644 +index 2a1aeab53ea4..1d4255d1999d 100644 --- a/fs/ntfs3/fslog.c +++ b/fs/ntfs3/fslog.c -@@ -3914,6 +3914,8 @@ int log_replay(struct ntfs_inode *ni, bool *initialized) +@@ -3929,6 +3929,8 @@ int log_replay(struct ntfs_inode *ni, bool *initialized) log->l_size = log->orig_file_size; log->page_size = norm_file_page(t32, &log->l_size, t32 == DefaultLogPageSize); @@ -257671,7 +257672,7 @@ index 78260e5d9985..f8157c9c9da6 100644 #define V4L2_PIX_FMT_PRIV_MAGIC 0xfeedcafe diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c -index 19ad62f66285..97d2b80a66d5 100644 +index 555bcb07df6c..0089f89d85ba 100644 --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c @@ -6879,6 +6879,31 @@ static int __init cgroup_disable(char *str) @@ -257871,7 +257872,7 @@ index f4dfeb5f052f..3ebb1b343284 100644 /** * mpol_to_str - format a mempolicy structure for printing diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index 52382ba24232..e987fac9ed69 100644 +index 00c9050a65ff..37ac685dd043 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -207,6 +207,27 @@ EXPORT_SYMBOL(node_states); @@ -257920,10 +257921,10 @@ index 52382ba24232..e987fac9ed69 100644 if (page) return page; diff --git a/mm/vmscan.c b/mm/vmscan.c -index 6c6c2d18010b..3d8de1306449 100644 +index 96fc157666fc..bf99f71fc7f7 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c -@@ -4750,7 +4750,7 @@ void lru_gen_look_around(struct page_vma_mapped_walk *pvmw) +@@ -4766,7 +4766,7 @@ void lru_gen_look_around(struct page_vma_mapped_walk *pvmw) if (!folio) continue; @@ -257933,10 +257934,10 @@ index 6c6c2d18010b..3d8de1306449 100644 young++; diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c -index 75515a1d2923..95a5e1070600 100644 +index c553b637cda7..1500bf5fdb4f 100644 --- a/net/bluetooth/hci_sync.c +++ b/net/bluetooth/hci_sync.c -@@ -4861,6 +4861,8 @@ static const struct { +@@ -4865,6 +4865,8 @@ static const struct { */ static int hci_dev_setup_sync(struct hci_dev *hdev) { @@ -257945,7 +257946,7 @@ index 75515a1d2923..95a5e1070600 100644 int ret = 0; bool invalid_bdaddr; size_t i; -@@ -4889,7 +4891,8 @@ static int hci_dev_setup_sync(struct hci_dev *hdev) +@@ -4893,7 +4895,8 @@ static int hci_dev_setup_sync(struct hci_dev *hdev) test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks); if (!ret) { if (test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks) && @@ -276191,10 +276192,10 @@ index 7743ea983b1a..cee90e193d22 100644 /* * For devices with more than one control interface, we assume the diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c -index 1753746430da..6b05d25363f7 100644 +index 37211ad31ec8..744a316f47bc 100644 --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c -@@ -2195,6 +2195,8 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = { +@@ -2197,6 +2197,8 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = { QUIRK_FLAG_ALIGN_TRANSFER), DEVICE_FLG(0x534d, 0x2109, /* MacroSilicon MS2109 */ QUIRK_FLAG_ALIGN_TRANSFER), diff --git a/raspberrypi-kernel.spec b/raspberrypi-kernel.spec index b4dcc2b..5b94258 100644 --- a/raspberrypi-kernel.spec +++ b/raspberrypi-kernel.spec @@ -2,13 +2,13 @@ %global KernelVer %{version}-%{release}.raspi.%{_target_cpu} -%global hulkrelease 53.0.0 +%global hulkrelease 59.0.0 %global debug_package %{nil} Name: raspberrypi-kernel Version: 6.6.0 -Release: %{hulkrelease}.6 +Release: %{hulkrelease}.7 Summary: Linux Kernel License: GPLv2 URL: http://www.kernel.org/ @@ -281,6 +281,9 @@ fi /usr/src/kernels/%{KernelVer}-* %changelog +* Tue Dec 3 2024 Yafen Fang - 6.6.0-59.0.0.7 +- update kernel version to openEuler 6.6.0-59.0.0 + * Mon Nov 11 2024 Yafen Fang - 6.6.0-53.0.0.6 - update kernel version to openEuler 6.6.0-53.0.0 - update Raspberry Pi patch, last commit (ff0fe12ab875d587348b6f2b9e73ae928049ebee): dtoverlay: Add a dtoverlay for pwm-gpio