#
c34b7168 |
|
28-Jul-2022 |
Jérôme Duval <jerome.duval@gmail.com> |
radeon_hd: auxPin zero is valid, check also on eDP type EDID is correctly read. It can then be passed to the app_server. At least the app_server tries to set the native resolution. It doesn't really help to get further, because the ATOMBios code can't handle newer table versions (for instance 3.2). Change-Id: If68828bcfda447ecf7d4432ae2872bbdbc0704d5 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5508 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
|
#
62298adc |
|
09-Jul-2022 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
accelerant/radeon_hd: Add missing newline to error message Change-Id: Ic145f75ae8a05f901e6202fbb552260f7f74efe0
|
#
65462c8c |
|
08-Jul-2022 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
accelerant/radeon_hd: Allow failure to init card * Previously, any accelerants failing would cause an app_server crash.. so we would do everything in our power to get "something" * After hrev56252, the app_server properly handles accelerant failures and vesa / framebuffer accelerants should will be used. * Thus, if no monitors were detected (due to none being plugged-in, or some other fault), bail and return B_ERROR so vesa fallback can give it a try. Change-Id: Ib9695dd7cf1914e50547ca8661c55b80152a66a4 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5442 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: waddlesplash <waddlesplash@gmail.com> Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
|
#
e5f5c3c4 |
|
11-Sep-2017 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Cosmetic cleanups. No functional change
|
#
9cfe6f90 |
|
08-Jul-2015 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Fix missing TRACE connector id
|
#
a46669aa |
|
15-Nov-2014 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Improve pitch width alignment
|
#
e938ebda |
|
26-May-2014 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Rework PLL picking code * Rewrote to be more efficient and more accurate. * Fix a DP bug where we didn't choose the correct external PLL.
|
#
224b875b |
|
30-Dec-2013 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: clean up clock units * Ensure we store all clock units as khz or n * 10 off from AtomBIOS unit expected * Perform DDC setup of external encoder
|
#
1665250f |
|
18-Dec-2013 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: crtc_memreq only on DCE 3 - 5 * Prevent some atombios missing table errors on DCE 6 and later
|
#
48ea3fca |
|
28-Sep-2013 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Style fix, no functional change
|
#
e1d4323c |
|
25-Sep-2013 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Style cleanup of display.cpp * These errors slipped in from an external patch * No functional change
|
#
53f26450 |
|
05-Jul-2013 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
RadeonHD: Bit-bang LVDS for edid * Older cards have to use the LVDS_Info table, newer cards also have an ddc pin for EDID. * Some buggy sbios don't inject the EDID into the vbios as they should * This corrects hrev45812 as we need to still call connector_read_mode_lvds to obtain the spread spectrum data for the lvds. * Call connector_read_mode_lvds, bit-bang the connector, choose the best outcome.
|
#
db5af29c |
|
01-Jul-2013 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
RadeonHD: Prefer edid over LVDS_Info * Some oem sbios implementations are buggy and don't overwrite the LVDS panel info over LVDS_Info in vbios as they should. * Bit-bang EDID info from LVDS connector before falling back to the LVDS_Info table. * Partially fixes #8457
|
#
59dc9ee9 |
|
23-Feb-2013 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Fix DVI-I detection once and for all * Reduced the logic down and only use it where possible. * Remove the duplicate gpio pin check. While this is a determining factor... i'd rather get it right while detecting displays vs relying on connector order in the ASIC. This gpio pin check was also severely bugged (missing {}'s) * Should fix #8913 and maybe others
|
#
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)
|
#
04234432 |
|
06-Jan-2013 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Improve displayport support * Modified patch submitted by Bill Randle. * DisplayPort aux communications now working. * DP Link Training still not functioning properly. * The DP edid data isn't used yet as we still use the vesa edid during the mode setting.
|
#
a5ccd036 |
|
14-Aug-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Become Spread Spectrum aware * Enable Spread Spectrum when requested * Tested working across several cards, does have regression potential though.
|
#
14943b5b |
|
13-Aug-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: cleanup some logic; no functional change
|
#
d96e6876 |
|
07-Aug-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: re-rework some pll code * Grab pseudo pll SS info for early Spread Spectrum access * display_crtc_ss now takes a pll vs a display for easy pll access
|
#
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.
|
#
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
|
#
8ef0a0d2 |
|
30-Jul-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Card define cleanup * Trying to do cleanup on the layout of these headers
|
#
e2339980 |
|
15-Jul-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Skip 9DIN connector. * Since we really don't support multiple heads well, skip 9DIN for the moment as it is a luxury.
|
#
60504124 |
|
09-May-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Build fix * Misplaced '"', sorry for spam
|
#
e62d1ff3 |
|
09-May-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Better handle and detect load on DVI-I connectors * A tricky situation as DVI-I digital + analog paths show up as two display connectors sharing one EDID data source.
|
#
f4647825 |
|
18-Apr-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: display_info struct style cleanup * No functional change
|
#
c3630191 |
|
18-Apr-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Make crtc lookup fault less catastrophic
|
#
e47f8619 |
|
18-Apr-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Fix digital output * Resolves blocker #8322. * Should resolve #8151, #8163, #8282, #8457 * Digital output on DVII was getting hard set in the encoder to analog / CRT mode. * We now check the edid "type" flag * Flag gets set to 1 if edid data from digital transmitter, 0 if analog transmitter.
|
#
6aaadd60 |
|
29-Mar-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Fix bytes per row passed to app_server * Video modes with widths that are not multiples of 32 were failing to set * Should solve analog "skewed display" * Add debugging on adjusted framebuffer pitch * Thanks go out to AMD open source developers for the help tracking this one down!
|
#
7e9cb027 |
|
29-Mar-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Correct framebuffer pixel pitch alignment
|
#
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
|
#
4eabb648 |
|
16-Mar-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: DisplayPort encoder fixes. * Handle external encoder case properly when pulling encoder mode. * Return DisplayPort encoder if DisplayPort connector. * Handle DVO properly when pulling encoder mode
|
#
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.
|
#
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
|
#
6f7c0aad |
|
13-Mar-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Whitespace cleanup, no functional change
|
#
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
|
#
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 ?
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
359b926f |
|
08-Nov-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* style cleanup of shared storage names * return better data on card * display chipset flags in screen preflet git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43226 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
76a3e009 |
|
08-Nov-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* add lots of missing evergreen defines * evergreen headers are split due to different header copyrights * detect and set up evergreen memory controler * change the way we manage radeon chipsets to more closely match drm driver as the chipset model numbers aren't in order and change from numbers to names. * check for evergreen when populating frame buffer information. * style cleanup git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43225 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e9e9c194 |
|
07-Nov-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* change the way we store GPU MC state information on halt / resume as it doesn't need to persist. * rename mc_info -> fb_info to better communicate it's contents * add some gart (gtt) storage and prep AGP VM code git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43212 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
025d4eed |
|
27-Oct-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* reorganize register definitions There were a large number if incorrect, duplicated, misplaced registers that were leading to bugs in the code. This is my first shot at cleaning them up. Luckly as we are using AtomBIOS the number of registers we need to know about is shrinking. * remove registers left over from register banging days * r770 is less then r710, r720 in the drm sources. Fix in code. * enable newer radeons for testing git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42930 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
46af8165 |
|
25-Oct-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* redesign pretty much everything frame buffer related * don't resize the frame buffer after mapping it.. doesn't make sense * add memory controller code and program the memory controller for r600 * remove unneeded frame_buffer_int * don't malloc mc_info, waste of time * fix scaler setting * vramStart in mc should be 0... get vertical colored lines however when this this is set properly (everything in mc_info is the MC view of FB BAR) When vramStart is the FB physical address... i get proper video on some cards ... thoughts? git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42924 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6c80b06b |
|
25-Oct-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* same blanking value, correct define. * set blanking color to full red for debugging to know when blanking is enabled. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42920 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
|
#
bbf37742 |
|
21-Oct-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* start using DCE versions in framebuffer code as it gives us finer control git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42898 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f3cb4623 |
|
21-Oct-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* take note of external encoders git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42893 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
afbd52f1 |
|
17-Oct-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* improve framebuffer programming on newer cards * correct? color mode setting bug * fix var naming to match style guidelines * add a few missing register defines git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42879 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
|
#
cf1d1fb4 |
|
14-Oct-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* add function to probe pll timing limits from AtomBIOS * rename *_* pll vars to match style guidelines * refactor PLL calculation to be easier to read with more central 10kHz unit conversions * limited mode switching has been seen working including a perfect 1280x1024@75 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42855 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
|
#
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
|
#
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
|
#
f35af704 |
|
02-Oct-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* use bit-banged edid for monitor ranges * add function to set encoder to crtc * clean up some comments git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42796 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ae347a6c |
|
30-Sep-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* squash a *silly* bug don't set up a pointer and not malloc it. * small cleanups to radeon_hd i2c bit-banging code * i2c bit banging is now functioning git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42793 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
dd295058 |
|
27-Sep-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* remap GPIO pin storage to global struct as they really aren't tied to a connector. (thus allowing for future non-ddc gpio devices like fan speed) * map all i2c gpio pins on accelerant init * use a smaller sub function to attach gpio info to connector i2c info git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42773 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e40c0068 |
|
21-Sep-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* correct some naming after deeper investigation of linux drm driver. Seems radeon_hd isn't limited to the standard 0xa0 i2c slave address. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42762 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6fca1a84 |
|
19-Sep-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* fix header function define * while doing our last-resort fallback, skip TV DAC encoders as it is likely that is not what the user wants. This may need to change as the driver matures. (ex: only a tv is connected, no edid) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42760 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
117e1357 |
|
18-Sep-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* ddc still giving 128 bytes of 0's * add code to check if 0 valid displays were found * if 0 edid's were found, we inject the first connector as a last resort... SimNow seems to be ok with this and I get a valid screen mode set :) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42757 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
54c0390b |
|
14-Sep-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* remove un-needed i2c_bus on each connector... we simply set this up each time it's needed using the gpio information * rename gpio information struct to be cleaner and shorter * add function to debug found connectors * set gpio mask to 1 vs the defined mask... this seems to get us closer to working ddc / edid per connector * change gpio_info u16's to u32's to ensure we aren't overflowing anything * fix bug always setting hw_capable true * change TRACE to ERROR to always show debug data when called git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42751 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a8b357c7 |
|
08-Sep-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* run edid check on all connectors regardless of encoder * correction to output check (B_OK != true) * check for invalid gpio (prevents seg violation) * tab cleanup git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42727 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b5fc0237 |
|
06-Sep-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* add i2c/ddc info storage to connector * add edid info storage to display * pass i2c/ddc information to common i2c code * add code to read/write i2c/ddc * i2c/ddc read/write code works 'in theory', needs tested * detect monitors based on presence of edid on connector git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42718 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
440381c6 |
|
06-Sep-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* rename video_electronics to video_configuration as per Axel * rename decode_* to get_* * clean up get_* text when unknown connector/encoder git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42717 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cfda569d |
|
02-Sep-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* add function to set up i2c bus for connector * few tab fixes * add Axel as author as the base i2c stuff is from intel_extreme git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42709 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a88394e5 |
|
02-Sep-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* find GPIO pin connector i2c is on for DDC / EDID * add i2c_bus to connector information git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42708 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e53d6375 |
|
01-Sep-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* reformulate display and connector storage to match AtomBIOS requirements * each active gDisplay references a gConnector index * add atombios DAC sense.. this really won't be the main call used... AtomBIOS expects you to attempt an EDID read to detect connected displays * remove old manual DACSense * next we attempt to add ddc / edid git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42705 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b81f42ec |
|
24-Aug-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* complete encoder detection * need to break out connector and encoder addition into seperate functions as the linux kernel did... that function is getting pretty large and deep. * my card seems to map everything as TV DAC or TMDS... weird. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42684 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2c062f84 |
|
23-Aug-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* as we are doing a lot of math on bios in gAtomContext, lets make it a uint8 vs a void pointer. * guys at AMD confirmed that the method looking directly at the object table should be the only method used on modern cards (r600 or later) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42683 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
aee8efc2 |
|
21-Aug-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* add gConnector for card connector storage * add detect_connectors to detect card connectors * add infinitely compex detect_connectors_manual (used when detect_connectors fails) * add missing AtomBIOS header git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42670 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d3e8b642 |
|
19-Aug-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* introduce mc control calls * malloc storage for mc state info * redo pll range struct * change to ATOM_ENCODER_MODE for connector info * redo pll calculations to match AtomBIOS requirements * some structure changes * no longer init already posted AtomBIOS as it causes an infinite loop of AtomBIOS calls git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42644 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c9c7be9a |
|
07-Aug-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* add initial set of Northern Island cards * add igp property to pciid map * add disabled bios pull for r700 and ni cards * refactor model numbering as >R700 AMD switched to named card families git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42596 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6da3f7d4 |
|
05-Aug-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* lots of changes * add missing header for some radeon registers * begin removing now un-needed direct register calls * move and refactor crtc functions * fix function naming to be clearer * create more AtomBIOS style calls * this will eat your cat at the moment, don't bother testing git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42582 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6ab8261b |
|
30-Jul-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* Pass device name into shared info * Refactor MCFBsetup to be a little simpler for now * Implement radeon accelerant_device_info for screen preflet * Re-add CRT Power calls to display code. * Disable blanking setting for now... just can't figure out what AMD wants for this. * Remove some un-needed locking in the scaling code * Be sure to disable VGA when set_display_mode is called * Refactor mode setting code to loop over all possible displays and set the provided mode on the attached ones. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42515 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e1b9d6e6 |
|
28-Jul-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* Add LVDS handling for TMDSB * Fix crash situation if no monitors detected * Assume TMDSB if no monitors sensed (temporary) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42508 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9e26987a |
|
22-Jul-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* Tab fix * No functional change git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42466 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d17bf8d4 |
|
22-Jul-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* Add fancy detected monitors debug function git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42465 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f09dc6d9 |
|
21-Jul-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* Small bit of comment cleanup * Rename crt_info display_info git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42463 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
95e1d7e8 |
|
21-Jul-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* Large refactoring of display detection and storage * Create new display.c/h for display management * Rename global gCRT to gDisplay * Add CRT connection type into gDisplay * Add CRT connection index into gDisplay * Refactor registers for each display into gDisplay via regs * We now shouldn't freak out too badly on multi-monitors git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42462 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9cfe6f909d41656a852a2ba358eae8fa6224d5c1 |
|
08-Jul-2015 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Fix missing TRACE connector id
|
#
a46669aa1c77b639e47cd4422e70956fd473bd8e |
|
15-Nov-2014 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Improve pitch width alignment
|
#
e938ebdae0869ae7682fe8c9ed8e1178c52d0642 |
|
26-May-2014 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Rework PLL picking code * Rewrote to be more efficient and more accurate. * Fix a DP bug where we didn't choose the correct external PLL.
|
#
224b875b3ad6ea9d7324377deb63d9087882092c |
|
30-Dec-2013 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: clean up clock units * Ensure we store all clock units as khz or n * 10 off from AtomBIOS unit expected * Perform DDC setup of external encoder
|
#
1665250fa7176841286f57f7589b7a1710885498 |
|
18-Dec-2013 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: crtc_memreq only on DCE 3 - 5 * Prevent some atombios missing table errors on DCE 6 and later
|
#
48ea3fca49c8abfdf80bc242575a71a8518d9333 |
|
28-Sep-2013 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Style fix, no functional change
|
#
e1d4323c6c565fd36af08f5f2ee8ed8e2160bdf8 |
|
25-Sep-2013 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Style cleanup of display.cpp * These errors slipped in from an external patch * No functional change
|
#
53f26450a35b19fa56bb1deadd33bb6beeee4178 |
|
05-Jul-2013 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
RadeonHD: Bit-bang LVDS for edid * Older cards have to use the LVDS_Info table, newer cards also have an ddc pin for EDID. * Some buggy sbios don't inject the EDID into the vbios as they should * This corrects hrev45812 as we need to still call connector_read_mode_lvds to obtain the spread spectrum data for the lvds. * Call connector_read_mode_lvds, bit-bang the connector, choose the best outcome.
|
#
db5af29c82a1e7822d42b6430e5a1131c3d3c155 |
|
01-Jul-2013 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
RadeonHD: Prefer edid over LVDS_Info * Some oem sbios implementations are buggy and don't overwrite the LVDS panel info over LVDS_Info in vbios as they should. * Bit-bang EDID info from LVDS connector before falling back to the LVDS_Info table. * Partially fixes #8457
|
#
59dc9ee9552e994240a535467e88d15ee279938b |
|
23-Feb-2013 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Fix DVI-I detection once and for all * Reduced the logic down and only use it where possible. * Remove the duplicate gpio pin check. While this is a determining factor... i'd rather get it right while detecting displays vs relying on connector order in the ASIC. This gpio pin check was also severely bugged (missing {}'s) * Should fix #8913 and maybe others
|
#
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)
|
#
042344329e6368d53eaa40aed1cc22aac4ecf6b7 |
|
06-Jan-2013 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Improve displayport support * Modified patch submitted by Bill Randle. * DisplayPort aux communications now working. * DP Link Training still not functioning properly. * The DP edid data isn't used yet as we still use the vesa edid during the mode setting.
|
#
a5ccd036b4a540462abe4d1347381344695b7fcf |
|
14-Aug-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Become Spread Spectrum aware * Enable Spread Spectrum when requested * Tested working across several cards, does have regression potential though.
|
#
14943b5b8bd02664ed24734ffabefaa20cb65c7b |
|
13-Aug-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: cleanup some logic; no functional change
|
#
d96e68765247f837b3787879cfcde72d3311d4d2 |
|
07-Aug-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: re-rework some pll code * Grab pseudo pll SS info for early Spread Spectrum access * display_crtc_ss now takes a pll vs a display for easy pll access
|
#
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.
|
#
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
|
#
8ef0a0d2a6c2dafb2f162c5ae2fbbd55a3ec8f32 |
|
30-Jul-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Card define cleanup * Trying to do cleanup on the layout of these headers
|
#
e2339980052673d16a2457483ff7b92e8c4fd179 |
|
15-Jul-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Skip 9DIN connector. * Since we really don't support multiple heads well, skip 9DIN for the moment as it is a luxury.
|
#
605041242ab32c7e66388c0f34c25ec4750e60a1 |
|
09-May-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Build fix * Misplaced '"', sorry for spam
|
#
e62d1ff387f8e448dfecce63ba879ef982060f59 |
|
09-May-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Better handle and detect load on DVI-I connectors * A tricky situation as DVI-I digital + analog paths show up as two display connectors sharing one EDID data source.
|
#
f4647825e79d9d619cff3eb26882fce1b5afea59 |
|
18-Apr-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: display_info struct style cleanup * No functional change
|
#
c363019152f3f0c6dbbf2f6dcd600b676646c067 |
|
18-Apr-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Make crtc lookup fault less catastrophic
|
#
e47f861975f7999a0f28807e8664e4c8fcb0e631 |
|
18-Apr-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Fix digital output * Resolves blocker #8322. * Should resolve #8151, #8163, #8282, #8457 * Digital output on DVII was getting hard set in the encoder to analog / CRT mode. * We now check the edid "type" flag * Flag gets set to 1 if edid data from digital transmitter, 0 if analog transmitter.
|
#
6aaadd60dd52c001bf402a6361ff11aa5834cb97 |
|
29-Mar-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Fix bytes per row passed to app_server * Video modes with widths that are not multiples of 32 were failing to set * Should solve analog "skewed display" * Add debugging on adjusted framebuffer pitch * Thanks go out to AMD open source developers for the help tracking this one down!
|
#
7e9cb0275587be51109118f9ffcf6b6f385a070e |
|
29-Mar-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Correct framebuffer pixel pitch alignment
|
#
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
|
#
4eabb6487d142caf3d8a9e8e8cfbfa7f7e2aee6d |
|
16-Mar-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: DisplayPort encoder fixes. * Handle external encoder case properly when pulling encoder mode. * Return DisplayPort encoder if DisplayPort connector. * Handle DVO properly when pulling encoder mode
|
#
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.
|
#
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
|
#
6f7c0aadbe2aa26986c4f8ea701caa36ce7d421c |
|
13-Mar-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Whitespace cleanup, no functional change
|
#
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
|
#
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 ?
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
359b926f79d7e7ac697d6aaf28f704b5d5f1283f |
|
08-Nov-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* style cleanup of shared storage names * return better data on card * display chipset flags in screen preflet git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43226 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
76a3e009ddb1b0c649bca1f84376ec2eb6c096c9 |
|
08-Nov-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* add lots of missing evergreen defines * evergreen headers are split due to different header copyrights * detect and set up evergreen memory controler * change the way we manage radeon chipsets to more closely match drm driver as the chipset model numbers aren't in order and change from numbers to names. * check for evergreen when populating frame buffer information. * style cleanup git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43225 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e9e9c194f9ca6cf30f8baeb15a89278541d5123d |
|
07-Nov-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* change the way we store GPU MC state information on halt / resume as it doesn't need to persist. * rename mc_info -> fb_info to better communicate it's contents * add some gart (gtt) storage and prep AGP VM code git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43212 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
025d4eed52f31e0047268227cde722164e52e2d8 |
|
27-Oct-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* reorganize register definitions There were a large number if incorrect, duplicated, misplaced registers that were leading to bugs in the code. This is my first shot at cleaning them up. Luckly as we are using AtomBIOS the number of registers we need to know about is shrinking. * remove registers left over from register banging days * r770 is less then r710, r720 in the drm sources. Fix in code. * enable newer radeons for testing git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42930 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
46af81655d98616bb2c30a2b76563a3d440ded16 |
|
25-Oct-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* redesign pretty much everything frame buffer related * don't resize the frame buffer after mapping it.. doesn't make sense * add memory controller code and program the memory controller for r600 * remove unneeded frame_buffer_int * don't malloc mc_info, waste of time * fix scaler setting * vramStart in mc should be 0... get vertical colored lines however when this this is set properly (everything in mc_info is the MC view of FB BAR) When vramStart is the FB physical address... i get proper video on some cards ... thoughts? git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42924 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6c80b06bb879fb12a09423f4e3d12189a97575a4 |
|
25-Oct-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* same blanking value, correct define. * set blanking color to full red for debugging to know when blanking is enabled. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42920 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
|
#
bbf37742d360c6c696fa0c235d86e65572f401b1 |
|
21-Oct-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* start using DCE versions in framebuffer code as it gives us finer control git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42898 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f3cb4623c8f4d77d12916cc6bee9cfc61e7c197d |
|
21-Oct-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* take note of external encoders git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42893 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
afbd52f16acc635e8ba1a0a32e1b4d02b8724ce6 |
|
17-Oct-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* improve framebuffer programming on newer cards * correct? color mode setting bug * fix var naming to match style guidelines * add a few missing register defines git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42879 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
|
#
cf1d1fb4ffb2cc4323b92a6d2f3c9a2cd1389a80 |
|
14-Oct-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* add function to probe pll timing limits from AtomBIOS * rename *_* pll vars to match style guidelines * refactor PLL calculation to be easier to read with more central 10kHz unit conversions * limited mode switching has been seen working including a perfect 1280x1024@75 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42855 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
|
#
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
|
#
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
|
#
f35af704c84cbdabe7106e6c5b422cb4d6dfa7ba |
|
02-Oct-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* use bit-banged edid for monitor ranges * add function to set encoder to crtc * clean up some comments git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42796 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ae347a6ce03d5b6b6fab6b955a847db5ec4a6d53 |
|
30-Sep-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* squash a *silly* bug don't set up a pointer and not malloc it. * small cleanups to radeon_hd i2c bit-banging code * i2c bit banging is now functioning git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42793 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
dd295058932cfb721aff7b714256dd9e5c334952 |
|
27-Sep-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* remap GPIO pin storage to global struct as they really aren't tied to a connector. (thus allowing for future non-ddc gpio devices like fan speed) * map all i2c gpio pins on accelerant init * use a smaller sub function to attach gpio info to connector i2c info git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42773 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e40c00685cbbfc348064e71f4c38c551232f8f40 |
|
21-Sep-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* correct some naming after deeper investigation of linux drm driver. Seems radeon_hd isn't limited to the standard 0xa0 i2c slave address. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42762 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6fca1a84fcc67f1fcc59e8d466c3638adde01d5c |
|
19-Sep-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* fix header function define * while doing our last-resort fallback, skip TV DAC encoders as it is likely that is not what the user wants. This may need to change as the driver matures. (ex: only a tv is connected, no edid) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42760 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
117e135799a2b95c0bce51e440821fe2fc8a323e |
|
18-Sep-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* ddc still giving 128 bytes of 0's * add code to check if 0 valid displays were found * if 0 edid's were found, we inject the first connector as a last resort... SimNow seems to be ok with this and I get a valid screen mode set :) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42757 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
54c0390b901eb0606bc6c0b46fb0e0c6530f4eda |
|
14-Sep-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* remove un-needed i2c_bus on each connector... we simply set this up each time it's needed using the gpio information * rename gpio information struct to be cleaner and shorter * add function to debug found connectors * set gpio mask to 1 vs the defined mask... this seems to get us closer to working ddc / edid per connector * change gpio_info u16's to u32's to ensure we aren't overflowing anything * fix bug always setting hw_capable true * change TRACE to ERROR to always show debug data when called git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42751 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a8b357c7477d541c2c6d39fcba245b64cd9107a4 |
|
08-Sep-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* run edid check on all connectors regardless of encoder * correction to output check (B_OK != true) * check for invalid gpio (prevents seg violation) * tab cleanup git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42727 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b5fc0237e14b93deac33523f327c7e36f1bca57f |
|
06-Sep-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* add i2c/ddc info storage to connector * add edid info storage to display * pass i2c/ddc information to common i2c code * add code to read/write i2c/ddc * i2c/ddc read/write code works 'in theory', needs tested * detect monitors based on presence of edid on connector git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42718 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
440381c60f930ef5b27f44a33b674bbee313628b |
|
06-Sep-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* rename video_electronics to video_configuration as per Axel * rename decode_* to get_* * clean up get_* text when unknown connector/encoder git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42717 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cfda569d7f1b3c08a0f74240666341d5b147f66e |
|
02-Sep-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* add function to set up i2c bus for connector * few tab fixes * add Axel as author as the base i2c stuff is from intel_extreme git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42709 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a88394e56e36fd5f66dbb1f13f65ece4f75551b3 |
|
02-Sep-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* find GPIO pin connector i2c is on for DDC / EDID * add i2c_bus to connector information git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42708 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e53d637520ce91031ff9ac5ea4a5044156136a27 |
|
01-Sep-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* reformulate display and connector storage to match AtomBIOS requirements * each active gDisplay references a gConnector index * add atombios DAC sense.. this really won't be the main call used... AtomBIOS expects you to attempt an EDID read to detect connected displays * remove old manual DACSense * next we attempt to add ddc / edid git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42705 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b81f42ecbc0b4bd7db38f7f5239fe25d7cfa5ba7 |
|
24-Aug-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* complete encoder detection * need to break out connector and encoder addition into seperate functions as the linux kernel did... that function is getting pretty large and deep. * my card seems to map everything as TV DAC or TMDS... weird. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42684 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2c062f84e5ff05c782c321d9ceceffb05b909738 |
|
23-Aug-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* as we are doing a lot of math on bios in gAtomContext, lets make it a uint8 vs a void pointer. * guys at AMD confirmed that the method looking directly at the object table should be the only method used on modern cards (r600 or later) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42683 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
aee8efc2449441c243e759cd0ca41ee024894481 |
|
21-Aug-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* add gConnector for card connector storage * add detect_connectors to detect card connectors * add infinitely compex detect_connectors_manual (used when detect_connectors fails) * add missing AtomBIOS header git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42670 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d3e8b64208159ab71ca24f58ec7e56f1aa4bb5e6 |
|
19-Aug-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* introduce mc control calls * malloc storage for mc state info * redo pll range struct * change to ATOM_ENCODER_MODE for connector info * redo pll calculations to match AtomBIOS requirements * some structure changes * no longer init already posted AtomBIOS as it causes an infinite loop of AtomBIOS calls git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42644 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c9c7be9a542ef73705afae1119f5ad0b1b219628 |
|
07-Aug-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* add initial set of Northern Island cards * add igp property to pciid map * add disabled bios pull for r700 and ni cards * refactor model numbering as >R700 AMD switched to named card families git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42596 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6da3f7d4c1de302697f5d948057a68dd428277f6 |
|
05-Aug-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* lots of changes * add missing header for some radeon registers * begin removing now un-needed direct register calls * move and refactor crtc functions * fix function naming to be clearer * create more AtomBIOS style calls * this will eat your cat at the moment, don't bother testing git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42582 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6ab8261b98f59b9751c7178a4df66bf1ae0fa66e |
|
30-Jul-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* Pass device name into shared info * Refactor MCFBsetup to be a little simpler for now * Implement radeon accelerant_device_info for screen preflet * Re-add CRT Power calls to display code. * Disable blanking setting for now... just can't figure out what AMD wants for this. * Remove some un-needed locking in the scaling code * Be sure to disable VGA when set_display_mode is called * Refactor mode setting code to loop over all possible displays and set the provided mode on the attached ones. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42515 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e1b9d6e6743b027ba89a78d381ea398d79ec7822 |
|
28-Jul-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* Add LVDS handling for TMDSB * Fix crash situation if no monitors detected * Assume TMDSB if no monitors sensed (temporary) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42508 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9e26987aff50b46ca9ed2881e1604df3fc914439 |
|
22-Jul-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* Tab fix * No functional change git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42466 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d17bf8d4fb5081fe32f158c8d5241966fdc5f072 |
|
22-Jul-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* Add fancy detected monitors debug function git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42465 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f09dc6d9754acb87367a324f36acd634d58f999a |
|
21-Jul-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* Small bit of comment cleanup * Rename crt_info display_info git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42463 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
95e1d7e8288c9eb390705b0fa6e735ff091a0e65 |
|
21-Jul-2011 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
* Large refactoring of display detection and storage * Create new display.c/h for display management * Rename global gCRT to gDisplay * Add CRT connection type into gDisplay * Add CRT connection index into gDisplay * Refactor registers for each display into gDisplay via regs * We now shouldn't freak out too badly on multi-monitors git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42462 a95241bf-73f2-0310-859d-f6bbb57e9c96
|