From b5bf334f6f31dc6a86da0f677ab80cef38f6186b Mon Sep 17 00:00:00 2001 From: "Justin M. Forbes" Date: Tue, 1 Nov 2022 14:15:46 -0500 Subject: kernel-6.0.6-100 * Tue Nov 01 2022 Justin M. Forbes [6.0.6-0] - drm/simpledrm: Only advertise formats that are supported (Justin M. Forbes) - disable enum64 BTF in fedora rawhide (Jiri Olsa) - Update patch for 6.0 (Justin M. Forbes) - Linux v6.0.6 Resolves: Signed-off-by: Justin M. Forbes --- Patchlist.changelog | 6 +++ kernel.spec | 14 +++-- patch-6.0-redhat.patch | 139 ++++++++++++++++++++++++++++++++++++++++++++----- sources | 6 +-- 4 files changed, 144 insertions(+), 21 deletions(-) diff --git a/Patchlist.changelog b/Patchlist.changelog index da68ac2c5..a204a65e0 100644 --- a/Patchlist.changelog +++ b/Patchlist.changelog @@ -1,3 +1,9 @@ +"https://gitlab.com/cki-project/kernel-ark/-/commit"/bf2bceedcc5d66c041165b4db6aea032fd7f4b5c + bf2bceedcc5d66c041165b4db6aea032fd7f4b5c drm/simpledrm: Only advertise formats that are supported + +"https://gitlab.com/cki-project/kernel-ark/-/commit"/7ab8e0d8b46b7f768e37f8ff39ccae2ecc897396 + 7ab8e0d8b46b7f768e37f8ff39ccae2ecc897396 disable enum64 BTF in fedora rawhide + "https://gitlab.com/cki-project/kernel-ark/-/commit"/3f98e8c4ff4856388d73a2dd727241fc05dc717f 3f98e8c4ff4856388d73a2dd727241fc05dc717f drm/vc4: hdmi: Fix HSM clock too low on Pi4 diff --git a/kernel.spec b/kernel.spec index 06157a4cb..e150de1c0 100755 --- a/kernel.spec +++ b/kernel.spec @@ -122,17 +122,17 @@ Summary: The Linux kernel # the --with-release option overrides this setting.) %define debugbuildsenabled 1 # define buildid .local -%define specversion 6.0.5 +%define specversion 6.0.6 %define patchversion 6.0 %define pkgrelease 100 %define kversion 6 -%define tarfile_release 6.0.5 +%define tarfile_release 6.0.6 # This is needed to do merge window version magic %define patchlevel 0 # This allows pkg_release to have configurable %%{?dist} tag %define specrelease 100%{?buildid}%{?dist} # This defines the kabi tarball version -%define kabiversion 6.0.5 +%define kabiversion 6.0.6 # If this variable is set to 1, a bpf selftests build failure will cause a # fatal kernel package build error @@ -3180,7 +3180,13 @@ fi # # %changelog -* Wed Oct 26 2022 Justin M. Forbes [6.0.5-100] +* Tue Nov 01 2022 Justin M. Forbes [6.0.6-0] +- drm/simpledrm: Only advertise formats that are supported (Justin M. Forbes) +- disable enum64 BTF in fedora rawhide (Jiri Olsa) +- Update patch for 6.0 (Justin M. Forbes) +- Linux v6.0.6 + +* Wed Oct 26 2022 Justin M. Forbes [6.0.5-0] - Add release targets for stable rebase (Justin M. Forbes) - Linux v6.0.5 diff --git a/patch-6.0-redhat.patch b/patch-6.0-redhat.patch index b1ab03610..aa4faf1ed 100644 --- a/patch-6.0-redhat.patch +++ b/patch-6.0-redhat.patch @@ -15,7 +15,8 @@ drivers/firmware/efi/efi.c | 124 +++++++++++++++------ drivers/firmware/efi/secureboot.c | 38 +++++++ drivers/firmware/sysfb.c | 18 ++- - drivers/gpu/drm/vc4/vc4_hdmi.c | 46 +++++++- + drivers/gpu/drm/tiny/simpledrm.c | 65 +++++++++-- + drivers/gpu/drm/vc4/vc4_hdmi.c | 39 ++++++- drivers/gpu/drm/vc4/vc4_hdmi.h | 1 + drivers/hid/hid-rmi.c | 64 ----------- drivers/hwtracing/coresight/coresight-etm4x-core.c | 19 ++++ @@ -34,16 +35,17 @@ init/Kconfig | 2 +- kernel/module/signing.c | 9 +- net/ipv4/fib_semantics.c | 8 +- + scripts/pahole-flags.sh | 3 + scripts/tags.sh | 2 + security/integrity/platform_certs/load_uefi.c | 6 +- security/lockdown/Kconfig | 13 +++ security/lockdown/lockdown.c | 1 + security/security.c | 6 + tools/testing/selftests/net/fib_nexthops.sh | 5 + - 42 files changed, 555 insertions(+), 192 deletions(-) + 44 files changed, 609 insertions(+), 199 deletions(-) diff --git a/Makefile b/Makefile -index 62a7398c8d06..a4d699f4c09d 100644 +index e6c10009d413..e9fc5ea8e350 100644 --- a/Makefile +++ b/Makefile @@ -18,6 +18,10 @@ $(if $(filter __%, $(MAKECMDGOALS)), \ @@ -597,8 +599,110 @@ index 1f276f108cc9..7039ad9bdf7f 100644 pd = sysfb_create_simplefb(si, &mode); if (!IS_ERR(pd)) goto unlock_mutex; +diff --git a/drivers/gpu/drm/tiny/simpledrm.c b/drivers/gpu/drm/tiny/simpledrm.c +index 5422363690e7..a5b500811892 100644 +--- a/drivers/gpu/drm/tiny/simpledrm.c ++++ b/drivers/gpu/drm/tiny/simpledrm.c +@@ -569,20 +569,44 @@ static int simpledrm_device_init_mm(struct simpledrm_device *sdev) + */ + + /* +- * Support all formats of simplefb and maybe more; in order +- * of preference. The display's update function will do any ++ * Support the subset of formats that we have conversion helpers for, ++ * in order of preference. The display's update function will do any + * conversion necessary. + * + * TODO: Add blit helpers for remaining formats and uncomment + * constants. + */ +-static const uint32_t simpledrm_default_formats[] = { ++ ++/* ++ * Supported conversions to RGB565 and RGB888: ++ * from [AX]RGB8888 ++ */ ++static const uint32_t simpledrm_primary_plane_formats_base[] = { ++ DRM_FORMAT_XRGB8888, ++ DRM_FORMAT_ARGB8888, ++}; ++ ++/* ++ * Supported conversions to [AX]RGB8888: ++ * A/X variants (no-op) ++ * from RGB565 ++ * from RGB888 ++ */ ++static const uint32_t simpledrm_primary_plane_formats_xrgb8888[] = { + DRM_FORMAT_XRGB8888, + DRM_FORMAT_ARGB8888, ++ DRM_FORMAT_RGB888, + DRM_FORMAT_RGB565, + //DRM_FORMAT_XRGB1555, + //DRM_FORMAT_ARGB1555, +- DRM_FORMAT_RGB888, ++}; ++ ++/* ++ * Supported conversions to [AX]RGB2101010: ++ * A/X variants (no-op) ++ * from [AX]RGB8888 ++ */ ++static const uint32_t simpledrm_primary_plane_formats_xrgb2101010[] = { + DRM_FORMAT_XRGB2101010, + DRM_FORMAT_ARGB2101010, + }; +@@ -744,7 +768,8 @@ static const uint32_t *simpledrm_device_formats(struct simpledrm_device *sdev, + size_t *nformats_out) + { + struct drm_device *dev = &sdev->dev; +- size_t i; ++ const uint32_t *conv_formats; ++ size_t i, conv_nformats; + + if (sdev->nformats) + goto out; /* don't rebuild list on recurring calls */ +@@ -753,11 +778,35 @@ static const uint32_t *simpledrm_device_formats(struct simpledrm_device *sdev, + sdev->formats[0] = sdev->format->format; + sdev->nformats = 1; + ++ switch (sdev->format->format) { ++ case DRM_FORMAT_RGB565: ++ case DRM_FORMAT_RGB888: ++ conv_formats = simpledrm_primary_plane_formats_base; ++ conv_nformats = ARRAY_SIZE(simpledrm_primary_plane_formats_base); ++ break; ++ case DRM_FORMAT_XRGB8888: ++ case DRM_FORMAT_ARGB8888: ++ conv_formats = simpledrm_primary_plane_formats_xrgb8888; ++ conv_nformats = ARRAY_SIZE(simpledrm_primary_plane_formats_xrgb8888); ++ break; ++ case DRM_FORMAT_XRGB2101010: ++ case DRM_FORMAT_ARGB2101010: ++ conv_formats = simpledrm_primary_plane_formats_xrgb2101010; ++ conv_nformats = ARRAY_SIZE(simpledrm_primary_plane_formats_xrgb2101010); ++ break; ++ default: ++ conv_formats = NULL; ++ conv_nformats = 0; ++ drm_warn(dev, "Format conversion helpers required to add extra formats.\n"); ++ break; ++ } ++ ++ + /* default formats go second */ +- for (i = 0; i < ARRAY_SIZE(simpledrm_default_formats); ++i) { +- if (simpledrm_default_formats[i] == sdev->format->format) ++ for (i = 0; i < conv_nformats; ++i) { ++ if (conv_formats[i] == sdev->format->format) + continue; /* native format already went first */ +- sdev->formats[sdev->nformats] = simpledrm_default_formats[i]; ++ sdev->formats[sdev->nformats] = conv_formats[i]; + sdev->nformats++; + } + diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c -index 1e5f68704d7d..4e5bba0822a5 100644 +index 780a19a75c3f..281f01e8cbca 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -2712,9 +2712,16 @@ static int vc4_hdmi_init_resources(struct vc4_hdmi *vc4_hdmi) @@ -640,20 +744,15 @@ index 1e5f68704d7d..4e5bba0822a5 100644 return 0; } -@@ -2869,12 +2882,37 @@ static int vc4_hdmi_runtime_resume(struct device *dev) +@@ -2869,6 +2882,7 @@ static int vc4_hdmi_runtime_resume(struct device *dev) struct vc4_hdmi *vc4_hdmi = dev_get_drvdata(dev); unsigned long __maybe_unused flags; u32 __maybe_unused value; + unsigned long rate; int ret; -- ret = clk_prepare_enable(vc4_hdmi->hsm_clock); -+ /* -+ * The HSM clock is in the HDMI power domain, so we need to set -+ * its frequency while the power domain is active so that it -+ * keeps its rate. -+ */ -+ ret = clk_set_min_rate(vc4_hdmi->hsm_rpm_clock, HSM_MIN_CLOCK_FREQ); + /* +@@ -2884,6 +2898,25 @@ static int vc4_hdmi_runtime_resume(struct device *dev) if (ret) return ret; @@ -679,7 +778,7 @@ index 1e5f68704d7d..4e5bba0822a5 100644 if (vc4_hdmi->variant->reset) vc4_hdmi->variant->reset(vc4_hdmi); -@@ -2896,6 +2934,10 @@ static int vc4_hdmi_runtime_resume(struct device *dev) +@@ -2905,6 +2938,10 @@ static int vc4_hdmi_runtime_resume(struct device *dev) #endif return 0; @@ -1086,7 +1185,7 @@ index 3a808146b50f..c1a3f3057921 100644 * Changes the default domain of an iommu group that has *only* one device * diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c -index 59e4b188fc71..9c6bfc02e6a1 100644 +index ed47c256dbd2..2af613f7353f 100644 --- a/drivers/nvme/host/core.c +++ b/drivers/nvme/host/core.c @@ -250,6 +250,9 @@ static void nvme_delete_ctrl_sync(struct nvme_ctrl *ctrl) @@ -1465,6 +1564,18 @@ index 2dc97583d279..e9a7f70a54df 100644 nh = fib_info_nh(fi, 0); if (cfg->fc_encap) { if (fib_encap_match(net, cfg->fc_encap_type, +diff --git a/scripts/pahole-flags.sh b/scripts/pahole-flags.sh +index 0d99ef17e4a5..81c8e082ec57 100755 +--- a/scripts/pahole-flags.sh ++++ b/scripts/pahole-flags.sh +@@ -20,4 +20,7 @@ if [ "${pahole_ver}" -ge "122" ]; then + extra_paholeopt="${extra_paholeopt} -j" + fi + ++# temporary workaround to disable enum64 ++extra_paholeopt="${extra_paholeopt} --skip_encoding_btf_enum64" ++ + echo ${extra_paholeopt} diff --git a/scripts/tags.sh b/scripts/tags.sh index e137cf15aae9..2ed2341f7967 100755 --- a/scripts/tags.sh diff --git a/sources b/sources index 38a45a08a..ce566bd56 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (linux-6.0.5.tar.xz) = 4a408bc260699f01b4310993c61647ef60ff460460e545bf708ede56176eced82d16740658c9e09c5fdcb3151e43cc73ac3e53ffac9423174d4669e62b6646bf -SHA512 (kernel-abi-stablelists-6.0.5.tar.bz2) = 461787f3aeecd1d7d6fac81cfbd1b655ed7557e2e43ffae5036f0d5c87dcbb06f62b9310a1d577182a29d2a9485845ebe4fbf2d3262e99f105c266bcc71b952a -SHA512 (kernel-kabi-dw-6.0.5.tar.bz2) = b5d51045d444257efe06ea2e76ba11180889ad6fb6dbd3407c1f53604e3c1a37f86ab07233b897ed57d4f3ffea3f253b038b08d736b6a4bcdd6bf80f18164926 +SHA512 (linux-6.0.6.tar.xz) = 58f511b55b198c976418c2fa790b1b6a7f217f3474d1cafdb8ed6500a6080689cdc76a1c143be90b2c7efea3af463076bb4cfa1c75acd708b7a671cf2a5c5e6a +SHA512 (kernel-abi-stablelists-6.0.6.tar.bz2) = acb093fddc4d406f467580e725396f327921923f1df8a6758b437c6a1569fa45a47e380aa2f23030c5095bdf1ec546d077dfbaf1a6f64dc2708d4ffdb6bb7352 +SHA512 (kernel-kabi-dw-6.0.6.tar.bz2) = 5a3c76bc07b52d70e14707efa1b54b6614c1dcf4915238cc08c3d186b65bce9955699a45f8ffb6c9b844344d525d584c658b790a75a073ca0358b6947469a627 -- cgit