diff --git a/blacklist.conf b/blacklist.conf index 67d464c..56d2ffc 100644 --- a/blacklist.conf +++ b/blacklist.conf @@ -1496,3 +1496,7 @@ b2423184ac3352a52fc7562fa0e7d23435fe67b9 # not applicable 0abb33bfca0fb74df76aac03e90ce685016ef7be # not applicable 860dafa902595fb5f1d23bbcce1215188c3341e6 # does not apply: vt: Fix character height handling with VT_RESIZEX 7b0e2c4f6be3ec68bf807c84e985e81c21404cd1 # cleanup only +91b96f0008a2d66d76b525556e4818f5a4a089e4 # Duplicate of 3dd6c11b60d2f1e4082221a8831f91093c4494aa: drm/i915: Drop all references to DRM IRQ midlayer +faf890985e30d5e88cc3a7c50c1bcad32f89ab7c # Duplicate of a63bcf08f0efb5348105bb8e0e1e8c6671077753: drm/i915: Fix syncmap memory leak +4579509ef181480f4e4510d436c691519167c5c2 # Duplicate of f15863b27752682bb700c21de5f83f613a0fb77e: Revert "drm/i915/tgl/dsi: Gate the ddi clocks after pll mapping" +d210919dbdc8a82c676cc3e3c370b1802be63124 # Duplicate of d5185965c3b59073c4520bad7dd2adf725b9abba: drm/tegra: Add back arm_iommu_detach_device() diff --git a/patches.suse/0001-drm-i915-Drop-all-references-to-DRM-IRQ-midlayer.patch b/patches.suse/0001-drm-i915-Drop-all-references-to-DRM-IRQ-midlayer.patch new file mode 100644 index 0000000..d1e86b3 --- /dev/null +++ b/patches.suse/0001-drm-i915-Drop-all-references-to-DRM-IRQ-midlayer.patch @@ -0,0 +1,68 @@ +From 3dd6c11b60d2f1e4082221a8831f91093c4494aa Mon Sep 17 00:00:00 2001 +From: Thomas Zimmermann +Date: Thu, 1 Jul 2021 19:36:18 +0200 +Subject: drm/i915: Drop all references to DRM IRQ midlayer +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +Git-commit: 3dd6c11b60d2f1e4082221a8831f91093c4494aa +Patch-mainline: v5.14-rc1 +References: bsc#1152489 + +Remove all references to DRM's IRQ midlayer. i915 uses Linux' interrupt +functions directly. + +v2: + * also remove an outdated comment + * move IRQ fix into separate patch + * update Fixes tag (Daniel) + +Signed-off-by: Thomas Zimmermann +Fixes: b318b82455bd ("drm/i915: Nuke drm_driver irq vfuncs") +Cc: Ville Syrjälä +Cc: Chris Wilson +Cc: Jani Nikula +Cc: Joonas Lahtinen +Cc: Rodrigo Vivi +Cc: intel-gfx@lists.freedesktop.org +Signed-off-by: Daniel Vetter +Link: https://patchwork.freedesktop.org/patch/msgid/20210701173618.10718-3-tzimmermann@suse.de +(cherry picked from commit 91b96f0008a2d66d76b525556e4818f5a4a089e4) +Signed-off-by: Rodrigo Vivi +Acked-by: Thomas Zimmermann +--- + drivers/gpu/drm/i915/i915_drv.c | 1 - + drivers/gpu/drm/i915/i915_irq.c | 5 ----- + 2 files changed, 6 deletions(-) + +--- a/drivers/gpu/drm/i915/i915_drv.c ++++ b/drivers/gpu/drm/i915/i915_drv.c +@@ -42,7 +42,6 @@ + + #include + #include +-#include + #include + #include + +--- a/drivers/gpu/drm/i915/i915_irq.c ++++ b/drivers/gpu/drm/i915/i915_irq.c +@@ -33,7 +33,6 @@ + #include + + #include +-#include + + #include "display/intel_display_types.h" + #include "display/intel_fifo_underrun.h" +@@ -4187,10 +4186,6 @@ void intel_runtime_pm_enable_interrupts( + + bool intel_irqs_enabled(struct drm_i915_private *dev_priv) + { +- /* +- * We only use drm_irq_uninstall() at unload and VT switch, so +- * this is the only thing we need to check. +- */ + return dev_priv->runtime_pm.irqs_enabled; + } + diff --git a/patches.suse/0001-drm-vmwgfx-Remove-unused-compile-options.patch b/patches.suse/0001-drm-vmwgfx-Remove-unused-compile-options.patch new file mode 100644 index 0000000..a95ac4d --- /dev/null +++ b/patches.suse/0001-drm-vmwgfx-Remove-unused-compile-options.patch @@ -0,0 +1,97 @@ +From 50ca8cc7c0fdd9ab16b8b66ffb301fface101fac Mon Sep 17 00:00:00 2001 +From: Zack Rusin +Date: Wed, 15 Dec 2021 13:41:47 -0500 +Subject: drm/vmwgfx: Remove unused compile options +Git-commit: 50ca8cc7c0fdd9ab16b8b66ffb301fface101fac +Patch-mainline: v5.17-rc1 +References: bsc#1152472 + +Before the driver had screen targets support we had to disable explicit +bringup of its infrastructure because it was breaking screen objects +support. +Since the implementation of screen targets landed there hasn't been a +reason to explicitly disable it and the options were never used. +Remove of all that unused code. + +Signed-off-by: Zack Rusin +Fixes: d80efd5cb3de ("drm/vmwgfx: Initial DX support") +Reviewed-by: Martin Krastev +Link: https://patchwork.freedesktop.org/patch/msgid/20211215184147.3688785-3-zack@kde.org +(cherry picked from commit 11343099d5ae6c7411da1425b6b162c89fb5bf10) +Signed-off-by: Thomas Zimmermann +Acked-by: Thomas Zimmermann +--- + drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 3 --- + drivers/gpu/drm/vmwgfx/vmwgfx_mob.c | 12 +++--------- + drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c | 4 ++-- + 3 files changed, 5 insertions(+), 14 deletions(-) + +--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h ++++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h +@@ -61,11 +61,8 @@ + #define VMWGFX_DRIVER_MINOR 18 + #define VMWGFX_DRIVER_PATCHLEVEL 0 + #define VMWGFX_FIFO_STATIC_SIZE (1024*1024) +-#define VMWGFX_MAX_RELOCATIONS 2048 +-#define VMWGFX_MAX_VALIDATIONS 2048 + #define VMWGFX_MAX_DISPLAYS 16 + #define VMWGFX_CMD_BOUNCE_INIT_SIZE 32768 +-#define VMWGFX_ENABLE_SCREEN_TARGET_OTABLE 1 + + /* + * Perhaps we should have sysfs entries for these. +--- a/drivers/gpu/drm/vmwgfx/vmwgfx_mob.c ++++ b/drivers/gpu/drm/vmwgfx/vmwgfx_mob.c +@@ -1,7 +1,7 @@ + // SPDX-License-Identifier: GPL-2.0 OR MIT + /************************************************************************** + * +- * Copyright 2012-2015 VMware, Inc., Palo Alto, CA., USA ++ * Copyright 2012-2021 VMware, Inc., Palo Alto, CA., USA + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the +@@ -29,12 +29,6 @@ + + #include "vmwgfx_drv.h" + +-/* +- * If we set up the screen target otable, screen objects stop working. +- */ +- +-#define VMW_OTABLE_SETUP_SUB ((VMWGFX_ENABLE_SCREEN_TARGET_OTABLE ? 0 : 1)) +- + #ifdef CONFIG_64BIT + #define VMW_PPN_SIZE 8 + #define VMW_MOBFMT_PTDEPTH_0 SVGA3D_MOBFMT_PTDEPTH64_0 +@@ -75,7 +69,7 @@ static const struct vmw_otable pre_dx_ta + {VMWGFX_NUM_GB_CONTEXT * SVGA3D_OTABLE_CONTEXT_ENTRY_SIZE, NULL, true}, + {VMWGFX_NUM_GB_SHADER * SVGA3D_OTABLE_SHADER_ENTRY_SIZE, NULL, true}, + {VMWGFX_NUM_GB_SCREEN_TARGET * SVGA3D_OTABLE_SCREEN_TARGET_ENTRY_SIZE, +- NULL, VMWGFX_ENABLE_SCREEN_TARGET_OTABLE} ++ NULL, true} + }; + + static const struct vmw_otable dx_tables[] = { +@@ -84,7 +78,7 @@ static const struct vmw_otable dx_tables + {VMWGFX_NUM_GB_CONTEXT * SVGA3D_OTABLE_CONTEXT_ENTRY_SIZE, NULL, true}, + {VMWGFX_NUM_GB_SHADER * SVGA3D_OTABLE_SHADER_ENTRY_SIZE, NULL, true}, + {VMWGFX_NUM_GB_SCREEN_TARGET * SVGA3D_OTABLE_SCREEN_TARGET_ENTRY_SIZE, +- NULL, VMWGFX_ENABLE_SCREEN_TARGET_OTABLE}, ++ NULL, true}, + {VMWGFX_NUM_DXCONTEXT * sizeof(SVGAOTableDXContextEntry), NULL, true}, + }; + +--- a/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c ++++ b/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c +@@ -1865,8 +1865,8 @@ int vmw_kms_stdu_init_display(struct vmw + int i, ret; + + +- /* Do nothing if Screen Target support is turned off */ +- if (!VMWGFX_ENABLE_SCREEN_TARGET_OTABLE || !dev_priv->has_mob) ++ /* Do nothing if there's no support for MOBs */ ++ if (!dev_priv->has_mob) + return -ENOSYS; + + if (!(dev_priv->capabilities & SVGA_CAP_GBOBJECTS)) diff --git a/patches.suse/0002-backlight-qcom-wled-Respect-enabled-strings-in-set_b.patch b/patches.suse/0002-backlight-qcom-wled-Respect-enabled-strings-in-set_b.patch new file mode 100644 index 0000000..cfb0a84 --- /dev/null +++ b/patches.suse/0002-backlight-qcom-wled-Respect-enabled-strings-in-set_b.patch @@ -0,0 +1,131 @@ +From ec961cf3241153e0f27d850f1bf0f172e7d27a21 Mon Sep 17 00:00:00 2001 +From: Marijn Suijten +Date: Mon, 15 Nov 2021 21:34:59 +0100 +Subject: backlight: qcom-wled: Respect enabled-strings in set_brightness +Git-commit: ec961cf3241153e0f27d850f1bf0f172e7d27a21 +Patch-mainline: v5.17-rc1 +References: bsc#1152489 + +The hardware is capable of controlling any non-contiguous sequence of +LEDs specified in the DT using qcom,enabled-strings as u32 +array, and this also follows from the DT-bindings documentation. The +numbers specified in this array represent indices of the LED strings +that are to be enabled and disabled. + +Its value is appropriately used to setup and enable string modules, but +completely disregarded in the set_brightness paths which only iterate +over the number of strings linearly. +Take an example where only string 2 is enabled with +qcom,enabled_strings=<2>: this string is appropriately enabled but +subsequent brightness changes would have only touched the zero'th +brightness register because num_strings is 1 here. This is simply +addressed by looking up the string for this index in the enabled_strings +array just like the other codepaths that iterate over num_strings. + +Likewise enabled_strings is now also used in the autodetection path for +consistent behaviour: when a list of strings is specified in DT only +those strings will be probed for autodetection, analogous to how the +number of strings that need to be probed is already bound by +qcom,num-strings. After all autodetection uses the set_brightness +helpers to set an initial value, which could otherwise end up changing +brightness on a different set of strings. + +Fixes: 775d2ffb4af6 ("backlight: qcom-wled: Restructure the driver for WLED3") +Fixes: 03b2b5e86986 ("backlight: qcom-wled: Add support for WLED4 peripheral") +Signed-off-by: Marijn Suijten +Reviewed-by: AngeloGioacchino Del Regno +Reviewed-by: Daniel Thompson +Signed-off-by: Lee Jones +Link: https://lore.kernel.org/r/20211115203459.1634079-10-marijn.suijten@somainline.org +Acked-by: Thomas Zimmermann +--- + drivers/video/backlight/qcom-wled.c | 24 ++++++++++++++---------- + 1 file changed, 14 insertions(+), 10 deletions(-) + +--- a/drivers/video/backlight/qcom-wled.c ++++ b/drivers/video/backlight/qcom-wled.c +@@ -238,7 +238,8 @@ static int wled3_set_brightness(struct w + + for (i = 0; i < wled->cfg.num_strings; ++i) { + rc = regmap_bulk_write(wled->regmap, wled->ctrl_addr + +- WLED3_SINK_REG_BRIGHT(i), v, 2); ++ WLED3_SINK_REG_BRIGHT(wled->cfg.enabled_strings[i]), ++ v, 2); + if (rc < 0) + return rc; + } +@@ -261,7 +262,8 @@ static int wled4_set_brightness(struct w + + for (i = 0; i < wled->cfg.num_strings; ++i) { + rc = regmap_bulk_write(wled->regmap, wled->sink_addr + +- WLED4_SINK_REG_BRIGHT(i), v, 2); ++ WLED4_SINK_REG_BRIGHT(wled->cfg.enabled_strings[i]), ++ v, 2); + if (rc < 0) + return rc; + } +@@ -559,7 +561,7 @@ unlock_mutex: + + static void wled_auto_string_detection(struct wled *wled) + { +- int rc = 0, i, delay_time_us; ++ int rc = 0, i, j, delay_time_us; + u32 sink_config = 0; + u8 sink_test = 0, sink_valid = 0, val; + bool fault_set; +@@ -606,14 +608,15 @@ static void wled_auto_string_detection(s + + /* Iterate through the strings one by one */ + for (i = 0; i < wled->cfg.num_strings; i++) { +- sink_test = BIT((WLED4_SINK_REG_CURR_SINK_SHFT + i)); ++ j = wled->cfg.enabled_strings[i]; ++ sink_test = BIT((WLED4_SINK_REG_CURR_SINK_SHFT + j)); + + /* Enable feedback control */ + rc = regmap_write(wled->regmap, wled->ctrl_addr + +- WLED3_CTRL_REG_FEEDBACK_CONTROL, i + 1); ++ WLED3_CTRL_REG_FEEDBACK_CONTROL, j + 1); + if (rc < 0) { + dev_err(wled->dev, "Failed to enable feedback for SINK %d rc = %d\n", +- i + 1, rc); ++ j + 1, rc); + goto failed_detect; + } + +@@ -622,7 +625,7 @@ static void wled_auto_string_detection(s + WLED4_SINK_REG_CURR_SINK, sink_test); + if (rc < 0) { + dev_err(wled->dev, "Failed to configure SINK %d rc=%d\n", +- i + 1, rc); ++ j + 1, rc); + goto failed_detect; + } + +@@ -649,7 +652,7 @@ static void wled_auto_string_detection(s + + if (fault_set) + dev_dbg(wled->dev, "WLED OVP fault detected with SINK %d\n", +- i + 1); ++ j + 1); + else + sink_valid |= sink_test; + +@@ -689,15 +692,16 @@ static void wled_auto_string_detection(s + /* Enable valid sinks */ + if (wled->version == 4) { + for (i = 0; i < wled->cfg.num_strings; i++) { ++ j = wled->cfg.enabled_strings[i]; + if (sink_config & +- BIT(WLED4_SINK_REG_CURR_SINK_SHFT + i)) ++ BIT(WLED4_SINK_REG_CURR_SINK_SHFT + j)) + val = WLED4_SINK_REG_STR_MOD_MASK; + else + /* Disable modulator_en for unused sink */ + val = 0; + + rc = regmap_write(wled->regmap, wled->sink_addr + +- WLED4_SINK_REG_STR_MOD_EN(i), val); ++ WLED4_SINK_REG_STR_MOD_EN(j), val); + if (rc < 0) { + dev_err(wled->dev, "Failed to configure MODULATOR_EN rc=%d\n", + rc); diff --git a/patches.suse/0002-drm-i915-Keep-gem-ctx-vm-alive-until-the-final-put.patch b/patches.suse/0002-drm-i915-Keep-gem-ctx-vm-alive-until-the-final-put.patch new file mode 100644 index 0000000..fb1351a --- /dev/null +++ b/patches.suse/0002-drm-i915-Keep-gem-ctx-vm-alive-until-the-final-put.patch @@ -0,0 +1,157 @@ +From 8cf97637ff8891be040bac37b96dd97e5996ca93 Mon Sep 17 00:00:00 2001 +From: Daniel Vetter +Date: Thu, 2 Sep 2021 16:20:49 +0200 +Subject: drm/i915: Keep gem ctx->vm alive until the final put +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +Git-commit: 8cf97637ff8891be040bac37b96dd97e5996ca93 +Patch-mainline: v5.16-rc1 +References: bsc#1152489 + +The comment added in + + commit b81dde719439c8f09bb61e742ed95bfc4b33946b + Author: Chris Wilson +__ Date: Tue May 21 22:11:29 2019 +0100 + + drm/i915: Allow userspace to clone contexts on creation + +and moved in + + commit 27dbae8f36c1c25008b7885fc07c57054b7dfba3 + Author: Chris Wilson +__ Date: Wed Nov 6 09:13:12 2019 +0000 + + drm/i915/gem: Safely acquire the ctx->vm when copying + +suggested that i915_address_space were at least intended to be managed +through SLAB_TYPESAFE_BY_RCU: + + * This ppgtt may have be reallocated between + * the read and the kref, and reassigned to a third + * context. In order to avoid inadvertent sharing + * of this ppgtt with that third context (and not + * src), we have to confirm that we have the same + * ppgtt after passing through the strong memory + * barrier implied by a successful + * kref_get_unless_zero(). + +But extensive git history search has not brough any such reuse to +light. + +What has come to light though is that ever since + +commit 2850748ef8763ab46958e43a4d1c445f29eeb37d +Author: Chris Wilson +__Date: Fri Oct 4 14:39:58 2019 +0100 + + drm/i915: Pull i915_vma_pin under the vm->mutex + +(yes this commit is earlier) the final i915_vma_put call has been +moved from i915_gem_context_free (now called _release) to +context_close, which means it's not actually safe anymore to access +the ctx->vm pointer without lock helds, because it might disappear at +any moment. Note that superficially things all still work, because the +i915_address_space is RCU protected since + + commit b32fa811156328aea5a3c2ff05cc096490382456 + Author: Chris Wilson +__ Date: Thu Jun 20 19:37:05 2019 +0100 + + drm/i915/gtt: Defer address space cleanup to an RCU worker + +except the very clever macro above (which is designed to protected +against object reuse due to SLAB_TYPESAFE_BY_RCU or similar tricks) +results in an endless loop if the refcount of the ctx->vm ever +permanently drops to 0. Which it totally now can. + +Fix that by moving the final i915_vm_put to where it should be. + +Note that i915_gem_context is rcu protected, but _only_ the final +kfree. This means anyone who chases a pointer to a gem ctx solely +under the protection can pretty only call kref_get_unless_zero(). This +seems to be pretty much the case, aside from a bunch of cases that +consult the scheduling information without any further protection. + +Reviewed-by: Maarten Lankhorst +Cc: Jason Ekstrand +Cc: Chris Wilson +Cc: Tvrtko Ursulin +Cc: Joonas Lahtinen +Cc: Matthew Brost +Cc: Matthew Auld +Cc: Maarten Lankhorst +Cc: "Thomas Hellström" +Cc: Lionel Landwerlin +Cc: Dave Airlie +Fixes: 2850748ef876 ("drm/i915: Pull i915_vma_pin under the vm->mutex") +Signed-off-by: Daniel Vetter +Link: https://patchwork.freedesktop.org/patch/msgid/20210902142057.929669-3-daniel.vetter@ffwll.ch +Acked-by: Thomas Zimmermann +--- + +A message from ksd-import-patch: + + Hello dear friend, + + I'm ksd-import-patch, the tool that imported this patch + file. + + I had to prefix at least one line in the commit message + with __ to work around a bug in the commit hook of + kernel-sources, which thinks the line contains a patch + tag. + + If you think the patch should have been merged as it is + in upstream, please send this file via email to + + kernel-cvs@suse.de + + and request the problem to be fixed. + + Yours truely, + ksd-import-patch + +--- + drivers/gpu/drm/i915/gem/i915_gem_context.c | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +--- a/drivers/gpu/drm/i915/gem/i915_gem_context.c ++++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c +@@ -335,12 +335,18 @@ static struct i915_gem_engines *default_ + + static void i915_gem_context_free(struct i915_gem_context *ctx) + { ++ struct i915_address_space *vm; ++ + GEM_BUG_ON(!i915_gem_context_is_closed(ctx)); + + spin_lock(&ctx->i915->gem.contexts.lock); + list_del(&ctx->link); + spin_unlock(&ctx->i915->gem.contexts.lock); + ++ vm = i915_gem_context_vm(ctx); ++ if (vm) ++ i915_vm_put(vm); ++ + mutex_destroy(&ctx->engines_mutex); + mutex_destroy(&ctx->lut_mutex); + +@@ -607,8 +613,15 @@ static void context_close(struct i915_ge + set_closed_name(ctx); + + vm = i915_gem_context_vm(ctx); +- if (vm) ++ if (vm) { ++ /* i915_vm_close drops the final reference, which is a bit too ++ * early and could result in surprises with concurrent ++ * operations racing with thist ctx close. Keep a full reference ++ * until the end. ++ */ ++ i915_vm_get(vm); + i915_vm_close(vm); ++ } + + ctx->file_priv = ERR_PTR(-EBADF); + diff --git a/patches.suse/0003-drm-cma-helper-Set-VM_DONTEXPAND-for-mmap.patch b/patches.suse/0003-drm-cma-helper-Set-VM_DONTEXPAND-for-mmap.patch new file mode 100644 index 0000000..71a0f4f --- /dev/null +++ b/patches.suse/0003-drm-cma-helper-Set-VM_DONTEXPAND-for-mmap.patch @@ -0,0 +1,42 @@ +From 59f39bfa6553d598cb22f694d45e89547f420d85 Mon Sep 17 00:00:00 2001 +From: Robin Murphy +Date: Wed, 13 Oct 2021 10:36:54 -0400 +Subject: drm/cma-helper: Set VM_DONTEXPAND for mmap +Git-commit: 59f39bfa6553d598cb22f694d45e89547f420d85 +Patch-mainline: v5.17-rc5 +References: bsc#1152472 + +drm_gem_cma_mmap() cannot assume every implementation of dma_mmap_wc() +will end up calling remap_pfn_range() (which happens to set the relevant +vma flag, among others), so in order to make sure expectations around +VM_DONTEXPAND are met, let it explicitly set the flag like most other +GEM mmap implementations do. + +This avoids repeated warnings on a small minority of systems where the +display is behind an IOMMU, and has a simple driver which does not +override drm_gem_cma_default_funcs. Arm hdlcd is an in-tree affected +driver. Out-of-tree, the Apple DCP driver is affected; this fix is +required for DCP to be mainlined. + +[Alyssa: Update commit message.] + +Fixes: c40069cb7bd6 ("drm: add mmap() to drm_gem_object_funcs") +Acked-by: Daniel Vetter +Signed-off-by: Robin Murphy +Signed-off-by: Alyssa Rosenzweig +Link: https://patchwork.freedesktop.org/patch/msgid/20211013143654.39031-1-alyssa@rosenzweig.io +Acked-by: Thomas Zimmermann +--- + drivers/gpu/drm/drm_gem_cma_helper.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/gpu/drm/drm_gem_cma_helper.c ++++ b/drivers/gpu/drm/drm_gem_cma_helper.c +@@ -277,6 +277,7 @@ static int drm_gem_cma_mmap_obj(struct d + * the whole buffer. + */ + vma->vm_flags &= ~VM_PFNMAP; ++ vma->vm_flags |= VM_DONTEXPAND; + vma->vm_pgoff = 0; + + ret = dma_mmap_wc(cma_obj->base.dev->dev, vma, cma_obj->vaddr, diff --git a/patches.suse/0003-drm-prime-Fix-use-after-free-in-mmap-with-drm_gem_tt.patch b/patches.suse/0003-drm-prime-Fix-use-after-free-in-mmap-with-drm_gem_tt.patch new file mode 100644 index 0000000..1a86d51 --- /dev/null +++ b/patches.suse/0003-drm-prime-Fix-use-after-free-in-mmap-with-drm_gem_tt.patch @@ -0,0 +1,58 @@ +From 8244a3bc27b3efd057da154b8d7e414670d5044f Mon Sep 17 00:00:00 2001 +From: Anand K Mistry +Date: Thu, 30 Sep 2021 09:00:07 +1000 +Subject: drm/prime: Fix use after free in mmap with drm_gem_ttm_mmap +Git-commit: 8244a3bc27b3efd057da154b8d7e414670d5044f +Patch-mainline: v5.16-rc1 +References: bsc#1152472 + +drm_gem_ttm_mmap() drops a reference to the gem object on success. If +the gem object's refcount == 1 on entry to drm_gem_prime_mmap(), that +drop will free the gem object, and the subsequent drm_gem_object_get() +will be a UAF. Fix by grabbing a reference before calling the mmap +helper. + +This issue was forseen when the reference dropping was adding in +commit 9786b65bc61ac ("drm/ttm: fix mmap refcounting"): + "For that to work properly the drm_gem_object_get() call in + drm_gem_ttm_mmap() must be moved so it happens before calling + obj->funcs->mmap(), otherwise the gem refcount would go down + to zero." + +Signed-off-by: Anand K Mistry +Fixes: 9786b65bc61a ("drm/ttm: fix mmap refcounting") +Cc: Gerd Hoffmann +Cc: Daniel Vetter +Cc: Maarten Lankhorst +Cc: Maxime Ripard +Cc: Thomas Zimmermann +Cc: David Airlie +Cc: Daniel Vetter +Cc: dri-devel@lists.freedesktop.org +Cc: # v5.5+ +Signed-off-by: Thomas Zimmermann +Link: https://patchwork.freedesktop.org/patch/msgid/20210930085932.1.I8043d61cc238e0168e2f4ca5f4783223434aa587@changeid +Acked-by: Thomas Zimmermann +--- + drivers/gpu/drm/drm_prime.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +--- a/drivers/gpu/drm/drm_prime.c ++++ b/drivers/gpu/drm/drm_prime.c +@@ -719,11 +719,13 @@ int drm_gem_prime_mmap(struct drm_gem_ob + vma->vm_pgoff += drm_vma_node_start(&obj->vma_node); + + if (obj->funcs && obj->funcs->mmap) { ++ drm_gem_object_get(obj); + ret = obj->funcs->mmap(obj, vma); +- if (ret) +- return ret; ++ if (ret) { ++ drm_gem_object_put(obj); ++ return ret; ++ } + vma->vm_private_data = obj; +- drm_gem_object_get(obj); + return 0; + } + diff --git a/patches.suse/0004-Revert-drm-i915-tgl-dsi-Gate-the-ddi-clocks-after-pl.patch b/patches.suse/0004-Revert-drm-i915-tgl-dsi-Gate-the-ddi-clocks-after-pl.patch new file mode 100644 index 0000000..0ad612a --- /dev/null +++ b/patches.suse/0004-Revert-drm-i915-tgl-dsi-Gate-the-ddi-clocks-after-pl.patch @@ -0,0 +1,58 @@ +From f15863b27752682bb700c21de5f83f613a0fb77e Mon Sep 17 00:00:00 2001 +From: Vandita Kulkarni +Date: Tue, 9 Nov 2021 17:34:28 +0530 +Subject: Revert "drm/i915/tgl/dsi: Gate the ddi clocks after pll mapping" +Git-commit: f15863b27752682bb700c21de5f83f613a0fb77e +Patch-mainline: v5.16-rc2 +References: bsc#1152489 + +This reverts commit 991d9557b0c4 ("drm/i915/tgl/dsi: Gate the ddi clocks +after pll mapping"). The Bspec was updated recently with the pll ungate +sequence similar to that of icl dsi enable sequence. Hence reverting. + +Bspec: 49187 +Fixes: 991d9557b0c4 ("drm/i915/tgl/dsi: Gate the ddi clocks after pll mapping") +Cc: # v5.4+ +Signed-off-by: Vandita Kulkarni +Signed-off-by: Jani Nikula +Link: https://patchwork.freedesktop.org/patch/msgid/20211109120428.15211-1-vandita.kulkarni@intel.com +(cherry picked from commit 4579509ef181480f4e4510d436c691519167c5c2) +Signed-off-by: Rodrigo Vivi +Acked-by: Thomas Zimmermann +--- + drivers/gpu/drm/i915/display/icl_dsi.c | 10 ++-------- + 1 file changed, 2 insertions(+), 8 deletions(-) + +--- a/drivers/gpu/drm/i915/display/icl_dsi.c ++++ b/drivers/gpu/drm/i915/display/icl_dsi.c +@@ -646,10 +646,7 @@ static void gen11_dsi_map_pll(struct int + intel_de_write(dev_priv, ICL_DPCLKA_CFGCR0, val); + + for_each_dsi_phy(phy, intel_dsi->phys) { +- if (INTEL_GEN(dev_priv) >= 12) +- val |= ICL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy); +- else +- val &= ~ICL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy); ++ val &= ~ICL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy); + } + intel_de_write(dev_priv, ICL_DPCLKA_CFGCR0, val); + +@@ -1085,8 +1082,6 @@ static void + gen11_dsi_enable_port_and_phy(struct intel_encoder *encoder, + const struct intel_crtc_state *crtc_state) + { +- struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); +- + /* step 4a: power up all lanes of the DDI used by DSI */ + gen11_dsi_power_up_lanes(encoder); + +@@ -1112,8 +1107,7 @@ gen11_dsi_enable_port_and_phy(struct int + gen11_dsi_configure_transcoder(encoder, crtc_state); + + /* Step 4l: Gate DDI clocks */ +- if (IS_GEN(dev_priv, 11)) +- gen11_dsi_gate_clocks(encoder); ++ gen11_dsi_gate_clocks(encoder); + } + + static void gen11_dsi_powerup_panel(struct intel_encoder *encoder) diff --git a/patches.suse/0004-drm-i915-s-JSP2-ICP2-PCH.patch b/patches.suse/0004-drm-i915-s-JSP2-ICP2-PCH.patch new file mode 100644 index 0000000..98d1652 --- /dev/null +++ b/patches.suse/0004-drm-i915-s-JSP2-ICP2-PCH.patch @@ -0,0 +1,75 @@ +From 08783aa7693f55619859f4f63f384abf17cb58c5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= +Date: Thu, 24 Feb 2022 15:21:42 +0200 +Subject: drm/i915: s/JSP2/ICP2/ PCH +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +Git-commit: 08783aa7693f55619859f4f63f384abf17cb58c5 +Patch-mainline: v5.17-rc7 +References: bsc#1152489 + +This JSP2 PCH actually seems to be some special Apple +specific ICP variant rather than a JSP. Make it so. Or at +least all the references to it seem to be some Apple ICL +machines. Didn't manage to find these PCI IDs in any +public chipset docs unfortunately. + +The only thing we're losing here with this JSP->ICP change +is Wa_14011294188, but based on the HSD that isn't actually +needed on any ICP based design (including JSP), only TGP +based stuff (including MCC) really need it. The documented +w/a just never made that distinction because Windows didn't +want to differentiate between JSP and MCC (not sure how +they handle hpd/ddc/etc. then though...). + +Cc: stable@vger.kernel.org +Cc: Matt Roper +Cc: Vivek Kasireddy +Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/4226 +Fixes: 943682e3bd19 ("drm/i915: Introduce Jasper Lake PCH") +Signed-off-by: Ville Syrjälä +Link: https://patchwork.freedesktop.org/patch/msgid/20220224132142.12927-1-ville.syrjala@linux.intel.com +Acked-by: Vivek Kasireddy +Tested-by: Tomas Bzatek +(cherry picked from commit 53581504a8e216d435f114a4f2596ad0dfd902fc) +Signed-off-by: Tvrtko Ursulin +Acked-by: Thomas Zimmermann +--- + drivers/gpu/drm/i915/intel_pch.c | 2 +- + drivers/gpu/drm/i915/intel_pch.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +--- a/drivers/gpu/drm/i915/intel_pch.c ++++ b/drivers/gpu/drm/i915/intel_pch.c +@@ -110,6 +110,7 @@ intel_pch_type(const struct drm_i915_pri + /* Comet Lake V PCH is based on KBP, which is SPT compatible */ + return PCH_SPT; + case INTEL_PCH_ICP_DEVICE_ID_TYPE: ++ case INTEL_PCH_ICP2_DEVICE_ID_TYPE: + drm_dbg_kms(&dev_priv->drm, "Found Ice Lake PCH\n"); + drm_WARN_ON(&dev_priv->drm, !IS_ICELAKE(dev_priv)); + return PCH_ICP; +@@ -125,7 +126,6 @@ intel_pch_type(const struct drm_i915_pri + !IS_GEN9_BC(dev_priv)); + return PCH_TGP; + case INTEL_PCH_JSP_DEVICE_ID_TYPE: +- case INTEL_PCH_JSP2_DEVICE_ID_TYPE: + drm_dbg_kms(&dev_priv->drm, "Found Jasper Lake PCH\n"); + drm_WARN_ON(&dev_priv->drm, !IS_ELKHARTLAKE(dev_priv)); + return PCH_JSP; +--- a/drivers/gpu/drm/i915/intel_pch.h ++++ b/drivers/gpu/drm/i915/intel_pch.h +@@ -48,11 +48,11 @@ enum intel_pch { + #define INTEL_PCH_CMP2_DEVICE_ID_TYPE 0x0680 + #define INTEL_PCH_CMP_V_DEVICE_ID_TYPE 0xA380 + #define INTEL_PCH_ICP_DEVICE_ID_TYPE 0x3480 ++#define INTEL_PCH_ICP2_DEVICE_ID_TYPE 0x3880 + #define INTEL_PCH_MCC_DEVICE_ID_TYPE 0x4B00 + #define INTEL_PCH_TGP_DEVICE_ID_TYPE 0xA080 + #define INTEL_PCH_TGP2_DEVICE_ID_TYPE 0x4380 + #define INTEL_PCH_JSP_DEVICE_ID_TYPE 0x4D80 +-#define INTEL_PCH_JSP2_DEVICE_ID_TYPE 0x3880 + #define INTEL_PCH_P2X_DEVICE_ID_TYPE 0x7100 + #define INTEL_PCH_P3X_DEVICE_ID_TYPE 0x7000 + #define INTEL_PCH_QEMU_DEVICE_ID_TYPE 0x2900 /* qemu q35 has 2918 */ diff --git a/patches.suse/0005-drm-amdgpu-fix-amdgpu_ras_block_late_init-error-hand.patch b/patches.suse/0005-drm-amdgpu-fix-amdgpu_ras_block_late_init-error-hand.patch new file mode 100644 index 0000000..6f25809 --- /dev/null +++ b/patches.suse/0005-drm-amdgpu-fix-amdgpu_ras_block_late_init-error-hand.patch @@ -0,0 +1,74 @@ +From 779596ce6a79e187995f04f143fc5ea44a565ea9 Mon Sep 17 00:00:00 2001 +From: Tom Rix +Date: Thu, 17 Feb 2022 07:38:42 -0800 +Subject: drm/amdgpu: fix amdgpu_ras_block_late_init error handler +Git-commit: 779596ce6a79e187995f04f143fc5ea44a565ea9 +Patch-mainline: v5.18-rc1 +References: bsc#1152489 + +Clang build fails with +amdgpu_ras.c:2416:7: error: variable 'ras_obj' is used uninitialized + whenever 'if' condition is true + if (adev->in_suspend || amdgpu_in_reset(adev)) { + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +amdgpu_ras.c:2453:6: note: uninitialized use occurs here + if (ras_obj->ras_cb) + ^~~~~~~ + +There is a logic error in the error handler's labels. +ex/ The sysfs: is the last goto label in the normal code but +is the middle of error handler. Rework the error handler. + +cleanup: is the first error, so it's handler should be last. + +interrupt: is the second error, it's handler is next. interrupt: +handles the failure of amdgpu_ras_interrupt_add_hander() by +calling amdgpu_ras_interrupt_remove_handler(). This is wrong, +remove() assumes the interrupt has been setup, not torn down by +add(). Change the goto label to cleanup. + +sysfs is the last error, it's handler should be first. sysfs: +handles the failure of amdgpu_ras_sysfs_create() by calling +amdgpu_ras_sysfs_remove(). But when the create() fails there +is nothing added so there is nothing to remove. This error +handler is not needed. Remove the error handler and change +goto label to interrupt. + +Fixes: b293e891b057 ("drm/amdgpu: add helper function to do common ras_late_init/fini (v3)") +Reviewed-by: Luben Tuikov +Signed-off-by: Tom Rix +Signed-off-by: Alex Deucher +Acked-by: Thomas Zimmermann +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 11 +++++------ + 1 file changed, 5 insertions(+), 6 deletions(-) + +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c +@@ -1998,20 +1998,19 @@ int amdgpu_ras_late_init(struct amdgpu_d + if (ih_info->cb) { + r = amdgpu_ras_interrupt_add_handler(adev, ih_info); + if (r) +- goto interrupt; ++ goto cleanup; + } + + r = amdgpu_ras_sysfs_create(adev, fs_info); + if (r) +- goto sysfs; ++ goto interrupt; + + return 0; +-cleanup: +- amdgpu_ras_sysfs_remove(adev, ras_block); +-sysfs: ++ ++interrupt: + if (ih_info->cb) + amdgpu_ras_interrupt_remove_handler(adev, ih_info); +-interrupt: ++cleanup: + amdgpu_ras_feature_enable(adev, ras_block, 0); + return r; + } diff --git a/patches.suse/0006-drm-fb-helper-Mark-screen-buffers-in-system-memory-w.patch b/patches.suse/0006-drm-fb-helper-Mark-screen-buffers-in-system-memory-w.patch new file mode 100644 index 0000000..371d635 --- /dev/null +++ b/patches.suse/0006-drm-fb-helper-Mark-screen-buffers-in-system-memory-w.patch @@ -0,0 +1,53 @@ +From cd9f7f7ac5932129fe81b4c7559cfcb226ec7c5c Mon Sep 17 00:00:00 2001 +From: Thomas Zimmermann +Date: Tue, 1 Feb 2022 12:53:05 +0100 +Subject: drm/fb-helper: Mark screen buffers in system memory with + FBINFO_VIRTFB +Git-commit: cd9f7f7ac5932129fe81b4c7559cfcb226ec7c5c +Patch-mainline: v5.18-rc1 +References: bsc#1152472 + +Mark screen buffers in system memory with FBINFO_VIRTFB. Otherwise, fbdev +deferred I/O marks mmap'ed areas of system memory with VM_IO. (There's an +inverse relationship between the two flags.) + +For shadow buffers, also set the FBINFO_READS_FAST hint. + +v3: + * change FB_ to FBINFO_ in commit description +v2: + * updated commit description (Daniel) + * added Fixes tag + +Signed-off-by: Thomas Zimmermann +Fixes: d536540f304c ("drm/fb-helper: Add generic fbdev emulation .fb_probe function") +Reviewed-by: Daniel Vetter +Cc: dri-devel@lists.freedesktop.org +Cc: # v4.19+ +Link: https://patchwork.freedesktop.org/patch/msgid/20220201115305.9333-1-tzimmermann@suse.de +Acked-by: Thomas Zimmermann +--- + drivers/gpu/drm/drm_fb_helper.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/gpu/drm/drm_fb_helper.c ++++ b/drivers/gpu/drm/drm_fb_helper.c +@@ -2104,6 +2104,7 @@ static int drm_fb_helper_generic_probe(s + fbi->fbops = &drm_fbdev_fb_ops; + fbi->screen_size = fb->height * fb->pitches[0]; + fbi->fix.smem_len = fbi->screen_size; ++ fbi->flags = FBINFO_DEFAULT; + + drm_fb_helper_fill_info(fbi, fb_helper, sizes); + +@@ -2111,9 +2112,9 @@ static int drm_fb_helper_generic_probe(s + fbi->screen_buffer = vzalloc(fbi->screen_size); + if (!fbi->screen_buffer) + return -ENOMEM; ++ fbi->flags |= FBINFO_VIRTFB | FBINFO_READS_FAST; + + fbi->fbdefio = &drm_fbdev_defio; +- + fb_deferred_io_init(fbi); + } else { + /* buffer is mapped for HW framebuffer */ diff --git a/patches.suse/0008-USB-hcd-pci-Use-PCI_STD_NUM_BARS-when-checking-stand.patch b/patches.suse/0008-USB-hcd-pci-Use-PCI_STD_NUM_BARS-when-checking-stand.patch new file mode 100644 index 0000000..ad88513 --- /dev/null +++ b/patches.suse/0008-USB-hcd-pci-Use-PCI_STD_NUM_BARS-when-checking-stand.patch @@ -0,0 +1,43 @@ +From 5d0c4393b207660fb9d6b08caed03ac85435fcd9 Mon Sep 17 00:00:00 2001 +From: Bjorn Helgaas +Date: Fri, 21 Jan 2022 12:33:30 -0600 +Subject: USB: hcd-pci: Use PCI_STD_NUM_BARS when checking standard BARs +Git-commit: 5d0c4393b207660fb9d6b08caed03ac85435fcd9 +Patch-mainline: v5.18-rc1 +References: bsc#1152489 + +usb_hcd_pci_probe() searches for an I/O BAR using a combination of +PCI_STD_NUM_BARS (to control loop iteration) and PCI_ROM_RESOURCE (to check +whether the loop exits without finding anything). + +Use PCI_STD_NUM_BARS consistently. + +No functional change since PCI_STD_NUM_BARS == PCI_ROM_RESOURCE, but this +removes a dependency on that relationship and makes the code read better. + +Fixes: c9c13ba428ef ("PCI: Add PCI_STD_NUM_BARS for the number of standard BARs") +Cc: Denis Efremov +Signed-off-by: Bjorn Helgaas +Link: https://lore.kernel.org/r/20220121183330.1141702-1-helgaas@kernel.org +Signed-off-by: Greg Kroah-Hartman +Acked-by: Thomas Zimmermann +--- + drivers/usb/core/hcd-pci.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/usb/core/hcd-pci.c b/drivers/usb/core/hcd-pci.c +index d630cccd2e6ea..784466117c92f 100644 +--- a/drivers/usb/core/hcd-pci.c ++++ b/drivers/usb/core/hcd-pci.c +@@ -248,7 +248,7 @@ int usb_hcd_pci_probe(struct pci_dev *dev, const struct pci_device_id *id, + hcd->rsrc_len, driver->description)) + break; + } +- if (region == PCI_ROM_RESOURCE) { ++ if (region == PCI_STD_NUM_BARS) { + dev_dbg(&dev->dev, "no i/o regions available\n"); + retval = -EBUSY; + goto put_hcd; +-- +2.36.0 + diff --git a/patches.suse/0009-drm-amd-display-Fix-memory-leak-in-dcn21_clock_sourc.patch b/patches.suse/0009-drm-amd-display-Fix-memory-leak-in-dcn21_clock_sourc.patch new file mode 100644 index 0000000..c7c664b --- /dev/null +++ b/patches.suse/0009-drm-amd-display-Fix-memory-leak-in-dcn21_clock_sourc.patch @@ -0,0 +1,33 @@ +From 65e54987508b6f0771f56bdfa3ee1926d52785ae Mon Sep 17 00:00:00 2001 +From: Miaoqian Lin +Date: Thu, 21 Apr 2022 17:03:09 +0800 +Subject: drm/amd/display: Fix memory leak in dcn21_clock_source_create +Git-commit: 65e54987508b6f0771f56bdfa3ee1926d52785ae +Patch-mainline: v5.18-rc5 +References: bsc#1152472 + +When dcn20_clk_src_construct() fails, we need to release clk_src. + +Fixes: 6f4e6361c3ff ("drm/amd/display: Add Renoir resource (v2)") +Signed-off-by: Miaoqian Lin +Signed-off-by: Alex Deucher +Acked-by: Thomas Zimmermann +--- + drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c b/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c +index 3fe4bfbb98a07..faab59508d829 100644 +--- a/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c ++++ b/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c +@@ -997,6 +997,7 @@ static struct clock_source *dcn21_clock_source_create( + return &clk_src->base; + } + ++ kfree(clk_src); + BREAK_TO_DEBUGGER(); + return NULL; + } +-- +2.36.0 + diff --git a/series.conf b/series.conf index c5ae3d4..d353695 100644 --- a/series.conf +++ b/series.conf @@ -51791,6 +51791,7 @@ patches.suse/drm-radeon-Add-the-missed-drm_gem_object_put-in-rade.patch patches.suse/drm-amdgpu-Update-NV-SIMD-per-CU-to-2.patch patches.suse/drm-i915-display-Do-not-zero-past-infoframes.vsc.patch + patches.suse/0001-drm-i915-Drop-all-references-to-DRM-IRQ-midlayer.patch patches.suse/drm-gma500-Add-the-missed-drm_gem_object_put-in-psb_.patch patches.suse/NFSv4-Initialise-connection-to-the-server-in-nfs4_al.patch patches.suse/SUNRPC-prevent-port-reuse-on-transports-which-don-t-.patch @@ -53267,6 +53268,7 @@ patches.suse/drm-amdgpu-fix-warning-for-overflow-check.patch patches.suse/drm-amdgpu-revert-Add-autodump-debugfs-node-for-gpu-.patch patches.suse/drm-ttm-stop-calling-tt_swapin-in-vm_access.patch + patches.suse/0002-drm-i915-Keep-gem-ctx-vm-alive-until-the-final-put.patch patches.suse/drm-i915-Remove-memory-frequency-calculation.patch patches.suse/drm-msm-prevent-NULL-dereference-in-msm_gpu_crashsta.patch patches.suse/drm-msm-potential-error-pointer-dereference-in-init.patch @@ -53478,6 +53480,7 @@ patches.suse/Input-iforce-fix-control-message-timeout.patch patches.suse/drm-plane-helper-fix-uninitialized-variable-referenc.patch patches.suse/drm-i915-fb-Fix-rounding-error-in-subsampled-plane-s.patch + patches.suse/0003-drm-prime-Fix-use-after-free-in-mmap-with-drm_gem_tt.patch patches.suse/drm-nouveau-svm-Fix-refcount-leak-bug-and-missing-ch.patch patches.suse/drm-nouveau-use-drm_dev_unplug-during-device-removal.patch patches.suse/drm-nouveau-Add-a-dedicated-mutex-for-the-clients-li.patch @@ -53574,6 +53577,7 @@ patches.suse/thermal-core-Reset-previous-low-and-high-trip-during.patch patches.suse/drm-nouveau-hdmigv100.c-fix-corrupted-HDMI-Vendor-In.patch patches.suse/drm-sun4i-fix-unmet-dependency-on-RESET_CONTROLLER-f.patch + patches.suse/0004-Revert-drm-i915-tgl-dsi-Gate-the-ddi-clocks-after-pl.patch patches.suse/drm-amdgpu-fix-set-scaling-mode-Full-Full-aspect-Cen.patch patches.suse/scsi-qla2xxx-Fix-mailbox-direction-flags-in-qla2xxx_.patch patches.suse/ata-ahci-Add-Green-Sardine-vendor-ID-as-board_ahci_m.patch @@ -53918,6 +53922,7 @@ patches.suse/drm-tegra-vic-Fix-DMA-API-misuse.patch patches.suse/gpu-host1x-Add-back-arm_iommu_detach_device.patch patches.suse/drm-etnaviv-limit-submit-sizes.patch + patches.suse/0001-drm-vmwgfx-Remove-unused-compile-options.patch patches.suse/drm-msm-dpu-fix-safe-status-debugfs-file.patch patches.suse/drm-amdgpu-fixup-bad-vram-size-on-gmc-v8.patch patches.suse/media-aspeed-fix-mode-detect-always-time-out-at-2nd-.patch @@ -54055,6 +54060,7 @@ patches.suse/backlight-qcom-wled-Pass-number-of-elements-to-read-.patch patches.suse/backlight-qcom-wled-Fix-off-by-one-maximum-with-defa.patch patches.suse/backlight-qcom-wled-Override-default-length-with-qco.patch + patches.suse/0002-backlight-qcom-wled-Respect-enabled-strings-in-set_b.patch patches.suse/mmc-core-Fixup-storing-of-OCR-for-MMC_QUIRK_NONSTD_S.patch patches.suse/mmc-sdhci-pci-Add-PCI-ID-for-Intel-ADL.patch patches.suse/mmc-meson-mx-sdio-add-IRQ-check.patch @@ -54401,6 +54407,7 @@ patches.suse/net-usb-cdc_mbim-avoid-altsetting-toggling-for-Telit.patch patches.suse/bonding-force-carrier-update-when-releasing-slave.patch patches.suse/drm-radeon-Fix-backlight-control-on-iMac-12-1.patch + patches.suse/0003-drm-cma-helper-Set-VM_DONTEXPAND-for-mmap.patch patches.suse/drm-i915-gvt-clean-up-kernel-doc-in-gtt.c.patch patches.suse/drm-i915-gvt-Make-DRM_I915_GVT-depend-on-X86.patch patches.suse/drm-i915-Fix-dbuf-slice-config-lookup.patch @@ -54512,6 +54519,7 @@ patches.suse/net-fix-up-skbs-delta_truesize-in-UDP-GRO-frag_list.patch patches.suse/selftests-mlxsw-tc_police_scale-Make-test-more-robus.patch patches.suse/ixgbe-xsk-change-netif_carrier_ok-handling-in-ixgbe_.patch + patches.suse/0004-drm-i915-s-JSP2-ICP2-PCH.patch patches.suse/drm-vrr-Set-VRR-capable-prop-only-if-it-is-attached-.patch patches.suse/ASoC-ops-Shift-tested-values-in-snd_soc_put_volsw-by.patch patches.suse/ASoC-cs4265-Fix-the-duplicated-control-name.patch @@ -54725,6 +54733,8 @@ patches.suse/drm-amd-pm-return-ENOTSUPP-if-there-is-no-get_dpm_ul.patch patches.suse/drm-amdgpu-Fix-recursive-locking-warning.patch patches.suse/drm-amd-display-Add-affected-crtcs-to-atomic-state-f.patch + patches.suse/0005-drm-amdgpu-fix-amdgpu_ras_block_late_init-error-hand.patch + patches.suse/0006-drm-fb-helper-Mark-screen-buffers-in-system-memory-w.patch patches.suse/drm-bridge-dw-hdmi-use-safe-format-when-first-in-bri.patch patches.suse/drm-amdkfd-make-CRAT-table-missing-message-informati.patch patches.suse/drm-amd-display-Remove-vupdate_int_entry-definition.patch @@ -54816,6 +54826,7 @@ patches.suse/mfd-asic3-Add-missing-iounmap-on-error-asic3_mfd_pro.patch patches.suse/drm-edid-check-basic-audio-support-on-CEA-extension-.patch patches.suse/ext2-correct-max-file-size-computing.patch + patches.suse/0008-USB-hcd-pci-Use-PCI_STD_NUM_BARS-when-checking-stand.patch patches.suse/xhci-fix-garbage-USBSTS-being-logged-in-some-cases.patch patches.suse/xhci-fix-uninitialized-string-returned-by-xhci_decod.patch patches.suse/xhci-fix-runtime-PM-imbalance-in-USB2-resume.patch @@ -54975,6 +54986,7 @@ patches.suse/0003-video-fbdev-udlfb-properly-check-endpoint-type.patch patches.suse/bnx2x-fix-napi-API-usage-sequence.patch patches.suse/Revert-ibmvnic-Add-ethtool-private-flag-for-driver-d.patch + patches.suse/0009-drm-amd-display-Fix-memory-leak-in-dcn21_clock_sourc.patch patches.suse/USB-Fix-xhci-event-ring-dequeue-pointer-ERDP-update-.patch patches.suse/usb-gadget-uvc-Fix-crash-when-encoding-data-for-usb-.patch patches.suse/usb-dwc3-core-Fix-tx-rx-threshold-settings.patch