diff --git a/0000-raspberrypi-kernel.patch b/0000-raspberrypi-kernel.patch index 45d7a3e..b839a3b 100644 --- a/0000-raspberrypi-kernel.patch +++ b/0000-raspberrypi-kernel.patch @@ -1,7 +1,7 @@ -From 46ff512235e3c700f5fc47176a020c251fb2e1d7 Mon Sep 17 00:00:00 2001 +From 5e7a8b6c3024857418c3bbf49eca5345fbaa8474 Mon Sep 17 00:00:00 2001 From: Yafen -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) +Date: Wed, 18 Dec 2024 10:30:39 +0800 +Subject: [PATCH] apply RPi patch of 6.6.59 (openEuler 6.6.0-68.0.0) --- .../admin-guide/media/bcm2835-isp.rst | 127 + @@ -704,7 +704,7 @@ Subject: [PATCH] apply RPi patch of 6.6.59 (openEuler 6.6.0-60.0.0) drivers/input/touchscreen/goodix.c | 75 +- drivers/input/touchscreen/goodix.h | 5 + drivers/iommu/Kconfig | 7 + - drivers/iommu/Makefile | 1 + + drivers/iommu/Makefile | 2 +- drivers/iommu/bcm2712-iommu-cache.c | 77 + drivers/iommu/bcm2712-iommu.c | 665 ++ drivers/iommu/bcm2712-iommu.h | 45 + @@ -1215,7 +1215,7 @@ Subject: [PATCH] apply RPi patch of 6.6.59 (openEuler 6.6.0-60.0.0) sound/soc/soc-core.c | 14 +- sound/usb/card.c | 8 +- sound/usb/quirks.c | 2 + - 1211 files changed, 246815 insertions(+), 4651 deletions(-) + 1211 files changed, 246815 insertions(+), 4652 deletions(-) create mode 100644 Documentation/admin-guide/media/bcm2835-isp.rst create mode 100644 Documentation/admin-guide/media/raspberrypi-pisp-be.dot create mode 100644 Documentation/admin-guide/media/raspberrypi-pisp-be.rst @@ -6015,7 +6015,7 @@ index 24b34cdfa6fe..44589ac3e909 100644 + pixfmt-nv24 pixfmt-m420 diff --git a/MAINTAINERS b/MAINTAINERS -index 008a26b0f027..b6eee668e0fa 100644 +index bca43097c2b6..e07ef567a83a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1569,6 +1569,22 @@ S: Maintained @@ -6071,7 +6071,7 @@ index 008a26b0f027..b6eee668e0fa 100644 BROADCOM BCM47XX MIPS ARCHITECTURE M: Hauke Mehrtens M: Rafał Miłecki -@@ -15908,6 +15947,14 @@ S: Maintained +@@ -15909,6 +15948,14 @@ S: Maintained T: git git://linuxtv.org/media_tree.git F: drivers/media/i2c/ov5695.c @@ -6086,7 +6086,7 @@ index 008a26b0f027..b6eee668e0fa 100644 OMNIVISION OV7670 SENSOR DRIVER L: linux-media@vger.kernel.org S: Orphan -@@ -17477,7 +17524,7 @@ F: drivers/video/backlight/pwm_bl.c +@@ -17478,7 +17525,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 008a26b0f027..b6eee668e0fa 100644 PXA GPIO DRIVER M: Robert Jarzmik -@@ -18067,6 +18114,12 @@ F: drivers/ras/ +@@ -18068,6 +18115,12 @@ F: drivers/ras/ F: include/linux/ras.h F: include/ras/ras_event.h @@ -6108,7 +6108,7 @@ index 008a26b0f027..b6eee668e0fa 100644 RAYLINK/WEBGEAR 802.11 WIRELESS LAN DRIVER L: linux-wireless@vger.kernel.org S: Orphan -@@ -18078,6 +18131,14 @@ L: linux-edac@vger.kernel.org +@@ -18079,6 +18132,14 @@ L: linux-edac@vger.kernel.org S: Maintained F: drivers/ras/amd/fmpm.c @@ -6123,7 +6123,7 @@ index 008a26b0f027..b6eee668e0fa 100644 RC-CORE / LIRC FRAMEWORK M: Sean Young L: linux-media@vger.kernel.org -@@ -18675,6 +18736,13 @@ S: Supported +@@ -18676,6 +18737,13 @@ S: Supported F: drivers/iio/light/rohm-bu27008.c F: drivers/iio/light/rohm-bu27034.c @@ -6137,7 +6137,7 @@ index 008a26b0f027..b6eee668e0fa 100644 ROHM MULTIFUNCTION BD9571MWV-M PMIC DEVICE DRIVERS M: Marek Vasut L: linux-kernel@vger.kernel.org -@@ -20068,7 +20136,7 @@ M: Sakari Ailus +@@ -20069,7 +20137,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 008a26b0f027..b6eee668e0fa 100644 F: drivers/media/i2c/imx258.c SONY IMX274 SENSOR DRIVER -@@ -20145,6 +20213,39 @@ T: git git://linuxtv.org/media_tree.git +@@ -20146,6 +20214,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 c11aa218c08e..8e661da1e5af 100644 +index 9da9d58f1c02..a7e2fda4c4ab 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -126,7 +126,8 @@ config ARM64 +@@ -129,7 +129,8 @@ config ARM64 select CRC32 select DCACHE_WORD_ACCESS select DYNAMIC_FTRACE if FUNCTION_TRACER @@ -55561,7 +55561,7 @@ index c11aa218c08e..8e661da1e5af 100644 select DMA_DIRECT_REMAP select EDAC_SUPPORT select FRAME_POINTER -@@ -1598,6 +1599,16 @@ config ARCH_CUSTOM_NUMA_DISTANCE +@@ -1641,6 +1642,16 @@ config ARCH_CUSTOM_NUMA_DISTANCE If unsure, say N. @@ -74186,7 +74186,7 @@ index 428ae54d3196..f1a2505ebc9e 100644 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("Raspberry Pi firmware driver"); diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig -index 509f42e6ab6a..0c1e188c75a4 100644 +index 5ddd4a6badf8..413c732f906c 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -207,10 +207,16 @@ config GPIO_BCM_XGS_IPROC @@ -74207,7 +74207,7 @@ index 509f42e6ab6a..0c1e188c75a4 100644 select GPIO_GENERIC select IRQ_DOMAIN help -@@ -512,6 +518,14 @@ config GPIO_PL061 +@@ -513,6 +519,14 @@ config GPIO_PL061 help Say yes here to support the PrimeCell PL061 GPIO device. @@ -74222,7 +74222,7 @@ index 509f42e6ab6a..0c1e188c75a4 100644 config GPIO_PXA bool "PXA GPIO support" depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST -@@ -1302,6 +1316,15 @@ config GPIO_ELKHARTLAKE +@@ -1303,6 +1317,15 @@ config GPIO_ELKHARTLAKE To compile this driver as a module, choose M here: the module will be called gpio-elkhartlake. @@ -102509,7 +102509,7 @@ index 79657910b79e..122a1031b4d8 100644 .id_table = sht3x_ids, }; diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig -index 9b4369ce8759..bb555bfcc6aa 100644 +index 9766c2ade6d8..5044b032adb9 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig @@ -16,6 +16,25 @@ config I2C_CCGX_UCSI @@ -102539,7 +102539,7 @@ index 9b4369ce8759..bb555bfcc6aa 100644 tristate "ALI 1535" depends on PCI diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile -index f15e364622e7..48d24d0d1bd8 100644 +index 738519b0a9cb..c7edcf58420e 100644 --- a/drivers/i2c/busses/Makefile +++ b/drivers/i2c/busses/Makefile @@ -3,6 +3,8 @@ @@ -104270,10 +104270,10 @@ index 87797cc88b32..235dd5f264c5 100644 int goodix_i2c_read(struct i2c_client *client, u16 reg, u8 *buf, int len); diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig -index 75131a1b762c..688c17737ef8 100644 +index 56eafa478c34..c5726a5794f4 100644 --- a/drivers/iommu/Kconfig +++ b/drivers/iommu/Kconfig -@@ -518,6 +518,13 @@ config SPRD_IOMMU +@@ -539,6 +539,13 @@ config SPRD_IOMMU Say Y here if you want to use the multimedia devices listed above. @@ -104288,14 +104288,16 @@ index 75131a1b762c..688c17737ef8 100644 bool "SMMU bypass streams for some specific devices" depends on ARM_SMMU_V3=y diff --git a/drivers/iommu/Makefile b/drivers/iommu/Makefile -index c2ea11d810ca..036793279696 100644 +index e3ecb2040808..f2adf15beabc 100644 --- a/drivers/iommu/Makefile +++ b/drivers/iommu/Makefile -@@ -30,3 +30,4 @@ obj-$(CONFIG_IOMMU_SVA) += iommu-sva.o +@@ -30,5 +30,5 @@ obj-$(CONFIG_IOMMU_SVA) += iommu-sva.o obj-$(CONFIG_IOMMU_IOPF) += io-pgfault.o obj-$(CONFIG_SPRD_IOMMU) += sprd-iommu.o obj-$(CONFIG_APPLE_DART) += apple-dart.o +obj-$(CONFIG_BCM2712_IOMMU) += bcm2712-iommu.o bcm2712-iommu-cache.o + obj-$(CONFIG_LOONGARCH_IOMMU) += loongarch_iommu.o +- diff --git a/drivers/iommu/bcm2712-iommu-cache.c b/drivers/iommu/bcm2712-iommu-cache.c new file mode 100644 index 000000000000..fdea69f5370b @@ -105102,10 +105104,10 @@ index 000000000000..31b811e426dd + +#endif diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c -index 28f63ad432de..3d3cd850c9aa 100644 +index 9cdc28dc2cf8..268e2e9e6c43 100644 --- a/drivers/iommu/iommu.c +++ b/drivers/iommu/iommu.c -@@ -2410,6 +2410,30 @@ size_t iommu_pgsize(struct iommu_domain *domain, unsigned long iova, +@@ -2429,6 +2429,30 @@ size_t iommu_pgsize(struct iommu_domain *domain, unsigned long iova, } EXPORT_SYMBOL_GPL(iommu_pgsize); @@ -105136,7 +105138,7 @@ index 28f63ad432de..3d3cd850c9aa 100644 static int __iommu_map(struct iommu_domain *domain, unsigned long iova, phys_addr_t paddr, size_t size, int prot, gfp_t gfp) { -@@ -2420,12 +2444,13 @@ static int __iommu_map(struct iommu_domain *domain, unsigned long iova, +@@ -2439,12 +2463,13 @@ static int __iommu_map(struct iommu_domain *domain, unsigned long iova, phys_addr_t orig_paddr = paddr; int ret = 0; @@ -105153,7 +105155,7 @@ index 28f63ad432de..3d3cd850c9aa 100644 /* find out the minimum page size supported */ min_pagesz = 1 << __ffs(domain->pgsize_bitmap); -@@ -2443,14 +2468,10 @@ static int __iommu_map(struct iommu_domain *domain, unsigned long iova, +@@ -2462,14 +2487,10 @@ static int __iommu_map(struct iommu_domain *domain, unsigned long iova, pr_debug("map: iova 0x%lx pa %pa size 0x%zx\n", iova, &paddr, size); while (size) { @@ -105171,7 +105173,7 @@ index 28f63ad432de..3d3cd850c9aa 100644 /* * Some pages may have been mapped, even if an error occurred, * so we should account for those so they can be unmapped. -@@ -2487,11 +2508,8 @@ int iommu_map(struct iommu_domain *domain, unsigned long iova, +@@ -2506,11 +2527,8 @@ int iommu_map(struct iommu_domain *domain, unsigned long iova, return -EINVAL; ret = __iommu_map(domain, iova, paddr, size, prot, gfp); @@ -105185,7 +105187,7 @@ index 28f63ad432de..3d3cd850c9aa 100644 return ret; -@@ -2625,11 +2643,8 @@ ssize_t iommu_map_sg(struct iommu_domain *domain, unsigned long iova, +@@ -2644,11 +2662,8 @@ ssize_t iommu_map_sg(struct iommu_domain *domain, unsigned long iova, sg = sg_next(sg); } @@ -105200,10 +105202,10 @@ index 28f63ad432de..3d3cd850c9aa 100644 out_err: diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig -index 6ffcdad8b131..81c3c771e45d 100644 +index 6edafab595e6..be5a0146c1b3 100644 --- a/drivers/irqchip/Kconfig +++ b/drivers/irqchip/Kconfig -@@ -152,6 +152,14 @@ config I8259 +@@ -166,6 +166,14 @@ config I8259 bool select IRQ_DOMAIN @@ -105219,10 +105221,10 @@ index 6ffcdad8b131..81c3c771e45d 100644 bool select GENERIC_IRQ_CHIP diff --git a/drivers/irqchip/Makefile b/drivers/irqchip/Makefile -index 787206e166fc..a50d2258371b 100644 +index f4697c1a39c0..bde5526f3660 100644 --- a/drivers/irqchip/Makefile +++ b/drivers/irqchip/Makefile -@@ -74,6 +74,7 @@ obj-$(CONFIG_XTENSA_MX) += irq-xtensa-mx.o +@@ -70,6 +70,7 @@ obj-$(CONFIG_XTENSA_MX) += irq-xtensa-mx.o obj-$(CONFIG_XILINX_INTC) += irq-xilinx-intc.o obj-$(CONFIG_IRQ_CROSSBAR) += irq-crossbar.o obj-$(CONFIG_SOC_VF610) += irq-vf610-mscm-ir.o @@ -151509,7 +151511,7 @@ index 8db9ac9c1433..c21ddbbfa50e 100644 schedule_next = _v4l2_m2m_job_finish(m2m_dev, m2m_ctx); spin_unlock_irqrestore(&m2m_dev->job_spinlock, flags); diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig -index 6b653487d954..8e29244ef05f 100644 +index 96633e8d4a9c..a9c54de16024 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -1178,6 +1178,16 @@ config MFD_SY7636A @@ -151548,7 +151550,7 @@ index 6b653487d954..8e29244ef05f 100644 tristate "Renesas Synchronization Management Unit with I2C" depends on I2C && OF diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile -index 50b42df268ea..e131b7ed5ca4 100644 +index 95867f732d2e..3194780558e4 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile @@ -285,3 +285,5 @@ obj-$(CONFIG_MFD_ATC260X_I2C) += atc260x-i2c.o @@ -152027,7 +152029,7 @@ index 6eda79533208..67f74304f2bf 100644 }; MODULE_DEVICE_TABLE(of, simple_mfd_i2c_of_match); diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig -index 7178d7da37e0..dd25ffdaffcf 100644 +index 452e8ea8bfd7..c3e2cbde2f22 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -9,6 +9,14 @@ config SENSORS_LIS3LV02D @@ -169318,10 +169320,10 @@ index f96906795fa6..3856477b14ff 100644 help This enables support for the RPi power domains which can be enabled diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig -index 60826b7ed21e..3f3e1fd9d7ff 100644 +index e3217ce5a3f6..95d6b1020dfd 100644 --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig -@@ -846,6 +846,18 @@ config SPI_RB4XX +@@ -861,6 +861,18 @@ config SPI_RB4XX help SPI controller driver for the Mikrotik RB4xx series boards. @@ -169341,10 +169343,10 @@ index 60826b7ed21e..3f3e1fd9d7ff 100644 tristate "Renesas RPC-IF SPI driver" depends on RENESAS_RPCIF diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile -index 26bf16fcf890..a0e7d833b9d9 100644 +index d6fdb887d97d..ac9020ce9bb8 100644 --- a/drivers/spi/Makefile +++ b/drivers/spi/Makefile -@@ -116,6 +116,7 @@ obj-$(CONFIG_SPI_ROCKCHIP) += spi-rockchip.o +@@ -118,6 +118,7 @@ obj-$(CONFIG_SPI_ROCKCHIP) += spi-rockchip.o obj-$(CONFIG_SPI_ROCKCHIP_SFC) += spi-rockchip-sfc.o obj-$(CONFIG_SPI_RB4XX) += spi-rb4xx.o obj-$(CONFIG_MACH_REALTEK_RTL) += spi-realtek-rtl.o @@ -248952,7 +248954,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 dbad516262ef..860e22f45d89 100644 +index b23ee4e9bde0..755c9faef791 100644 --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c @@ -27,6 +27,8 @@ @@ -248981,7 +248983,7 @@ index dbad516262ef..860e22f45d89 100644 static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) { struct pci_dev *pdev = to_pci_dev(dev); -@@ -490,8 +502,15 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) +@@ -497,8 +509,15 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) pdev->device == 0x3432) xhci->quirks |= XHCI_BROKEN_STREAMS; @@ -255058,10 +255060,10 @@ index d6e38a500833..70c233440cdf 100644 int gpiochip_irq_map(struct irq_domain *d, unsigned int irq, irq_hw_number_t hwirq); diff --git a/include/linux/iommu.h b/include/linux/iommu.h -index f7c3f7b839c0..22ab68ee58d6 100644 +index bb463cb96a44..703a9e0fa2f8 100644 --- a/include/linux/iommu.h +++ b/include/linux/iommu.h -@@ -697,15 +697,19 @@ struct iommu_domain_ops { +@@ -776,15 +776,19 @@ struct iommu_domain_ops { int (*set_dev_pasid)(struct iommu_domain *domain, struct device *dev, ioasid_t pasid); @@ -257672,7 +257674,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 555bcb07df6c..0089f89d85ba 100644 +index 52fe6ba2fefd..9f3574b82c7e 100644 --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c @@ -6879,6 +6879,31 @@ static int __init cgroup_disable(char *str) @@ -257872,7 +257874,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 00c9050a65ff..37ac685dd043 100644 +index 36cd38df0614..1f2a3064d3dc 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -207,6 +207,27 @@ EXPORT_SYMBOL(node_states); @@ -257903,7 +257905,7 @@ index 00c9050a65ff..37ac685dd043 100644 /* * A cached value of the page's pageblock's migratetype, used when the page is * put on a pcplist. Used to avoid the pageblock migratetype lookup when -@@ -2107,12 +2128,13 @@ __rmqueue(struct zone *zone, unsigned int order, int migratetype, +@@ -2115,12 +2136,13 @@ __rmqueue(struct zone *zone, unsigned int order, int migratetype, if (IS_ENABLED(CONFIG_CMA)) { /* * Balance movable allocations between regular and CMA areas by @@ -257921,7 +257923,7 @@ index 00c9050a65ff..37ac685dd043 100644 if (page) return page; diff --git a/mm/vmscan.c b/mm/vmscan.c -index 96fc157666fc..bf99f71fc7f7 100644 +index 10acf5b339a7..e8ae8df26dbe 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -4766,7 +4766,7 @@ void lru_gen_look_around(struct page_vma_mapped_walk *pvmw) diff --git a/raspberrypi-kernel.spec b/raspberrypi-kernel.spec index eb81b58..6b4e8aa 100644 --- a/raspberrypi-kernel.spec +++ b/raspberrypi-kernel.spec @@ -2,13 +2,13 @@ %global KernelVer %{version}-%{release}.raspi.%{_target_cpu} -%global hulkrelease 66.0.0 +%global hulkrelease 68.0.0 %global debug_package %{nil} Name: raspberrypi-kernel Version: 6.6.0 -Release: %{hulkrelease}.8 +Release: %{hulkrelease}.9 Summary: Linux Kernel License: GPLv2 URL: http://www.kernel.org/ @@ -281,6 +281,9 @@ fi /usr/src/kernels/%{KernelVer}-* %changelog +* Wed Dec 18 2024 Yafen Fang - 6.6.0-68.0.0.9 +- update kernel version to openEuler 6.6.0-68.0.0 + * Thu Dec 12 2024 Yafen Fang - 6.6.0-66.0.0.8 - update kernel version to openEuler 6.6.0-66.0.0