summaryrefslogtreecommitdiff
path: root/include/linux/extcon
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2025-12-08 21:26:20 +0300
committerVille Syrjälä <ville.syrjala@linux.intel.com>2026-01-23 05:36:31 +0300
commit4d71ff25f3a027ed3acbb186d2208113d0e1ec82 (patch)
tree2199aa48493a152805ee13772eb198353fdb3dd8 /include/linux/extcon
parent70ea362b84449b7061cefd63a532f648d2919916 (diff)
downloadlinux-4d71ff25f3a027ed3acbb186d2208113d0e1ec82.tar.xz
drm/i915/vga: Get rid of intel_vga_reset_io_mem()
Remove the MSR VGA register access from the power well hook, and just do it once in intel_vga_disable(). Turns out that the hardware has two levels of MDA vs. CGA decode logic: GPU level and display engine level. When we write the MSR register MDA/CGA mode selection bit both decode logics are updated accordingly, so that whichever register accessed the GPU claims will also be claimed by the display engine on the RMbus. If the two get out of sync the GPU will claim the register accesses but the display engine will not, leading to RMbus NoClaim errors. The way to get the two decode logics out of sync is by resetting the power well housing the VGA stuff, while we are in CGA mode. At that point only the display engine level decode logic will be updated with the new MSR register reset value (which selects MDA mode), and the GPU level decode logic will retain its previous state (GGA mode). To avoid the mismatch we just have to switch to MDA mode with an explicit MSR register write. Currently this is being done in a somewhat dodgy manner whenever the power well gets enabled. But doing if from the power well hook is not actually necessary since the GPU level decode logic will retain its state even when the power well is disabled. Ie. doing it just the one time is sufficient, and that can be done when we're anyway writing other VGA registers while disabling the VGA plane. See commit f9dcb0dfee98 ("drm/i915: touch VGA MSR after we enable the power well") for the original details. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patch.msgid.link/20251208182637.334-3-ville.syrjala@linux.intel.com Acked-by: Jani Nikula <jani.nikula@intel.com>
Diffstat (limited to 'include/linux/extcon')
0 files changed, 0 insertions, 0 deletions