public inbox for patches@lists.linux.dev
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.12 088/162] Revert "drm/xe: Switch MMIO interface to take xe_mmio instead of xe_gt"
Date: Mon, 20 Apr 2026 17:42:00 +0200	[thread overview]
Message-ID: <20260420153930.222000279@linuxfoundation.org> (raw)
In-Reply-To: <20260420153927.006696811@linuxfoundation.org>

6.12-stable review patch.  If anyone has any objections, please let me know.

------------------

This reverts commit 26a40327c25c005c1653d66e7b1d8de0fbee15a4.

Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/gpu/drm/xe/xe_mmio.c  | 131 ++++++++++++++++++----------------
 drivers/gpu/drm/xe/xe_mmio.h  |  76 +++++---------------
 drivers/gpu/drm/xe/xe_trace.h |   7 +-
 3 files changed, 88 insertions(+), 126 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_mmio.c b/drivers/gpu/drm/xe/xe_mmio.c
index 9ea0973337eda..46924f4042418 100644
--- a/drivers/gpu/drm/xe/xe_mmio.c
+++ b/drivers/gpu/drm/xe/xe_mmio.c
@@ -67,16 +67,16 @@ static void mmio_multi_tile_setup(struct xe_device *xe, size_t tile_mmio_size)
 
 	/* Possibly override number of tile based on configuration register */
 	if (!xe->info.skip_mtcfg) {
-		struct xe_mmio *mmio = xe_root_tile_mmio(xe);
+		struct xe_gt *gt = xe_root_mmio_gt(xe);
 		u8 tile_count;
 		u32 mtcfg;
 
 		/*
 		 * Although the per-tile mmio regs are not yet initialized, this
-		 * is fine as it's going to the root tile's mmio, that's
-		 * guaranteed to be initialized earlier in xe_mmio_init()
+		 * is fine as it's going to the root gt, that's guaranteed to be
+		 * initialized earlier in xe_mmio_init()
 		 */
-		mtcfg = xe_mmio_read64_2x32(mmio, XEHP_MTCFG_ADDR);
+		mtcfg = xe_mmio_read64_2x32(gt, XEHP_MTCFG_ADDR);
 		tile_count = REG_FIELD_GET(TILE_COUNT, mtcfg) + 1;
 
 		if (tile_count < xe->info.tile_count) {
@@ -187,111 +187,116 @@ int xe_mmio_init(struct xe_device *xe)
 	return devm_add_action_or_reset(xe->drm.dev, mmio_fini, xe);
 }
 
-static void mmio_flush_pending_writes(struct xe_mmio *mmio)
+static void mmio_flush_pending_writes(struct xe_gt *gt)
 {
 #define DUMMY_REG_OFFSET	0x130030
+	struct xe_tile *tile = gt_to_tile(gt);
 	int i;
 
-	if (mmio->tile->xe->info.platform != XE_LUNARLAKE)
+	if (tile->xe->info.platform != XE_LUNARLAKE)
 		return;
 
 	/* 4 dummy writes */
 	for (i = 0; i < 4; i++)
-		writel(0, mmio->regs + DUMMY_REG_OFFSET);
+		writel(0, tile->mmio.regs + DUMMY_REG_OFFSET);
 }
 
-u8 __xe_mmio_read8(struct xe_mmio *mmio, struct xe_reg reg)
+u8 xe_mmio_read8(struct xe_gt *gt, struct xe_reg reg)
 {
-	u32 addr = xe_mmio_adjusted_addr(mmio, reg.addr);
+	struct xe_tile *tile = gt_to_tile(gt);
+	u32 addr = xe_mmio_adjusted_addr(gt, reg.addr);
 	u8 val;
 
 	/* Wa_15015404425 */
-	mmio_flush_pending_writes(mmio);
+	mmio_flush_pending_writes(gt);
 
-	val = readb(mmio->regs + addr);
-	trace_xe_reg_rw(mmio, false, addr, val, sizeof(val));
+	val = readb((reg.ext ? tile->mmio_ext.regs : tile->mmio.regs) + addr);
+	trace_xe_reg_rw(gt, false, addr, val, sizeof(val));
 
 	return val;
 }
 
-u16 __xe_mmio_read16(struct xe_mmio *mmio, struct xe_reg reg)
+u16 xe_mmio_read16(struct xe_gt *gt, struct xe_reg reg)
 {
-	u32 addr = xe_mmio_adjusted_addr(mmio, reg.addr);
+	struct xe_tile *tile = gt_to_tile(gt);
+	u32 addr = xe_mmio_adjusted_addr(gt, reg.addr);
 	u16 val;
 
 	/* Wa_15015404425 */
-	mmio_flush_pending_writes(mmio);
+	mmio_flush_pending_writes(gt);
 
-	val = readw(mmio->regs + addr);
-	trace_xe_reg_rw(mmio, false, addr, val, sizeof(val));
+	val = readw((reg.ext ? tile->mmio_ext.regs : tile->mmio.regs) + addr);
+	trace_xe_reg_rw(gt, false, addr, val, sizeof(val));
 
 	return val;
 }
 
-void __xe_mmio_write32(struct xe_mmio *mmio, struct xe_reg reg, u32 val)
+void xe_mmio_write32(struct xe_gt *gt, struct xe_reg reg, u32 val)
 {
-	u32 addr = xe_mmio_adjusted_addr(mmio, reg.addr);
+	struct xe_tile *tile = gt_to_tile(gt);
+	u32 addr = xe_mmio_adjusted_addr(gt, reg.addr);
 
-	trace_xe_reg_rw(mmio, true, addr, val, sizeof(val));
+	trace_xe_reg_rw(gt, true, addr, val, sizeof(val));
 
-	if (!reg.vf && mmio->sriov_vf_gt)
-		xe_gt_sriov_vf_write32(mmio->sriov_vf_gt, reg, val);
+	if (!reg.vf && IS_SRIOV_VF(gt_to_xe(gt)))
+		xe_gt_sriov_vf_write32(gt, reg, val);
 	else
-		writel(val, mmio->regs + addr);
+		writel(val, (reg.ext ? tile->mmio_ext.regs : tile->mmio.regs) + addr);
 }
 
-u32 __xe_mmio_read32(struct xe_mmio *mmio, struct xe_reg reg)
+u32 xe_mmio_read32(struct xe_gt *gt, struct xe_reg reg)
 {
-	u32 addr = xe_mmio_adjusted_addr(mmio, reg.addr);
+	struct xe_tile *tile = gt_to_tile(gt);
+	u32 addr = xe_mmio_adjusted_addr(gt, reg.addr);
 	u32 val;
 
 	/* Wa_15015404425 */
-	mmio_flush_pending_writes(mmio);
+	mmio_flush_pending_writes(gt);
 
-	if (!reg.vf && mmio->sriov_vf_gt)
-		val = xe_gt_sriov_vf_read32(mmio->sriov_vf_gt, reg);
+	if (!reg.vf && IS_SRIOV_VF(gt_to_xe(gt)))
+		val = xe_gt_sriov_vf_read32(gt, reg);
 	else
-		val = readl(mmio->regs + addr);
+		val = readl((reg.ext ? tile->mmio_ext.regs : tile->mmio.regs) + addr);
 
-	trace_xe_reg_rw(mmio, false, addr, val, sizeof(val));
+	trace_xe_reg_rw(gt, false, addr, val, sizeof(val));
 
 	return val;
 }
 
-u32 __xe_mmio_rmw32(struct xe_mmio *mmio, struct xe_reg reg, u32 clr, u32 set)
+u32 xe_mmio_rmw32(struct xe_gt *gt, struct xe_reg reg, u32 clr, u32 set)
 {
 	u32 old, reg_val;
 
-	old = xe_mmio_read32(mmio, reg);
+	old = xe_mmio_read32(gt, reg);
 	reg_val = (old & ~clr) | set;
-	xe_mmio_write32(mmio, reg, reg_val);
+	xe_mmio_write32(gt, reg, reg_val);
 
 	return old;
 }
 
-int __xe_mmio_write32_and_verify(struct xe_mmio *mmio,
-				 struct xe_reg reg, u32 val, u32 mask, u32 eval)
+int xe_mmio_write32_and_verify(struct xe_gt *gt,
+			       struct xe_reg reg, u32 val, u32 mask, u32 eval)
 {
 	u32 reg_val;
 
-	xe_mmio_write32(mmio, reg, val);
-	reg_val = xe_mmio_read32(mmio, reg);
+	xe_mmio_write32(gt, reg, val);
+	reg_val = xe_mmio_read32(gt, reg);
 
 	return (reg_val & mask) != eval ? -EINVAL : 0;
 }
 
-bool __xe_mmio_in_range(const struct xe_mmio *mmio,
-			const struct xe_mmio_range *range,
-			struct xe_reg reg)
+bool xe_mmio_in_range(const struct xe_gt *gt,
+		      const struct xe_mmio_range *range,
+		      struct xe_reg reg)
 {
-	u32 addr = xe_mmio_adjusted_addr(mmio, reg.addr);
+	u32 addr = xe_mmio_adjusted_addr(gt, reg.addr);
 
 	return range && addr >= range->start && addr <= range->end;
 }
 
 /**
  * xe_mmio_read64_2x32() - Read a 64-bit register as two 32-bit reads
- * @mmio: MMIO target
+ * @gt: MMIO target GT
  * @reg: register to read value from
  *
  * Although Intel GPUs have some 64-bit registers, the hardware officially
@@ -311,21 +316,21 @@ bool __xe_mmio_in_range(const struct xe_mmio *mmio,
  *
  * Returns the value of the 64-bit register.
  */
-u64 __xe_mmio_read64_2x32(struct xe_mmio *mmio, struct xe_reg reg)
+u64 xe_mmio_read64_2x32(struct xe_gt *gt, struct xe_reg reg)
 {
 	struct xe_reg reg_udw = { .addr = reg.addr + 0x4 };
 	u32 ldw, udw, oldudw, retries;
 
-	reg.addr = xe_mmio_adjusted_addr(mmio, reg.addr);
-	reg_udw.addr = xe_mmio_adjusted_addr(mmio, reg_udw.addr);
+	reg.addr = xe_mmio_adjusted_addr(gt, reg.addr);
+	reg_udw.addr = xe_mmio_adjusted_addr(gt, reg_udw.addr);
 
 	/* we shouldn't adjust just one register address */
-	xe_tile_assert(mmio->tile, reg_udw.addr == reg.addr + 0x4);
+	xe_gt_assert(gt, reg_udw.addr == reg.addr + 0x4);
 
-	oldudw = xe_mmio_read32(mmio, reg_udw);
+	oldudw = xe_mmio_read32(gt, reg_udw);
 	for (retries = 5; retries; --retries) {
-		ldw = xe_mmio_read32(mmio, reg);
-		udw = xe_mmio_read32(mmio, reg_udw);
+		ldw = xe_mmio_read32(gt, reg);
+		udw = xe_mmio_read32(gt, reg_udw);
 
 		if (udw == oldudw)
 			break;
@@ -333,14 +338,14 @@ u64 __xe_mmio_read64_2x32(struct xe_mmio *mmio, struct xe_reg reg)
 		oldudw = udw;
 	}
 
-	drm_WARN(&mmio->tile->xe->drm, retries == 0,
-		 "64-bit read of %#x did not stabilize\n", reg.addr);
+	xe_gt_WARN(gt, retries == 0,
+		   "64-bit read of %#x did not stabilize\n", reg.addr);
 
 	return (u64)udw << 32 | ldw;
 }
 
-static int ____xe_mmio_wait32(struct xe_mmio *mmio, struct xe_reg reg, u32 mask, u32 val, u32 timeout_us,
-			      u32 *out_val, bool atomic, bool expect_match)
+static int __xe_mmio_wait32(struct xe_gt *gt, struct xe_reg reg, u32 mask, u32 val, u32 timeout_us,
+			    u32 *out_val, bool atomic, bool expect_match)
 {
 	ktime_t cur = ktime_get_raw();
 	const ktime_t end = ktime_add_us(cur, timeout_us);
@@ -350,7 +355,7 @@ static int ____xe_mmio_wait32(struct xe_mmio *mmio, struct xe_reg reg, u32 mask,
 	bool check;
 
 	for (;;) {
-		read = xe_mmio_read32(mmio, reg);
+		read = xe_mmio_read32(gt, reg);
 
 		check = (read & mask) == val;
 		if (!expect_match)
@@ -376,7 +381,7 @@ static int ____xe_mmio_wait32(struct xe_mmio *mmio, struct xe_reg reg, u32 mask,
 	}
 
 	if (ret != 0) {
-		read = xe_mmio_read32(mmio, reg);
+		read = xe_mmio_read32(gt, reg);
 
 		check = (read & mask) == val;
 		if (!expect_match)
@@ -394,7 +399,7 @@ static int ____xe_mmio_wait32(struct xe_mmio *mmio, struct xe_reg reg, u32 mask,
 
 /**
  * xe_mmio_wait32() - Wait for a register to match the desired masked value
- * @mmio: MMIO target
+ * @gt: MMIO target GT
  * @reg: register to read value from
  * @mask: mask to be applied to the value read from the register
  * @val: desired value after applying the mask
@@ -411,15 +416,15 @@ static int ____xe_mmio_wait32(struct xe_mmio *mmio, struct xe_reg reg, u32 mask,
  * @timeout_us for different reasons, specially in non-atomic contexts. Thus,
  * it is possible that this function succeeds even after @timeout_us has passed.
  */
-int __xe_mmio_wait32(struct xe_mmio *mmio, struct xe_reg reg, u32 mask, u32 val, u32 timeout_us,
-		     u32 *out_val, bool atomic)
+int xe_mmio_wait32(struct xe_gt *gt, struct xe_reg reg, u32 mask, u32 val, u32 timeout_us,
+		   u32 *out_val, bool atomic)
 {
-	return ____xe_mmio_wait32(mmio, reg, mask, val, timeout_us, out_val, atomic, true);
+	return __xe_mmio_wait32(gt, reg, mask, val, timeout_us, out_val, atomic, true);
 }
 
 /**
  * xe_mmio_wait32_not() - Wait for a register to return anything other than the given masked value
- * @mmio: MMIO target
+ * @gt: MMIO target GT
  * @reg: register to read value from
  * @mask: mask to be applied to the value read from the register
  * @val: value not to be matched after applying the mask
@@ -430,8 +435,8 @@ int __xe_mmio_wait32(struct xe_mmio *mmio, struct xe_reg reg, u32 mask, u32 val,
  * This function works exactly like xe_mmio_wait32() with the exception that
  * @val is expected not to be matched.
  */
-int __xe_mmio_wait32_not(struct xe_mmio *mmio, struct xe_reg reg, u32 mask, u32 val, u32 timeout_us,
-			 u32 *out_val, bool atomic)
+int xe_mmio_wait32_not(struct xe_gt *gt, struct xe_reg reg, u32 mask, u32 val, u32 timeout_us,
+		       u32 *out_val, bool atomic)
 {
-	return ____xe_mmio_wait32(mmio, reg, mask, val, timeout_us, out_val, atomic, false);
+	return __xe_mmio_wait32(gt, reg, mask, val, timeout_us, out_val, atomic, false);
 }
diff --git a/drivers/gpu/drm/xe/xe_mmio.h b/drivers/gpu/drm/xe/xe_mmio.h
index ac6846447c52a..26551410ecc87 100644
--- a/drivers/gpu/drm/xe/xe_mmio.h
+++ b/drivers/gpu/drm/xe/xe_mmio.h
@@ -14,67 +14,25 @@ struct xe_reg;
 int xe_mmio_init(struct xe_device *xe);
 int xe_mmio_probe_tiles(struct xe_device *xe);
 
-/*
- * Temporary transition helper for xe_gt -> xe_mmio conversion.  Allows
- * continued usage of xe_gt as a parameter to MMIO operations which now
- * take an xe_mmio structure instead.  Will be removed once the driver-wide
- * conversion is complete.
- */
-#define __to_xe_mmio(ptr) \
-	_Generic(ptr, \
-		 const struct xe_gt *: (&((const struct xe_gt *)(ptr))->mmio), \
-		 struct xe_gt *: (&((struct xe_gt *)(ptr))->mmio), \
-		 const struct xe_mmio *: (ptr), \
-		 struct xe_mmio *: (ptr))
-
-u8 __xe_mmio_read8(struct xe_mmio *mmio, struct xe_reg reg);
-#define xe_mmio_read8(p, reg) __xe_mmio_read8(__to_xe_mmio(p), reg)
-
-u16 __xe_mmio_read16(struct xe_mmio *mmio, struct xe_reg reg);
-#define xe_mmio_read16(p, reg) __xe_mmio_read16(__to_xe_mmio(p), reg)
-
-void __xe_mmio_write32(struct xe_mmio *mmio, struct xe_reg reg, u32 val);
-#define xe_mmio_write32(p, reg, val) __xe_mmio_write32(__to_xe_mmio(p), reg, val)
-
-u32 __xe_mmio_read32(struct xe_mmio *mmio, struct xe_reg reg);
-#define xe_mmio_read32(p, reg) __xe_mmio_read32(__to_xe_mmio(p), reg)
-
-u32 __xe_mmio_rmw32(struct xe_mmio *mmio, struct xe_reg reg, u32 clr, u32 set);
-#define xe_mmio_rmw32(p, reg, clr, set) __xe_mmio_rmw32(__to_xe_mmio(p), reg, clr, set)
-
-int __xe_mmio_write32_and_verify(struct xe_mmio *mmio, struct xe_reg reg,
-				 u32 val, u32 mask, u32 eval);
-#define xe_mmio_write32_and_verify(p, reg, val, mask, eval) \
-	__xe_mmio_write32_and_verify(__to_xe_mmio(p), reg, val, mask, eval)
-
-bool __xe_mmio_in_range(const struct xe_mmio *mmio,
-			const struct xe_mmio_range *range, struct xe_reg reg);
-#define xe_mmio_in_range(p, range, reg) __xe_mmio_in_range(__to_xe_mmio(p), range, reg)
-
-u64 __xe_mmio_read64_2x32(struct xe_mmio *mmio, struct xe_reg reg);
-#define xe_mmio_read64_2x32(p, reg) __xe_mmio_read64_2x32(__to_xe_mmio(p), reg)
-
-int __xe_mmio_wait32(struct xe_mmio *mmio, struct xe_reg reg, u32 mask, u32 val,
-		     u32 timeout_us, u32 *out_val, bool atomic);
-#define xe_mmio_wait32(p, reg, mask, val, timeout_us, out_val, atomic) \
-	__xe_mmio_wait32(__to_xe_mmio(p), reg, mask, val, timeout_us, out_val, atomic)
-
-int __xe_mmio_wait32_not(struct xe_mmio *mmio, struct xe_reg reg, u32 mask,
-			 u32 val, u32 timeout_us, u32 *out_val, bool atomic);
-#define xe_mmio_wait32_not(p, reg, mask, val, timeout_us, out_val, atomic) \
-	__xe_mmio_wait32_not(__to_xe_mmio(p), reg, mask, val, timeout_us, out_val, atomic)
-
-static inline u32 __xe_mmio_adjusted_addr(const struct xe_mmio *mmio, u32 addr)
+u8 xe_mmio_read8(struct xe_gt *gt, struct xe_reg reg);
+u16 xe_mmio_read16(struct xe_gt *gt, struct xe_reg reg);
+void xe_mmio_write32(struct xe_gt *gt, struct xe_reg reg, u32 val);
+u32 xe_mmio_read32(struct xe_gt *gt, struct xe_reg reg);
+u32 xe_mmio_rmw32(struct xe_gt *gt, struct xe_reg reg, u32 clr, u32 set);
+int xe_mmio_write32_and_verify(struct xe_gt *gt, struct xe_reg reg, u32 val, u32 mask, u32 eval);
+bool xe_mmio_in_range(const struct xe_gt *gt, const struct xe_mmio_range *range, struct xe_reg reg);
+
+u64 xe_mmio_read64_2x32(struct xe_gt *gt, struct xe_reg reg);
+int xe_mmio_wait32(struct xe_gt *gt, struct xe_reg reg, u32 mask, u32 val, u32 timeout_us,
+		   u32 *out_val, bool atomic);
+int xe_mmio_wait32_not(struct xe_gt *gt, struct xe_reg reg, u32 mask, u32 val, u32 timeout_us,
+		       u32 *out_val, bool atomic);
+
+static inline u32 xe_mmio_adjusted_addr(const struct xe_gt *gt, u32 addr)
 {
-	if (addr < mmio->adj_limit)
-		addr += mmio->adj_offset;
+	if (addr < gt->mmio.adj_limit)
+		addr += gt->mmio.adj_offset;
 	return addr;
 }
-#define xe_mmio_adjusted_addr(p, addr) __xe_mmio_adjusted_addr(__to_xe_mmio(p), addr)
-
-static inline struct xe_mmio *xe_root_tile_mmio(struct xe_device *xe)
-{
-	return &xe->tiles[0].mmio;
-}
 
 #endif
diff --git a/drivers/gpu/drm/xe/xe_trace.h b/drivers/gpu/drm/xe/xe_trace.h
index 91130ad8999cd..8573d7a87d840 100644
--- a/drivers/gpu/drm/xe/xe_trace.h
+++ b/drivers/gpu/drm/xe/xe_trace.h
@@ -21,7 +21,6 @@
 #include "xe_vm.h"
 
 #define __dev_name_xe(xe)	dev_name((xe)->drm.dev)
-#define __dev_name_tile(tile)	__dev_name_xe(tile_to_xe((tile)))
 #define __dev_name_gt(gt)	__dev_name_xe(gt_to_xe((gt)))
 #define __dev_name_eq(q)	__dev_name_gt((q)->gt)
 
@@ -343,12 +342,12 @@ DEFINE_EVENT(xe_hw_fence, xe_hw_fence_try_signal,
 );
 
 TRACE_EVENT(xe_reg_rw,
-	TP_PROTO(struct xe_mmio *mmio, bool write, u32 reg, u64 val, int len),
+	TP_PROTO(struct xe_gt *gt, bool write, u32 reg, u64 val, int len),
 
-	TP_ARGS(mmio, write, reg, val, len),
+	TP_ARGS(gt, write, reg, val, len),
 
 	TP_STRUCT__entry(
-		__string(dev, __dev_name_tile(mmio->tile))
+		__string(dev, __dev_name_gt(gt))
 		__field(u64, val)
 		__field(u32, reg)
 		__field(u16, write)
-- 
2.53.0




  parent reply	other threads:[~2026-04-20 16:10 UTC|newest]

Thread overview: 176+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-20 15:40 [PATCH 6.12 000/162] 6.12.83-rc1 review Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 001/162] RDMA/irdma: Fix double free related to rereg_user_mr Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 002/162] ASoC: amd: yc: Add DMI quirk for ASUS EXPERTBOOK BM1403CDA Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 003/162] ALSA: hda/realtek: Add HP ENVY Laptop 13-ba0xxx quirk Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 004/162] ALSA: hda/realtek: Add quirk for ASUS ROG Flow Z13-KJP GZ302EAC Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 005/162] media: rkvdec: reduce stack usage in rkvdec_init_v4l2_vp9_count_tbl() Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 006/162] ALSA: asihpi: avoid write overflow check warning Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 007/162] Bluetooth: hci_sync: annotate data-races around hdev->req_status Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 008/162] ASoC: amd: yc: Add DMI quirk for Thin A15 B7VF Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 009/162] ASoC: SOF: topology: reject invalid vendor array size in token parser Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 010/162] can: mcp251x: add error handling for power enable in open and resume Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 011/162] platform/x86: asus-nb-wmi: add DMI quirk for ASUS ROG Flow Z13-KJP GZ302EAC Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 012/162] btrfs: tracepoints: get correct superblock from dentry in event btrfs_sync_file() Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 013/162] ALSA: hda/realtek: Add mute LED quirk for HP Pavilion 15-eg0xxx Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 014/162] drm/amdgpu: Handle GPU page faults correctly on non-4K page systems Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 015/162] srcu: Use irq_work to start GP in tiny SRCU Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 016/162] netfilter: nft_set_pipapo_avx2: dont return non-matching entry on expiry Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 017/162] ALSA: hda/realtek: add quirk for Framework F111:000F Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 018/162] wifi: wl1251: validate packet IDs before indexing tx_frames Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 019/162] ASoC: soc-core: call missing INIT_LIST_HEAD() for card_aux_list Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 020/162] ALSA: hda/realtek: Add quirk for Samsung Book2 Pro 360 (NP950QED) Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 021/162] ALSA: usb-audio: Fix quirk flags for NeuralDSP Quad Cortex Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 022/162] fs/smb/client: fix out-of-bounds read in cifs_sanitize_prepath Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 023/162] ASoC: amd: yc: Add DMI entry for HP Laptop 15-fc0xxx Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 024/162] ALSA: hda/realtek: Add quirk for Lenovo Yoga Pro 7 14IMH9 Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 025/162] pinctrl: intel: Fix the revision for new features (1kOhm PD, HW debouncer) Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 026/162] platform/x86/amd: pmc: Add Thinkpad L14 Gen3 to quirk_s2idle_bug Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.12 027/162] HID: quirks: add HID_QUIRK_ALWAYS_POLL for 8BitDo Pro 3 Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 028/162] ALSA: hda/realtek: Add quirk for Lenovo Yoga Pro 7 14IAH10 Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 029/162] HID: roccat: fix use-after-free in roccat_report_event Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 030/162] ata: ahci: force 32-bit DMA for JMicron JMB582/JMB585 Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 031/162] wifi: brcmfmac: validate bsscfg indices in IF events Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 032/162] net: sfp: add quirks for Hisense and HSGQ GPON ONT SFP modules Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 033/162] ASoC: stm32_sai: fix incorrect BCLK polarity for DSP_A/B, LEFT_J Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 034/162] soc: aspeed: socinfo: Mask table entries for accurate SoC ID matching Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 035/162] arm64: dts: qcom: hamoa/x1: fix idle exit latency Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 036/162] arm64: dts: imx8mq: Set the correct gpu_ahb clock frequency Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 037/162] arm64: dts: imx93-9x9-qsb: change usdhc tuning step for eMMC and SD Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 038/162] arm64: dts: imx93-tqma9352: improve eMMC pad configuration Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 039/162] soc: qcom: pd-mapper: Fix element length in servreg_loc_pfr_req_ei Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 040/162] tools/power/turbostat: Fix microcode patch level output for AMD/Hygon Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 041/162] PCI: hv: Set default NUMA node to 0 for devices without affinity info Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 042/162] HID: amd_sfh: dont log error when device discovery fails with -EOPNOTSUPP Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 043/162] xfrm: account XFRMA_IF_ID in aevent size calculation Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 044/162] drm/vc4: Release runtime PM reference after binding V3D Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 045/162] drm/vc4: Fix memory leak of BO array in hang state Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 046/162] drm/vc4: Fix a memory leak in hang state error path Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 047/162] drm/vc4: Protect madv read in vc4_gem_object_mmap() with madv_lock Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 048/162] eventpoll: defer struct eventpoll free to RCU grace period Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 049/162] net: sched: act_csum: validate nested VLAN headers Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 050/162] net: lapbether: handle NETDEV_PRE_TYPE_CHANGE Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 051/162] ipv4: nexthop: avoid duplicate NHA_HW_STATS_ENABLE on nexthop group dump Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 052/162] ipv4: nexthop: allocate skb dynamically in rtm_get_nexthop() Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 053/162] ipv4: icmp: fix null-ptr-deref in icmp_build_probe() Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 054/162] net: increase IP_TUNNEL_RECURSION_LIMIT to 5 Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 055/162] nfc: s3fwrn5: allocate rx skb before consuming bytes Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 056/162] net: stmmac: Fix PTP ref clock for Tegra234 Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 057/162] dt-bindings: net: Fix Tegra234 MGBE PTP clock Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 058/162] tracing/probe: reject non-closed empty immediate strings Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 059/162] ixgbevf: add missing negotiate_features op to Hyper-V ops table Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 060/162] e1000: check return value of e1000_read_eeprom Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 061/162] xsk: tighten UMEM headroom validation to account for tailroom and min frame Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 062/162] xsk: respect tailroom for ZC setups Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 063/162] xsk: fix XDP_UMEM_SG_FLAG issues Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 064/162] xsk: validate MTU against usable frame size on bind Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 065/162] xfrm: Wait for RCU readers during policy netns exit Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 066/162] xfrm: fix refcount leak in xfrm_migrate_policy_find Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 067/162] xfrm_user: fix info leak in build_mapping() Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 068/162] selftests: net: bridge_vlan_mcast: wait for h1 before querier check Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 069/162] ipvs: fix NULL deref in ip_vs_add_service error path Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 070/162] netfilter: nfnetlink_log: initialize nfgenmsg in NLMSG_DONE terminator Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 071/162] netfilter: xt_multiport: validate range encoding in checkentry Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 072/162] netfilter: ip6t_eui64: reject invalid MAC header for all packets Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 073/162] netfilter: nfnetlink_queue: nfqnl_instance GFP_ATOMIC -> GFP_KERNEL_ACCOUNT allocation Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 074/162] netfilter: nfnetlink_queue: make hash table per queue Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 075/162] net: txgbe: leave space for null terminators on property_entry Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 076/162] af_unix: read UNIX_DIAG_VFS data under unix_state_lock Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 077/162] net: ipa: fix GENERIC_CMD register field masks for IPA v5.0+ Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 078/162] net: ipa: fix event ring index not programmed " Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 079/162] l2tp: Drop large packets with UDP encap Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 080/162] gpio: tegra: fix irq_release_resources calling enable instead of disable Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 081/162] crypto: af_alg - limit RX SG extraction by receive buffer budget Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 082/162] perf/x86/intel/uncore: Skip discovery table for offline dies Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 083/162] sched/deadline: Use revised wakeup rule for dl_server Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 084/162] clockevents: Prevent timer interrupt starvation Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 085/162] crypto: algif_aead - Fix minimum RX size check for decryption Greg Kroah-Hartman
2026-04-20 19:31   ` Daniel Pouzzner
2026-04-20 15:41 ` [PATCH 6.12 086/162] netfilter: conntrack: add missing netlink policy validations Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.12 087/162] Revert "drm/xe/mmio: Avoid double-adjust in 64-bit reads" Greg Kroah-Hartman
2026-04-20 15:42 ` Greg Kroah-Hartman [this message]
2026-04-20 15:42 ` [PATCH 6.12 089/162] thermal: core: Mark thermal zones as exiting before unregistration Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 090/162] thermal: core: Address thermal zone removal races with resume Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 091/162] ALSA: usb-audio: Improve Focusrite sample rate filtering Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 092/162] idpf: fix PREEMPT_RT raw/bh spinlock nesting for async VC handling Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 093/162] nfc: llcp: add missing return after LLCP_CLOSED checks Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 094/162] can: raw: fix ro->uniq use-after-free in raw_rcv() Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 095/162] i2c: s3c24xx: check the size of the SMBUS message before using it Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 096/162] staging: rtl8723bs: initialize le_tmp64 in rtw_BIP_verify() Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 097/162] HID: alps: fix NULL pointer dereference in alps_raw_event() Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 098/162] HID: core: clamp report_size in s32ton() to avoid undefined shift Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 099/162] net: usb: cdc-phonet: fix skb frags[] overflow in rx_complete() Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 100/162] NFC: digital: Bounds check NFC-A cascade depth in SDD response handler Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 101/162] drm/vc4: platform_get_irq_byname() returns an int Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 102/162] ALSA: fireworks: bound device-supplied status before string array lookup Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 103/162] fbdev: tdfxfb: avoid divide-by-zero on FBIOPUT_VSCREENINFO Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 104/162] usb: gadget: f_ncm: validate minimum block_len in ncm_unwrap_ntb() Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 105/162] usb: gadget: f_phonet: fix skb frags[] overflow in pn_rx_complete() Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 106/162] usb: gadget: renesas_usb3: validate endpoint index in standard request handlers Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 107/162] smb: client: fix off-by-8 bounds check in check_wsl_eas() Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 108/162] ksmbd: validate EaNameLength in smb2_get_ea() Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 109/162] ksmbd: require 3 sub-authorities before reading sub_auth[2] Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 110/162] ksmbd: fix mechToken leak when SPNEGO decode fails after token alloc Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 111/162] usbip: validate number_of_packets in usbip_pack_ret_submit() Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 112/162] usb: storage: Expand range of matched versions for VL817 quirks entry Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 113/162] USB: cdc-acm: Add quirks for Yoga Book 9 14IAH10 INGENIC touchscreen Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 114/162] usb: gadget: f_hid: dont call cdev_init while cdev in use Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 115/162] usb: port: add delay after usb_hub_set_port_power() Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 116/162] fbdev: udlfb: avoid divide-by-zero on FBIOPUT_VSCREENINFO Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 117/162] scripts: generate_rust_analyzer.py: avoid FD leak Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 118/162] wifi: rtw88: fix device leak on probe failure Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 119/162] staging: sm750fb: fix division by zero in ps_to_hz() Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 120/162] USB: serial: option: add Telit Cinterion FN990A MBIM composition Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 121/162] Docs/admin-guide/mm/damon/reclaim: warn commit_inputs vs param updates race Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 122/162] ALSA: ctxfi: Limit PTP to a single page Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 123/162] dcache: Limit the minimal number of bucket to two Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 124/162] media: vidtv: fix NULL pointer dereference in vidtv_channel_pmt_match_sections Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 125/162] ocfs2: fix possible deadlock between unlink and dio_end_io_write Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 126/162] ocfs2: fix use-after-free in ocfs2_fault() when VM_FAULT_RETRY Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 127/162] ocfs2: handle invalid dinode in ocfs2_group_extend Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 128/162] PCI: endpoint: pci-epf-vntb: Stop cmd_handler work in epf_ntb_epc_cleanup Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 129/162] KVM: SEV: Reject attempts to sync VMSA of an already-launched/encrypted vCPU Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 130/162] KVM: SEV: Disallow LAUNCH_FINISH if vCPUs are actively being created Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 131/162] KVM: SEV: Drop WARN on large size for KVM_MEMORY_ENCRYPT_REG_REGION Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 132/162] gpiolib: unify two loops initializing GPIO descriptors Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 133/162] gpiolib: fix race condition for gdev->srcu Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 134/162] net: sched: fix TCF_LAYER_TRANSPORT handling in tcf_get_base_ptr() Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 135/162] kernel: be more careful about dup_mmap() failures and uprobe registering Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 136/162] KVM: Remove subtle "struct kvm_stats_desc" pseudo-overlay Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 137/162] KVM: x86: Use __DECLARE_FLEX_ARRAY() for UAPI structures with VLAs Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 138/162] checkpatch: add support for Assisted-by tag Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 139/162] x86-64: rename misleadingly named __copy_user_nocache() function Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 140/162] x86: rename and clean up __copy_from_user_inatomic_nocache() Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 141/162] x86-64/arm64/powerpc: clean up and rename __copy_from_user_flushcache Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 142/162] KVM: x86: Use scratch field in MMIO fragment to hold small write values Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 143/162] ASoC: qcom: q6apm: move component registration to unmanaged version Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 144/162] mm/kasan: fix double free for kasan pXds Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 145/162] mm: blk-cgroup: fix use-after-free in cgwb_release_workfn() Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 146/162] media: vidtv: fix nfeeds state corruption on start_streaming failure Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.12 147/162] media: mediatek: vcodec: fix use-after-free in encoder release path Greg Kroah-Hartman
2026-04-20 15:43 ` [PATCH 6.12 148/162] media: em28xx: fix use-after-free in em28xx_v4l2_open() Greg Kroah-Hartman
2026-04-20 15:43 ` [PATCH 6.12 149/162] hwmon: (powerz) Fix use-after-free on USB disconnect Greg Kroah-Hartman
2026-04-20 15:43 ` [PATCH 6.12 150/162] ALSA: 6fire: fix use-after-free on disconnect Greg Kroah-Hartman
2026-04-20 15:43 ` [PATCH 6.12 151/162] bcache: fix cached_dev.sb_bio use-after-free and crash Greg Kroah-Hartman
2026-04-20 15:43 ` [PATCH 6.12 152/162] media: as102: fix to not free memory after the device is registered in as102_usb_probe() Greg Kroah-Hartman
2026-04-20 15:43 ` [PATCH 6.12 153/162] nilfs2: fix NULL i_assoc_inode dereference in nilfs_mdt_save_to_shadow_map Greg Kroah-Hartman
2026-04-20 15:43 ` [PATCH 6.12 154/162] media: vidtv: fix pass-by-value structs causing MSAN warnings Greg Kroah-Hartman
2026-04-20 15:43 ` [PATCH 6.12 155/162] media: hackrf: fix to not free memory after the device is registered in hackrf_probe() Greg Kroah-Hartman
2026-04-20 15:43 ` [PATCH 6.12 156/162] ocfs2: add inline inode consistency check to ocfs2_validate_inode_block() Greg Kroah-Hartman
2026-04-20 15:43 ` [PATCH 6.12 157/162] ocfs2: validate inline data i_size during inode read Greg Kroah-Hartman
2026-04-20 15:43 ` [PATCH 6.12 158/162] ocfs2: fix out-of-bounds write in ocfs2_write_end_inline Greg Kroah-Hartman
2026-04-20 15:43 ` [PATCH 6.12 159/162] rxrpc: Fix key quota calculation for multitoken keys Greg Kroah-Hartman
2026-04-20 15:43 ` [PATCH 6.12 160/162] PCI: Fix placement of pci_save_state() in pci_bus_add_device() Greg Kroah-Hartman
2026-04-20 15:43 ` [PATCH 6.12 161/162] ipv6: add NULL checks for idev in SRv6 paths Greg Kroah-Hartman
2026-04-20 15:43 ` [PATCH 6.12 162/162] PCI: Revert "Enable ACS after configuring IOMMU for OF platforms" Greg Kroah-Hartman
2026-04-20 17:12 ` [PATCH 6.12 000/162] 6.12.83-rc1 review Florian Fainelli
2026-04-20 20:27 ` Peter Schneider
2026-04-21  1:39 ` Barry K. Nathan
2026-04-21  7:10 ` Ron Economos
2026-04-21  8:08 ` Brett A C Sheffield
2026-04-21  8:24 ` Francesco Dolcini
2026-04-21  9:05 ` Vitaly Chikunov
2026-04-21 11:11 ` Miguel Ojeda
2026-04-21 14:11 ` Mark Brown
2026-04-21 16:54 ` Shuah Khan
2026-04-21 19:34 ` Pavel Machek
2026-04-21 19:35 ` Josh Law

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260420153930.222000279@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=patches@lists.linux.dev \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox