Repository navigation
drm/apple: v14.7: admit panel brightness on the J516C - #259
Conversation
The J516C runs the J516S panel, and its own 14.7 DCP image takes the same level block in the swap (present byte +0x354, binary64 nits +0x35c, at most 500 nits): the e272b67 path presented brightness that way on this machine. Set panel_nits on its board record and admit apple,j516c. Generated-by: LLM Signed-off-by: Samuel Carreño <soyminero11yt@gmail.com>
|
Independent source review, agreeing with the diagnosis. On a J516C I have not run it on hardware yet. If another J516C owner can confirm the max brightness (500), brightness 0, display off/on and suspend/resume, that would settle it. I will report back here after a boot test on a J516C. |
|
Thanks for the review. Results from my J516C (MacBook Pro 16" M3 Max, 64 GB), which has run this patch since 24 Oct; today on integration/aurora
No backlight or DCP errors in the kernel log during these; the firmware's "Could not find Backlight service" and compensation-table messages still show at boot, as you said, not on this path. Prepared with an LLM (Claude Code) and run on the hardware. |
|
Tested on a J516C (16-inch M3 Max, MacBook Pro) through Mac Lab, PR head a91ccf0 built on top of 7.2.11. Before (stock 7.2.11-10-1): With this PR:
One thing to know when testing: writes read back 0 while the lock screen had blanked the panel, so run the check with the screen on. Not checked: actual light output (only the firmware's readback), physical key presses (events were injected), brightness 0 darkening the screen, suspend/resume. |
|
Follow-up from the same J516C (16-inch M3 Max): this has now been checked by hand, not only by injected key events. On this PR's kernel (a91ccf0), pressing F1/F2 changes the display brightness on the real panel. Display brightness control works. Still not covered: suspend/resume, and whether the lowest setting turns the screen fully dark. |
|
Thanks for testing it by hand. The two points still open, from my J516C:
|
chriskearney
left a comment
There was a problem hiding this comment.
Reviewed exact head a91ccf0abdeeed7d3bd696b4c01d861a9756a0a2: the J516C board capability and machine admission reuse the existing bounded 500-nit path. Independent host controls passed 75 assertions, with an intended baseline failure and four semantic mutants caught. Public exact-head J516C evidence now includes physical F1/F2 panel changes; the author's sleep observations are on a mixed local stack and are not an exact-head suspend qualification.
No source blocker for this standalone brightness change. Normal current CI and full merge-group CI remain required. Keep #283 held: if its panel hardware-off change later lands, #284 or an equivalent per-board guard is needed so this brightness capability does not silently admit J516C A472 hardware-off behavior. No new physical or sleep test is required for this bounded standalone delta.
ec8bf85
The J516M record already pins the J516C 14.7 image and J516 panel geometry. Admit this board to the existing nits backlight path, retaining the 500-nit bound, lifecycle and external-display exclusion. No protocol, raw register or boot-brightness changes are required. The original working kernel was physically qualified: apple-panel-bl registers and the brightness keys visibly dim and brighten the panel. The rebased branch has not been booted; suspend, DPMS cycles, the full range and photometric accuracy remain unqualified. Link: omacom#259 Assisted-by: Codex:GPT-6 Signed-off-by: Daniel Lemky <daniel@quantumfirelabs.com> (cherry picked from commit e9e02dc) Signed-off-by: Scott Jones <scottajones@gmail.com>
The J516C (16" M3 Max) uses the J516S panel, but the v14.7 brightness path (#183) only admits J514S and J516S, so the J516C has no
/sys/class/backlightdevice.Change. Set
panel_nitson the J516C board record and admitapple,j516c. Its own 14.7 DCP image takes the same level block in the swap as the J516S (present byte +0x354, binary64 nits +0x35c, at most 500 nits), which is how the e272b67 path presented brightness on this machine.Checked on a J516C (64 GB) since 26 October, on integration/aurora plus local patches:
apple-panel-blappears (max 500) and writingbrightnesschanges the panel level. Builds cleanly on 30a6518 together with my three other PRs of today, which touch other files.Not checked. Other J516C configurations; this branch alone on hardware.
🤖 Generated with Claude Code