From mboxrd@z Thu Jan 1 00:00:00 1970 From: Claude Code Review Bot To: dri-devel-reviews@example.com Subject: Claude review: drm/amd/display: Wire up dcn10_dio_construct() for all pre-DCN401 generations Date: Wed, 25 Mar 2026 07:19:08 +1000 Message-ID: In-Reply-To: <20260323211343.263909-1-sunlightlinux@gmail.com> References: <20260323211343.263909-1-sunlightlinux@gmail.com> X-Mailer: Claude Code Patch Reviewer Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Overall Series Review Subject: drm/amd/display: Wire up dcn10_dio_construct() for all pre-DCN401 = generations Author: "Ionut Nechita (Sunlight Linux)" Patches: 3 Reviewed: 2026-03-25T07:19:08.008201 --- This single patch addresses a real regression introduced by commit `b82f075= 9346617b2` ("drm/amd/display: Migrate DIO registers access from hwseq to di= o component"), which created the `dio` abstraction but only wired it up for= DCN 4.01. On all older generations, `pool->dio` remains NULL, causing the = `DIO_MEM_PWR_CTRL` register write to be silently skipped. This can result i= n AFMT HDMI memory not being powered on during `init_hw`, leading to HDMI a= udio failures. **The fix is conceptually correct** =E2=80=94 each DCN generation needs to = construct and register a `dio` object. The approach follows the existing DC= N 4.01 pattern. **However, there are several issues:** 1. **DCN21 has a serious bug** =E2=80=94 the shift/mask structs are zero-in= itialized instead of being properly populated, rendering `REG_UPDATE` a no-= op. 2. **Extreme code duplication** =E2=80=94 ~30 identical lines copied across= 17 files. A shared helper would be far better. 3. **The patch should be a series** =E2=80=94 17 modified files in a single= patch is hard to review and bisect. --- --- Generated by Claude Code Patch Reviewer