Commit Graph
100 Commits
Author SHA1 Message Date
Alexander von Gluck IV cb050a33be Add support for thermal status queries on newer chipsets
* add temperature query support for Juniper, Sumo, Evergreen, and North Islands
* add missing thermal defines for evergreen cards
* northern island cards use the evergreen thermal calculations
2011-11-24 19:42:45 -06:00
Alexander von Gluck IV 0cd972316d Add first hints of thermal monitoring on radeon cards
* add a few missing/needed header defines
* show GPU temp in millidegrees C on r600/r700
* evergreen+ support soon
* function may be moved to driver long term once testing done
2011-11-21 17:54:27 -06:00
Alexander von Gluck IV 97b846e874 Style fix gpu_state naming, cleanup
* correct naming on gpu registers that effect MC idle state
* cleanup MC idle failure situation, we are stuck and
  need to try the changes anyway.
2011-11-21 17:00:07 -06:00
Alexander von Gluck IV 28e71fb070 Fix rookie tab typo, no functional change 2011-11-21 17:00:06 -06:00
Alexander von Gluck IV db528c0065 Clean up engine and hooks
* clean up radeon_hd engine tracing
* clean up radeon_hd engine
* clean up radeon_hd hooks
* add engine accelerant count function
2011-11-21 14:52:45 -06:00
Alexander von Gluck IV 3383e56426 Improve GPU memory controller idle check
* style fix
* add better tracing for non-idle memory controller conditions
2011-11-20 16:58:47 -06:00
Alexander von Gluck IV 021332df5d Improve GPU memory controller setup on later chips
* Fix bug where we setup MC twice on Evergreen+
* Northern Island chipsets use the Evergreen MC setup (just cosmetic)
2011-11-20 16:32:59 -06:00
Alexander von Gluck IV cf225839c2 Fix WebWatch build, remove __declspec(dllexport) 2011-11-14 14:59:31 +00:00
Alexander von Gluck IV f09b888e61 Fix login window width to prevent time / date being cut off 2011-11-14 14:24:31 +00:00
Alexander von Gluck IV 5a2c35728d 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
2011-11-13 23:30:05 -06:00
Alexander von Gluck IV db686b374c Add legacy disabled bios read and add missing static types
* on RS600 > chips we now call avivo disabled bios read vs
  relying on shadow rom
2011-11-13 09:51:27 -06:00
Alexander von Gluck IV 3ebbf65cfc Correct chipset check on ni bios disabled read as our chip order is correct 2011-11-13 09:51:26 -06:00
Alexander von Gluck IV 681be5be60 Add one-off gpio corrections on dce 3 and dce 4 chipsets 2011-11-13 09:51:26 -06:00
Alexander von Gluck IV 91affb2da4 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
2011-11-12 19:04:17 -06:00
Alexander von Gluck IV e35c1f2d02 Add card post detection for legacy models
* check for older cards, and see if they are posted
  using the older pre-avivo registers
2011-11-12 14:22:57 -06:00
Alexander von Gluck IV 207794909d Merge branch 'master' of ssh://git.haiku-os.org/haiku 2011-11-12 11:42:19 -06:00
Alexander von Gluck IV 0188ca92a5 First attempt at older Radeon card support
* add missing chipset ranges
* add a few more older (X1200) PCI ID's (mostly IGP)
* add code to detect and set frame buffer size on old chipsets
* we get to the connector detection currently and fail due to the
  lack of legacy support on my X1200 IGP
2011-11-12 11:41:31 -06:00
Alexander von Gluck IV 5ec0ede4ba * style cleanup
* whitespace cleanup
* no functional change
2011-11-12 08:34:34 -06:00
Alexander von Gluck IV eb1f77586b * improve comments on card families
* add a few missing PCI ID's
* add a first r520 PCI ID's (commented out for now)
* name a few rare CAYMAN FirePro cards based on info from AMD website


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43238 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-12 01:56:31 +00:00
Alexander von Gluck IV b56b80150d * don't read shared_info for deviceID before it's populated
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43228 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-09 03:31:33 +00:00
Alexander von Gluck IV bbd90770b2 * correct gcc2 warning about always true situation
* style fix


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43227 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-08 21:48:49 +00:00
Alexander von Gluck IV 359b926f79 * 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
2011-11-08 19:50:07 +00:00
Alexander von Gluck IV 76a3e009dd * 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
2011-11-08 17:17:43 +00:00
Alexander von Gluck IV e9e9c194f9 * 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
2011-11-07 16:11:24 +00:00
Alexander von Gluck IV 174240f9be * move DSO policy changes down a few lines to go under C/C++ flags section
* ensure host isn't darwin as Apple doesn't use binutils


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43202 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-06 13:14:47 +00:00
Alexander von Gluck IV c0ea2063b7 * undo r43186
* fix build due to changes in DSO Linking the right way
  as per bonefish.
* we may need to check host GCC version here... can't find
  when this option was introduced
* fixes #8031 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43191 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-04 19:23:34 +00:00
Alexander von Gluck IV 2f4f7479b0 * relink libroot again to make build compile under new Ubuntu / Fedora versions
which set the --no-add-needed flag (DSO Linking Changes)
* fixes #8031 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-04 17:59:06 +00:00
Alexander von Gluck IV be8c82d459 * disable the beceem wimax driver, it was enabled to
get caught in the last scan.
* the driver hardware communication works, but the
  networking bit isn't done so it's kind of pointless.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-03 03:13:11 +00:00
Alexander von Gluck IV 397fbc47bb * better identify BAR location defines
* fix bug where we were using an r600 bios pull method
  on r700 cards. this should help prevent shadow rom fallback.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-28 19:08:37 +00:00
Alexander von Gluck IV f52ca69c79 * attempt to reduce tracing spam a bit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-28 16:39:26 +00:00
Alexander von Gluck IV 8fbddad17c * better use Radeon HD 4xxx (r7xx) VM FB registers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42931 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-28 04:42:16 +00:00
Alexander von Gluck IV 025d4eed52 * 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
2011-10-28 04:30:54 +00:00
Alexander von Gluck IV 139848f37a * bailing when we can't idle the MC is the correct
behaviour... but while things are incomplete
  it may be better to try and push on.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-27 18:03:02 +00:00
Alexander von Gluck IV bbcc2a8c03 * lets idle the memory controller before checking if it's idle
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-26 14:11:24 +00:00
Alexander von Gluck IV 46af81655d * 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
2011-10-26 04:51:51 +00:00
Alexander von Gluck IV a96db7dc36 * vesa != intel. *cough*
* no functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 20:29:41 +00:00
Alexander von Gluck IV 6c80b06bb8 * 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
2011-10-25 18:54:17 +00:00
Alexander von Gluck IV 62278874a6 * add TV encoder setup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 18:34:47 +00:00
Alexander von Gluck IV 07a90a634d * add better tracing
* add encoder quirks


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42917 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 17:25:09 +00:00
Alexander von Gluck IV da9d54ead0 * be a little clearer in tracing on whats going on
when we fallback to shadow rom
* no functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 15:49:23 +00:00
Alexander von Gluck IV 62605d2824 * redesign code that locates AtomBIOS
allows for more flexible searching
* check out shadow VGA bios as very last resort
  may cause issues but not a bad last resort
  compared to an app_server crash
* better tracing


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42906 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 02:29:25 +00:00
Alexander von Gluck IV d5c8ef5d69 * add chipset flags vs isIGP
* we can now utilize these chipset
  flags throughout the driver to better id
  cards and features
* remove leftover BIOS size define from intel skel
* no *real* functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-24 17:53:22 +00:00
Alexander von Gluck IV 6f2ec43df7 * memory_base isn't what I thought it was and is 0x0
* look at PCI bar 0 (Frame buffer base) for AtomBIOS
* potential solution to #8040 ?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-24 17:03:48 +00:00
Alexander von Gluck IV 98421bb887 * simplify some trace statements
* add potential support for IGP chipsets
* igp code is *untested* and should work *in theory*
* potentially resolves #8040 / #8046 ?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-24 14:58:27 +00:00
Alexander von Gluck IV bbf37742d3 * 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
2011-10-21 22:44:23 +00:00
Alexander von Gluck IV 72bc31d759 * 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
2011-10-21 22:13:58 +00:00
Alexander von Gluck IV f3cb4623c8 * take note of external encoders
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42893 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-21 15:52:22 +00:00
Alexander von Gluck IV f089aa5229 * 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
2011-10-21 14:53:40 +00:00
Alexander von Gluck IV a4ba3a0f61 * pass dceMajor and dceMinor to accelerant
* will fix other var names to match style guidelines
  shortly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-21 14:32:01 +00:00
Alexander von Gluck IV b18a9bc338 * add a Radeon HD IGP chip reported as missing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42889 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-20 18:20:38 +00:00
Alexander von Gluck IV a6c4bc423e * enable radeon_hd in the nightly build
* disable Evergreen+ cards for now as they are tested
  non-functional.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-20 14:22:30 +00:00
Alexander von Gluck IV f5edabc8f8 * add a 4890 PCIID I missed
* correct a few wrong DCE versions
  using xorg documentation


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-20 01:00:23 +00:00
Alexander von Gluck IV 24d19f4dab * fix silly unsigned vs signed bug in gcc2
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42886 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-19 20:12:20 +00:00
Alexander von Gluck IV 9b4aacc210 * backport linux AtomBIOS parser bugfix...
Fixes memory corruption on some boards.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42885 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-19 18:40:46 +00:00
Alexander von Gluck IV 6e4eb955c7 * add DCE version major and minor as we may need it at some point
* add notes that AtomBIOS goes all the way back to X700 (r4xx) 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-19 18:19:13 +00:00
Alexander von Gluck IV 9774c58f55 * remove un-used registers that were left over from
base intel_extreme driver long ago
* no functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-18 18:11:26 +00:00
Alexander von Gluck IV afbd52f16a * 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
2011-10-18 05:54:28 +00:00
Alexander von Gluck IV a4f66979fe * 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
2011-10-18 03:34:28 +00:00
Alexander von Gluck IV 756fb8b796 * fix pll limitations probing
* radeon HD mode setting on analog monitors is now working!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42877 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-17 22:49:44 +00:00
Alexander von Gluck IV 86a5585b2d * redo 42874 in the right direction
* fix a order of operations bug
* fix a few long lines
* pll computation should now be correct


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-17 22:18:53 +00:00
Alexander von Gluck IV 8a66cb4c63 * add Radeon HD PCI ID card from a dell laptop
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42875 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-17 20:51:26 +00:00
Alexander von Gluck IV 96eb5a46fd * increase tolerance checking as we store kHz vs 10kHz units
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-17 19:19:13 +00:00
Alexander von Gluck IV 05a2fee650 * add varying PLL calculations as directed by AtomBIOS
* don't set referenceDivider as minimum unless directed to by
  AtomBIOS


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42873 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-17 14:13:42 +00:00
Alexander von Gluck IV f66a1a8d71 * 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
2011-10-16 14:12:03 +00:00
Alexander von Gluck IV 5fd0277927 * add function to make pll flag adjustments
* bug fix of improper unit conversion


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-15 16:46:20 +00:00
Alexander von Gluck IV cf1d1fb4ff * 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
2011-10-15 04:23:32 +00:00
Alexander von Gluck IV c0fe7a011b * tweaks to pll calculation reference units.. make divisors match 10 kHz unit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-14 23:27:44 +00:00
Alexander von Gluck IV 245fe001e7 * first shot at fixing pll calculations
AtomBIOS wants number of 10Khz Units
* better debugging after modeset on current
  CRTC status


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-14 22:57:00 +00:00
Alexander von Gluck IV 2cc1b10386 * make atombios lockup checking adjustments more robust
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-14 18:34:45 +00:00
Alexander von Gluck IV 53aac74407 * 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
2011-10-13 17:48:22 +00:00
Alexander von Gluck IV e774cb4b0a * 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
2011-10-12 22:04:41 +00:00
Alexander von Gluck IV 6b49ba8931 * 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
2011-10-12 21:21:45 +00:00
Alexander von Gluck IV 6b0b621be9 * 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
2011-10-12 20:45:49 +00:00
Alexander von Gluck IV dc223cc5a0 * 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
2011-10-12 20:28:37 +00:00
Alexander von Gluck IV 7934da0f09 * add *very* preliminary dpms support
we will need to query the card dpms state
  for each monitor at a later date


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-12 19:36:47 +00:00
Alexander von Gluck IV 042bdcc0d2 * 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
2011-10-12 17:24:15 +00:00
Alexander von Gluck IV 14493b1ecb * quick style fix before I forget, no functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-11 22:32:45 +00:00
Alexander von Gluck IV e7d0abae23 * move pll info into pll_info struct.
* reduce the number of unique storage uint32's


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42826 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-11 22:23:31 +00:00
Alexander von Gluck IV 44db4996ae * better tracing of modeline sanitization for #8001
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42823 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-11 17:39:43 +00:00
Alexander von Gluck IV 82720f1cd0 * move pll info onto encoder
* add atombios PLL adjustment code
* add initial PLL clock flags


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-10 18:07:53 +00:00
Alexander von Gluck IV 1fca5eaf11 * 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
2011-10-10 16:46:22 +00:00
Alexander von Gluck IV 936aec7461 * 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
2011-10-09 22:04:07 +00:00
Alexander von Gluck IV d0509b7eb9 * 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
2011-10-09 19:51:59 +00:00
Alexander von Gluck IV 17b66d8250 * 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
2011-10-09 19:10:56 +00:00
Alexander von Gluck IV ffb494caeb * 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
2011-10-05 04:45:54 +00:00
Alexander von Gluck IV b54c811990 * 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
2011-10-05 04:25:50 +00:00
Alexander von Gluck IV 7c91a33c84 * 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
2011-10-03 00:59:44 +00:00
Alexander von Gluck IV f35af704c8 * 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
2011-10-03 00:15:04 +00:00
Alexander von Gluck IV 39bc159e6e * small bit of common i2c / ddc white space cleanup
* small bit of tracing cleanup
* no functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-01 03:11:21 +00:00
Alexander von Gluck IV ae347a6ce0 * 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
2011-10-01 03:07:33 +00:00
Alexander von Gluck IV 70b41cd671 * improve Nothern Islands PCI ID information using FreeBSD
list of Radeon HD Cards
* break tradition of sorting by chipset id because they really
  are not in any kind of order.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-30 20:25:05 +00:00
Alexander von Gluck IV f61b3e2026 * there's one 'l' in Philips
* no functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-29 15:08:44 +00:00
Alexander von Gluck IV 495a05fa9f * reading through i2c specs, little comment cleanup
* add a few notes for future i2c bit-bangers
* cleanup of tracing
* no real functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42777 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-29 15:03:49 +00:00
Alexander von Gluck IV dd29505893 * 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
2011-09-27 21:34:28 +00:00
Alexander von Gluck IV 4a0f028c4d * perform some i2c cleanup from xorg ati driver
* read gpio pins back after setting them to improve reliability


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-27 20:08:46 +00:00
Alexander von Gluck IV 2ce1337c71 * fix several i2c communication bugs
dealing with i2c register addresses.
* cleanup i2c hacks
* now receive the following message in SimNow:
  "No device present at I2C slave address 0x66"


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42769 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-26 16:50:29 +00:00
Alexander von Gluck IV e40c00685c * 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
2011-09-21 21:36:00 +00:00
Alexander von Gluck IV 6655050606 * style fix
* clean up int types
* curly brace cleanup
* move vars away from top of functions
  when possible
* split DDR timings to seperate header to
  avoid warnings on unused items
* quite a few automated changes, please excuse
  things within diff still not fixed / incorrect


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-20 13:39:40 +00:00
Alexander von Gluck IV 6fca1a84fc * 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
2011-09-20 12:47:47 +00:00
Alexander von Gluck IV 117e135799 * 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
2011-09-18 15:29:24 +00:00