diff --git a/0000-raspberrypi-kernel.patch b/0000-raspberrypi-kernel.patch index 5fdc5a0..4e7ce2a 100644 --- a/0000-raspberrypi-kernel.patch +++ b/0000-raspberrypi-kernel.patch @@ -1,7 +1,7 @@ -From 5c4416167c93fdb5e03519f0154e07f6606f9ae6 Mon Sep 17 00:00:00 2001 -From: Yafen -Date: Wed, 8 Nov 2023 19:48:46 +0800 -Subject: [PATCH] apply RPi patch of 5.10.110(openEuler 5.10.0-166.0.0) +From 6806812dc3b3bd831d9d919fd15486dac64f69fd Mon Sep 17 00:00:00 2001 +From: junyu mu +Date: Sun, 26 Nov 2023 18:17:06 +0800 +Subject: [PATCH] apply RPi patch of 5.10.0(openEuler 5.10.0-171.0.0) --- .../admin-guide/media/bcm2835-isp.rst | 127 + @@ -50471,7 +50471,7 @@ index 630dfbb01a40..94a1b40b1645 100644 MODULE_ALIAS("platform:bcm2835-dma"); MODULE_DESCRIPTION("BCM2835 DMA engine driver"); diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c -index 9eef49da47e0..fbb5ec576e0e 100644 +index 45ff03da234a..9f2b3ce4bab9 100644 --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c @@ -12,6 +12,7 @@ @@ -50638,7 +50638,7 @@ index 9eef49da47e0..fbb5ec576e0e 100644 } static void rpi_register_clk_driver(struct device *dev) -@@ -273,8 +387,10 @@ static int rpi_firmware_probe(struct platform_device *pdev) +@@ -280,8 +394,10 @@ static int rpi_firmware_probe(struct platform_device *pdev) kref_init(&fw->consumers); platform_set_drvdata(pdev, fw); @@ -50649,7 +50649,7 @@ index 9eef49da47e0..fbb5ec576e0e 100644 rpi_register_hwmon_driver(dev, fw); rpi_register_clk_driver(dev); -@@ -299,6 +415,7 @@ static int rpi_firmware_remove(struct platform_device *pdev) +@@ -306,6 +422,7 @@ static int rpi_firmware_remove(struct platform_device *pdev) rpi_hwmon = NULL; platform_device_unregister(rpi_clk); rpi_clk = NULL; @@ -50657,7 +50657,7 @@ index 9eef49da47e0..fbb5ec576e0e 100644 rpi_firmware_put(fw); -@@ -353,7 +470,35 @@ static struct platform_driver rpi_firmware_driver = { +@@ -382,7 +499,35 @@ static struct platform_driver rpi_firmware_driver = { .shutdown = rpi_firmware_shutdown, .remove = rpi_firmware_remove, }; @@ -52414,7 +52414,7 @@ index 495448f93d86..e58a5371852e 100644 obj-$(CONFIG_DRM_PHYTIUM) += phytium/ +obj-y += gud/ diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c -index dbdf0e210522..844d647979aa 100644 +index 3ca1ee396e4c..84d6b621c028 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -5027,7 +5027,6 @@ static void dm_disable_vblank(struct drm_crtc *crtc) @@ -52506,7 +52506,7 @@ index dbdf0e210522..844d647979aa 100644 if (!aconnector->mst_port) drm_connector_attach_vrr_capable_property(&aconnector->base); -@@ -7816,7 +7796,7 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state) +@@ -7818,7 +7798,7 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state) dm_old_crtc_state->abm_level; hdr_changed = @@ -53586,10 +53586,10 @@ index f634371c717a..bee5066e9227 100644 return 0; } diff --git a/drivers/gpu/drm/drm_probe_helper.c b/drivers/gpu/drm/drm_probe_helper.c -index e5432dcf6999..f8eb1061a55f 100644 +index d3f0d048594e..a48c4d74d13f 100644 --- a/drivers/gpu/drm/drm_probe_helper.c +++ b/drivers/gpu/drm/drm_probe_helper.c -@@ -794,6 +794,84 @@ void drm_kms_helper_poll_fini(struct drm_device *dev) +@@ -795,6 +795,84 @@ void drm_kms_helper_poll_fini(struct drm_device *dev) } EXPORT_SYMBOL(drm_kms_helper_poll_fini); @@ -53674,7 +53674,7 @@ index e5432dcf6999..f8eb1061a55f 100644 /** * drm_helper_hpd_irq_event - hotplug processing * @dev: drm_device -@@ -821,9 +899,7 @@ bool drm_helper_hpd_irq_event(struct drm_device *dev) +@@ -822,9 +900,7 @@ bool drm_helper_hpd_irq_event(struct drm_device *dev) { struct drm_connector *connector; struct drm_connector_list_iter conn_iter; @@ -53684,7 +53684,7 @@ index e5432dcf6999..f8eb1061a55f 100644 if (!dev->mode_config.poll_enabled) return false; -@@ -831,37 +907,8 @@ bool drm_helper_hpd_irq_event(struct drm_device *dev) +@@ -832,37 +908,8 @@ bool drm_helper_hpd_irq_event(struct drm_device *dev) mutex_lock(&dev->mode_config.mutex); drm_connector_list_iter_begin(dev, &conn_iter); drm_for_each_connector_iter(connector, &conn_iter) { @@ -56217,7 +56217,7 @@ index 406e96785c76..d1f8c7f3d197 100644 + drm_connector_attach_colorspace_property(connector); } diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c -index d46011f7a838..e47f94c03629 100644 +index 9a06bd8cb200..242b54920184 100644 --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c @@ -16563,7 +16563,6 @@ intel_cursor_plane_create(struct drm_i915_private *dev_priv, @@ -90142,7 +90142,7 @@ index 133f0d376480..3b6b396219db 100644 sdhci_dumpregs(host); diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -index 5c5bea495f04..6f173b801ddc 100644 +index 667eb628aa23..2c9ea8c4317b 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -67,6 +67,9 @@ @@ -90211,7 +90211,7 @@ index 5c5bea495f04..6f173b801ddc 100644 /* Reinitialize TDMA and RDMA and SW housekeeping */ ret = bcmgenet_init_dma(priv); -@@ -4085,9 +4101,12 @@ static int bcmgenet_probe(struct platform_device *pdev) +@@ -4086,9 +4102,12 @@ static int bcmgenet_probe(struct platform_device *pdev) netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1); /* Set default coalescing parameters */ @@ -90225,7 +90225,7 @@ index 5c5bea495f04..6f173b801ddc 100644 /* libphy will determine the link state */ netif_carrier_off(dev); -@@ -4203,7 +4222,7 @@ static int bcmgenet_resume(struct device *d) +@@ -4204,7 +4223,7 @@ static int bcmgenet_resume(struct device *d) bcmgenet_hfb_create_rxnfc_filter(priv, rule); /* Disable RX/TX DMA and flush TX queues */ @@ -96108,7 +96108,7 @@ index 3f5da3bb6aa5..ba3c58caac9f 100644 static inline diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -index df5970619712..3b9d903c6d16 100644 +index baf5f0afe802..15d8ac8c20c7 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -9,6 +9,7 @@ @@ -96119,7 +96119,7 @@ index df5970619712..3b9d903c6d16 100644 #include #include #include -@@ -2943,7 +2944,7 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, +@@ -2944,7 +2945,7 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, brcmf_dbg(INFO, "Do not enable power save for P2P clients\n"); pm = PM_OFF; } @@ -96128,7 +96128,7 @@ index df5970619712..3b9d903c6d16 100644 err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_PM, pm); if (err) { -@@ -2953,6 +2954,7 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, +@@ -2954,6 +2955,7 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, bphy_err(drvr, "error (%d)\n", err); } @@ -96136,7 +96136,7 @@ index df5970619712..3b9d903c6d16 100644 err = brcmf_fil_iovar_int_set(ifp, "pm2_sleep_ret", min_t(u32, timeout, BRCMF_PS_MAX_TIMEOUT_MS)); if (err) -@@ -7378,12 +7380,18 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], +@@ -7379,12 +7381,18 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], struct brcmfmac_pd_cc *country_codes; struct brcmfmac_pd_cc_entry *cc; s32 found_index; @@ -96157,7 +96157,7 @@ index df5970619712..3b9d903c6d16 100644 } if ((alpha2[0] == ccreq->country_abbrev[0]) && -@@ -7407,10 +7415,14 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], +@@ -7408,10 +7416,14 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], brcmf_dbg(TRACE, "No country code match found\n"); return -EINVAL; } @@ -96175,7 +96175,7 @@ index df5970619712..3b9d903c6d16 100644 ccreq->country_abbrev[0] = alpha2[0]; ccreq->country_abbrev[1] = alpha2[1]; ccreq->country_abbrev[2] = 0; -@@ -7425,31 +7437,45 @@ static void brcmf_cfg80211_reg_notifier(struct wiphy *wiphy, +@@ -7426,31 +7438,45 @@ static void brcmf_cfg80211_reg_notifier(struct wiphy *wiphy, struct brcmf_if *ifp = brcmf_get_ifp(cfg->pub, 0); struct brcmf_pub *drvr = cfg->pub; struct brcmf_fil_country_le ccreq; @@ -97164,12 +97164,12 @@ index 9c3d2982248d..840f264f7a9b 100644 ret = clk_prepare_enable(pcie->clk); if (ret) { diff --git a/drivers/perf/Kconfig b/drivers/perf/Kconfig -index 1e82ab01e75f..585a4411c90b 100644 +index 25a577530da4..99b1c90b6d5c 100644 --- a/drivers/perf/Kconfig +++ b/drivers/perf/Kconfig -@@ -130,6 +130,14 @@ config ARM_SPE_PMU - Extension, which provides periodic sampling of operations in - the CPU pipeline and reports this via the perf AUX interface. +@@ -141,6 +141,14 @@ config ARM64_BRBE + relevant information such as cycle count, misprediction and branch + type, branch privilege level etc. +config RPI_AXIPERF + depends on ARCH_BCM2835 @@ -97177,20 +97177,21 @@ index 1e82ab01e75f..585a4411c90b 100644 + default n + help + Say y if you want to use Raspberry Pi AXI performance monitors, m if -+ you want to build it as a module. ++ you want to build it as a module. + source "drivers/perf/hisilicon/Kconfig" endmenu diff --git a/drivers/perf/Makefile b/drivers/perf/Makefile -index 5365fd56f88f..fe8c4eb61511 100644 +index a89359aeac6d..a45ae865f0bc 100644 --- a/drivers/perf/Makefile +++ b/drivers/perf/Makefile -@@ -13,3 +13,4 @@ obj-$(CONFIG_QCOM_L3_PMU) += qcom_l3_pmu.o - obj-$(CONFIG_THUNDERX2_PMU) += thunderx2_pmu.o +@@ -14,3 +14,4 @@ obj-$(CONFIG_THUNDERX2_PMU) += thunderx2_pmu.o obj-$(CONFIG_XGENE_PMU) += xgene_pmu.o obj-$(CONFIG_ARM_SPE_PMU) += arm_spe_pmu.o + obj-$(CONFIG_ARM64_BRBE) += arm_brbe.o +obj-$(CONFIG_RPI_AXIPERF) += raspberrypi_axi_monitor.o +\ No newline at end of file diff --git a/drivers/perf/raspberrypi_axi_monitor.c b/drivers/perf/raspberrypi_axi_monitor.c new file mode 100644 index 000000000000..5ae2bdaa88b4 @@ -115700,10 +115701,10 @@ index 26f9fb9f67ca..fe8c7a85e141 100644 return i; } diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c -index ac347f9d5ef0..ea7c074c98aa 100644 +index 63bb04d262d8..88e6bed53d54 100644 --- a/drivers/usb/core/hcd.c +++ b/drivers/usb/core/hcd.c -@@ -1969,6 +1969,16 @@ int usb_hcd_alloc_bandwidth(struct usb_device *udev, +@@ -1973,6 +1973,16 @@ int usb_hcd_alloc_bandwidth(struct usb_device *udev, return ret; } @@ -115721,10 +115722,10 @@ index ac347f9d5ef0..ea7c074c98aa 100644 * endpoint state is gone from hardware. usb_hcd_flush_endpoint() must * have been called previously. Use for set_configuration, set_interface, diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index 7af2def631a2..94a3298a139a 100644 +index 580604596499..4349b2c44df3 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -5508,7 +5508,7 @@ static void port_event(struct usb_hub *hub, int port1) +@@ -5564,7 +5564,7 @@ static void port_event(struct usb_hub *hub, int port1) port_dev->over_current_count++; port_over_current_notify(port_dev); @@ -115734,10 +115735,10 @@ index 7af2def631a2..94a3298a139a 100644 usb_clear_port_feature(hdev, port1, USB_PORT_FEAT_C_OVER_CURRENT); diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c -index dba2baca486e..62611141f014 100644 +index d64aaff223e7..083b94af2388 100644 --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c -@@ -1265,6 +1265,21 @@ static void remove_intf_ep_devs(struct usb_interface *intf) +@@ -1260,6 +1260,21 @@ static void remove_intf_ep_devs(struct usb_interface *intf) intf->ep_devs_created = 0; } @@ -115759,7 +115760,7 @@ index dba2baca486e..62611141f014 100644 /** * usb_disable_endpoint -- Disable an endpoint by address * @dev: the device whose endpoint is being disabled -@@ -2135,6 +2150,85 @@ int usb_set_configuration(struct usb_device *dev, int configuration) +@@ -2130,6 +2145,85 @@ int usb_set_configuration(struct usb_device *dev, int configuration) if (cp->string == NULL && !(dev->quirks & USB_QUIRK_CONFIG_INTF_STRINGS)) cp->string = usb_cache_string(dev, cp->desc.iConfiguration); @@ -182343,10 +182344,10 @@ index 000000000000..6ca874d332a8 + +#endif /* _PLAT_BCM2708_DMA_H */ diff --git a/include/linux/usb.h b/include/linux/usb.h -index 568be613bdb3..a13026026c65 100644 +index bc5923772703..e83b06b7b7bb 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h -@@ -1843,6 +1843,8 @@ extern int usb_clear_halt(struct usb_device *dev, int pipe); +@@ -1848,6 +1848,8 @@ extern int usb_clear_halt(struct usb_device *dev, int pipe); extern int usb_reset_configuration(struct usb_device *dev); extern int usb_set_interface(struct usb_device *dev, int ifnum, int alternate); extern void usb_reset_endpoint(struct usb_device *dev, unsigned int epaddr); @@ -182553,7 +182554,7 @@ index bbb3f26fbde9..7a4aa9cb28c9 100644 * vb2_core_expbuf() - Export a buffer as a file descriptor. * @q: pointer to &struct vb2_queue with videobuf2 queue. diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h -index fdfef7fe40df..b2c462446cf7 100644 +index 73ad784fca96..dd3bbc75e531 100644 --- a/include/soc/bcm2835/raspberrypi-firmware.h +++ b/include/soc/bcm2835/raspberrypi-firmware.h @@ -36,6 +36,8 @@ struct rpi_firmware_property_tag_header { @@ -183316,10 +183317,10 @@ index 100253d4909c..fb32fdc53687 100644 for (;;) { tmp = *p; diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index b511a3c17769..827d68ef964a 100644 +index f21365c92a98..aa8753f4d1b9 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -9165,8 +9165,6 @@ int alloc_contig_range(unsigned long start, unsigned long end, +@@ -9223,8 +9223,6 @@ int alloc_contig_range(unsigned long start, unsigned long end, /* Make sure the range is really isolated. */ if (test_pages_isolated(outer_start, end, 0)) { @@ -199273,5 +199274,5 @@ index 752422147fb3..977c3b33d640 100644 } -- -2.33.0 +2.27.0 diff --git a/raspberrypi-kernel.spec b/raspberrypi-kernel.spec index 1d933c7..cbe87c3 100644 --- a/raspberrypi-kernel.spec +++ b/raspberrypi-kernel.spec @@ -2,13 +2,13 @@ %global KernelVer %{version}-%{release}.raspi.%{_target_cpu} -%global hulkrelease 166.0.0 +%global hulkrelease 178.0.0 %global debug_package %{nil} Name: raspberrypi-kernel Version: 5.10.0 -Release: %{hulkrelease}.16 +Release: %{hulkrelease}.17 Summary: Linux Kernel License: GPLv2 URL: http://www.kernel.org/ @@ -166,7 +166,10 @@ install -m 644 /boot/dtb-%{KernelVer}/overlays/README /boot/overlays/ /lib/modules/%{KernelVer} %changelog -* Thu Nev 9 2023 Yafen Fang - 5.10.0-166.0.0.16 +* Tue Jan 9 2024 Yafen Fang - 5.10.0-178.0.0.17 +- update kernel version to openEuler 5.10.0-178.0.0 + +* Thu Nov 9 2023 Yafen Fang - 5.10.0-166.0.0.16 - update kernel version to openEuler 5.10.0-166.0.0 * Tue Oct 24 2023 Junyu Mu - 5.10.0-161.0.0.15