kernel-6.14.8-200
* Thu May 22 2025 Augusto Caringi <acaringi@redhat.com> [6.14.8-0] - drm/xe/display: Re-use display vmas when possible (Maarten Lankhorst) [2367813] - Revert "loop: Add sanity check for read/write_iter" (Justin M. Forbes) - Fix up typo in release_targets (Justin M. Forbes) - Linux v6.14.8 Resolves: rhbz#2367813 Signed-off-by: Augusto Caringi <acaringi@redhat.com>
This commit is contained in:
parent
d52b2f38e1
commit
92bf8bd362
@ -1,3 +1,6 @@
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/9db433b73d8cf57ca0ac9cb17fda0d7609a3deb7
|
||||
9db433b73d8cf57ca0ac9cb17fda0d7609a3deb7 drm/xe/display: Re-use display vmas when possible
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/b58d3f80cb10dac25b2503f2a537e96dd2457218
|
||||
b58d3f80cb10dac25b2503f2a537e96dd2457218 Revert "loop: Add sanity check for read/write_iter"
|
||||
|
||||
|
@ -1,3 +1,10 @@
|
||||
* Thu May 22 2025 Augusto Caringi <acaringi@redhat.com> [6.14.8-0]
|
||||
- drm/xe/display: Re-use display vmas when possible (Maarten Lankhorst) [2367813]
|
||||
- Revert "loop: Add sanity check for read/write_iter" (Justin M. Forbes)
|
||||
- Fix up typo in release_targets (Justin M. Forbes)
|
||||
- Linux v6.14.8
|
||||
Resolves: rhbz#2367813
|
||||
|
||||
* Sun May 18 2025 Justin M. Forbes <jforbes@fedoraproject.org> [6.14.7-0]
|
||||
- Turn on MITIGATION_ITS for RHEL configs (Justin M. Forbes)
|
||||
- Add bug to Bugsfixed for 6.14.7 (Justin M. Forbes)
|
||||
|
16
kernel.spec
16
kernel.spec
@ -159,18 +159,18 @@ Summary: The Linux kernel
|
||||
# the --with-release option overrides this setting.)
|
||||
%define debugbuildsenabled 1
|
||||
# define buildid .local
|
||||
%define specrpmversion 6.14.7
|
||||
%define specversion 6.14.7
|
||||
%define specrpmversion 6.14.8
|
||||
%define specversion 6.14.8
|
||||
%define patchversion 6.14
|
||||
%define pkgrelease 201
|
||||
%define pkgrelease 200
|
||||
%define kversion 6
|
||||
%define tarfile_release 6.14.7
|
||||
%define tarfile_release 6.14.8
|
||||
# This is needed to do merge window version magic
|
||||
%define patchlevel 14
|
||||
# This allows pkg_release to have configurable %%{?dist} tag
|
||||
%define specrelease 201%{?buildid}%{?dist}
|
||||
%define specrelease 200%{?buildid}%{?dist}
|
||||
# This defines the kabi tarball version
|
||||
%define kabiversion 6.14.7
|
||||
%define kabiversion 6.14.8
|
||||
|
||||
# If this variable is set to 1, a bpf selftests build failure will cause a
|
||||
# fatal kernel package build error
|
||||
@ -4205,9 +4205,11 @@ fi\
|
||||
#
|
||||
#
|
||||
%changelog
|
||||
* Mon May 19 2025 Justin M. Forbes <jforbes@fedoraproject.org> [6.14.7-201]
|
||||
* Thu May 22 2025 Augusto Caringi <acaringi@redhat.com> [6.14.8-0]
|
||||
- drm/xe/display: Re-use display vmas when possible (Maarten Lankhorst) [2367813]
|
||||
- Revert "loop: Add sanity check for read/write_iter" (Justin M. Forbes)
|
||||
- Fix up typo in release_targets (Justin M. Forbes)
|
||||
- Linux v6.14.8
|
||||
|
||||
* Sun May 18 2025 Justin M. Forbes <jforbes@fedoraproject.org> [6.14.7-0]
|
||||
- Turn on MITIGATION_ITS for RHEL configs (Justin M. Forbes)
|
||||
|
@ -31,6 +31,14 @@
|
||||
drivers/firmware/efi/Makefile | 1 +
|
||||
drivers/firmware/efi/efi.c | 124 ++-
|
||||
drivers/firmware/efi/secureboot.c | 38 +
|
||||
drivers/gpu/drm/i915/display/intel_atomic_plane.c | 2 +-
|
||||
drivers/gpu/drm/i915/display/intel_cursor.c | 2 +-
|
||||
drivers/gpu/drm/i915/display/intel_fb_pin.c | 3 +-
|
||||
drivers/gpu/drm/i915/display/intel_fb_pin.h | 3 +-
|
||||
drivers/gpu/drm/i915/display/intel_fbdev.c | 5 +
|
||||
drivers/gpu/drm/i915/display/intel_fbdev.h | 8 +
|
||||
drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h | 3 +
|
||||
drivers/gpu/drm/xe/display/xe_fb_pin.c | 48 +-
|
||||
drivers/hid/hid-rmi.c | 66 --
|
||||
drivers/hwtracing/coresight/coresight-etm4x-core.c | 19 +
|
||||
drivers/input/rmi4/rmi_driver.c | 124 ++-
|
||||
@ -69,7 +77,7 @@
|
||||
security/integrity/platform_certs/load_uefi.c | 6 +-
|
||||
security/lockdown/Kconfig | 13 +
|
||||
security/lockdown/lockdown.c | 11 +
|
||||
71 files changed, 3097 insertions(+), 682 deletions(-)
|
||||
79 files changed, 3162 insertions(+), 691 deletions(-)
|
||||
|
||||
diff --git a/Documentation/ABI/testing/sysfs-kernel-fadump b/Documentation/ABI/testing/sysfs-kernel-fadump
|
||||
index 2f9daa7ca55b..b64b7622e6fc 100644
|
||||
@ -116,7 +124,7 @@ index 7e37aadd1f77..7e266e749cd5 100644
|
||||
-----------------------
|
||||
|
||||
diff --git a/MAINTAINERS b/MAINTAINERS
|
||||
index 00e94bec401e..292b51652cca 100644
|
||||
index c0d5232a473b..00b60a837d5e 100644
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -17461,6 +17461,23 @@ T: git git://linuxtv.org/media.git
|
||||
@ -144,7 +152,7 @@ index 00e94bec401e..292b51652cca 100644
|
||||
M: Jimmy Su <jimmy.su@intel.com>
|
||||
L: linux-media@vger.kernel.org
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 70bd8847c867..870ed6a45aa8 100644
|
||||
index 70011eb4745f..656884906cea 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -22,6 +22,18 @@ $(if $(filter __%, $(MAKECMDGOALS)), \
|
||||
@ -184,7 +192,7 @@ index 70bd8847c867..870ed6a45aa8 100644
|
||||
ifdef mixed-build
|
||||
# ===========================================================================
|
||||
# We're called with mixed targets (*config and build targets).
|
||||
@@ -1918,6 +1941,23 @@ endif
|
||||
@@ -1917,6 +1940,23 @@ endif
|
||||
|
||||
ifdef CONFIG_MODULES
|
||||
|
||||
@ -1154,6 +1162,214 @@ index 000000000000..de0a3714a5d4
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.c b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
|
||||
index 612e9b0ec14a..3e014afaee08 100644
|
||||
--- a/drivers/gpu/drm/i915/display/intel_atomic_plane.c
|
||||
+++ b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
|
||||
@@ -1130,7 +1130,7 @@ intel_prepare_plane_fb(struct drm_plane *_plane,
|
||||
if (!obj)
|
||||
return 0;
|
||||
|
||||
- ret = intel_plane_pin_fb(new_plane_state);
|
||||
+ ret = intel_plane_pin_fb(new_plane_state, old_plane_state);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/display/intel_cursor.c b/drivers/gpu/drm/i915/display/intel_cursor.c
|
||||
index 57cf8f46a458..ae7243ad6e0c 100644
|
||||
--- a/drivers/gpu/drm/i915/display/intel_cursor.c
|
||||
+++ b/drivers/gpu/drm/i915/display/intel_cursor.c
|
||||
@@ -865,7 +865,7 @@ intel_legacy_cursor_update(struct drm_plane *_plane,
|
||||
if (ret)
|
||||
goto out_free;
|
||||
|
||||
- ret = intel_plane_pin_fb(new_plane_state);
|
||||
+ ret = intel_plane_pin_fb(new_plane_state, old_plane_state);
|
||||
if (ret)
|
||||
goto out_free;
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/display/intel_fb_pin.c b/drivers/gpu/drm/i915/display/intel_fb_pin.c
|
||||
index d3a86f9c6bc8..dd3ac7f98dfc 100644
|
||||
--- a/drivers/gpu/drm/i915/display/intel_fb_pin.c
|
||||
+++ b/drivers/gpu/drm/i915/display/intel_fb_pin.c
|
||||
@@ -252,7 +252,8 @@ intel_plane_fb_min_phys_alignment(const struct intel_plane_state *plane_state)
|
||||
return plane->min_alignment(plane, fb, 0);
|
||||
}
|
||||
|
||||
-int intel_plane_pin_fb(struct intel_plane_state *plane_state)
|
||||
+int intel_plane_pin_fb(struct intel_plane_state *plane_state,
|
||||
+ const struct intel_plane_state *old_plane_state)
|
||||
{
|
||||
struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
|
||||
const struct intel_framebuffer *fb =
|
||||
diff --git a/drivers/gpu/drm/i915/display/intel_fb_pin.h b/drivers/gpu/drm/i915/display/intel_fb_pin.h
|
||||
index ac0319b53af0..0fc6d9044638 100644
|
||||
--- a/drivers/gpu/drm/i915/display/intel_fb_pin.h
|
||||
+++ b/drivers/gpu/drm/i915/display/intel_fb_pin.h
|
||||
@@ -23,7 +23,8 @@ intel_fb_pin_to_ggtt(const struct drm_framebuffer *fb,
|
||||
|
||||
void intel_fb_unpin_vma(struct i915_vma *vma, unsigned long flags);
|
||||
|
||||
-int intel_plane_pin_fb(struct intel_plane_state *plane_state);
|
||||
+int intel_plane_pin_fb(struct intel_plane_state *new_plane_state,
|
||||
+ const struct intel_plane_state *old_plane_state);
|
||||
void intel_plane_unpin_fb(struct intel_plane_state *old_plane_state);
|
||||
|
||||
#endif
|
||||
diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c b/drivers/gpu/drm/i915/display/intel_fbdev.c
|
||||
index 00852ff5b247..6c0808133397 100644
|
||||
--- a/drivers/gpu/drm/i915/display/intel_fbdev.c
|
||||
+++ b/drivers/gpu/drm/i915/display/intel_fbdev.c
|
||||
@@ -695,3 +695,8 @@ struct intel_framebuffer *intel_fbdev_framebuffer(struct intel_fbdev *fbdev)
|
||||
|
||||
return to_intel_framebuffer(fbdev->helper.fb);
|
||||
}
|
||||
+
|
||||
+struct i915_vma *intel_fbdev_vma_pointer(struct intel_fbdev *fbdev)
|
||||
+{
|
||||
+ return fbdev ? fbdev->vma : NULL;
|
||||
+}
|
||||
diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.h b/drivers/gpu/drm/i915/display/intel_fbdev.h
|
||||
index 08de2d5b3433..24a3434558cb 100644
|
||||
--- a/drivers/gpu/drm/i915/display/intel_fbdev.h
|
||||
+++ b/drivers/gpu/drm/i915/display/intel_fbdev.h
|
||||
@@ -17,6 +17,8 @@ struct intel_framebuffer;
|
||||
void intel_fbdev_setup(struct drm_i915_private *dev_priv);
|
||||
void intel_fbdev_set_suspend(struct drm_device *dev, int state, bool synchronous);
|
||||
struct intel_framebuffer *intel_fbdev_framebuffer(struct intel_fbdev *fbdev);
|
||||
+struct i915_vma *intel_fbdev_vma_pointer(struct intel_fbdev *fbdev);
|
||||
+
|
||||
#else
|
||||
static inline void intel_fbdev_setup(struct drm_i915_private *dev_priv)
|
||||
{
|
||||
@@ -30,6 +32,12 @@ static inline struct intel_framebuffer *intel_fbdev_framebuffer(struct intel_fbd
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
+
|
||||
+static inline struct i915_vma *intel_fbdev_vma_pointer(struct intel_fbdev *fbdev)
|
||||
+{
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
#endif
|
||||
|
||||
#endif /* __INTEL_FBDEV_H__ */
|
||||
diff --git a/drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h b/drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h
|
||||
index bdae8392e125..4465c40f8134 100644
|
||||
--- a/drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h
|
||||
+++ b/drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h
|
||||
@@ -10,6 +10,8 @@
|
||||
|
||||
#include "xe_ggtt_types.h"
|
||||
|
||||
+#include <linux/refcount.h>
|
||||
+
|
||||
/* We don't want these from i915_drm.h in case of Xe */
|
||||
#undef I915_TILING_X
|
||||
#undef I915_TILING_Y
|
||||
@@ -19,6 +21,7 @@
|
||||
struct xe_bo;
|
||||
|
||||
struct i915_vma {
|
||||
+ refcount_t ref;
|
||||
struct xe_bo *bo, *dpt;
|
||||
struct xe_ggtt_node *node;
|
||||
};
|
||||
diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c b/drivers/gpu/drm/xe/display/xe_fb_pin.c
|
||||
index 9fa51b84737c..25ce032bb293 100644
|
||||
--- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
|
||||
+++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "intel_dpt.h"
|
||||
#include "intel_fb.h"
|
||||
#include "intel_fb_pin.h"
|
||||
+#include "intel_fbdev.h"
|
||||
#include "xe_bo.h"
|
||||
#include "xe_device.h"
|
||||
#include "xe_ggtt.h"
|
||||
@@ -287,6 +288,7 @@ static struct i915_vma *__xe_pin_fb_vma(const struct intel_framebuffer *fb,
|
||||
if (!vma)
|
||||
return ERR_PTR(-ENODEV);
|
||||
|
||||
+ refcount_set(&vma->ref, 1);
|
||||
if (IS_DGFX(to_xe_device(bo->ttm.base.dev)) &&
|
||||
intel_fb_rc_ccs_cc_plane(&fb->base) >= 0 &&
|
||||
!(bo->flags & XE_BO_FLAG_NEEDS_CPU_ACCESS)) {
|
||||
@@ -347,6 +349,9 @@ static void __xe_unpin_fb_vma(struct i915_vma *vma)
|
||||
{
|
||||
u8 tile_id = vma->node->ggtt->tile->id;
|
||||
|
||||
+ if (!refcount_dec_and_test(&vma->ref))
|
||||
+ return;
|
||||
+
|
||||
if (vma->dpt)
|
||||
xe_bo_unpin_map_no_vm(vma->dpt);
|
||||
else if (!xe_ggtt_node_allocated(vma->bo->ggtt_node[tile_id]) ||
|
||||
@@ -377,25 +382,58 @@ void intel_fb_unpin_vma(struct i915_vma *vma, unsigned long flags)
|
||||
__xe_unpin_fb_vma(vma);
|
||||
}
|
||||
|
||||
-int intel_plane_pin_fb(struct intel_plane_state *plane_state)
|
||||
+static bool reuse_vma(struct intel_plane_state *new_plane_state,
|
||||
+ const struct intel_plane_state *old_plane_state)
|
||||
{
|
||||
- struct drm_framebuffer *fb = plane_state->hw.fb;
|
||||
+ struct intel_framebuffer *fb = to_intel_framebuffer(new_plane_state->hw.fb);
|
||||
+ struct xe_device *xe = to_xe_device(fb->base.dev);
|
||||
+ struct i915_vma *vma;
|
||||
+
|
||||
+ if (old_plane_state->hw.fb == new_plane_state->hw.fb &&
|
||||
+ !memcmp(&old_plane_state->view.gtt,
|
||||
+ &new_plane_state->view.gtt,
|
||||
+ sizeof(new_plane_state->view.gtt))) {
|
||||
+ vma = old_plane_state->ggtt_vma;
|
||||
+ goto found;
|
||||
+ }
|
||||
+
|
||||
+ if (fb == intel_fbdev_framebuffer(xe->display.fbdev.fbdev)) {
|
||||
+ vma = intel_fbdev_vma_pointer(xe->display.fbdev.fbdev);
|
||||
+ if (vma)
|
||||
+ goto found;
|
||||
+ }
|
||||
+
|
||||
+ return false;
|
||||
+
|
||||
+found:
|
||||
+ refcount_inc(&vma->ref);
|
||||
+ new_plane_state->ggtt_vma = vma;
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
+int intel_plane_pin_fb(struct intel_plane_state *new_plane_state,
|
||||
+ const struct intel_plane_state *old_plane_state)
|
||||
+{
|
||||
+ struct drm_framebuffer *fb = new_plane_state->hw.fb;
|
||||
struct drm_gem_object *obj = intel_fb_bo(fb);
|
||||
struct xe_bo *bo = gem_to_xe_bo(obj);
|
||||
struct i915_vma *vma;
|
||||
struct intel_framebuffer *intel_fb = to_intel_framebuffer(fb);
|
||||
- struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
|
||||
+ struct intel_plane *plane = to_intel_plane(new_plane_state->uapi.plane);
|
||||
u64 phys_alignment = plane->min_alignment(plane, fb, 0);
|
||||
|
||||
+ if (reuse_vma(new_plane_state, old_plane_state))
|
||||
+ return 0;
|
||||
+
|
||||
/* We reject creating !SCANOUT fb's, so this is weird.. */
|
||||
drm_WARN_ON(bo->ttm.base.dev, !(bo->flags & XE_BO_FLAG_SCANOUT));
|
||||
|
||||
- vma = __xe_pin_fb_vma(intel_fb, &plane_state->view.gtt, phys_alignment);
|
||||
+ vma = __xe_pin_fb_vma(intel_fb, &new_plane_state->view.gtt, phys_alignment);
|
||||
|
||||
if (IS_ERR(vma))
|
||||
return PTR_ERR(vma);
|
||||
|
||||
- plane_state->ggtt_vma = vma;
|
||||
+ new_plane_state->ggtt_vma = vma;
|
||||
return 0;
|
||||
}
|
||||
|
||||
diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c
|
||||
index d4af17fdba46..154f0403cbf4 100644
|
||||
--- a/drivers/hid/hid-rmi.c
|
||||
@ -5318,7 +5534,7 @@ index a2ff4242e623..f0d2be1ee4f1 100644
|
||||
|
||||
int module_sig_check(struct load_info *info, int flags)
|
||||
diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn
|
||||
index dc081cf46d21..25fe35170155 100644
|
||||
index 686197407c3c..ca5427a94deb 100644
|
||||
--- a/scripts/Makefile.extrawarn
|
||||
+++ b/scripts/Makefile.extrawarn
|
||||
@@ -20,6 +20,10 @@ KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
|
||||
|
6
sources
6
sources
@ -1,3 +1,3 @@
|
||||
SHA512 (linux-6.14.7.tar.xz) = 767421666bdc34f4cdc3f010e4e22a038b3588597ad2027988ebabad4c1b683e4c86fd6e54380f6befd61e4350884442299fe1522adbe93a72a3f05cd2cb9a85
|
||||
SHA512 (kernel-abi-stablelists-6.14.7.tar.xz) = 4430d6e046f8005ce1880f8965f97074c93f9dfce4bd7ec286eb9cba86b78e5b6f7669c41f1f58bfc0620bb4d06a7022e4f10cd0d2ade89a38105be41c7a375a
|
||||
SHA512 (kernel-kabi-dw-6.14.7.tar.xz) = a3f97551e75d4db323c9abac98601374be7577e8a02e5d09244a1e58c73a3c16259dc69ebdd3f1b8e5e65f58b712e123864a7df4c26abcd1aed98b09605b7993
|
||||
SHA512 (linux-6.14.8.tar.xz) = 4af05f7cbb291b73183de8ea00a45f8c57fb1eac3307bf01e8550bcef83e5c5167d76f3e91453ddd65342d6ace576c3772c19336f097dc1e672f4dfa3435e5b0
|
||||
SHA512 (kernel-abi-stablelists-6.14.8.tar.xz) = 967ec90d674ecf832e8b22154643813f9ff04e8257aa354d0b03a44deb0bc162ff98c01b7d223e350e1adc3d93c2c0cbd6418594538367d136b4863a5a054559
|
||||
SHA512 (kernel-kabi-dw-6.14.8.tar.xz) = 084a432a295695e5cbfc4ac750676bdd13e38a94bbbe27718997a9d2650521722cde1438702c6cfc13f7248b47dccbd121a7ab8990570480774c74d5e098c39a
|
||||
|
Loading…
Reference in New Issue
Block a user