History log of /haiku/src/add-ons/accelerants/intel_extreme/Ports.h
Revision Date Author Comments
# 4a6a465c 07-Sep-2022 Jérôme Duval <jerome.duval@gmail.com>

intel_extreme: for DDI, map the ddc pin to the GPIO

add port G for Gen12

Change-Id: I70bba2d6d2ec0fbad8bdbec14412ea982690d563
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5626
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# fe3aff01 16-May-2022 Jérôme Duval <jerome.duval@gmail.com>

intel_extreme: probe DP AUX or/and DDC on DDI ports

* the VBT tells whether DDI ports can have both DP and HDMI/DVI as outputs.
* tested on Dell Optiplex 9020 Gen7/Haswell with an HDMI/DP adapter on a DP connector.
* avoids enabling a down DDI port when an EDID is found: the display isn't setup by the BIOS.

Change-Id: I69487a2fcb74899d7c22d04e955e776b0e739151
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5317
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# f808e87a 08-May-2022 Jérôme Duval <jerome.duval@gmail.com>

intel_extreme: the eDP port on DDI is mostly found on port A

* for eDP a displayport output should also be found als VBT device type.
* should help with #17730

Change-Id: I893bd2dabfd1730ab545336e2f9a5b15abc194a4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5299
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# 7ff9722a 03-May-2022 Jérôme Duval <jerome.duval@gmail.com>

intel_extreme: reuse DpAux code for DisplayPort

the code is moved in the Port class.

Change-Id: I3beb337e29b26ee4732224723c5b76b5f415a248
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5291
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# 1c23e6bc 03-May-2022 Jérôme Duval <jerome.duval@gmail.com>

intel_extreme: leverage VBT device type for internal panel

* also handle dp aux on PCH.
* tested on Gen7, should work from Gen6.

Change-Id: I8d99bcdc10c817e66441a6a644df490dd988a74d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5290
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# 46bbf334 01-May-2022 Jérôme Duval <jerome.duval@gmail.com>

intel_extreme: parse VBT device configs, use this to skip unused ports

* BDB version from 111
* for DDI from Gen9
* for HDMI and DisplayPort from Gen6
* use the first port to create the mode list
* also probe DDI Port A
* the aux channel helps to select the correct dp aux registers.

Change-Id: I80549a6ec0477bed768cc5f388959b606d50c1b7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5286
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# f0a1b221 02-Apr-2022 Jérôme Duval <jerome.duval@gmail.com>

intel_extreme: hook dp_aux channel to the i2c common ddc for DigitalDisplayInterface ports

This assumes a Gen9 or Gen11 configuration, and aux channel 0. As a result, the same EDID will
be found for every DDI port. The mapping should be found in the VBT.

Tested on KabyLake and JasperLake

Change-Id: I27f5ac8ec8e6ba519fbe9aaf745e78a7361175b9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5175
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 5f90c372 27-Mar-2022 Jérôme Duval <jerome.duval@gmail.com>

intel_extreme: change i2c_send_receive to a hook

common: i2c/ddc uses a 7-bit address for EDID.

Change-Id: Ic1bba2a23174c671bd7374104596c22433bd343a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5171
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 440667b4 13-Feb-2022 Rudolf Cornelissen <rudhaiku@gmail.com>

intel_extreme: eDP now works on Sandy/Ivy laptops: ticket #17350 i.e.


# 022986d5 26-Jan-2022 Rudolf Cornelissen <rudhaiku@gmail.com>

intel_extreme: sandy/ivybridge DP links to screens are now programmed to the actual mode if possible


# 9ef22aa9 06-Dec-2021 Rudolf Cornelissen <rudhaiku@gmail.com>

intel_extreme:DP links on sky- upto/incl coffeelake are now done (refclk detection added)


# c199501e 29-Nov-2021 Rudolf Cornelissen <rudhaiku@gmail.com>

intel_extreme: add laptop panel detection and mode scaling for DDI systems


# 39e05c7d 25-Nov-2021 Rudolf Cornelissen <rudhaiku@gmail.com>

intel_extreme: skylake PLL works, all outputs fully functional.


# 0eb2bf0e 14-Nov-2021 Rudolf Cornelissen <rudhaiku@gmail.com>

intel_extreme: skylake/DDI improvements. no resolution changing possible yet (missing DPLL code yet)


# 3334d6fb 02-Jul-2021 Rudolf Cornelissen <rudhaiku@gmail.com>

intel_extreme: gen4 displayport now sets modes, dualhead clone works.


# 09ffd17a 30-Jun-2021 Rudolf Cornelissen <rudhaiku@gmail.com>

intel_extreme:dualhead clone mode with displayport works on Sandy/Ivy Bridge.


# def51fb9 25-Jun-2021 Rudolf Cornelissen <rudhaiku@gmail.com>

intel_extreme: don't pgm pipes, follow BIOS for now. Two screens on now i.e.


# 17ecf642 11-Jul-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: LVDS pipe only *has* to be B when gen < 4


# 8fe50548 08-May-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Extend DDI port probing to A-E

* The Linux code made this a bit hard to figure out via
complex define functions, however there can be up to
5 DDI ports (A-E)


# dee0f365 28-Apr-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Improve LVDS panel detection robustness

* If older generation, check for mobile. If mobile GPU
is found, make an assumption that a LVDS panel exists
and attempt to leverage the vbios or VESA EDID.


# 10f2e843 09-Apr-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Power up DDI


# ca95e9da 15-Mar-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Add initial work for DDI ports


# 721ba9af 23-Feb-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Clean up DisplayPort Port class

* DisplayPort != DigitalPort
* i2c needs wrapped in DP AUX transaction code
* Mode-setting comes with DP link training as well
* We need to try and share DP code with radeon_hd


# b979c66c 08-Jan-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Move rest of pipe control into pipe class


# b01aed83 23-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Don't store pipes within ports

* Store pipes within accelerant, and tell ports
about them.
* Rebrand DisplayPipe class to Pipe


# 00e0982f 17-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: First work at programming FDI


# 39f61d21 12-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Store current display mode on each port


# a5a2bf72 10-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Let ports pick a pipe if required


# 92bcdd79 09-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Add initial TMDS modesetting code


# 61fbdb06 08-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Set mode and pll via pipe-aware class functions


# 6e1ff82f 08-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Begin using new DisplayPipe class


# 37b903fb 08-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Add pipe selection for ports


# b3f14fb7 25-Oct-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Start doing mode-setting at port level

* I really hope we can kill head_mode some day
* Break pll code out from mode code
* The LVDS and Digital are smooshed together and
likely need broken apart.


# 27134c66 17-Oct-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Dump more info on ports found. Build fixes.


# 50f0b3fe 17-Oct-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Rebase and refactor mmlr's work from 2013

* New port storage classes and cleaner logic