diff --git a/Patchlist.changelog b/Patchlist.changelog index a215fe6..b69b1b0 100644 --- a/Patchlist.changelog +++ b/Patchlist.changelog @@ -1,3 +1,6 @@ +"https://gitlab.com/cki-project/kernel-ark/-/commit"/7879af7639a11a5388ef7e590e1b480ac79c29ef + 7879af7639a11a5388ef7e590e1b480ac79c29ef [PATCH] drm/i915/bios: Use hardcoded fp_timing size for generating LFP data pointers + "https://gitlab.com/cki-project/kernel-ark/-/commit"/b9dfa5218351f6286e97beba802c14813735f255 b9dfa5218351f6286e97beba802c14813735f255 Revert "block: freeze the queue earlier in del_gendisk" diff --git a/kernel.spec b/kernel.spec index 2331c5f..5d6db1a 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 5.19.7 +%define specversion 5.19.8 %define patchversion 5.19 %define pkgrelease 100 %define kversion 5 -%define tarfile_release 5.19.7 +%define tarfile_release 5.19.8 # This is needed to do merge window version magic %define patchlevel 19 # This allows pkg_release to have configurable %%{?dist} tag %define specrelease 100%{?buildid}%{?dist} # This defines the kabi tarball version -%define kabiversion 5.19.7 +%define kabiversion 5.19.8 # # End of genspec.sh variables @@ -3138,9 +3138,12 @@ fi # # %changelog -* Mon Sep 05 2022 Justin M. Forbes [5.19.7-0] -- New config item for 5.19.7 (Justin M. Forbes) -- Linux v5.19.7 +* Thu Sep 08 2022 Justin M. Forbes [5.19.8-100] +- Config update for stable ARM64_ERRATUM_2441009 (Justin M. Forbes) + +* Thu Sep 08 2022 Justin M. Forbes [5.19.8-0] +- [PATCH] drm/i915/bios: Use hardcoded fp_timing size for generating LFP data pointers (Mark Pearson) +- Linux v5.19.8 * Wed Aug 31 2022 Justin M. Forbes [5.19.6-0] - Revert "block: freeze the queue earlier in del_gendisk" (Justin M. Forbes) diff --git a/patch-5.19-redhat.patch b/patch-5.19-redhat.patch index a666806..dae2ff2 100644 --- a/patch-5.19-redhat.patch +++ b/patch-5.19-redhat.patch @@ -28,6 +28,7 @@ drivers/firmware/efi/secureboot.c | 38 + drivers/firmware/sysfb.c | 18 +- drivers/gpu/drm/drm_ioctl.c | 8 +- + drivers/gpu/drm/i915/display/intel_bios.c | 46 +- drivers/gpu/drm/v3d/Kconfig | 5 +- drivers/gpu/drm/v3d/v3d_debugfs.c | 18 +- drivers/gpu/drm/v3d/v3d_drv.c | 12 +- @@ -59,7 +60,7 @@ security/lockdown/Kconfig | 13 + security/lockdown/lockdown.c | 1 + security/security.c | 6 + - 61 files changed, 1729 insertions(+), 314 deletions(-) + 62 files changed, 1747 insertions(+), 342 deletions(-) diff --git a/Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml b/Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml index e6485f7b046f..217c42874f41 100644 @@ -251,7 +252,7 @@ index 000000000000..733a26bd887a + +endmenu diff --git a/Makefile b/Makefile -index 3d88923df694..4f4e240c3d2b 100644 +index e361c6230e9e..2c6324eff16a 100644 --- a/Makefile +++ b/Makefile @@ -18,6 +18,10 @@ $(if $(filter __%, $(MAKECMDGOALS)), \ @@ -945,6 +946,100 @@ index 51fcf1298023..7f1097947731 100644 /* don't overflow userbuf */ len = strlen(value); +diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c +index 0c5638f5b72b..a532958ad85f 100644 +--- a/drivers/gpu/drm/i915/display/intel_bios.c ++++ b/drivers/gpu/drm/i915/display/intel_bios.c +@@ -332,18 +332,6 @@ static bool fixup_lfp_data_ptrs(const void *bdb, void *ptrs_block) + return validate_lfp_data_ptrs(bdb, ptrs); + } + +-static const void *find_fp_timing_terminator(const u8 *data, int size) +-{ +- int i; +- +- for (i = 0; i < size - 1; i++) { +- if (data[i] == 0xff && data[i+1] == 0xff) +- return &data[i]; +- } +- +- return NULL; +-} +- + static int make_lfp_data_ptr(struct lvds_lfp_data_ptr_table *table, + int table_size, int total_size) + { +@@ -367,11 +355,22 @@ static void next_lfp_data_ptr(struct lvds_lfp_data_ptr_table *next, + static void *generate_lfp_data_ptrs(struct drm_i915_private *i915, + const void *bdb) + { +- int i, size, table_size, block_size, offset; +- const void *t0, *t1, *block; ++ int i, size, table_size, block_size, offset, fp_timing_size; + struct bdb_lvds_lfp_data_ptrs *ptrs; ++ const void *block; + void *ptrs_block; + ++ /* ++ * The hardcoded fp_timing_size is only valid for ++ * modernish VBTs. All older VBTs definitely should ++ * include block 41 and thus we don't need to ++ * generate one. ++ */ ++ if (i915->vbt.version < 155) ++ return NULL; ++ ++ fp_timing_size = 38; ++ + block = find_raw_section(bdb, BDB_LVDS_LFP_DATA); + if (!block) + return NULL; +@@ -380,17 +379,8 @@ static void *generate_lfp_data_ptrs(struct drm_i915_private *i915, + + block_size = get_blocksize(block); + +- size = block_size; +- t0 = find_fp_timing_terminator(block, size); +- if (!t0) +- return NULL; +- +- size -= t0 - block - 2; +- t1 = find_fp_timing_terminator(t0 + 2, size); +- if (!t1) +- return NULL; +- +- size = t1 - t0; ++ size = fp_timing_size + sizeof(struct lvds_dvo_timing) + ++ sizeof(struct lvds_pnp_id); + if (size * 16 > block_size) + return NULL; + +@@ -408,7 +398,7 @@ static void *generate_lfp_data_ptrs(struct drm_i915_private *i915, + table_size = sizeof(struct lvds_dvo_timing); + size = make_lfp_data_ptr(&ptrs->ptr[0].dvo_timing, table_size, size); + +- table_size = t0 - block + 2; ++ table_size = fp_timing_size; + size = make_lfp_data_ptr(&ptrs->ptr[0].fp_timing, table_size, size); + + if (ptrs->ptr[0].fp_timing.table_size) +@@ -423,14 +413,14 @@ static void *generate_lfp_data_ptrs(struct drm_i915_private *i915, + return NULL; + } + +- size = t1 - t0; ++ size = fp_timing_size + sizeof(struct lvds_dvo_timing) + ++ sizeof(struct lvds_pnp_id); + for (i = 1; i < 16; i++) { + next_lfp_data_ptr(&ptrs->ptr[i].fp_timing, &ptrs->ptr[i-1].fp_timing, size); + next_lfp_data_ptr(&ptrs->ptr[i].dvo_timing, &ptrs->ptr[i-1].dvo_timing, size); + next_lfp_data_ptr(&ptrs->ptr[i].panel_pnp_id, &ptrs->ptr[i-1].panel_pnp_id, size); + } + +- size = t1 - t0; + table_size = sizeof(struct lvds_lfp_panel_name); + + if (16 * (size + table_size) <= block_size) { diff --git a/drivers/gpu/drm/v3d/Kconfig b/drivers/gpu/drm/v3d/Kconfig index e973ec487484..ce62c5908e1d 100644 --- a/drivers/gpu/drm/v3d/Kconfig @@ -2885,7 +2980,7 @@ index 1e0041ec8132..5bcd047768b6 100644 ARRAY_SIZE(power_domain_names), sizeof(*power->pd_xlate.domains), diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index 68e9121c1878..ccd7566adb4b 100644 +index dfef85a18eb5..d733da254911 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -5686,6 +5686,13 @@ static void hub_event(struct work_struct *work) @@ -3084,7 +3179,7 @@ index a2ff4242e623..f0d2be1ee4f1 100644 int module_sig_check(struct load_info *info, int flags) diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c -index 7cb956d3abb2..12df96177187 100644 +index 2c320a8fe70d..e097bf4ce549 100644 --- a/net/bluetooth/hci_event.c +++ b/net/bluetooth/hci_event.c @@ -3997,6 +3997,26 @@ static void hci_cmd_complete_evt(struct hci_dev *hdev, void *data, @@ -3112,8 +3207,8 @@ index 7cb956d3abb2..12df96177187 100644 + *status = skb->data[0]; + } - handle_cmd_cnt_and_timer(hdev, ev->ncmd); - + if (i == ARRAY_SIZE(hci_cc_table)) { + /* Unknown opcode, assume byte 0 contains the status, so diff --git a/scripts/tags.sh b/scripts/tags.sh index 01fab3d4f90b..2ae5dfc904f9 100755 --- a/scripts/tags.sh diff --git a/sources b/sources index c68e8c1..d3a2b6f 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (linux-5.19.7.tar.xz) = 7803b9ca5f6aed239ae8d99b341ea4f1e1e0db824965818535375a1f5c46aad32ca2ae256ec98a03148b1625e5212de983cbecd27c36d0f2a9aa5fb5704b8d8f -SHA512 (kernel-abi-stablelists-5.19.7.tar.bz2) = 1e1f4dd5f32a88d8cbc08d5660b01243305092f9f62ccb5ed625bcf8116376aac21ac15dde3b741c571b198368d9920c9f1d587783a3397c58bc8a6fa648ef20 -SHA512 (kernel-kabi-dw-5.19.7.tar.bz2) = 74228e279df8db7eb8a44f7e236a4e1ddcec268bd134715a4d86f3c6b4841debb624bbdb60ee49567355a57ca84cd66d3647e79e15249f8f6f6a393b751359a9 +SHA512 (linux-5.19.8.tar.xz) = ad2fdc7b15d53636a72af15877e72d47010ef040c5fe973fbe9bc0d7ffa60f3d928719fc480a8344d96a345e234d4fa45b6e7b234a6ac0d62ccf6310b5b02387 +SHA512 (kernel-abi-stablelists-5.19.8.tar.bz2) = d740fd6ec34019ac0ef8552c943092096e7898d51cd6984d390562967a36e291913f99941bf6bbe9ab069deb408536d69b8570c909f7abe9756af444d07c55d7 +SHA512 (kernel-kabi-dw-5.19.8.tar.bz2) = 1de3b33f4992759093e4fd47338566be096f5f622e6a734cb10e3446ad9cfcc21d14f6e06c1e04ddb15cd570f783f32ec89e281b01b37b0cd076a4f86221ccd2