Commit Graph

9397 Commits

Author SHA1 Message Date
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
Siarzhuk Zharski
3aaf71a600 Fix for reported keyboard id endiannes. I'm sorry for the extra noise.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-16 17:19:46 +00:00
Siarzhuk Zharski
fc3cecb361 Support of keyboard id reading. Partially fixes #7963.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-16 16:57:06 +00:00
Michael Lotz
c788baed28 Style cleanups only, no functional change.
* Make the pointer style consistent accross all components, which should make it
  easier when working all over the place.
* 80 char limits.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-16 15:15:03 +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
Adrien Destugues
7117b2ea25 Add support for Silicon Labs CP210x to usb_serial.
Not completely tested : my device has no control lines wired. RX/TX seems to
work fine, at least.

Inspiration from the Linux driver since there isn't any documentation avilable:
http://lxr.free-electrons.com/source/drivers/usb/serial/cp210x.c

The switch/case for VID/PID identification is getting quite long. Isn't there a
better way to do it ?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-16 11:46:53 +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
Michael Lotz
f0468be384 * Rework how registers are accessed. Most registers are now grouped into
register blocks and we encode their block into the register definition. On
  register access these blocks are then translated into the final address.
* Set up the register blocks for (G)MCH and PCH variants.
* Remove most SandyBridge code that was actually PCH specific and is now taken
  care of automatically.
* This will temporarily break SandyBridge support again until the right
  transcoders are actually programmed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42857 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-15 15:35:35 +00:00
Michael Lotz
16cc59778b Attempt at panel control for SandyBridge, still disabled though as it doesn't
work yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42856 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-15 11:20:40 +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
Michael Lotz
bff57edf94 Add indexed color mode support for SandyBridge.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-14 19:30:20 +00:00
Michael Lotz
395d16a9bd Some more SandyBridge specifics to get V-blank interrupts going.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-14 19:11:29 +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