Commit Graph

9412 Commits

Author SHA1 Message Date
Rene Gollent
32aa019c45 Apply patch by Adrian Panasiuk that fixes issues with some 3com combo chipsets. Resolves #3120.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42952 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-29 14:45:39 +00:00
Axel Dörfler
3928c786a0 * Moved thread function into the class.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-29 12:22:56 +00:00
Axel Dörfler
4b2c09b6b3 * Style cleanup.
* Changed quote from double to uint64.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42946 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-29 12:16: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
François Revol
fe0bb0ec24 Cleanup: reorder includes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42928 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-26 23:56:40 +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
Philippe Houdoin
427e96598c Revert back my change as its broken.
I will take some rest as obviously I should not allwed to commit anything rigth now.
Sorry guys.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 06:46:40 +00:00
Philippe Houdoin
cc6dd72fbb Update B_USB_RAW_COMMAND_GET_DESCRIPTOR to support retrieving
up to total_length a configuration descriptor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-25 06:19:49 +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
Philippe Houdoin
1ce29039cd Revert r42812. As pointed by Michael, one can use
BUSBDevice::GetDescriptor() to retrieve whatever descriptor, including a 
complete configuration descriptor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-24 21:02:14 +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
Fredrik Holmqvist
97d5dc0a3c I was being lazy, as pointe out by mmlr. It is much better to copy DSDT always do you don't need to figure out if you need to toggle that switch.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-21 19:42:46 +00:00
Fredrik Holmqvist
c5862c76d3 Patch by scgtrp (Mike Smith) to copy DSDT to memory, as some machines corrupt DSDT after boot. This fixes bug #8043.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-21 19:14:06 +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
Stefano Ceccherini
b1128999ca Fix build (forgot the ";")
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-19 12:41:36 +00:00
Stefano Ceccherini
276a254c1c Reorganized defines in the header.
Deallocate resources correcly in error case. Support for level and edge
interrupts.
Removed volatile keyword where it's not needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-19 12:40:12 +00:00
Stefano Ceccherini
bcf13367d4 Use B_DO_NOT_RESCHEDULE in the interrupt handler because we are running
with the interrupts disabled (was causing KDL under qemu).
Add a define to switch the HPET timers to 32 or 64 bit (32 bit now by default)
Reordered some things
Add some debug output. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-19 11:11:53 +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
Michael Lotz
ecb5cbe97d Enable the IronLake devices as at least mine works now with the correct
interrupt registers being used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-16 21:53:26 +00:00
Michael Lotz
1f75663ca6 Remove the interrupt register block. These aren't actually identitiy mapped
(they are actually reversed), so introduce a find_reg() inline function to map
such regs individually instead. Should fix interrupt storms on SandyBridge.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-16 20:48:54 +00:00
Michael Lotz
c0cb09baee * Add a couple more SandyBridge IDs. They might work, but I can't test them.
* Also add the definitions and some specifics for IronLake (ILK), but keep the
  IDs disabled as at least the one version I can test with doesn't work yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-16 20:02:56 +00:00
Michael Lotz
9e2e0d8dac Make some more SandyBridge specifics into Platform Control Hub (PCH) specifics.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-16 19:36:02 +00:00