History log of /haiku-fatelf/src/add-ons/accelerants/intel_extreme/mode.cpp
Revision Date Author Comments
# 881a823e 28-Dec-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Improve accelerant tracing and debug output

* Several messages to syslog weren't tagged with
intel_extreme making troubleshooting difficult
* Fix a few typesize printf issues with B_PRI macro


# d1043dfa 28-Dec-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Add IvyBridge fixups

* Add initial clock gating fix (may need tweaking)


# d41ac61f 04-Mar-2012 Adrien Destugues - PulkoMandy <pulkomandy@pulkomandy.tk>

The display line length constraint is different on <= G35 cards.
* Decide which constraint to use depending on the card model.
* May fix #8001, only tested on my hardware which already worked...


# 7408b8cc 01-Feb-2012 czeidler <haiku@clemens-zeidler.de>

Add workaround for #8001.
* check known mode list first before sanitizing the target mode. However the optimal way is to fix the constraints in sanitize_display_mode.


# 86f4c50b 11-Nov-2011 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Use timing constraints from the G35 programming manual (which are much more relaxed)
Should help with #8001.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43235 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c0cb09ba 16-Oct-2011 Michael Lotz <mmlr@mlotz.ch>

* 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


# c788baed 16-Oct-2011 Michael Lotz <mmlr@mlotz.ch>

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


# f0468be3 15-Oct-2011 Michael Lotz <mmlr@mlotz.ch>

* 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


# bff57edf 14-Oct-2011 Michael Lotz <mmlr@mlotz.ch>

Add indexed color mode support for SandyBridge.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42851 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 832d09b5 13-Oct-2011 Michael Lotz <mmlr@mlotz.ch>

Apply r42844 to the analog case as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42845 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ec38b900 13-Oct-2011 Michael Lotz <mmlr@mlotz.ch>

* 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


# 65ac8308 13-Oct-2011 Michael Lotz <mmlr@mlotz.ch>

Fix comparison.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42843 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e436a27e 13-Oct-2011 Michael Lotz <mmlr@mlotz.ch>

* 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


# 654613b6 11-Sep-2011 Axel Dörfler <axeld@pinc-software.de>

* Implemented intel_propose_display_mode() using the new helper functions.
* In intel_set_display_mode(), we now use the sanitize_display_mode() method
directly in order to see if the mode is valid (it's valid when it doesn't
need to be altered anymore).
* This should be the final nail on ticket #7419.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42742 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ab7cbe31 31-Jul-2011 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Always set the palette registers even if the head is not connected. This will not do anything bad (if the display is disabled, it has no
effect), and since the test was a bit too constraining (I have an LVDS panel on head A), it would prevent setting colors for the CMAP modes.

This finally gets the \n demo working from the original binary from BeOS, without any change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42523 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2f4d9fdb 29-Jan-2011 Brecht Machiels <brecht@mos6581.org>

* added support for the Atom IGD, based on the X driver sources (fixes #6202)
* fixes G4x PLL limits


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40319 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6389df93 23-Oct-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

* Bring back the fallback video mode selection in case both tries to read EDID info failed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39081 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f16be37f 25-Aug-2010 Axel Dörfler <axeld@pinc-software.de>

* Fixed strange/wrong indentation.
* Made sure the 80 character per line limit is honoured.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38370 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a8a33a98 26-Aug-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Intel_extreme now centers the screen when one select a resolution smaller than the ne of the LVDS panel.
Also clean up the style and add some more TODOs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38363 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 124a502a 25-Aug-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Always set the LVDS panel to its native mode, except for the 'display' part.
This allows to use lower resolution screen modes with black border.

Added a set of TODOs :
* The smaller scren is not centered, but aligned top-left
* The base resolution used is the one reported from edid 1.1, because I'm still not sure how to parse EDID 1.2. This resolution is too small on my laptop, but it works.

Also added two ways of setting 8-to-6 dithering for 18-bit LVDS panel. No visible result for me, unfortunately.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38354 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d401ca7b 25-Aug-2010 Axel Dörfler <axeld@pinc-software.de>

* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38350 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0405fd3b 25-Aug-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Set the color depth for head B. This allows using 8,15, and 16-bit modes on lvds panels.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38349 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0767bd3a 24-Aug-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Use the EDID info from LVDS panels :
* Read the EDID info on both port A (analog VGA monitor) and C (LVDS panel)
* If an LVDS panel is detected, report the EDID resolutions instead of the BIOs settings

This fixes #6326, likely #5096, and possibly some others intel_extreme problems. Please test.
On the other hand, this make the screen preflet show the full list of more reported by the LVDS panel. As we don't support
scaling, some of these modes are unuseable and lead to a garbled screen.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38329 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d7e91d92 26-May-2010 Axel Dörfler <axeld@pinc-software.de>

* The DPMS code tried to enable the LVDS panel already if a digital display
was detected; however, it should only do so when there is an actual LVDS panel
detected.
* This should fix one part of ticket #3149 - looks like there are two different
issues. Thanks to Robert J. Gebis for providing me remote access to his
system.
* Minor debug output improvements.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36941 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dfdfbd3e 23-Oct-2009 Brecht Machiels <brecht@mos6581.org>

* added support for GM45 (might work for other chips in the G4 series)
* added header for dealing with binary numbers and bitmasks (C++ templates)
these "macro's" might not work well for long words, though


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33749 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b198850a 22-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* Messed up the commit, sorry.
* Adrien? :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33733 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9c90fc59 22-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* Disabled the LVDS post2 for i965 cards, maybe that helps Adrien, and don't
break the display for others. If that doesn't work out, there is probably a
bit more to it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33731 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9d3ca457 19-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* Restored forcing the post2 PLL divisor for display B. This should fix all
remaining problems introduced with r33633.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33669 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b5addd82 19-Oct-2009 Michael Lotz <mmlr@mlotz.ch>

axeld:
Restore ignoring the BIOS provided width and height in case the timings
suggest a bigger dimension. Also re-add the corresponding comment. Should
fix #4810 and might affect #4807 as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33652 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 795bd7a6 18-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* The save_lvds_mode() function did not correctly support the i965 chipset -
I've now removed that code, and factored out a retrieve_current_mode()
function that can work on head A and B.
* This fixes Adrien's flickering problem on his laptop - I can't find the
bug ticket, though. Hopefully it does not break other laptop chips. Testing
would be welcome, as I don't have any other machine here.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33633 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1c9ae946 17-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* The panel display_mode::flags field was not correctly set, preventing direct
windows from working, for example.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33620 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 23843356 14-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* Changed the way the device type is tested/set. There shouldn't be any functional
changes.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32353 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 10f01c97 27-Jun-2009 Axel Dörfler <axeld@pinc-software.de>

* Make sure that the bytes per scanline is always a multiple of 64. This fixes
1680x1050 with 16 bit on i865+ (still need to check the restrictions of
older chips).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31277 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 89a5132e 15-Jan-2009 Axel Dörfler <axeld@pinc-software.de>

* Fixed typo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28912 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7b746467 13-Sep-2008 Michael Lotz <mmlr@mlotz.ch>

OK, how completely can one mess up a single change? Fixed the intel_extreme
accelerant I broke.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27499 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2f464b19 13-Sep-2008 Michael Lotz <mmlr@mlotz.ch>

Fix the build of the intel_extreme.accelerant, I obviously compiled the wrong
target when I checked it. Move the target display_mode declaration back above
the check but remove the dereferencing assignment. If proposing the display
mode succeeds it also initializes target. Thanks luroh for noticing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27492 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6b9d1413 13-Sep-2008 Michael Lotz <mmlr@mlotz.ch>

CID 1039: Dereference mode only after checking it for NULL.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27489 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2d5f339d 16-Jun-2008 Axel Dörfler <axeld@pinc-software.de>

Patch by Christopher Plymire, style-reworked by myself:
* first steps of supporting LVDS panels.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25975 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1c34b9b1 29-Jan-2008 Axel Dörfler <axeld@pinc-software.de>

Work in progress (might not work for you yet):
* Now uses the AGP GART module for memory management. This greatly simplifies
the memory handling, and memory is now actually allocated on demand,
instead of a fixed size (stolen memory is not freed, though).
* The Intel GART module should now also work with older chipsets.
* No longer remove the GTT size from the stolen memory; this appears to have
been a mistake in the X driver. Not sure about the BIOS popup yet.
* The AGP module (in combination with the Intel GART module) is now mandatory
to use the Intel driver.
* Removed now superfluous settings (like memory size). Only enabling/disabling
the hardware cursor is still supported.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23781 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d75c8820 26-Jan-2008 Axel Dörfler <axeld@pinc-software.de>

* Simplified usage of the INTEL_TYPE_xxx constants.
* Added some defines needed when playing with the bridge controller.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23753 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7825641a 10-Dec-2007 Axel Dörfler <axeld@pinc-software.de>

Now clears the frame buffer before setting the mode; at least when testing,
one sometimes could still see previous contents of the screen during boot up
for some time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23104 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 61291964 31-Oct-2007 Axel Dörfler <axeld@pinc-software.de>

The intel_extreme driver now finally works with the i965 chipset;
acceleration works fine, but overlay doesn't - that's next on my list.
Turns out the i965 differentiates between RGB-32 and RGB-32-alpha, and
didn't like trying to use the latter as display mode (the i865 didn't
care at all)... finding that took me *way* too long, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22780 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 53d781f4 13-Oct-2007 Axel Dörfler <axeld@pinc-software.de>

* Now uses the new create_display_modes() function.
* Now supports the new B_GET_EDID_INFO hook under Haiku.
* Fixed build under BeOS.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22551 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a82d70c7 02-Oct-2007 Axel Dörfler <axeld@pinc-software.de>

Fixed PLL clock for i8xx chips again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22415 a95241bf-73f2-0310-859d-f6bbb57e9c96


# cbd40810 24-Sep-2007 Axel Dörfler <axeld@pinc-software.de>

* Fixed PLL timing computation for the i9xx chips - I mixed post2 min/max values, and did
not take the VCO limits into account; both could (and would during testing) create invalid
frequencies.
* Also reverted the order in which the PLL divisors are traversed to match the order of what
is used in the X driver to create comparable output (our error computation is based on float,
though, and should therefore create more accurate values).
* The i965 introduced a special register for the surface; the former display base register
is now only used for the view offset. Instead of setting the base manually here and there,
there is now a set_frame_buffer_base() function.
* The DPMS code will now also turn off/on the PLL clock generator.
* The code needs some more cleanup, and while the driver now produces the correct timing on
my i965 system, I'm now greeted by a black screen after startup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22289 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 523a30f3 21-Sep-2007 Axel Dörfler <axeld@pinc-software.de>

Implemented I2C support to get the DDC EDID info from the monitor - it's working as is, but
nothing is done with the data yet (besides dumping them to the serial output).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22272 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 61dad86a 19-Sep-2007 Axel Dörfler <axeld@pinc-software.de>

* No longer switch between divisor register set 0 and 1; it doesn't really
make any sense.
* "pll" might have been set incorrectly on i8xx chips.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22253 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3bac9ea1 04-Jun-2007 Axel Dörfler <axeld@pinc-software.de>

* Work in progress to support the i965 chipset as well; still works on i865, but
doesn't work on i965 yet.
* B_GET_DISPLAY_MODE now returns the mode actually configured in the chip instead
of the last mode set; while this isn't really necessary, it allows to check what
mode was used during startup.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21321 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d881c6ba 15-Dec-2006 Axel Dörfler <axeld@pinc-software.de>

* Replaced the 1400x900 modeline with the one from the nVidia driver - Stephan, does this
work for you, too? If not, just replace it with yours again.
* Added resolution 1680x1050 from nVidia driver.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19525 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ca1a22a7 03-Nov-2006 Stephan Aßmus <superstippi@gmx.de>

* commented out span acceleration function, since it doesn't seem to work
* added mode for 1440x900, the numbers are just guessed, but work fine
with my monitor (after some fiddling), would be best to have some common
VGA communication code for all drivers to use and auto-detect the preferred
mode of the monitor
* messed around with the overlay brightness and contrast values to give
good looking video



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19192 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6c05095c 14-Jul-2006 Ithamar R. Adema <ithamar.adema@team-embedded.nl>

Last set of minor fixes for GCC 4 build.
More will follow later, need to clean the fixes up a little :)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18154 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 178d3441 26-May-2006 Axel Dörfler <axeld@pinc-software.de>

wait_for_vblank() will now only wait 25ms at maximum (40Hz) - this is needed because
there is no VBlank interrupt when the display is turned off (and the code to turn it
on again actually calls wait_for_vblank()...).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17597 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c5f5d834 23-May-2006 Axel Dörfler <axeld@pinc-software.de>

* B_MOVE_DISPLAY and B_SET_INDEXED_COLORS should now work for the digital
output as well.
* Obviously got the register for INTEL_DISPLAY_B_DIGITAL_PORT wrong - it's
not 0x61000 but 0x61140, maybe that can explain the fun we had at BeGeistert :)
* Renamed the analog display registers to better fit the digital ones, ie.
replaced DISPLAY with DISPLAY_A - although this might be not really correct
as it seems that the pipes can be selected arbitrarily.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17566 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a0902420 23-May-2006 Axel Dörfler <axeld@pinc-software.de>

Some work to support output on the digital interface like laptop panels.
Need to clean this up, though. It even sort of worked on tic's IBM X40
on BeGeistert - if you weren't irritated by the fact some parts of the
screen were just black, that is :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17565 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 112db6b6 15-May-2006 Axel Dörfler <axeld@pinc-software.de>

* Now disables the VGA display mode explicetly, which allows it to work
without having a VESA mode set first (thanks to Stephan for noticing
this).
* intel_set_display_mode() now calls intel_propose_display_mode() to make
sure the mode passed in is valid. Note, B_PROPOSE_DISPLAY_MODE is still
not working correctly (which will cause problems for BWindowScreen and
friends).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17460 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 973d499e 14-May-2006 Axel Dörfler <axeld@pinc-software.de>

* Made the accelerant safer to use when cloned (though I didn't test cloning yet);
introduced a lock that is used in B_SET_DISPLAY_MODE etc.
* Correctly implemented B_ACQUIRE_ENGINE and B_RELEASE_ENGINE now (ie. they lock
the engine now).
* The lock of the ring buffers is now deleted when the (primary) accelerant is closed.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17453 a95241bf-73f2-0310-859d-f6bbb57e9c96


# cccc4c83 14-May-2006 Axel Dörfler <axeld@pinc-software.de>

Now advertizes the capabilities of the screen modes correctly (ie. sets B_HARDWARE_CURSOR
and B_SUPPORTS_OVERLAYS).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17451 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c8609aed 12-May-2006 Axel Dörfler <axeld@pinc-software.de>

* Now allocates enough memory for virtual screens.
* Implemented untested B_MOVE_DISPLAY - note, the page_flip demo doesn't work
yet (didn't investigate yet, though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17432 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2ace35ed 10-May-2006 Axel Dörfler <axeld@pinc-software.de>

Started implementing screen-to-screen blits, not yet tested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17416 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 94f8a931 05-May-2006 Axel Dörfler <axeld@pinc-software.de>

B_SET_INDEXED_COLORS is now working correctly for B_CMAP8, IOW you can now use
8 bit modes with this driver as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17339 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5da6291b 24-Apr-2006 Axel Dörfler <axeld@pinc-software.de>

* Now using Thomas memory manager to manage the graphics memory; allocation
of graphics memory is now possible.
* Changed driver name to start with "intel_extreme" to have a nicer device
name.
* Renamed frame_buffer* stuff to graphics_memory* as the frame buffer just
happens to be located somewhere in the graphics memory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17224 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2fd8de24 26-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16879 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7a3806ce 25-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Now you can also select the refresh rate you like under R5. Looks like there is
room for improvements left in our screen preferences application, which ignores
the pixel clock values completely.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16876 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 943578b1 25-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Added some debug output - the driver is actually working under R5 as well, I just
didn't test it correctly last time...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16873 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e404297e 24-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Very basic driver for the "Intel Extreme Graphics 2" chips, only supports i865G for now.
Only mode switches do work, doesn't yet make sure the mode is valid, though.
At this point, this driver only works on Haiku, the R5 app_server is crashing for some
reason I need to investigate some day (maybe tomorrow :)).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16872 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d41ac61f731647ec6a45d69396d0d7bb7f52ba5c 04-Mar-2012 Adrien Destugues - PulkoMandy <pulkomandy@pulkomandy.tk>

The display line length constraint is different on <= G35 cards.
* Decide which constraint to use depending on the card model.
* May fix #8001, only tested on my hardware which already worked...


# 7408b8cc24c57230ef69243df6a0e38a1679f96e 01-Feb-2012 czeidler <haiku@clemens-zeidler.de>

Add workaround for #8001.
* check known mode list first before sanitizing the target mode. However the optimal way is to fix the constraints in sanitize_display_mode.


# 86f4c50bc6dbe8ef4a6991afba61db573cd25758 11-Nov-2011 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Use timing constraints from the G35 programming manual (which are much more relaxed)
Should help with #8001.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43235 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c0cb09baee3bffd53702c25c6b7d3c990df1d8fd 16-Oct-2011 Michael Lotz <mmlr@mlotz.ch>

* 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


# c788baed28e28960c17306fe9f5b40382b07cb1d 16-Oct-2011 Michael Lotz <mmlr@mlotz.ch>

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


# f0468be3845a6f7318a5a4f4dadcd62f7ed4ee22 15-Oct-2011 Michael Lotz <mmlr@mlotz.ch>

* 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


# bff57edf94aa70c5437710e75e0f62e7bc7a2516 14-Oct-2011 Michael Lotz <mmlr@mlotz.ch>

Add indexed color mode support for SandyBridge.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42851 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 832d09b54d60976654d7c61bef9f5025d66c1ca6 13-Oct-2011 Michael Lotz <mmlr@mlotz.ch>

Apply r42844 to the analog case as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42845 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ec38b9004636cdf58f725ad76e75de41ddae3779 13-Oct-2011 Michael Lotz <mmlr@mlotz.ch>

* 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


# 65ac830822175445f818fb3a6b7f766224ae7876 13-Oct-2011 Michael Lotz <mmlr@mlotz.ch>

Fix comparison.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42843 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e436a27e5f6df975a1e35c27f42e8f6ad27ebdca 13-Oct-2011 Michael Lotz <mmlr@mlotz.ch>

* 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


# 654613b66163404d50df58dfa7a1de19b1d6c22a 11-Sep-2011 Axel Dörfler <axeld@pinc-software.de>

* Implemented intel_propose_display_mode() using the new helper functions.
* In intel_set_display_mode(), we now use the sanitize_display_mode() method
directly in order to see if the mode is valid (it's valid when it doesn't
need to be altered anymore).
* This should be the final nail on ticket #7419.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42742 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ab7cbe31c2cae99a5a693de6405d5b27f626fce8 31-Jul-2011 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Always set the palette registers even if the head is not connected. This will not do anything bad (if the display is disabled, it has no
effect), and since the test was a bit too constraining (I have an LVDS panel on head A), it would prevent setting colors for the CMAP modes.

This finally gets the \n demo working from the original binary from BeOS, without any change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42523 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2f4d9fdbab2d62559a66c7fd86535cca9d5b0c13 29-Jan-2011 Brecht Machiels <brecht@mos6581.org>

* added support for the Atom IGD, based on the X driver sources (fixes #6202)
* fixes G4x PLL limits


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40319 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6389df937b4ca82b123deaffe8b63c845973f11f 23-Oct-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

* Bring back the fallback video mode selection in case both tries to read EDID info failed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39081 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f16be37f879f5f8b4ae139cfae457c2142f35ba4 25-Aug-2010 Axel Dörfler <axeld@pinc-software.de>

* Fixed strange/wrong indentation.
* Made sure the 80 character per line limit is honoured.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38370 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a8a33a98ffc840f467a015f88e84d1ae07e26bea 26-Aug-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Intel_extreme now centers the screen when one select a resolution smaller than the ne of the LVDS panel.
Also clean up the style and add some more TODOs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38363 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 124a502a7a9c6af4e8fb25dfe710ee69268f7397 25-Aug-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Always set the LVDS panel to its native mode, except for the 'display' part.
This allows to use lower resolution screen modes with black border.

Added a set of TODOs :
* The smaller scren is not centered, but aligned top-left
* The base resolution used is the one reported from edid 1.1, because I'm still not sure how to parse EDID 1.2. This resolution is too small on my laptop, but it works.

Also added two ways of setting 8-to-6 dithering for 18-bit LVDS panel. No visible result for me, unfortunately.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38354 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d401ca7b987809172400ad8daa033cbe25ae4c36 25-Aug-2010 Axel Dörfler <axeld@pinc-software.de>

* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38350 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0405fd3b15499d853758ea93217938a41d0a92a1 25-Aug-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Set the color depth for head B. This allows using 8,15, and 16-bit modes on lvds panels.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38349 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0767bd3a8be1401dd72a01f3fae0020d81952fbd 24-Aug-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Use the EDID info from LVDS panels :
* Read the EDID info on both port A (analog VGA monitor) and C (LVDS panel)
* If an LVDS panel is detected, report the EDID resolutions instead of the BIOs settings

This fixes #6326, likely #5096, and possibly some others intel_extreme problems. Please test.
On the other hand, this make the screen preflet show the full list of more reported by the LVDS panel. As we don't support
scaling, some of these modes are unuseable and lead to a garbled screen.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38329 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d7e91d925348553db548b5632ca7ef00fa790d44 26-May-2010 Axel Dörfler <axeld@pinc-software.de>

* The DPMS code tried to enable the LVDS panel already if a digital display
was detected; however, it should only do so when there is an actual LVDS panel
detected.
* This should fix one part of ticket #3149 - looks like there are two different
issues. Thanks to Robert J. Gebis for providing me remote access to his
system.
* Minor debug output improvements.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36941 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dfdfbd3eefeb8aff04b7e8e2d6ebb46a51fe24ad 23-Oct-2009 Brecht Machiels <brecht@mos6581.org>

* added support for GM45 (might work for other chips in the G4 series)
* added header for dealing with binary numbers and bitmasks (C++ templates)
these "macro's" might not work well for long words, though


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33749 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b198850a1b594a4038c2440b9f17c415a896205e 22-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* Messed up the commit, sorry.
* Adrien? :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33733 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9c90fc59d2f114dc8ee5b36b9dbbca7a1165c42f 22-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* Disabled the LVDS post2 for i965 cards, maybe that helps Adrien, and don't
break the display for others. If that doesn't work out, there is probably a
bit more to it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33731 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9d3ca457dca5141c457e1e0978d8a1f6caa33755 19-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* Restored forcing the post2 PLL divisor for display B. This should fix all
remaining problems introduced with r33633.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33669 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b5addd82d7715545cf354af234ece4666aa91301 19-Oct-2009 Michael Lotz <mmlr@mlotz.ch>

axeld:
Restore ignoring the BIOS provided width and height in case the timings
suggest a bigger dimension. Also re-add the corresponding comment. Should
fix #4810 and might affect #4807 as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33652 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 795bd7a697d6157c37af3c93edb0bbad9572476a 18-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* The save_lvds_mode() function did not correctly support the i965 chipset -
I've now removed that code, and factored out a retrieve_current_mode()
function that can work on head A and B.
* This fixes Adrien's flickering problem on his laptop - I can't find the
bug ticket, though. Hopefully it does not break other laptop chips. Testing
would be welcome, as I don't have any other machine here.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33633 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1c9ae946369a6ec6c8b49aaeee44eac57f9baedc 17-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* The panel display_mode::flags field was not correctly set, preventing direct
windows from working, for example.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33620 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 238433564972d525584b2dfbe1a2c0eb52ef49c1 14-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* Changed the way the device type is tested/set. There shouldn't be any functional
changes.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32353 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 10f01c97ec883c267bfa447ec02f09b80cf1a8c0 27-Jun-2009 Axel Dörfler <axeld@pinc-software.de>

* Make sure that the bytes per scanline is always a multiple of 64. This fixes
1680x1050 with 16 bit on i865+ (still need to check the restrictions of
older chips).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31277 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 89a5132e8dd3ed4833361fe777968ccb4b46f6c9 15-Jan-2009 Axel Dörfler <axeld@pinc-software.de>

* Fixed typo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28912 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7b7464670e13cd01d36d6e22c7a91b76c47a3358 13-Sep-2008 Michael Lotz <mmlr@mlotz.ch>

OK, how completely can one mess up a single change? Fixed the intel_extreme
accelerant I broke.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27499 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2f464b193f3953e26be0b08a6d4fd62527258a92 13-Sep-2008 Michael Lotz <mmlr@mlotz.ch>

Fix the build of the intel_extreme.accelerant, I obviously compiled the wrong
target when I checked it. Move the target display_mode declaration back above
the check but remove the dereferencing assignment. If proposing the display
mode succeeds it also initializes target. Thanks luroh for noticing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27492 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6b9d141359ff75c2cf91e6f5985742ffee7fa8a5 13-Sep-2008 Michael Lotz <mmlr@mlotz.ch>

CID 1039: Dereference mode only after checking it for NULL.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27489 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2d5f339decd181abac7ea2dd74136aca4b1b6e92 16-Jun-2008 Axel Dörfler <axeld@pinc-software.de>

Patch by Christopher Plymire, style-reworked by myself:
* first steps of supporting LVDS panels.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25975 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1c34b9b1f5e168501f89a270233457e04aa1b16b 29-Jan-2008 Axel Dörfler <axeld@pinc-software.de>

Work in progress (might not work for you yet):
* Now uses the AGP GART module for memory management. This greatly simplifies
the memory handling, and memory is now actually allocated on demand,
instead of a fixed size (stolen memory is not freed, though).
* The Intel GART module should now also work with older chipsets.
* No longer remove the GTT size from the stolen memory; this appears to have
been a mistake in the X driver. Not sure about the BIOS popup yet.
* The AGP module (in combination with the Intel GART module) is now mandatory
to use the Intel driver.
* Removed now superfluous settings (like memory size). Only enabling/disabling
the hardware cursor is still supported.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23781 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d75c88206ebdc2e711a9edcf2f4ccf38ba1663e2 26-Jan-2008 Axel Dörfler <axeld@pinc-software.de>

* Simplified usage of the INTEL_TYPE_xxx constants.
* Added some defines needed when playing with the bridge controller.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23753 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7825641a7bbfb585146151dd5f10bd56b57118b5 10-Dec-2007 Axel Dörfler <axeld@pinc-software.de>

Now clears the frame buffer before setting the mode; at least when testing,
one sometimes could still see previous contents of the screen during boot up
for some time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23104 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 61291964c3e6cc275ece67168ea4b9631338f861 31-Oct-2007 Axel Dörfler <axeld@pinc-software.de>

The intel_extreme driver now finally works with the i965 chipset;
acceleration works fine, but overlay doesn't - that's next on my list.
Turns out the i965 differentiates between RGB-32 and RGB-32-alpha, and
didn't like trying to use the latter as display mode (the i865 didn't
care at all)... finding that took me *way* too long, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22780 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 53d781f439bf208397a56d7041b6dc8b7b378764 13-Oct-2007 Axel Dörfler <axeld@pinc-software.de>

* Now uses the new create_display_modes() function.
* Now supports the new B_GET_EDID_INFO hook under Haiku.
* Fixed build under BeOS.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22551 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a82d70c719127aa8511903f3036b24d60192bb67 02-Oct-2007 Axel Dörfler <axeld@pinc-software.de>

Fixed PLL clock for i8xx chips again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22415 a95241bf-73f2-0310-859d-f6bbb57e9c96


# cbd4081064f0aee215b62407ecfd0462cdc204ff 24-Sep-2007 Axel Dörfler <axeld@pinc-software.de>

* Fixed PLL timing computation for the i9xx chips - I mixed post2 min/max values, and did
not take the VCO limits into account; both could (and would during testing) create invalid
frequencies.
* Also reverted the order in which the PLL divisors are traversed to match the order of what
is used in the X driver to create comparable output (our error computation is based on float,
though, and should therefore create more accurate values).
* The i965 introduced a special register for the surface; the former display base register
is now only used for the view offset. Instead of setting the base manually here and there,
there is now a set_frame_buffer_base() function.
* The DPMS code will now also turn off/on the PLL clock generator.
* The code needs some more cleanup, and while the driver now produces the correct timing on
my i965 system, I'm now greeted by a black screen after startup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22289 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 523a30f313255fbf177f1a29e3d5c74d1ce9e480 21-Sep-2007 Axel Dörfler <axeld@pinc-software.de>

Implemented I2C support to get the DDC EDID info from the monitor - it's working as is, but
nothing is done with the data yet (besides dumping them to the serial output).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22272 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 61dad86a023a8edbd32dee031099d372c9412ead 19-Sep-2007 Axel Dörfler <axeld@pinc-software.de>

* No longer switch between divisor register set 0 and 1; it doesn't really
make any sense.
* "pll" might have been set incorrectly on i8xx chips.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22253 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3bac9ea19a06864317ae4345f425f7f68956b118 04-Jun-2007 Axel Dörfler <axeld@pinc-software.de>

* Work in progress to support the i965 chipset as well; still works on i865, but
doesn't work on i965 yet.
* B_GET_DISPLAY_MODE now returns the mode actually configured in the chip instead
of the last mode set; while this isn't really necessary, it allows to check what
mode was used during startup.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21321 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d881c6ba5c389e10aa32052661788a9b3427adce 15-Dec-2006 Axel Dörfler <axeld@pinc-software.de>

* Replaced the 1400x900 modeline with the one from the nVidia driver - Stephan, does this
work for you, too? If not, just replace it with yours again.
* Added resolution 1680x1050 from nVidia driver.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19525 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ca1a22a7a8d3a0c16948d40172e8b2eaf676ce0a 03-Nov-2006 Stephan Aßmus <superstippi@gmx.de>

* commented out span acceleration function, since it doesn't seem to work
* added mode for 1440x900, the numbers are just guessed, but work fine
with my monitor (after some fiddling), would be best to have some common
VGA communication code for all drivers to use and auto-detect the preferred
mode of the monitor
* messed around with the overlay brightness and contrast values to give
good looking video



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19192 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6c05095ca633fe9862c0dcf75cb499d4e15d65b6 14-Jul-2006 Ithamar R. Adema <ithamar.adema@team-embedded.nl>

Last set of minor fixes for GCC 4 build.
More will follow later, need to clean the fixes up a little :)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18154 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 178d3441ad7fc4c5daefb1aafc6facb3875ed586 26-May-2006 Axel Dörfler <axeld@pinc-software.de>

wait_for_vblank() will now only wait 25ms at maximum (40Hz) - this is needed because
there is no VBlank interrupt when the display is turned off (and the code to turn it
on again actually calls wait_for_vblank()...).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17597 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c5f5d8347ebabf50f635a1043e04b27359cd0df1 23-May-2006 Axel Dörfler <axeld@pinc-software.de>

* B_MOVE_DISPLAY and B_SET_INDEXED_COLORS should now work for the digital
output as well.
* Obviously got the register for INTEL_DISPLAY_B_DIGITAL_PORT wrong - it's
not 0x61000 but 0x61140, maybe that can explain the fun we had at BeGeistert :)
* Renamed the analog display registers to better fit the digital ones, ie.
replaced DISPLAY with DISPLAY_A - although this might be not really correct
as it seems that the pipes can be selected arbitrarily.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17566 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a0902420ff3fc943e535a6686ebac46a26a2dbfd 23-May-2006 Axel Dörfler <axeld@pinc-software.de>

Some work to support output on the digital interface like laptop panels.
Need to clean this up, though. It even sort of worked on tic's IBM X40
on BeGeistert - if you weren't irritated by the fact some parts of the
screen were just black, that is :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17565 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 112db6b691a676e62af6422d74632d46742254f7 15-May-2006 Axel Dörfler <axeld@pinc-software.de>

* Now disables the VGA display mode explicetly, which allows it to work
without having a VESA mode set first (thanks to Stephan for noticing
this).
* intel_set_display_mode() now calls intel_propose_display_mode() to make
sure the mode passed in is valid. Note, B_PROPOSE_DISPLAY_MODE is still
not working correctly (which will cause problems for BWindowScreen and
friends).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17460 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 973d499ee1ed8d233b5c8c03685dbcfb25c03816 14-May-2006 Axel Dörfler <axeld@pinc-software.de>

* Made the accelerant safer to use when cloned (though I didn't test cloning yet);
introduced a lock that is used in B_SET_DISPLAY_MODE etc.
* Correctly implemented B_ACQUIRE_ENGINE and B_RELEASE_ENGINE now (ie. they lock
the engine now).
* The lock of the ring buffers is now deleted when the (primary) accelerant is closed.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17453 a95241bf-73f2-0310-859d-f6bbb57e9c96


# cccc4c83838064b778dc6804c9ef5ef7edadbc17 14-May-2006 Axel Dörfler <axeld@pinc-software.de>

Now advertizes the capabilities of the screen modes correctly (ie. sets B_HARDWARE_CURSOR
and B_SUPPORTS_OVERLAYS).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17451 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c8609aed8c8a08efb64efe47f0c718b032c77dea 12-May-2006 Axel Dörfler <axeld@pinc-software.de>

* Now allocates enough memory for virtual screens.
* Implemented untested B_MOVE_DISPLAY - note, the page_flip demo doesn't work
yet (didn't investigate yet, though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17432 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2ace35ed2238f5d94294e3e30c869e8725862705 10-May-2006 Axel Dörfler <axeld@pinc-software.de>

Started implementing screen-to-screen blits, not yet tested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17416 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 94f8a931c8946a6063445dd244e39404fe52a89d 05-May-2006 Axel Dörfler <axeld@pinc-software.de>

B_SET_INDEXED_COLORS is now working correctly for B_CMAP8, IOW you can now use
8 bit modes with this driver as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17339 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5da6291b99c3bd38505f6306dcb6398b9485783d 24-Apr-2006 Axel Dörfler <axeld@pinc-software.de>

* Now using Thomas memory manager to manage the graphics memory; allocation
of graphics memory is now possible.
* Changed driver name to start with "intel_extreme" to have a nicer device
name.
* Renamed frame_buffer* stuff to graphics_memory* as the frame buffer just
happens to be located somewhere in the graphics memory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17224 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2fd8de24159a5f11abef562cda284b67d98a4a42 26-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16879 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7a3806ce873ee0cf43f14028b1593222b5d44adf 25-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Now you can also select the refresh rate you like under R5. Looks like there is
room for improvements left in our screen preferences application, which ignores
the pixel clock values completely.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16876 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 943578b15bede1f6862940b57a143a40d72d30cb 25-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Added some debug output - the driver is actually working under R5 as well, I just
didn't test it correctly last time...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16873 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e404297e56d4d54998a8f21b661def9d2da746d6 24-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Very basic driver for the "Intel Extreme Graphics 2" chips, only supports i865G for now.
Only mode switches do work, doesn't yet make sure the mode is valid, though.
At this point, this driver only works on Haiku, the R5 app_server is crashing for some
reason I need to investigate some day (maybe tomorrow :)).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16872 a95241bf-73f2-0310-859d-f6bbb57e9c96