Repository navigation
Conversation
|
Hardware results on the J615 (MacBook Air 15-inch, M3; os-fw 14.7, system-fw 27.0), booting aurora14 with only
|
|
Independent test of the same change on a second J615, on a different system firmware from the results above. Machine and build
Results
Testing and this comment were done with Claude Code at my request; the in-person result is mine. |
scottjones
left a comment
There was a problem hiding this comment.
Thanks for this, and for the hardware results from two J615s. The driver change is right, but one KUnit case now fails, so this needs a one-line test fix before it lands.
The KUnit suite fails at the PR head. v14_bl_other_boards_untouched (drivers/gpu/drm/apple/iomfb_v14_7_backlight_test.c:357) still lists &dcp_v14_board_j615 in its boards[] array. The PR updates the comment above it but not the array. v14_bl_fixture() sets v14->panel_nits from board->panel_nits, so J615 now runs the nits path, and the case's "untouched" expectations fail:
# v14_bl_other_boards_untouched: EXPECTATION FAILED at .../iomfb_v14_7_backlight_test.c:367
Expected iomfb_v14_7_panel_nits(f.dcp) to be false, but is true
... (also :368, :369, :370, :373, :375, :384)
not ok 8 v14_bl_other_boards_untouched
not ok 1 dcp_v14_backlight
The fix is the same edit #312 made for J613:
const struct dcp_v14_board *boards[] = {
&dcp_v14_board_j514c,
};With that one change, dcp_v14_backlight and dcp_v14_backlight_lifetime both pass.
What we checked:
- We ran the
dcp_v14_backlight*suites on an arm64 KUnit kernel under QEMU with KVM (kunit.py build --arch=arm64 LLVM=1, withDRM_APPLE,DRM_APPLE_KUNIT_TESTandDRM_APPLE_DISPLAY_KUNIT_TEST). integration/aurora passes. The PR head fails as shown above. The PR plus the fix passes. - The new tests do catch the change. With the fix applied, removing
.panel_nitsfrom the J615 record failsv14_bl_boardsandv14_bl_j615_swap_levels. Removingapple,j615fromdcp_v14_panel_nits_admit()failsv14_bl_boards. - The driver change is the same as #312's J613 change. #312's debugfs line is already in the tree. The J615 record uses
DCP_V14_J613_FIRMWARE_UUIDand the same handoff, so the swap uses the same level block (+0x354/+0x35c) as on J613.t8122-j615.dtssetsapple,max-brightness = <500>, so the cap is min(500, 500) = 500, which matches the reportedmax_brightnessof 500. - No other board changes. Only the J615 record and the J615 admit entry are new. The J613, J514C, J516C and T6030 records are unchanged, and the J514C is still covered by the untouched case. The 25G83 (v26) J615 path doesn't use these records.
- Boot behaviour is the same as on J613. No level is sent until userspace sets one; until then the device reports the default as its requested level. There are no fades, and the Type-C and external gates apply as they do on J613.
Main Kernel CI hasn't run on this PR (the fork run is waiting for maintainer approval), so the KUnit failure hasn't shown up there yet.
|
Thanks @scottjones. Pushed the fix: KUnit at the new head, arm64 under QEMU/KVM ( (AI-assisted; run by me.) |
scottjones
left a comment
There was a problem hiding this comment.
Thanks, 01166df is exactly the fix. CI ran on it and two jobs failed:
ci / commits: 01166df has noSigned-off-by:trailer, which this repo requires on every commit.git commit --amend -son that commit (or squashing it into the first one with a sign-off) and a force-push should clear it.ci / host tests (aurora-sep):test_m3_max.SurveyTest.test_ctrl_c_stops_the_loadfailed (0 != 130). That's an M3 Max survey tool test, unrelated to this change, so we're not asking you to do anything about it.
KUnit, package and boot were skipped because of those two, so we'll approve once a run with the sign-off comes back green.
The J615 board record does not admit panel nits, so the working 14.7 display session never registers a backlight device: /sys/class/backlight is empty on the 15-inch M3 MacBook Air and brightness keys do nothing. The J615 runs the J613 DCP image (DCP_V14_J613_FIRMWARE_UUID) on the same T8122 DCP, and its device tree carries apple,max-brightness like the J613. Admit the J615 to the nits path the same way eec6458 admitted the J613, keeping the firmware UUID and display handoff checks. J514C remains excluded. Run the existing swap-level KUnit case for J615 as well, and move it out of the boards whose production path must stay untouched. Assisted-by: Claude (claude-opus-5-5) Signed-off-by: Eric Juta <ericjohnjuta@gmail.com>
The J615 record now carries panel_nits, so v14_bl_other_boards_untouched covers the J514C only, as omacom#312 did for the J613.
|
Rebased onto current Resolution: J615 is added to
Rebased with Claude Code. |
01166df to
16c9e16
Compare
|
Thanks for the rebase! The second commit (16c9e16) is missing a Signed-off-by, so could you add one, or squash it into the first commit, whichever you prefer? I've started the full kernel CI build for this head and it's running now. If it's easy, one boot on a J615 at the new head to confirm brightness still works would be great, since the earlier hardware passes were on the pre-rebase head. Once those are in I'll approve. |
|
Another J615 seeing this on the current packaged kernel, in case a third data point on a different system firmware is useful. Machine and build
Results (unpatched aurora16)
I have not built or booted the patch, so this only confirms the problem on aurora16, not the fix. |
Problem
On the 15-inch M3 MacBook Air (
apple,j615,apple,t8122) the 14.7 DCP session runs, but no backlight device is ever registered:/sys/class/backlightis empty, sobrightnessctlandomarchy brightness displaycannot control the panel.dcp_v14_board_j615has no.panel_nits = true, anddcp_v14_panel_nits_admit()only allowsj514s,j516s,j516candj613. #312 (eec6458360) enabled the J613 and left the J615 out only because it was untested.Change
Same as #312, but for the J615:
dcp_v14_board_j615:.panel_nits = truedcp_v14_panel_nits_admit(): addapple,j615v14_bl_boardsnow expects the J615 to be admitted; added av14_bl_j615_swap_levelscase; the J615 is out ofv14_bl_other_boards_untouched(the J514C is still in it)The J615 record already uses the J613 DCP image (
DCP_V14_J613_FIRMWARE_UUID), and the J615 device tree panel node hasapple,max-brightness(500). The firmware UUID and handoff checks are unchanged.Machine and build
apple,j615/apple,t8122linux-aurora 7.2.11.aurora14-1(4fdd0fc), m1n1-aurora 1.6.1.aurora22-1, Hyprland 0.57.1appledrm.ko, built from4fdd0fcwith this patch and installed viaupdates/Results
apple-panel-bl; the DCP logsIOMFB: Could not find Backlight service;/sys/class/backlightis empty.vermagic/dependsmatch the packaged module).CONFIG_KUNITis off in the packaged kernel). The changed test file adds no compiler diagnostics.apple-panel-blregisters; levels 150/325/375/500 nits are applied; brightness changes visibly; brightness keys work (results in the comment below).