Files
Snapintosh/tools
Acelogic 7da9adf573 compat: add the eDP DPCD backlight engine for the panel brightness
The A16 panel (DISPLAY\SDC422C, Samsung OLED on eDP mdss_dp3) takes its
brightness through the VESA eDP display control registers over the eDP
controller's AUX channel: the DSDT panel table for 0x834C/0x422C has
BacklightType 8, no PMIC keys and DPCD 0x00D bit 3 set, and the DSDT has
no _BCM/_BCL. The guest never maps the controller, so the monitor owns
the call: ADRENO_GUEST_BACKLIGHT (0x0001000C) QUERY and SET.

The first call probes with reads only (dispcc AHB and DPTX3 AUX clocks,
the MDSS GDSC, the AUX enable bit, then DPCD 0x00D, 0x700..0x703 and
0x721..0x726) and enables nothing. SET clamps the level to
[10% of full scale, the panel's max], writes 0x722 (and 0x723) in one
AUX write and reads it back; a panel left in PWM mode is switched only
with EDP_BL_SET_MODE (level first, mode bits only, read back, restored
on failure). MMIO writes are limited to AUX_DATA, AUX_TRANS_CTRL,
PHY_AUX_INTERRUPT_CLEAR and INTR_STATUS acks with every mask bit kept;
DPCD writes to 0x721..0x723. Three failed SETs, one read-back mismatch,
one incomplete transaction or one refused access stop it for the boot.
Register facts from Linux msm dp_reg.h/dp_aux.c and drm_dp.h; no code
reused.

tools/test-edp-backlight.c runs it against a model of the AUX FIFO and
a DPCD panel that checks every access independently: PASS with
ASan/UBSan. Hardware: not run.
2026-10-24 01:56:52 -04:00
..
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00
2026-10-21 21:26:36 -04:00