History log of /haiku/src/add-ons/accelerants/radeon_hd/encoder.cpp
Revision Date Author Comments
# 9bceb7fb 05-Aug-2022 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add encoder crtc source table 1.3

Change-Id: I9020f9bf270509c162987a9c1656f7e1cce33490
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5529
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


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

radeon_hd: Add polaris HPD on transmitter config

Change-Id: I899e75c1556acc3462812ee6503dd1b782af2a96


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

radeon_hd: Add missing UNIPHY3 encoder on transmitter table 1.5

Change-Id: I3edbc5338ba2e4611939952999278575f3cc4220


# ce1ac429 11-Sep-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Fix logic bug in transmitter init.

* Don't use any functions requiring knowledge of
attached displays before they are probed.
* ucDigMode un-needed on INIT action.


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

radeon_hd: Add new dig v5 table minor code.

* Radeon RX 480 working over DisplayPort active dongle (!!)


# 25a087bc 04-Oct-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: AtomBIOS version bump. Encoder work.

* Now pulling in latest amdgpu atombios.h headers
* Lots of DisplayPort cleanup and removal of legacy stuff
* Add obsolete atombios header for things that disappear
(amdgpu doesn't support older cards like we do)
* Introduce new code to support later encoder tables
* Drop radeon-specific encoder service from common dp_info
* Tested on HD 5450 hdmi


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

radeon_hd: Properly and consistently pick HPD ID


# f11d3df9 28-Apr-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: DP encoder. Fix PVS 2022 to 2025

* Don't overload uint8 dpClock with 27k
* This might be causing a lot of DP issues
as the DP clock rate is pretty important


# 57bc6503 09-Nov-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

Everything: Update lots of code to use B_COUNT_OF macro

* Likely not everything, but the obvious uses of B_COUNT_OF


# 69acb96d 26-Sep-2014 Lioncash <mathew1800@gmail.com>

radeon_hd: Fix array bounds check in encoder_name_lookup


# b3892782 08-Mar-2014 Julian Harnath <julian.harnath@rwth-aachen.de>

Look at the internal encoder to pick the link

* When determining the output link, look at the internal encoder in
the transmitter setup.

* Fixes getting no picture on digital output of certain systems.


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

Revert "radeon_hd: Correct RadeonHD DisplayPort link training"

This reverts commit fefb6da970c11a38c9300b27db49aad79e23045e.

* This was actually correct before, was looking at the wrong
function while troubleshooting something.


# 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


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

radeon_hd: Correct RadeonHD DisplayPort link training

* dp_link_train takes connectorIndex and not crtcIndex
* May resolve some DisplayPort issues.


# 12075541 16-Jul-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

RadeonHD: Missing curly braces for temporal logic

* Great catch stpere!
* CID 991343


# 9e3038ae 26-Feb-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Revert a change from hrev45219

* Causes a regression in proper UNIPHY
mode setting.
* These encoder setup routines do not
get performed by any dpms stuff and
are required to put the encoder in the
correct state for programming.
* Resolves #8913 and maybe others
* Thanks Justin for testing!


# 00bc40ad 28-Jan-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Fix DisplayPort link training

* Original changes by Bill Randle
* Includes a large number of modifications
and cleanups.
* Add a "currentMode" to the gDisplay to
enable easier checking of intended changes.
(we pass the display_mode around quite a
bit, adding a "currentMode" allows code
to know the intended display mode being set
without passing the mode pointer around as
much)


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

radeon_hd: add v1.4 dig encoder setup

* Add 1.4 encoder control used in latest HD 7xxx cards
* Should make progress towards resolving #8859


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

radeon_hd: Update atombios, add v1.5 transmitter control

* Latest stock atombios.h from Linux DRM with a few small
environment tweaks.
* Add 1.5 transmitter control used in latest 7xxx cards


# 14943b5b 13-Aug-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: cleanup some logic; no functional change


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

radeon_hd: ensure we call CMD_SETUP on DCE6+ dpms

* We may not get a picture otherwise


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

radeon_hd: reorganize some pll code

* Move DisplayPort external pixel clock out of pll
as this frequency is card-wide.
* Add new function to pull display clock frequency
and other card-wide settings.
* Set displayDefault frequency card-wide
* My DisplayPort LVDS bridge laptop now kind of works
(a clock somewhere seems a little off though)


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

radeon_hd: enable non-dp code to execute dpcd queries

* Check DPCD to properly choose TRAVIS DP panel mode


# bef63a44 06-Aug-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: fix cosmetic encoder order

* While Travis is listed before Nutmeg
in ObjectID.h, their values are reversed.


# 93aac98d 30-Jul-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: r5xx to Avivo define cleanup

* Reorganize and clean up card defines
* Fix define spaces
* Unify card naming
* No (real) functional change


# af6e0179 18-Apr-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: DIG encoder work

* Cleanup some AtomBIOS arg versions
* Add tracing to encoder calls
* Program a missing dig lane count


# 19574417 06-Apr-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Better handle external encoders


# 0de9d6cd 06-Apr-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Move out some DisplayPort common code

* General DisplayPort functions in common dp.cpp
* DP port information struct in common header
* Please don't use this private accelerant common DP
code just yet as it is very early.


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

radeon_hd: Don't pass old pixel clock to encoder

* pll_set can make pixel clock adjustments.
* Anything after pll_set should use encoder pll
to ensure adjustments are picked up.


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

radeon_hd: Fix oops in hrev43880


# 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


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

radeon_hd: Add new VCE encoder defines

* Internal encoder introduced for HD 7xxx
* si_tn [PATCH 02/48]


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

radeon_hd: Repair external encoder dpms call

* I was right that this didn't look right.
* Now we set up the internal encoder, then
the external one if valid.
* Make sure we optionally set up external
encoder if desired on UNIPHY


# 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


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

radeon_hd: Start work on proper DP link training

* The AtomBIOS timeout fix has made my DP bridge
stop working
* The current DisplayPort code is a little lacking
on DP link training... I think thats the cause.
* This puts the first steps towards DP training
in place.
* I plan on trying to make some of this DP stuff
common accelerant stuff after it works.


# 119cd5e1 13-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add missing load detection on DIG encoders


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

radeon_hd: Fix APU / DCE 5+ encoder mode switch

* Don't touch transmitter.
* Potential fix for #8331 and other HD 5xxx, 6xxx
mode setting issues.
* Missed in my backport drm commit:
3a47824d85eeca122895646f027dc63480994199
* Tested as non-impacting change on my APU


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

radeon_hd: Fill in a few analog encoder edge cases

* If TV, NTSC hardcoded for now. I plan to address
this with an accelerant config file at some point


# 628e4c98 06-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Better tracing for dig transmitter setup

* Help troubleshoot #8331
* Whitespace cleanup


# 7dd18210 01-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Fix invalid encoder state

* This was a *big* oops on my part.
* We were missing initial setup call for
Kaleidoscope and DP Bridge encoders.
* If you were having radeon HD mode setting
issues, try this change.
* Potential fix for #5722, #7397, #8059, #8151, #8282,
#8289, #8310, #8322, #8331


# ccb23a1e 01-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Improve dig encoder picking


# 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.


# 2399d174 25-Feb-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Begin improvement on crtc state control

* Try to not blank the crtc when it is alreay disabled
* Clean up wording, active now present on display info
* Don't lock crtc when doing normal dpms calls, crtc
should only be locked during mode set / change


# 43b4a25f 22-Feb-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: The lack of a default case here was on purpose


# 962eb31b 22-Feb-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add better tracing


# 458166fb 08-Feb-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Improve Radeon HD APU support

* Backport from linux radeon drm 3a47824d
* Better logic for DCE version checking


# 38759479 30-Jan-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Fix missing break; CID 11230


# 94e5ca7e 18-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Add function to perform external encoder dpms set

* Utilize external encoder dpms set on dpms set


# 45e71a9e 18-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Add function to handle DIG encoder dpms setup

* Add code to control DIG dpms setup
* Reduce information needed by encoder_dpms_set
* DIG dpms setup needs access to pixelClock for DP training


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

Complete code for DIG transmitter control

* Record external clock frequency (aka, DP non-pll)
* Add function to control DIG transmitter
* Cleanup duplicated is external code in encoder mode set


# 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


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

Small unknown table minor check, no real functional change


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

Small bugfix in dig_setup dceMajor check


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

No longer a pitty. No functional change.


# 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


# 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


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

Improve range of dpms commands

* Things in drm are a bit tangled, but it looks as though
the backlight controls only need to be called on <= DCE 4
* Add analog dac video device support


# 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


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

First steps to DIG encoder support

* add function to pick the DIG encoder to use
* uncomment DIG encoder setting code


# 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


# 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.


# bdd19893 02-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Add lookup of encoder id -> name for debugging


# dad34be3 02-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Improve pll calculations dealing with DisplayPort devices

* rename encoder_isexternal to encoder_is_external
* add encoder_is_dp_bridge call for special DP cases
* add initial get_dp_link_clock, hard code a guess for now
* take external DP encoders into consideration when making
pixel clock adjustments


# dda3bb3b 30-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Add some notes and warnings on Nutmeg and Travis based on AMD engineer comments

* give user condolences (for now)
* no real change


# b394b1d2 29-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Add early support for external encoders

* detect and attempt setup on external encoders
* improve encoder tracing


# 5a2c3572 13-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Improve legacy card support and cleanup

* break apart encoder type lookup to share with legacy
connector probe
* add function to check for external encoders
* reduce chip requirement to Avivo+ from R600 for register population


# 91affb2d 12-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Add legacy card connectior detection using table method
* attempt AtomBIOS table probe first, then fallback to legacy method if
no connectors found (or table version is too old)
* add function to look up object info on older cards
* dcc still needs some work on old cards
* my X1200 IGP gets video now


# 62278874 25-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* add TV encoder setup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42919 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 07a90a63 25-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* add better tracing
* add encoder quirks


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42917 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 72bc31d7 21-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* get some DIG code done, lots of commented out
Display Port stuff. We need special DIG encoder
storage unless I can find a way to mash it into
the same box as the other encoders.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42897 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f089aa52 21-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* stub out dig encoder setup
* adjust pll post divider calculation
* fix digital encoder setup action
* don't run memreq on DCE < 3, should solve
some AtomBIOS failure loops


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42892 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a4f66979 17-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* fix minimum pll out units
* sort files in Jamfile
* add TV and compontent video support in encoder code
* fix missing var in display detection code


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42878 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f66a1a8d 16-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* fix TODO style due to ML
* rename bpc to bitsPerChannel
* remove un-needed / unused PCI BAR reference
* no functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42861 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 53aac744 13-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* there is only one DDC channel on DVI-I connectors. as such
we get valid EDID data for two physical connectors (one analog, one digital)
Check for load on the analog or assume digital and keep rolling as normal
* style fix, rename bios_*_scratch to biosScratch*


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42847 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e774cb4b 12-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* style fixes
move quite a bit of code away from var_var format
* #if 0 some not-yet-ready r500 code
* no real functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42835 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6b49ba89 12-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* style fixes, no functional change...
frev / crev to tableMajor / tableMinor
size to tableSize
offset to tableOffset


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42834 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6b0b621b 12-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* style fixes, no functional change...
automatic crtc_id -> crtcID
automatic pll_id -> pllID
automatic encoder_id -> encoderID
automatic connector_index -> connectorIndex
automatic encoder_flags -> encoderFlags


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42831 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dc223cc5 12-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* style fix
ensure bitwise ands are compared to 0 or non 0 as per Axel


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42830 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 042bdcc0 12-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* complete pll_set for all AtomBIOS revisions
* add update of crtc encoder scratch registers
* rename id for more descriptive crtc_id
* encoder dpms, BL on/off on lcd


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42828 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1fca5eaf 10-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* detect hdmi and tv and set as such
* set encoder flags the same as connector flags
* add curly comments to make troubleshooting clearer
* program encoder dpms scratch registers


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42818 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 936aec74 09-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* remove some legacy code
* don't init asic unless needed
* do dpms by hand on mode set
* detect tv and skip during detection for now


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42817 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d0509b7e 09-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* move encoder info into own struct
* rename some connector / encoder struct members
* improve debugging in connector / encoder
AtomBIOS walking


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42815 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 17b66d82 09-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* add digital encoder setup code
* make encoder setup functions return status_t
* really need a struct to hold encoder info


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42814 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ffb494ca 04-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* add encoder DPMS code
* flip encoders on during modeset.
* crt0 status keeps getting higher and higher which is a good sign.
the more bits that are set, the closer to a successful lock.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42802 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b54c8119 04-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* add encoder code to handle setting up and adjusting encoders
* reorganize mode set code to match layout of linux DRM driver
* add initial DPMS code
* add lots of TODOs


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42801 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7c91a33c 02-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* RIP Radeon register banging
Remove old non-atombios code
* add encoder.c and encoder.h to handle
encoder management
* fix pll code to use encoder object id
vs crtcid


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42797 a95241bf-73f2-0310-859d-f6bbb57e9c96


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

radeon_hd: Properly and consistently pick HPD ID


# f11d3df9aa3b3719b4d6058cbf58b6893ee4c651 28-Apr-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: DP encoder. Fix PVS 2022 to 2025

* Don't overload uint8 dpClock with 27k
* This might be causing a lot of DP issues
as the DP clock rate is pretty important


# 57bc65034a7781d7bb53a48f94d692346b641da1 09-Nov-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

Everything: Update lots of code to use B_COUNT_OF macro

* Likely not everything, but the obvious uses of B_COUNT_OF


# 69acb96d8ef78c2a4039724e38d422fe12939ae3 26-Sep-2014 Lioncash <mathew1800@gmail.com>

radeon_hd: Fix array bounds check in encoder_name_lookup


# b3892782a6ce9697ac9316b8e9c1b303b58a294d 08-Mar-2014 Julian Harnath <julian.harnath@rwth-aachen.de>

Look at the internal encoder to pick the link

* When determining the output link, look at the internal encoder in
the transmitter setup.

* Fixes getting no picture on digital output of certain systems.


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

Revert "radeon_hd: Correct RadeonHD DisplayPort link training"

This reverts commit fefb6da970c11a38c9300b27db49aad79e23045e.

* This was actually correct before, was looking at the wrong
function while troubleshooting something.


# 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


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

radeon_hd: Correct RadeonHD DisplayPort link training

* dp_link_train takes connectorIndex and not crtcIndex
* May resolve some DisplayPort issues.


# 12075541399aa89abdf36fd6f66f136f003ef761 16-Jul-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

RadeonHD: Missing curly braces for temporal logic

* Great catch stpere!
* CID 991343


# 9e3038ae8eed496cd7ca5a82c9754b9ec62c1750 26-Feb-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Revert a change from hrev45219

* Causes a regression in proper UNIPHY
mode setting.
* These encoder setup routines do not
get performed by any dpms stuff and
are required to put the encoder in the
correct state for programming.
* Resolves #8913 and maybe others
* Thanks Justin for testing!


# 00bc40ad588f4bd59cd7574788b5dc111b62198a 28-Jan-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Fix DisplayPort link training

* Original changes by Bill Randle
* Includes a large number of modifications
and cleanups.
* Add a "currentMode" to the gDisplay to
enable easier checking of intended changes.
(we pass the display_mode around quite a
bit, adding a "currentMode" allows code
to know the intended display mode being set
without passing the mode pointer around as
much)


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

radeon_hd: add v1.4 dig encoder setup

* Add 1.4 encoder control used in latest HD 7xxx cards
* Should make progress towards resolving #8859


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

radeon_hd: Update atombios, add v1.5 transmitter control

* Latest stock atombios.h from Linux DRM with a few small
environment tweaks.
* Add 1.5 transmitter control used in latest 7xxx cards


# 14943b5b8bd02664ed24734ffabefaa20cb65c7b 13-Aug-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: cleanup some logic; no functional change


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

radeon_hd: ensure we call CMD_SETUP on DCE6+ dpms

* We may not get a picture otherwise


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

radeon_hd: reorganize some pll code

* Move DisplayPort external pixel clock out of pll
as this frequency is card-wide.
* Add new function to pull display clock frequency
and other card-wide settings.
* Set displayDefault frequency card-wide
* My DisplayPort LVDS bridge laptop now kind of works
(a clock somewhere seems a little off though)


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

radeon_hd: enable non-dp code to execute dpcd queries

* Check DPCD to properly choose TRAVIS DP panel mode


# bef63a44421072d3271b2b8f2b5053ef4d3a5467 06-Aug-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: fix cosmetic encoder order

* While Travis is listed before Nutmeg
in ObjectID.h, their values are reversed.


# 93aac98d0a9b8ce27f94eb449cfc742446a50274 30-Jul-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: r5xx to Avivo define cleanup

* Reorganize and clean up card defines
* Fix define spaces
* Unify card naming
* No (real) functional change


# af6e0179caa3b796787848cdbf5a44e7d4c4f3b1 18-Apr-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: DIG encoder work

* Cleanup some AtomBIOS arg versions
* Add tracing to encoder calls
* Program a missing dig lane count


# 19574417cb470cf67e9edaa1e3e8ddfc5afeb228 06-Apr-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Better handle external encoders


# 0de9d6cdeffaa5525911a1ecf1bcb3afb1862efb 06-Apr-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Move out some DisplayPort common code

* General DisplayPort functions in common dp.cpp
* DP port information struct in common header
* Please don't use this private accelerant common DP
code just yet as it is very early.


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

radeon_hd: Don't pass old pixel clock to encoder

* pll_set can make pixel clock adjustments.
* Anything after pll_set should use encoder pll
to ensure adjustments are picked up.


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

radeon_hd: Fix oops in hrev43880


# 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


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

radeon_hd: Add new VCE encoder defines

* Internal encoder introduced for HD 7xxx
* si_tn [PATCH 02/48]


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

radeon_hd: Repair external encoder dpms call

* I was right that this didn't look right.
* Now we set up the internal encoder, then
the external one if valid.
* Make sure we optionally set up external
encoder if desired on UNIPHY


# 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


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

radeon_hd: Start work on proper DP link training

* The AtomBIOS timeout fix has made my DP bridge
stop working
* The current DisplayPort code is a little lacking
on DP link training... I think thats the cause.
* This puts the first steps towards DP training
in place.
* I plan on trying to make some of this DP stuff
common accelerant stuff after it works.


# 119cd5e1c1a4d40cc19903094ec25f86d058a018 13-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add missing load detection on DIG encoders


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

radeon_hd: Fix APU / DCE 5+ encoder mode switch

* Don't touch transmitter.
* Potential fix for #8331 and other HD 5xxx, 6xxx
mode setting issues.
* Missed in my backport drm commit:
3a47824d85eeca122895646f027dc63480994199
* Tested as non-impacting change on my APU


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

radeon_hd: Fill in a few analog encoder edge cases

* If TV, NTSC hardcoded for now. I plan to address
this with an accelerant config file at some point


# 628e4c98bd6495b83bc8347ff7a0f81d33eb5338 06-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Better tracing for dig transmitter setup

* Help troubleshoot #8331
* Whitespace cleanup


# 7dd182106a9df09dd5804b47013a9232163881a3 01-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Fix invalid encoder state

* This was a *big* oops on my part.
* We were missing initial setup call for
Kaleidoscope and DP Bridge encoders.
* If you were having radeon HD mode setting
issues, try this change.
* Potential fix for #5722, #7397, #8059, #8151, #8282,
#8289, #8310, #8322, #8331


# ccb23a1eee0962d0aa88ed0cfb6ae82ef40b5974 01-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Improve dig encoder picking


# 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.


# 2399d174dc90c63e800c9a7218422a8533d85cae 25-Feb-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Begin improvement on crtc state control

* Try to not blank the crtc when it is alreay disabled
* Clean up wording, active now present on display info
* Don't lock crtc when doing normal dpms calls, crtc
should only be locked during mode set / change


# 43b4a25fe4354104a35e578caf56dee187b813bd 22-Feb-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: The lack of a default case here was on purpose


# 962eb31b1cb88dea2f96bbbee412834e0e716775 22-Feb-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add better tracing


# 458166fb30ec5eede2675d3b194881b4c159e6be 08-Feb-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Improve Radeon HD APU support

* Backport from linux radeon drm 3a47824d
* Better logic for DCE version checking


# 38759479e70f3f722389050d6c141959eb5773f6 30-Jan-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Fix missing break; CID 11230


# 94e5ca7e6d2acf32cba1857a3786201350d92376 18-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Add function to perform external encoder dpms set

* Utilize external encoder dpms set on dpms set


# 45e71a9ea629ff969b8e91855e270dffc7e43b2c 18-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Add function to handle DIG encoder dpms setup

* Add code to control DIG dpms setup
* Reduce information needed by encoder_dpms_set
* DIG dpms setup needs access to pixelClock for DP training


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

Complete code for DIG transmitter control

* Record external clock frequency (aka, DP non-pll)
* Add function to control DIG transmitter
* Cleanup duplicated is external code in encoder mode set


# 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


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

Small unknown table minor check, no real functional change


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

Small bugfix in dig_setup dceMajor check


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

No longer a pitty. No functional change.


# 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


# 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


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

Improve range of dpms commands

* Things in drm are a bit tangled, but it looks as though
the backlight controls only need to be called on <= DCE 4
* Add analog dac video device support


# 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


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

First steps to DIG encoder support

* add function to pick the DIG encoder to use
* uncomment DIG encoder setting code


# 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


# 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.


# bdd1989348b06678f7a6198f1d1abd7863654bf5 02-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Add lookup of encoder id -> name for debugging


# dad34be3e1198fd37f4d2e7a0d42a20d3887847b 02-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Improve pll calculations dealing with DisplayPort devices

* rename encoder_isexternal to encoder_is_external
* add encoder_is_dp_bridge call for special DP cases
* add initial get_dp_link_clock, hard code a guess for now
* take external DP encoders into consideration when making
pixel clock adjustments


# dda3bb3bd87a60bb0eb10c56e90f57a6d6240aa5 30-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Add some notes and warnings on Nutmeg and Travis based on AMD engineer comments

* give user condolences (for now)
* no real change


# b394b1d2bb311256614713abe6a9184b440e3c30 29-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Add early support for external encoders

* detect and attempt setup on external encoders
* improve encoder tracing


# 5a2c35728db67844504cd3d5cb5a334b7232c2c1 13-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Improve legacy card support and cleanup

* break apart encoder type lookup to share with legacy
connector probe
* add function to check for external encoders
* reduce chip requirement to Avivo+ from R600 for register population


# 91affb2da4f93bb3ac3012e59da2bf94520e2a43 12-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Add legacy card connectior detection using table method
* attempt AtomBIOS table probe first, then fallback to legacy method if
no connectors found (or table version is too old)
* add function to look up object info on older cards
* dcc still needs some work on old cards
* my X1200 IGP gets video now


# 62278874a6e3072ebeb940e3e646eadb3564d277 25-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* add TV encoder setup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42919 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 07a90a634dcc4f68fed1a426d566b78bdd0a736b 25-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* add better tracing
* add encoder quirks


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42917 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 72bc31d759ece38f0fd718b7d9b9cf533f4818dc 21-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* get some DIG code done, lots of commented out
Display Port stuff. We need special DIG encoder
storage unless I can find a way to mash it into
the same box as the other encoders.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42897 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f089aa5229020b51c15e2fd294dcc5de269fdb5c 21-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* stub out dig encoder setup
* adjust pll post divider calculation
* fix digital encoder setup action
* don't run memreq on DCE < 3, should solve
some AtomBIOS failure loops


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42892 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a4f66979fe6b62e658496d993a65c95e0c9a138e 17-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* fix minimum pll out units
* sort files in Jamfile
* add TV and compontent video support in encoder code
* fix missing var in display detection code


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42878 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f66a1a8d71e68f2c725fa556af7b9983a85e057e 16-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* fix TODO style due to ML
* rename bpc to bitsPerChannel
* remove un-needed / unused PCI BAR reference
* no functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42861 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 53aac74407d7640cbc6cea89f3b1c916a58e411e 13-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* there is only one DDC channel on DVI-I connectors. as such
we get valid EDID data for two physical connectors (one analog, one digital)
Check for load on the analog or assume digital and keep rolling as normal
* style fix, rename bios_*_scratch to biosScratch*


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42847 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e774cb4b0aea6ec99b8b9d8878c5ffbe79516ded 12-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* style fixes
move quite a bit of code away from var_var format
* #if 0 some not-yet-ready r500 code
* no real functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42835 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6b49ba893183ec7d0c9a1231080e2c60fe33722e 12-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* style fixes, no functional change...
frev / crev to tableMajor / tableMinor
size to tableSize
offset to tableOffset


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42834 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6b0b621be9113080a339054cb3847201e5ed55dd 12-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* style fixes, no functional change...
automatic crtc_id -> crtcID
automatic pll_id -> pllID
automatic encoder_id -> encoderID
automatic connector_index -> connectorIndex
automatic encoder_flags -> encoderFlags


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42831 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dc223cc5a011d517dd70e3997021ba39fc3d1097 12-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* style fix
ensure bitwise ands are compared to 0 or non 0 as per Axel


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42830 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 042bdcc0d24430a5af2dcda23e5439bd623926b7 12-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* complete pll_set for all AtomBIOS revisions
* add update of crtc encoder scratch registers
* rename id for more descriptive crtc_id
* encoder dpms, BL on/off on lcd


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42828 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1fca5eaf116609013ea078eac249e20fe8a87098 10-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* detect hdmi and tv and set as such
* set encoder flags the same as connector flags
* add curly comments to make troubleshooting clearer
* program encoder dpms scratch registers


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42818 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 936aec7461bdc3312c60b4dc86a2d31ed57c8e2b 09-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* remove some legacy code
* don't init asic unless needed
* do dpms by hand on mode set
* detect tv and skip during detection for now


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42817 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d0509b7eb93e3cb67b23fa5ccdd2fb789333370b 09-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* move encoder info into own struct
* rename some connector / encoder struct members
* improve debugging in connector / encoder
AtomBIOS walking


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42815 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 17b66d82509ea6b07516b08115cc5765b8a7cb90 09-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* add digital encoder setup code
* make encoder setup functions return status_t
* really need a struct to hold encoder info


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42814 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ffb494caeb4ebbdd13612139389b1ca62bcfad20 04-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* add encoder DPMS code
* flip encoders on during modeset.
* crt0 status keeps getting higher and higher which is a good sign.
the more bits that are set, the closer to a successful lock.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42802 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b54c811990b00b53158247e1daa019a6bda9c278 04-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* add encoder code to handle setting up and adjusting encoders
* reorganize mode set code to match layout of linux DRM driver
* add initial DPMS code
* add lots of TODOs


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42801 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7c91a33c84935f6697e246a985730400ec976d61 02-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* RIP Radeon register banging
Remove old non-atombios code
* add encoder.c and encoder.h to handle
encoder management
* fix pll code to use encoder object id
vs crtcid


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42797 a95241bf-73f2-0310-859d-f6bbb57e9c96