Commit Graph

40455 Commits

Author SHA1 Message Date
Michael Lotz
b4f4ac9237 Group the PCH registers logically.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-14 20:15:33 +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
Michael Lotz
e09045d41f * Fix debug build of the registrar.
* Make the macros use varargs so we avoid multiple invokations of the print
  function (to properly use with debug_printf for example).
* Minor cleanup to the macros.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42848 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-14 11:57:39 +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
Michael Lotz
951b5e5147 More SandyBridge specifics: Use the proper registers for display detection and
DPMS. Still needs to be reworked...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-13 16:56:11 +00:00
Michael Lotz
832d09b54d Apply r42844 to the analog case as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-13 16:49:46 +00:00
Michael Lotz
ec38b90046 * Use the actual (virtual) width and height instead of the display timing
values, as those might be slightly off (when coming from the GTF for example)
  and cause needless display scaling.
* Tiny cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-13 16:47:02 +00:00
Michael Lotz
65ac830822 Fix comparison.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-13 16:37:03 +00:00
Stefano Ceccherini
f53638d71e Some refactoring, some other changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42842 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-13 16:07:10 +00:00
Stefano Ceccherini
8efc947242 Ordered SubIncludes (thank you Jerome)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-13 16:05:48 +00:00
Michael Lotz
9f6dd24974 Don't try to do another request sense if the failing operation already was a
request sense. Otherwise we can easily run into an infinite recursion. Should
fix #8022.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-13 15:54:40 +00:00
Michael Lotz
e436a27e5f * Add preliminary support for one SandyBridge mobile integrated graphics device
(the one in my new ThinkPad X1). The PLL is still off a bit so it has a few
  blurry stripes, but EDID and mode setting basically works.
* Starting with IronLake the north/south bridge or (G)MCH/ICH setup was moved
  into a platform control hub (PCH) which means that many registers previously
  located in the GMCH are now in the PCH and have a new address.
* I'm committing this mostly because this way the additions are more easy to
  follow. It is a bit messy and I'll clean it up more and possibly make it a
  bit more generic. Also most of these changes actually apply to IronLake and up
  and aren't SandyBridge specific, so a few of those additions will still get a
  broader scope and new chips will be added.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-13 09:07:33 +00:00
Michael Lotz
c6e876fc85 Tiny cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42838 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-13 08:43:56 +00:00
Stefano Ceccherini
79e3f9012d HPET driver for testing HPET code more easily.
Seems to work correctly on real hardware, not on qemu where it
can only use the irq 2, and this causes wreakage (could be a programming error).
Changed from the kernel code:
- Adapted to use as a driver
- Configure for level interrupts instead of edge, which seems not to work correctly
- Add traceing dprintfs
- Various other changes
Does not use yet the new interrupt api introduced by Michael Lotz.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42837 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-13 08:20:10 +00:00
Stefano Ceccherini
2e77a03d92 Add a test app for the hpet driver (which I'll commit later)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42836 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-13 08:16:45 +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
Michael Lotz
20f094cc38 Fix and add copyright year spotted by Urias.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-12 21:06:21 +00:00
Michael Lotz
fc2d7cb04d * Introduce {reserve|allocate|free}_io_interrupt_vectors() that can generically
be used to mark certain io interrupt vectors as reserved and to allocate from
  the still free ones. It is a kernel private API for now though.
* Make the MSI code use that functionality instead of implementing its own which
  slims it down considerably and also removes quite a bit of hardcoded knowledge
  about the interrupt layout that didn't really belong there.
* Mark the various in-use interrupts as reserved from the components that
  actually know about them (PIC, IO-APIC, SMP, APIC timer and interrupt setup).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-12 20:55:28 +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
Joseph Prostko
4431610388 * Commenting out tracing, as before. Sorry about re-enabling it accidentally.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42825 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-11 18:13:36 +00:00
Joseph Prostko
7c7c2f12c1 * Fix build due to missing comma in r42823
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-11 18:10:20 +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
Siarzhuk Zharski
522a82beb6 SiS190/191 NIC driver moved from the development branch to the trunk
to be available for using during build. It was requested by Frederik Modeen.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42822 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-11 14:59:28 +00:00
Siarzhuk Zharski
2191dfe4bd * Check the KBC command byte for kbd disable bit during keyboard probe and clean
it in case it was set "on".
* Tracing added for the case of ignoring interrupt with not active OBF status bit.

Fixes #7973 #6313



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-11 14:00:32 +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
Michael Lotz
7d7b963225 * Remove the BNetworkDevice::AddPersistentNetwork() again and instead introduce
BNetworkRoster::{Count|GetNext|Add|Remove}PersistentNetwork() as it fits
  better (thanks Philippe for the heads up).
* Implement the backend for these functions in the net_server and also move
  conversion of the wireless_network based format into the settings based format
  there.
* Implement removal of a network from the settings and make adding a new network
  with the same name replace the old one instead of just adding multiple ones.
  Might need to change this in the future depending on how we want to handle
  multiple networks with the same name (i.e. distinguish based on BSSID or
  similar).
* Fix apparent oversight that caused configured networks _not_ to be used in the
  auto join attempt.
* Remove auto joining open networks. I've been bitten by that more than once now
  because we happen to have an open network in the neighbourhood that I now
  accidentally used to transfer quite a bit of (unencrypted) stuff before
  noticing... In the future, one will instead have to explicitly join an open
  network once and store that config. Note that the driver will actually still
  auto-associate with open networks due to how things are set up currently.
  Note also that the auto join will fire join requests whenever there's a
  disassociation event, so you might see spurious join dialogs when the
  wpa_supplicant actually just re-establishes the connection.
* Make join requests async again. Instead of waiting for a synchronous reply of
  the wpa_supplicant we instead return success when the request has been sent.
  While the API call might still be made synchronous again in the future, the
  net_server should really not block on an external application. In the case of
  the wpa_supplicant we would otherwise deadlock when using the new
  *PersistentNetwork() API after a successful join, and in other cases we might
  just unacceptably delay other calls.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42816 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-09 19:56:19 +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
Axel Dörfler
f6e59c500a * Minor work in progress of getting the test to run again. Never found the time
to complete it, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42813 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-09 18:35:39 +00:00
Philippe Houdoin
d41559757e Expand usb_raw ioctl to support retrieving full usb configuration descriptor from userland, not only the header part.
I try to keep UBSConfiguration binary compatibility, but proofreading is welcome.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-09 15:15:15 +00:00
Philippe Houdoin
13cb2a2930 Code cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42811 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-09 15:12:05 +00:00
Axel Dörfler
49774900fb * Now sanitizes the white space in the header fields before adding them to the
message (ie. multiple spaces are compressed to a single one, tabs and other
  white space is replaced with a space).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-08 19:25:10 +00:00
Axel Dörfler
ba91e5bbcd * Trim white space from the field names - this removes for example an extra
space in front of *every* attribute.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42809 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-08 19:03:57 +00:00
Axel Dörfler
0c7f804cec * mail_util.h was not self-contained.
* Added a few missing breaks in MailProtocolThread::MessageReceived()!
* Minor coding style update.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42808 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-08 18:41:20 +00:00
Michael Lotz
a1b98367ae Add a way to add persistent (configured) wireless_networks that will eventually
be stored by the backend in the net_server. I put it in BNetworkDevice because
that is where network enumeration is done as well, but I'm not sure that it fits
there particularly well.
Since BNetworkDevice::GetNetwork() directly interfaces with the driver and gets
the networks from scan results, such persistent networks don't yet show up in
those enumerations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42807 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-07 10:23:47 +00:00
Michael Lotz
8fecaf03e3 Add message handling for adding persistent network configurations (as in
wireless_network).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42806 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-07 10:18:21 +00:00
Michael Lotz
4890c4a265 * Add functions for constructing a settings file from messages and settings
templates.
* Prepare saving of such generated config files. Actually writing them out isn't
  yet done however.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42805 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-07 10:15:57 +00:00
Michael Lotz
fe8708f308 * Update the wpa_supplicant package to include the latest synchronous join
changes.
* Fix the conditional for GCC4 where I missed removing a closing parenthesis.
  Thanks to Jens Arm for pointing out that not-as-obvious-as-hoped-for syntax
  error.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42804 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-06 10:22:02 +00:00
Michael Lotz
13cf6c7044 Forgot to change the grist of the GCC4 wpa_supplicant package in r42800. Sorry.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42803 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-05 18:56:58 +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