haiku/headers/private/graphics
PulkoMandy 58bfdd0cb5 intel_extreme: DPLL configuration for Tiger Lake
The DPLL selection registers have changed again somewhere between
Skylake and Tiger Lake. Our code was trying to read/write the Skylake
registers on hardware where they don't exist anymore.

Introduce the new Tiger Lake registers and implement enough of it to get
things working on my machine (but probably only on my machine). Also
add a bit of specialization of DisplayPort which I think was not done
correctly on previous hardware either: for DisplayPort, the link rate is
selected from a handful of allowed frequencies, instead of closely
matching the pixel clock.

Things left TODO:
- Write a proper PLL allocation system to ensure each display gets
  assigned its own PLL (unless multiple displays use the same timings).
  For now it is hardcoded to what I want on my machine.
- Fix the DisplayPort PLL computation to use the values from Intel
  datasheets, not the ones used by my machine which are somehow
  different.
- Fix the DisplayPort PLL computation to select one of the several
  available frequencies, allowing resolutions higher than Full HD which
  require higher clocks.
- Fix DisplayPort link training or whatever must happen after the PLL is
  set up, since changing the PLL results in a non-working display and we
  don't get it back.

Unfortunately this still isn't enough to bring up both displays to life
at the same time. I think it is not very far, but the secondary display
(as decided by the BIOS) remains off for now even after successfully
setting it all up.

Early testing on other machines is welcome.

Change-Id: I37209bb14f32c99944bdc8ef6eef75e2550e18ed
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7367
Reviewed-by: Alexander von Gluck <alex@terarocket.io>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2024-09-07 09:13:31 +00:00
..
3dfx
ati
common radeon_hd: Add missing USB C connector type 2023-10-14 17:19:12 +00:00
et6x00
intel_810
intel_extreme intel_extreme: DPLL configuration for Tiger Lake 2024-09-07 09:13:31 +00:00
matrox
neomagic
nvidia intel gfx: fixed SMAP faults, added 2 G98 IDs to kerneldriver. 2022-11-12 20:16:10 +01:00
omap
radeon
radeon_hd radeon_hd/atombios: Sync up to latest published atombios 2022-10-25 22:45:46 +00:00
s3
skeleton
vesa vesa: report BIOS manufacturer (visible in screen preferences) 2022-03-02 22:39:02 +00:00
via
virtio virtio_gpu: initial driver 2024-01-18 17:44:40 +00:00
AGP.h
video_overlay.h