History log of /haiku/src/add-ons/accelerants/radeon_hd/connector.cpp
Revision Date Author Comments
# 518e9cb9 14-Oct-2023 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add missing USB C connector type

* Solves a few "Unknown connector" errors on newer cards.
* It's just another physical name for DisplayPort

Change-Id: I37a6f1bb1db66279b305bdbce3c200612eac1130
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7042
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# f162d764 08-Nov-2022 Alexander von Gluck IV <kallisti5@unixzen.com>

accelerants/radeon_hd: Style cleanup; no functional change

Change-Id: Id54ae8191f7a0b4cd0ffdf3e507df8d694f21899
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5809
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# d1b7a784 08-Nov-2022 Alexander von Gluck IV <kallisti5@unixzen.com>

accelerants/radeon_hd: Fix double +

Change-Id: If51bf45076de9871bbd9ed75a4701c31ce9615cb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5808
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 8c460591 04-Aug-2022 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add new connector id, guard from reading over bounds

Change-Id: Ifbabcf8217c617baffe85f24b985c18760e4da58
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5527
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# e87cba34 06-Nov-2021 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add handling of connector routing

* A first attempt at improving on #17377
* We haven't actually seen any cards using this
routing stuff yet pre-navi.
* We don't use the router information yet... but this might
improve things a bit on new cards.

Change-Id: I17962dfd8bb09e619a6084cd9571ccb9832fb19a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4697
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 82df3fc6 20-Oct-2021 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add polaris HPD on transmitter config

Change-Id: I899e75c1556acc3462812ee6503dd1b782af2a96


# b3be20ca 05-Oct-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Polaris hpd is still the same as DCE 11


# 1b69f339 15-Jul-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Properly and consistently pick HPD ID


# a9327b11 15-Nov-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add additional sanity checks

* Prevents negative array index read (again)
* Clear display_mode struct before lvds read - CID 1108403


# 6a716f63 15-Nov-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Exit on GPIO pin space exhaustion

* Prevents negative array index read
* CID 1210885


# 3de924d0 10-Nov-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Implement initial DP encoder service

* Used on older chipsets. Untested.


# fca8407a 12-Feb-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Fix GPIOInfo pin shortage on some cards

* Some cards have a lot of pins!
* Should fix #10536
* Add a check to give a friendy warning if we find
more GPIO pins than what we are prepared for.
* Technically the maximum GPIO pins could be
ATOM device max * 2 (16 for i2c and other)
however lets leave some room for expansion.


# 539a6caf 03-Feb-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: More gpio rework

* Bump i2c data into it's own struct
* Populate gGPIOInfo with general gpio pins
(for things like HPD, and voltage control)
* Attach HPD gpio pins to connectors
* Dump trace info of HPD pins as well as i2c pins


# 2b032852 02-Feb-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Rework gpio pins

* There are GPIO pins for hotplug interrupts and i2c
communications (for edid). Add two fields to connector
(index for each in gGPIOInfo).
* DP aux communcation seems to want the hotplug GPIO pin
info, which we don't get (I think this is why DP AUX comms
is broken at the moment)
* GPIO LUT seems to know about a wide range of GPIO pins, while
the i2c gpio calls only know about the ones needed for i2c.
* I'm tempted to populate gGPIOInfo with the LUT pins and
then suplement that data with the i2c GPIO pins data.
(however, not sure how many pins there are generally defined
so it could impact performance. More investigation is needed)
This would reverse how it works now with this commit.


# c9ff95fe 30-Dec-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: display connector capabilities


# 9c2d51d6 29-Dec-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: clean up encoder object

* Encoder flags were 1:1 connector flags...
just look at connector flags.
* Record encoder capabilities
* Add function to check for dp 1.2 support


# 29e60392 14-Aug-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: style cleanup; no functional change


# 817c114d 07-Aug-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: rework some pll code

* Force fractional feedback divider on APU's
* Spread Spectrum is now probed more correctly
across multiple encoders and cards
* SS still disabled however.


# 893c33e1 09-Apr-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Fix silly scope bug in connector_read_mode_lvds

* Local malloc isn't guaranteed outside function


# 151b4996 22-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add spread spectrum control functions

* Store SS information with PLL
* Probe SS information for PLL
* Disable SS more correctly
* May resolve mode setting issues on newer cards


# 41cf61d1 22-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Don't call TV encoder control improperly

* TV encoder was dropped on DCE5+
* (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)
will improperly match DFP4 (0x2 | 0x8) = 0xA
* Bug reported to linux kernel driver


# f2d6b9af 15-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Sanitize connector_is_dp function

* there is no guarentee the data in encoderExternal
is valid if we don't check valid == true


# 6728eddf 15-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Fix bugs in external DP bridge code

* non-external encoder will never be a DP bridge.
* use external encoder in places where needed.
* ensure we look at proper encoder for isDPBridge.


# 72f6869e 15-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add support for external encoders

* Some encoders are bridges (DVO) and some encoders
can act like bridges (UNIPHY). Probe for encoders
further out in the display path and set them up
properly.
* Debug output support for external encoders
* Fix cases where we should use external encoder
information vs main encoder info.


# ced3b516 15-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Remove isHDMI, isTV. Unused.


# 6da8db27 15-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

Revert "radeon_hd: Convert encoders to pointers"

This reverts commit 5a1f9f0f16b2a4bef89b61b4e3e24bf0b53917da.

* Thinking on this a bit more, this is really a silly change as
I know the upper limit for number of valid encoders.
* Resolves a app_server crash introduced as well due to not
allocating encoder pointer.


# 5a1f9f0f 14-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Convert encoders to pointers

* Preparation for multiple encoders per connector


# 6848bdd5 14-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Reduce complexity in connector setup

* Map connector under consideration to pointer
in connector probing.


# f070c3c3 08-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Decode encoder flags in debug.

* Should assist in troubleshooting.


# 0a92c1ea 08-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: White space / line length cleanup.

* No functional change.


# e766693e 28-Feb-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: lvds, dvo, and hdmi encoder improvements

* Begin storing the lcd flags in lvds info call as the
encoder needs them.
* Fill out laptop / lvds todo in encoder code.
* Stub out dvo encoder calls, not sure use cases for dvo.


# 4bd6c200 21-Feb-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Implement preferred mode

* Add preferredMode display mode to each display.
* If LVDS is detected, set preferredMode based on AtomBIOS
* Fixes blocker #8329 ?


# e8790580 17-Feb-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: LVDS AtomBIOS mode reading

* This isn't done, but all we need to do now is create
a simulated edid struct for LVDS screens.


# 65705aca 13-Jan-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Fix DisplayPort connector check, #8282


# 09aaa658 15-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

DisplayPort call organization and cleanup

* Add color space to BPP function
* Pass display_mode to DP lane count function
* Get BPP in DP lane count
* Move some DPInfo population out of DP link training
as other things need them sooner.
* Fill out DP code in external encoder setup


# c8677fb1 14-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Working towards DP connector support

* Lots of new DisplayPort functions
* Call DP link training during mode set
* Rename dp_info variables to be less redundant
* Make encoder_pick_dig accept connector ID and
then check parent display
* Encode/Decode DP link speed functions
* Calculate DP lanes
* Rewrite encoder_dig_setup
* Correct bitsPerChannel to bitsPerColor
* My TRAVIS DisplayPort -> LVDS bridge now works


# 18500e1c 14-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

GPIO info struct style cleanup, (hopefully) no functional change


# 96587f13 13-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Introduce new displayport source file

* Move existing displayport functions to new source file
* Move was done due to large amount of DP code
* Style fixes
* Stub out new DP link training function


# e4a8cf98 13-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Begin to utilize encoder link enumeration

* Check link enumeration for linkb during encoder dig picking
* Show encoder link enumeration in connector debug output


# c26d7a43 13-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Record encoder link enumeration


# 80f3c7fc 12-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Adjust debug output for connectors to save vertical log space


# 83cd8616 13-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Improve debugging

* Provide more information on connectors
* Provide more information on detected attributes
* Remove some no longer needed debug output
* Provide connector ID on display debug output


# dc0d01ab 10-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Cleanup. Move unions into functions that use them.

* Rename unions to match style guide lines
* Group things that make sense together
* Move AtomBIOS argument struct creation closer to what uses it


# 802ac635 09-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Style cleanup, space after switch as it is not a function


# 79ac92f3 09-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Style cleanup of connector detection

* remove xxx_xxx variables
* small bit of code consolidation
* build fix due to missed braces in IGP change


# 4faf6f22 09-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Style cleanup. Variable rename, fill out IGP TODO a little better


# afdf055d 09-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Contextual style cleanup

* Remove un-needed line breaks
* Remove un-needed parentheses


# 0cd5024d 09-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Pointer style cleanup; Variable consolidation


# 61cf7133 09-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Include file style cleanup, no functional change


# 7a13bce5 09-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

More work towards DP support.

* add DPBridge encoder flag and set during connector detection
* if external bridge found, do external DDC setup
* pass connectorIndex vs displayIndex to encoder_*_setup
* some of the DP AUX channel stuff should go into accelerant
common code some day like i2c.


# 60b7d1de 09-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Add i2c DP AUX communication calls

* remove posix return
* pass GPIO hwLine through vs connector index
* variable scope cleanup
* make lowest level dp aux AtomBIOS call static, non-public
as it is always called by connector code


# 232ba1d6 08-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Remove un-needed posix return


# 247a2792 08-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Add calls to read and write data from AUX connector

* clean up previously changed error returns in 8c01b4. For
some reason I thought B_ERROR was the only non-positive
status.
* add VESA DisplayPort defines. Only a subset so it's local
to radeon_hd for now.
* this completes basic AUX transaction code, still untested


# 8c01b45a 08-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Style fix, return B_ERROR instead of hacking together a neg. return code.


# 36de6233 08-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Speak aux data via AtomBIOS call

* add function to speak DP AUX data via AtomBIOS call
* clean up connector index variable names


# 104c404c 08-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Move connector code into new connector source file.

* clean up some comments
* most of this movement is prep for AUX display transactions


# 4540f5e9 08-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Create connector source file, move connector bus calls into it

* this will help break apart some of the sources
* display bus communications really don't belong with GPU operations
* rename functions to better describe their actions


# 1b69f3394ba2521b952c2e2cbe644eb0929fdbd4 15-Jul-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Properly and consistently pick HPD ID


# a9327b111058afdb622bd9a1fddbf9e3273c453b 15-Nov-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add additional sanity checks

* Prevents negative array index read (again)
* Clear display_mode struct before lvds read - CID 1108403


# 6a716f63ae37863fa5cc12aa2d8bccdb692d70f1 15-Nov-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Exit on GPIO pin space exhaustion

* Prevents negative array index read
* CID 1210885


# 3de924d06c8e6c3ff264bd638457bf4f8086b3ac 10-Nov-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Implement initial DP encoder service

* Used on older chipsets. Untested.


# fca8407a2aee68297fd5f7a357c060ce783c572f 12-Feb-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Fix GPIOInfo pin shortage on some cards

* Some cards have a lot of pins!
* Should fix #10536
* Add a check to give a friendy warning if we find
more GPIO pins than what we are prepared for.
* Technically the maximum GPIO pins could be
ATOM device max * 2 (16 for i2c and other)
however lets leave some room for expansion.


# 539a6cafc5882376475309b5adf0c207caf94716 03-Feb-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: More gpio rework

* Bump i2c data into it's own struct
* Populate gGPIOInfo with general gpio pins
(for things like HPD, and voltage control)
* Attach HPD gpio pins to connectors
* Dump trace info of HPD pins as well as i2c pins


# 2b032852181b69c2a65316a1fe2df2432a6c9057 02-Feb-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Rework gpio pins

* There are GPIO pins for hotplug interrupts and i2c
communications (for edid). Add two fields to connector
(index for each in gGPIOInfo).
* DP aux communcation seems to want the hotplug GPIO pin
info, which we don't get (I think this is why DP AUX comms
is broken at the moment)
* GPIO LUT seems to know about a wide range of GPIO pins, while
the i2c gpio calls only know about the ones needed for i2c.
* I'm tempted to populate gGPIOInfo with the LUT pins and
then suplement that data with the i2c GPIO pins data.
(however, not sure how many pins there are generally defined
so it could impact performance. More investigation is needed)
This would reverse how it works now with this commit.


# c9ff95feb0aca4e0636f0f6e0e4755079efab4fe 30-Dec-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: display connector capabilities


# 9c2d51d685b20c6b86f5cb39fb0ac95a864f4a26 29-Dec-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: clean up encoder object

* Encoder flags were 1:1 connector flags...
just look at connector flags.
* Record encoder capabilities
* Add function to check for dp 1.2 support


# 29e603928228980819a8a2b3b9f56ccc064c9f5f 14-Aug-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: style cleanup; no functional change


# 817c114de7e2e71d98adccb66358e94244a1486a 07-Aug-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: rework some pll code

* Force fractional feedback divider on APU's
* Spread Spectrum is now probed more correctly
across multiple encoders and cards
* SS still disabled however.


# 893c33e1be1f216e32362c883615e749164c4f04 09-Apr-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Fix silly scope bug in connector_read_mode_lvds

* Local malloc isn't guaranteed outside function


# 151b4996221d7bc9db571d71efeb2929431bf936 22-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add spread spectrum control functions

* Store SS information with PLL
* Probe SS information for PLL
* Disable SS more correctly
* May resolve mode setting issues on newer cards


# 41cf61d1c97e9a7cb626ec447df029db00c87690 22-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Don't call TV encoder control improperly

* TV encoder was dropped on DCE5+
* (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)
will improperly match DFP4 (0x2 | 0x8) = 0xA
* Bug reported to linux kernel driver


# f2d6b9af3ad07af956f9240126826244017da2f1 15-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Sanitize connector_is_dp function

* there is no guarentee the data in encoderExternal
is valid if we don't check valid == true


# 6728eddfa4faac6725c5f6ed99fddb342c0393ea 15-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Fix bugs in external DP bridge code

* non-external encoder will never be a DP bridge.
* use external encoder in places where needed.
* ensure we look at proper encoder for isDPBridge.


# 72f6869e9e21913556544612ea275112ad416b5c 15-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add support for external encoders

* Some encoders are bridges (DVO) and some encoders
can act like bridges (UNIPHY). Probe for encoders
further out in the display path and set them up
properly.
* Debug output support for external encoders
* Fix cases where we should use external encoder
information vs main encoder info.


# ced3b516ea3052f78134f3c461226e311cc02b89 15-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Remove isHDMI, isTV. Unused.


# 6da8db278635c0b56a151bc59151a4e9a02bce50 15-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

Revert "radeon_hd: Convert encoders to pointers"

This reverts commit 5a1f9f0f16b2a4bef89b61b4e3e24bf0b53917da.

* Thinking on this a bit more, this is really a silly change as
I know the upper limit for number of valid encoders.
* Resolves a app_server crash introduced as well due to not
allocating encoder pointer.


# 5a1f9f0f16b2a4bef89b61b4e3e24bf0b53917da 14-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Convert encoders to pointers

* Preparation for multiple encoders per connector


# 6848bdd53947957f5962c9625153864def77e7e6 14-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Reduce complexity in connector setup

* Map connector under consideration to pointer
in connector probing.


# f070c3c3114d1fdb52fba2c56c2475391d5fab12 08-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Decode encoder flags in debug.

* Should assist in troubleshooting.


# 0a92c1ea634b866d3f05cc249756687d4102b347 08-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: White space / line length cleanup.

* No functional change.


# e766693eb0fe789eae0b729c7c5d5400018aa328 28-Feb-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: lvds, dvo, and hdmi encoder improvements

* Begin storing the lcd flags in lvds info call as the
encoder needs them.
* Fill out laptop / lvds todo in encoder code.
* Stub out dvo encoder calls, not sure use cases for dvo.


# 4bd6c200c1a30b78827a0f2852b8ab0995027d1a 21-Feb-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Implement preferred mode

* Add preferredMode display mode to each display.
* If LVDS is detected, set preferredMode based on AtomBIOS
* Fixes blocker #8329 ?


# e8790580ad07b780b573445579a11ded309369b4 17-Feb-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: LVDS AtomBIOS mode reading

* This isn't done, but all we need to do now is create
a simulated edid struct for LVDS screens.


# 65705aca9a3b0f9709c080691e13d0c0a487da21 13-Jan-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Fix DisplayPort connector check, #8282


# 09aaa658b0fa53eff3ad4cd5a44cf488bdfc1e3c 15-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

DisplayPort call organization and cleanup

* Add color space to BPP function
* Pass display_mode to DP lane count function
* Get BPP in DP lane count
* Move some DPInfo population out of DP link training
as other things need them sooner.
* Fill out DP code in external encoder setup


# c8677fb1384051cb147d53ff8e5d9f1f41a35201 14-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Working towards DP connector support

* Lots of new DisplayPort functions
* Call DP link training during mode set
* Rename dp_info variables to be less redundant
* Make encoder_pick_dig accept connector ID and
then check parent display
* Encode/Decode DP link speed functions
* Calculate DP lanes
* Rewrite encoder_dig_setup
* Correct bitsPerChannel to bitsPerColor
* My TRAVIS DisplayPort -> LVDS bridge now works


# 18500e1cd61a4573bea20cb33544d8051a236112 14-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

GPIO info struct style cleanup, (hopefully) no functional change


# 96587f13569659fa59abde67e430da426bb0a1ac 13-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Introduce new displayport source file

* Move existing displayport functions to new source file
* Move was done due to large amount of DP code
* Style fixes
* Stub out new DP link training function


# e4a8cf983d222701e64ba57bbc6f58b49ad9aab0 13-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Begin to utilize encoder link enumeration

* Check link enumeration for linkb during encoder dig picking
* Show encoder link enumeration in connector debug output


# c26d7a43ad3d56c40fe4dfcef0c3ba63d1acf675 13-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Record encoder link enumeration


# 80f3c7fcf9ec35d7b8f5f269adb8a1770f66ab7b 12-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Adjust debug output for connectors to save vertical log space


# 83cd8616480cac34f27ea0d3454c9c4a96c57563 13-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Improve debugging

* Provide more information on connectors
* Provide more information on detected attributes
* Remove some no longer needed debug output
* Provide connector ID on display debug output


# dc0d01abcdc64458f3d8b4965322b56474370d7f 10-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Cleanup. Move unions into functions that use them.

* Rename unions to match style guide lines
* Group things that make sense together
* Move AtomBIOS argument struct creation closer to what uses it


# 802ac6355d9d2300ad64f798e6431d7b87de5656 09-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Style cleanup, space after switch as it is not a function


# 79ac92f3116f22fb5c01b8ff765a3593ad31e877 09-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Style cleanup of connector detection

* remove xxx_xxx variables
* small bit of code consolidation
* build fix due to missed braces in IGP change


# 4faf6f22765f20244a8f0512693e911fc510f21c 09-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Style cleanup. Variable rename, fill out IGP TODO a little better


# afdf055d48ba55312a375ea54feccee19e6d07aa 09-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Contextual style cleanup

* Remove un-needed line breaks
* Remove un-needed parentheses


# 0cd5024dbb8c0b979798d10528cb8140470f129d 09-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Pointer style cleanup; Variable consolidation


# 61cf713381b5ef727d0b1d78306dacde4887b8f5 09-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Include file style cleanup, no functional change


# 7a13bce56dcb354289764f5499e0ac6ebe66377f 09-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

More work towards DP support.

* add DPBridge encoder flag and set during connector detection
* if external bridge found, do external DDC setup
* pass connectorIndex vs displayIndex to encoder_*_setup
* some of the DP AUX channel stuff should go into accelerant
common code some day like i2c.


# 60b7d1defbf486d4f77a2edaef21095fac407376 09-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Add i2c DP AUX communication calls

* remove posix return
* pass GPIO hwLine through vs connector index
* variable scope cleanup
* make lowest level dp aux AtomBIOS call static, non-public
as it is always called by connector code


# 232ba1d6f62b50b300f5a4c28d931a7b2eb58be7 08-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Remove un-needed posix return


# 247a279283f56743b5ffbb7092baece66eb7a49f 08-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Add calls to read and write data from AUX connector

* clean up previously changed error returns in 8c01b4. For
some reason I thought B_ERROR was the only non-positive
status.
* add VESA DisplayPort defines. Only a subset so it's local
to radeon_hd for now.
* this completes basic AUX transaction code, still untested


# 8c01b45a65603a60a32d4638a432d7f2aae2cdfc 08-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Style fix, return B_ERROR instead of hacking together a neg. return code.


# 36de623307c7a714fd1b6960728c878f5eb78f81 08-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Speak aux data via AtomBIOS call

* add function to speak DP AUX data via AtomBIOS call
* clean up connector index variable names


# 104c404c7edb585d7d4d6f88ad99d6525e6f1022 08-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Move connector code into new connector source file.

* clean up some comments
* most of this movement is prep for AUX display transactions


# 4540f5e929448b82266a16ad5c2ea9d5f6ed5ed3 08-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Create connector source file, move connector bus calls into it

* this will help break apart some of the sources
* display bus communications really don't belong with GPU operations
* rename functions to better describe their actions