From: Sasha Levin <sashal@kernel.org>
To: patches@lists.linux.dev, stable@vger.kernel.org
Cc: Hawking Zhang <Hawking.Zhang@amd.com>,
Lijo Lazar <lijo.lazar@amd.com>,
Alex Deucher <alexander.deucher@amd.com>,
Sasha Levin <sashal@kernel.org>,
christian.koenig@amd.com, airlied@gmail.com, simona@ffwll.ch,
amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
linux-kernel@vger.kernel.org
Subject: [PATCH AUTOSEL 7.0] drm/amdgpu: Handle IH v7_1 reg offset differences
Date: Mon, 20 Apr 2026 09:18:20 -0400 [thread overview]
Message-ID: <20260420132314.1023554-106-sashal@kernel.org> (raw)
In-Reply-To: <20260420132314.1023554-1-sashal@kernel.org>
From: Hawking Zhang <Hawking.Zhang@amd.com>
[ Upstream commit 41c61e60f82d55e9a3a3f3f04d192d732230a91c ]
IH v7_1 changes the offsets of some registers relative to
IH v7_0. Introduce IH v7_1-specific register access
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
LLM Generated explanations, may be completely bogus:
Connection lost, reconnecting (attempt 1)...
Retry attempt 1...
Now let me compile the final analysis.
---
## PHASE 1: COMMIT MESSAGE FORENSICS
### Step 1.1: Subject Line
- **Subsystem**: `drm/amdgpu` (AMD GPU driver, IH = Interrupt Handler)
- **Action verb**: "Handle" - implies addressing a functional issue
- **Summary**: Addresses register offset differences between IH v7.0 and
IH v7.1 hardware IP versions
Record: [drm/amdgpu] [Handle] [Fix wrong register offsets for IH v7.1
hardware]
### Step 1.2: Tags
- Signed-off-by: Hawking Zhang (AMD GPU architect/contributor)
- Reviewed-by: Lijo Lazar (AMD GPU developer)
- Signed-off-by: Alex Deucher (AMD GPU subsystem maintainer)
- No Fixes: tag, no Reported-by, no Cc: stable - all expected for
candidate evaluation.
Record: Standard AMD GPU driver patch flow. Reviewed by subsystem
contributor, signed off by maintainer.
### Step 1.3: Commit Body
The body explains: "IH v7_1 changes the offsets of some registers
relative to IH v7_0." This states factually that register offsets differ
between hardware versions. "Introduce IH v7_1-specific register access"
means the fix adds conditional paths.
Record: The bug is that IH v7.1 hardware has different register offsets
for certain registers, but the driver uses v7.0 offsets for all
versions, leading to wrong register accesses.
### Step 1.4: Hidden Bug Fix Detection
This IS a hidden bug fix. The phrase "Handle... differences" understates
the issue: without this change, the driver reads/writes WRONG register
offsets on IH v7.1 hardware. This is a functional correctness bug.
Record: Yes, this is a hidden bug fix disguised as enablement.
## PHASE 2: DIFF ANALYSIS
### Step 2.1: Inventory
- **Files**: `drivers/gpu/drm/amd/amdgpu/ih_v7_0.c` (+22 lines net)
- **Functions modified**: `ih_v7_0_irq_init()`
- **Scope**: Single-file, single-function, surgical fix
### Step 2.2: Code Flow Change
The diff modifies `ih_v7_0_irq_init()` in three places:
1. **IH_CHICKEN register** (lines 321-324): Before: always uses
`regIH_CHICKEN` (0x018a from v7.0 header). After: checks IP version;
uses 0x0129 for v7.1, 0x018a for v7.0.
2. **IH_RING1_CLIENT_CFG_INDEX** (lines 361-363): Before: always uses
`regIH_RING1_CLIENT_CFG_INDEX` (0x0183). After: uses 0x0122 for v7.1.
3. **IH_RING1_CLIENT_CFG_DATA** (lines 365-371): Before: always uses
`regIH_RING1_CLIENT_CFG_DATA` (0x0184). After: uses 0x0123 for v7.1.
Six local `#define` constants are added for the v7.1 offsets.
### Step 2.3: Bug Mechanism
**Category**: Hardware register access correctness bug
I verified the register offsets from the actual header files:
**osssys_7_0_0_offset.h**:
- `regIH_CHICKEN` = 0x018a
- `regIH_RING1_CLIENT_CFG_INDEX` = 0x0183
- `regIH_RING1_CLIENT_CFG_DATA` = 0x0184
**osssys_7_1_0_offset.h**:
- `regIH_CHICKEN` = 0x0129
- `regIH_RING1_CLIENT_CFG_INDEX` = 0x0122
- `regIH_RING1_CLIENT_CFG_DATA` = 0x0123
The offsets differ significantly (e.g., IH_CHICKEN is 0x61 dwords
apart). Since `ih_v7_0.c` only includes the v7.0 header, on v7.1
hardware it reads/writes completely wrong registers.
### Step 2.4: Fix Quality
- **Obviously correct**: Yes - version check + correct v7.1 offsets
verified against official header
- **Minimal/surgical**: Yes - only the three affected registers are
touched
- **Regression risk**: Very low - only changes behavior for
IP_VERSION(7,1,0); v7.0 paths unchanged
- **Red flags**: None
## PHASE 3: GIT HISTORY INVESTIGATION
### Step 3.1: Blame
The buggy `RREG32_SOC15(OSSSYS, 0, regIH_CHICKEN)` at line 321 was
introduced by `12443fc53e7d7` (Likun Gao, 2023 - initial ih_v7_0
support). The IH_RING1 client config lines (359-371) were added by
`f0c6b79bfc921` (Sunil Khatri, July 2024).
### Step 3.2: Fixes Tag
No Fixes: tag present. The underlying issue is that `692c70f4d8024`
("drm/amdgpu: Use ih v7_0 ip block for ih v7_1") claimed v7.1 could
share the v7.0 implementation, but didn't account for register offset
differences. This commit IS in the stable tree.
### Step 3.3: File History
20+ commits to ih_v7_0.c, mostly API refactoring. The v7.1-specific code
(retry CAM) was added by `e06d194201189` which IS in this tree.
### Step 3.4: Author
Hawking Zhang is a principal AMD GPU architect and frequent contributor,
also added the osssys v7.1 headers.
### Step 3.5: Dependencies
No dependencies. The commit is self-contained - it adds local #defines
rather than including the v7.1 header (avoiding symbol clashes).
## PHASE 4: MAILING LIST RESEARCH
Could not find the specific patch thread on lore.kernel.org (Anubis
anti-scraping protection blocked search). Web search also did not find
the exact patch. The "Consolidate register access methods" series by
Lijo Lazar (Jan 2026) appears to be a follow-up refactoring.
## PHASE 5: CODE SEMANTIC ANALYSIS
### Step 5.1: Key Functions
`ih_v7_0_irq_init()` is the only function modified.
### Step 5.2: Callers
`ih_v7_0_irq_init()` is called from:
- `ih_v7_0_hw_init()` -> called during device load
- `ih_v7_0_resume()` -> called during system resume
These are critical initialization paths that run every time the GPU is
initialized or resumed.
### Step 5.4: Reachability
Absolutely reachable - runs on every device init and resume for any GPU
using IH v7.x.
## PHASE 6: CROSS-REFERENCING AND STABLE TREE ANALYSIS
### Step 6.1: Buggy Code in Stable
YES - both the code and the IH v7.1 hardware recognition
(`amdgpu_discovery.c` line 2110: `case IP_VERSION(7, 1, 0)`) exist in
this 7.0 tree. The v7.1-specific retry CAM code (commit `e06d194201189`)
is also present.
### Step 6.2: Backport Complications
The patch should apply cleanly - the file in the stable tree matches the
pre-image of the diff exactly. The current code at lines 303-402 matches
what the diff expects.
### Step 6.3: Related Fixes
No related fix for the same issue already in stable.
## PHASE 7: SUBSYSTEM AND MAINTAINER CONTEXT
### Step 7.1: Subsystem Criticality
`drm/amdgpu` - IMPORTANT. AMD GPUs are very widely used. IH (Interrupt
Handler) is critical for GPU interrupt delivery.
### Step 7.2: Activity
Very active subsystem with frequent changes.
## PHASE 8: IMPACT AND RISK ASSESSMENT
### Step 8.1: Affected Users
Users with IH v7.1 GPUs (specific AMD GPU generation). These GPUs are
detected and loaded by the driver in the 7.0 stable tree.
### Step 8.2: Trigger Conditions
Every GPU initialization and every system resume. 100% reproducible on
affected hardware.
### Step 8.3: Failure Mode Severity
Without this fix on IH v7.1 hardware:
- **IH_CHICKEN wrong**: Bus address mode for IH not configured ->
potential firmware load path issues
- **IH_RING1_CLIENT_CFG wrong**: Interrupt redirection to ring 1 broken
for dGPUs -> interrupt handling incomplete
- **Wrong register writes**: Writing to offset 0x018a instead of 0x0129
corrupts whatever register is actually at 0x018a
- Severity: **HIGH** - broken interrupt initialization on affected GPUs
### Step 8.4: Risk-Benefit Ratio
- **Benefit**: HIGH - makes IH v7.1 GPUs work correctly with proper
interrupt handling
- **Risk**: VERY LOW - only changes behavior for IP_VERSION(7,1,0), all
v7.0 paths unchanged
- **Ratio**: Strongly favorable
## PHASE 9: FINAL SYNTHESIS
### Step 9.1: Evidence Summary
**FOR backporting**:
- Fixes wrong register access on hardware already supported in stable
(v7.1 IP recognized, block loaded)
- Three registers accessed at completely wrong offsets (0x018a vs
0x0129, etc.)
- Wrong register writes can corrupt hardware state and break interrupt
handling
- Every GPU init/resume triggers the bug on affected hardware
- Self-contained single-file fix
- Reviewed by AMD developer, signed off by AMD maintainer
- Low regression risk (v7.0 hardware unaffected)
- Fix quality is high: correct offsets verified against official header
file
**AGAINST backporting**:
- Moderate size (~22 lines, 6 #defines + conditional logic)
- Commit message reads more like enablement than a bug fix
- No Reported-by or syzbot (hardware may not yet be widely deployed)
- Could be considered part of ongoing hardware bring-up
### Step 9.2: Stable Rules Checklist
1. Obviously correct and tested? **YES** - offsets verified against v7.1
header
2. Fixes a real bug? **YES** - wrong register addresses on v7.1 hardware
3. Important issue? **YES** - broken interrupt initialization, potential
register corruption
4. Small and contained? **YES** - single file, single function, ~22
lines
5. No new features? **YES** - fixes existing hardware support
6. Can apply to stable? **YES** - file matches pre-image exactly
### Step 9.3: Exception Categories
This is a **hardware workaround/quirk** for register offset differences
- this exception category applies.
## Verification
- [Phase 1] Parsed tags: Reviewed-by: Lijo Lazar, Signed-off-by: Hawking
Zhang + Alex Deucher
- [Phase 2] Diff analysis: adds #defines for 3 v7.1 register offsets +
conditional selection in ih_v7_0_irq_init()
- [Phase 2] Verified v7.0 offsets: IH_CHICKEN=0x018a, CFG_INDEX=0x0183,
CFG_DATA=0x0184 (from osssys_7_0_0_offset.h)
- [Phase 2] Verified v7.1 offsets: IH_CHICKEN=0x0129, CFG_INDEX=0x0122,
CFG_DATA=0x0123 (from osssys_7_1_0_offset.h)
- [Phase 2] Confirmed #defines in patch match v7.1 header values exactly
- [Phase 2] Confirmed all other IH registers (RB_BASE, RB_CNTL, etc.)
have SAME offsets in v7.0 and v7.1 - only these three differ
- [Phase 3] git blame: regIH_CHICKEN usage introduced by 12443fc53e7d7
(initial ih_v7_0, 2023); client CFG added by f0c6b79bfc921 (2024)
- [Phase 3] git show 692c70f4d8024: confirmed this commit added
IP_VERSION(7,1,0) mapping to ih_v7_0_ip_block in discovery
- [Phase 3] git show e06d194201189: confirmed v7.1-specific CAM code
exists in stable tree
- [Phase 5] ih_v7_0_irq_init() called from hw_init (device load) and
resume - critical paths
- [Phase 6] Confirmed IP_VERSION(7,1,0) recognized in amdgpu_discovery.c
line 2110 of this tree
- [Phase 6] Confirmed osssys_7_1_0_offset.h exists in this tree (commit
755b5591739cc)
- [Phase 6] File matches pre-image of diff exactly - clean apply
expected
- [Phase 6] RREG32_SOC15 macro verified: uses
`adev->reg_offset[ip_HWIP][inst][reg_BASE_IDX] + reg` - the `reg`
value comes from the included header (7_0_0)
- UNVERIFIED: Could not access lore.kernel.org to read patch discussion
(Anubis protection)
- UNVERIFIED: Which specific GPU models use IH v7.1 (but confirmed it IS
recognized in this tree)
**YES**
drivers/gpu/drm/amd/amdgpu/ih_v7_0.c | 36 ++++++++++++++++++++++------
1 file changed, 29 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/ih_v7_0.c b/drivers/gpu/drm/amd/amdgpu/ih_v7_0.c
index 451828bf583e4..1fbe904f4223b 100644
--- a/drivers/gpu/drm/amd/amdgpu/ih_v7_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/ih_v7_0.c
@@ -289,6 +289,13 @@ static uint32_t ih_v7_0_setup_retry_doorbell(u32 doorbell_index)
return val;
}
+#define regIH_RING1_CLIENT_CFG_INDEX_V7_1 0x122
+#define regIH_RING1_CLIENT_CFG_INDEX_V7_1_BASE_IDX 0
+#define regIH_RING1_CLIENT_CFG_DATA_V7_1 0x123
+#define regIH_RING1_CLIENT_CFG_DATA_V7_1_BASE_IDX 0
+#define regIH_CHICKEN_V7_1 0x129
+#define regIH_CHICKEN_V7_1_BASE_IDX 0
+
/**
* ih_v7_0_irq_init - init and enable the interrupt ring
*
@@ -307,6 +314,7 @@ static int ih_v7_0_irq_init(struct amdgpu_device *adev)
u32 tmp;
int ret;
int i;
+ u32 reg_addr;
/* disable irqs */
ret = ih_v7_0_toggle_interrupts(adev, false);
@@ -318,10 +326,15 @@ static int ih_v7_0_irq_init(struct amdgpu_device *adev)
if (unlikely((adev->firmware.load_type == AMDGPU_FW_LOAD_DIRECT) ||
(adev->firmware.load_type == AMDGPU_FW_LOAD_RLC_BACKDOOR_AUTO))) {
if (ih[0]->use_bus_addr) {
- ih_chicken = RREG32_SOC15(OSSSYS, 0, regIH_CHICKEN);
+ if (amdgpu_ip_version(adev, OSSSYS_HWIP, 0) == IP_VERSION(7, 1, 0))
+ reg_addr = SOC15_REG_OFFSET(OSSSYS, 0, regIH_CHICKEN_V7_1);
+ else
+ reg_addr = SOC15_REG_OFFSET(OSSSYS, 0, regIH_CHICKEN);
+ ih_chicken = RREG32(reg_addr);
+ /* The reg fields definitions are identical in ih v7_0 and ih v7_1 */
ih_chicken = REG_SET_FIELD(ih_chicken,
IH_CHICKEN, MC_SPACE_GPA_ENABLE, 1);
- WREG32_SOC15(OSSSYS, 0, regIH_CHICKEN, ih_chicken);
+ WREG32(reg_addr, ih_chicken);
}
}
@@ -358,17 +371,26 @@ static int ih_v7_0_irq_init(struct amdgpu_device *adev)
/* Redirect the interrupts to IH RB1 for dGPU */
if (adev->irq.ih1.ring_size) {
- tmp = RREG32_SOC15(OSSSYS, 0, regIH_RING1_CLIENT_CFG_INDEX);
+ if (amdgpu_ip_version(adev, OSSSYS_HWIP, 0) == IP_VERSION(7, 1, 0))
+ reg_addr = SOC15_REG_OFFSET(OSSSYS, 0, regIH_RING1_CLIENT_CFG_INDEX_V7_1);
+ else
+ reg_addr = SOC15_REG_OFFSET(OSSSYS, 0, regIH_RING1_CLIENT_CFG_INDEX);
+ tmp = RREG32(reg_addr);
+ /* The reg fields definitions are identical in ih v7_0 and ih v7_1 */
tmp = REG_SET_FIELD(tmp, IH_RING1_CLIENT_CFG_INDEX, INDEX, 0);
- WREG32_SOC15(OSSSYS, 0, regIH_RING1_CLIENT_CFG_INDEX, tmp);
+ WREG32(reg_addr, tmp);
- tmp = RREG32_SOC15(OSSSYS, 0, regIH_RING1_CLIENT_CFG_DATA);
+ if (amdgpu_ip_version(adev, OSSSYS_HWIP, 0) == IP_VERSION(7, 1, 0))
+ reg_addr = SOC15_REG_OFFSET(OSSSYS, 0, regIH_RING1_CLIENT_CFG_DATA_V7_1);
+ else
+ reg_addr = SOC15_REG_OFFSET(OSSSYS, 0, regIH_RING1_CLIENT_CFG_DATA);
+ tmp = RREG32(reg_addr);
+ /* The reg fields definitions are identical in ih v7_0 and ih v7_1 */
tmp = REG_SET_FIELD(tmp, IH_RING1_CLIENT_CFG_DATA, CLIENT_ID, 0xa);
tmp = REG_SET_FIELD(tmp, IH_RING1_CLIENT_CFG_DATA, SOURCE_ID, 0x0);
tmp = REG_SET_FIELD(tmp, IH_RING1_CLIENT_CFG_DATA,
SOURCE_ID_MATCH_ENABLE, 0x1);
-
- WREG32_SOC15(OSSSYS, 0, regIH_RING1_CLIENT_CFG_DATA, tmp);
+ WREG32(reg_addr, tmp);
}
pci_set_master(adev->pdev);
--
2.53.0
next prev parent reply other threads:[~2026-04-20 13:26 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20260420132314.1023554-1-sashal@kernel.org>
2026-04-20 13:16 ` [PATCH AUTOSEL 7.0-6.12] drm/amdgpu: fix DF NULL pointer issue for soc24 Sasha Levin
2026-04-20 13:16 ` [PATCH AUTOSEL 7.0-6.18] drm/ttm: Avoid invoking the OOM killer when reading back swapped content Sasha Levin
2026-04-20 13:16 ` [PATCH AUTOSEL 6.18] drm/vc4: Release runtime PM reference after binding V3D Sasha Levin
2026-04-20 13:16 ` [PATCH AUTOSEL 7.0-6.19] drm/xe/vf: Wait for all fixups before using default LRCs Sasha Levin
2026-04-20 13:16 ` [PATCH AUTOSEL 7.0-6.12] drm/amd/display: remove duplicate format modifier Sasha Levin
2026-04-20 13:17 ` [PATCH AUTOSEL 7.0] drm/amdgpu/userq: unlock cancel_delayed_work_sync for hang_detect_work Sasha Levin
2026-04-20 13:17 ` [PATCH AUTOSEL 7.0-6.1] drm/amd/display: Merge pipes for validate Sasha Levin
2026-04-20 13:17 ` [PATCH AUTOSEL 6.18] drm/xe: Fix bug in idledly unit conversion Sasha Levin
2026-04-20 13:17 ` [PATCH AUTOSEL 7.0] drm/xe: Skip adding PRL entry to NULL VMA Sasha Levin
2026-04-20 13:17 ` [PATCH AUTOSEL 6.18] drm/vc4: Fix a memory leak in hang state error path Sasha Levin
2026-04-20 13:17 ` [PATCH AUTOSEL 6.18] drm/vc4: Protect madv read in vc4_gem_object_mmap() with madv_lock Sasha Levin
2026-04-20 13:17 ` [PATCH AUTOSEL 7.0-6.12] drm/amd/display: Fix cursor pos at overlay plane edges on DCN4 Sasha Levin
2026-04-20 13:18 ` [PATCH AUTOSEL 7.0-6.1] drm/msm/dpu: fix vblank IRQ registration before atomic_mode_set Sasha Levin
2026-04-20 13:18 ` [PATCH AUTOSEL 6.18] drm/amdgpu: Handle GPU page faults correctly on non-4K page systems Sasha Levin
2026-04-20 13:18 ` [PATCH AUTOSEL 7.0-5.10] drm/amd/display: bios_parser: fix GPIO I2C line off-by-one Sasha Levin
2026-04-20 13:18 ` Sasha Levin [this message]
2026-04-20 13:18 ` [PATCH AUTOSEL 7.0-6.18] drm/amdgpu/vcn4.0.3: gate per-queue reset by PSP SOS program version Sasha Levin
2026-04-20 13:18 ` [PATCH AUTOSEL 7.0-6.18] drm/imx: parallel-display: add DRM_DISPLAY_HELPER for DRM_IMX_PARALLEL_DISPLAY Sasha Levin
2026-04-20 13:18 ` [PATCH AUTOSEL 7.0-6.18] drm/amdgpu: fix amdgpu_userq_evict Sasha Levin
2026-04-20 13:18 ` [PATCH AUTOSEL 7.0-5.10] drm/amdgpu: validate fence_count in wait_fences ioctl Sasha Levin
2026-04-20 13:18 ` [PATCH AUTOSEL 7.0-6.6] drm/amdgpu: fix shift-out-of-bounds when updating umc active mask Sasha Levin
2026-04-20 13:18 ` [PATCH AUTOSEL 7.0] drm/amdgpu/userq: remove queue from doorbell xa during clean up Sasha Levin
2026-04-20 13:18 ` [PATCH AUTOSEL 7.0] drm/amdkfd: fix kernel crash on releasing NULL sysfs entry Sasha Levin
2026-04-20 13:18 ` [PATCH AUTOSEL 7.0-6.18] drm/xe/guc: Add Wa_14025883347 for GuC DMA failure on reset Sasha Levin
2026-04-20 13:18 ` [PATCH AUTOSEL 7.0-6.18] drm/amdgpu: clear related counter after RAS eeprom reset Sasha Levin
2026-04-20 13:19 ` [PATCH AUTOSEL 7.0-6.19] drm/amd/display: Restore full update for tiling change to linear Sasha Levin
2026-04-20 13:19 ` [PATCH AUTOSEL 7.0] drm/amdgpu: fix array out of bounds accesses for mes sw_fini Sasha Levin
2026-04-20 13:19 ` [PATCH AUTOSEL 7.0-6.12] drm/amd/display: Exit IPS w/ DC helper for all dc_set_power_state cases Sasha Levin
2026-04-20 13:19 ` [PATCH AUTOSEL 7.0-6.18] drm/amdgpu: fix syncobj leak for amdgpu_gem_va_ioctl() Sasha Levin
2026-04-20 13:19 ` [PATCH AUTOSEL 7.0-6.18] drm/amdgpu: Check for multiplication overflow in checkpoint stack size Sasha Levin
2026-04-20 13:19 ` [PATCH AUTOSEL 7.0-6.18] drm/prime: Limit scatter list size with dedicated DMA device Sasha Levin
2026-04-20 13:20 ` [PATCH AUTOSEL 7.0-6.19] drm/amd/display: Clamp dc_cursor_position x_hotspot to prevent integer overflow Sasha Levin
2026-04-20 13:20 ` [PATCH AUTOSEL 7.0] drm/amdgpu/userq: defer queue publication until create completes Sasha Levin
2026-04-20 13:20 ` [PATCH AUTOSEL 7.0-6.18] drm/amdgpu/userq: fix dma_fence refcount underflow in userq path Sasha Levin
2026-04-20 13:20 ` [PATCH AUTOSEL 7.0-6.12] drm/amdgpu: guard atom_context in devcoredump VBIOS dump Sasha Levin
2026-04-20 13:20 ` [PATCH AUTOSEL 7.0-6.18] drm/amd/display: Avoid turning off the PHY when OTG is running for DVI Sasha Levin
2026-04-20 13:20 ` [PATCH AUTOSEL 7.0] drm/amdgpu: Revert setting up Retry based Thrashing on GFX 12.1 Sasha Levin
2026-04-20 13:20 ` [PATCH AUTOSEL 7.0] drm/amd/pm: Avoid overflow when sorting pp_feature list Sasha Levin
2026-04-20 13:20 ` [PATCH AUTOSEL 7.0-6.19] drm/amd/display: Fix number of opp Sasha Levin
2026-04-20 13:20 ` [PATCH AUTOSEL 7.0-6.19] drm/panel-edp: Change BOE NV140WUM-N64 timings Sasha Levin
2026-04-20 13:21 ` [PATCH AUTOSEL 7.0] drm/amd/display: Fix HWSS v3 fast path determination Sasha Levin
2026-04-20 13:21 ` [PATCH AUTOSEL 7.0-5.10] drm/mediatek: mtk_dsi: enable hs clock during pre-enable Sasha Levin
2026-04-20 13:21 ` [PATCH AUTOSEL 6.18] drm/vc4: Fix memory leak of BO array in hang state Sasha Levin
2026-04-20 13:21 ` [PATCH AUTOSEL 7.0-6.12] drm/amd/display: Remove invalid DPSTREAMCLK mask usage Sasha Levin
2026-04-20 13:21 ` [PATCH AUTOSEL 7.0-6.18] drm/panel-edp: Add CMN N116BCL-EAK (C2) Sasha Levin
2026-04-20 13:21 ` [PATCH AUTOSEL 7.0] drm/amdgpu: Add default reset method for soc_v1_0 Sasha Levin
2026-04-20 13:21 ` [PATCH AUTOSEL 7.0] drm/amdgpu/userq: cleanup amdgpu_userq_get/put where not needed Sasha Levin
2026-04-20 13:21 ` [PATCH AUTOSEL 7.0-6.18] drm/amdgpu: fix some more bug in amdgpu_gem_va_ioctl Sasha Levin
2026-04-20 13:21 ` [PATCH AUTOSEL 7.0-5.10] fbdev: omap2: fix inconsistent lock returns in omapfb_mmap Sasha Levin
2026-04-20 13:21 ` [PATCH AUTOSEL 7.0-6.18] drm: gpu: msm: forbid mem reclaim from reset Sasha Levin
2026-04-20 13:21 ` [PATCH AUTOSEL 7.0-6.18] drm/panel-edp: Add AUO B116XAT04.1 (HW: 1A) Sasha Levin
2026-04-20 13:22 ` [PATCH AUTOSEL 7.0-6.6] drm/gem-dma: set VM_DONTDUMP for mmap Sasha Levin
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=20260420132314.1023554-106-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=Hawking.Zhang@amd.com \
--cc=airlied@gmail.com \
--cc=alexander.deucher@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=christian.koenig@amd.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=lijo.lazar@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=patches@lists.linux.dev \
--cc=simona@ffwll.ch \
--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