History log of /haiku/src/add-ons/kernel/drivers/graphics/intel_extreme/driver.cpp
Revision Date Author Comments
# 3b91d73b 16-Dec-2022 X512 <danger_mail@list.ru>

bus & drivers: drop PCI_x86

Change-Id: I494deaf24a4793a5e0fe9fa46ecdce32f65e616a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6226
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>


# 042c401b 12-Jan-2023 Jérôme Duval <jerome.duval@gmail.com>

intel_extreme: add PCI ids for Haswell ULT GT1 Mobile

for bug #18215

Change-Id: If49bc262d0c5eb7082fb749222ca6534d5c55aa3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5991
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# 67077e0c 19-Apr-2022 Jérôme Duval <jerome.duval@gmail.com>

intel_extreme: adjust PCH definitions for ADP and ICP

Change-Id: I2c2682e7e99e61a48b00155b4e60a457a8862117
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5215
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# aa8239a5 19-Apr-2022 Jérôme Duval <jerome.duval@gmail.com>

intel_extreme: add IDs for Comet Lake

untested, similar to Kaby Lake.
pending bug report from scott_puopolo18

Change-Id: I9dad02a5f39683687de943f950dc3c1a493622a1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5216
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# ec3df543 30-Mar-2022 Augustin Cavalier <waddlesplash@gmail.com>

intel_extreme: Add and enable Broadwell device IDs.

After the previous commit's fix, it seems that modesetting is working fine,
at least on 0x1616 here. Backlight control however does not work.

Also remove two IDs that are dubious and were dropped from the Linux
driver as well.

Part of #17675.


# d039f12b 27-Mar-2022 PulkoMandy <pulkomandy@pulkomandy.tk>

intel_extreme: add PCI ID for Tiger Lake

Internal display on my laptop isn't detected yet so modesetting doesn't
work, but at least I get vblank interrupts and backlight control.

Fixes #17569

Change-Id: I86dd56bc3fc2c288688242e34d9220028036ab74
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5156
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# f37f7906 15-Mar-2022 Jérôme Duval <jerome.duval@gmail.com>

intel_extreme: add IDs for Jasper Lake

tested with Acer Swift SF114-34


# 09a8f74d 05-Dec-2021 Jérôme Duval <jerome.duval@gmail.com>

intel_extreme: add PCH definitions for some platforms

Change-Id: Id91f8fb526825cc62cd4288bee4a6d08dfd6654a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4764
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# d60c7e01 04-Dec-2021 Rudolf Cornelissen <rudhaiku@gmail.com>

intel_extreme: for gen9.5 added new portF to DDI scan. add ID dump in kerneldriver.


# 9dcb1b7f 01-Dec-2021 Jérôme Duval <jerome.duval@gmail.com>

intel_extreme: added IDs for ASUS laptop in ticket #15392

also for Acer Aspire F5-573G from https://bsd-hardware.info/?probe=240171b234

Change-Id: Id3c83d3039736fa749f0411889c081e447bd0444
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4750
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# 7a52a732 30-Nov-2021 Rudolf Cornelissen <rudhaiku@gmail.com>

intel_extreme: added IDs for ASUS laptop in ticket #16825


# 3fedf648 28-Nov-2021 Jérôme Duval <jerome.duval@gmail.com>

intel_extreme: enable KabyLake

Change-Id: I81d04fdf8305efcc9250cfb975dd3466ebcb4058
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4740
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# 66aae930 27-Nov-2021 Kacper Kasper <kacperkasper@gmail.com>

intel_extreme: enable CoffeeLake

Change-Id: Id73c88d0815259fa7a8027f757ac430818492b1e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4739
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# 03ed1049 26-Nov-2021 Rudolf Cornelissen <rudhaiku@gmail.com>

intel_extreme: enabled all known skylake gfx cards since they are pgm'd now


# 18bb9a28 20-Nov-2021 Rudolf Cornelissen <rudhaiku@gmail.com>

intel_extreme: testing skylake mobile ticket #15516


# 994794f2 23-Oct-2021 Rudolf Cornelissen <rudhaiku@gmail.com>

intel extreme: skylake sets color, base and address, no resolution and refresh yet


# 217641f5 19-Apr-2020 Adrien Destugues <adrien.destugues@opensource.viveris.fr>

intel_extreme: do not pretend to handle modern devices

The accelerant just doesn't know what to do with these.


# 3a44db11 02-Oct-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Add missing IvyBridge chipset


# 87628f17 11-Jun-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Add additional more recent PCH devices

Change-Id: Ib9f7dc187300c9f746bca9fd7f721c1954f5be44


# 52d1e933 05-Jun-2018 Augustin Cavalier <waddlesplash@gmail.com>

Revert "intel_extreme: Broadwell is really Gen7(.5), not 8."

This reverts commit 4f059c1fc51d17a2a592c5675a2f188b4bea2f69.

From discussion on the mailing list, it seems I was correct the first time
and Broadwell is Gen8. The confusion comes from the SER5/SOC distinction,
which is not in the Linux driver, and I still don't know which one it really
belongs in.


# 4f059c1f 05-Jun-2018 Augustin Cavalier <waddlesplash@gmail.com>

intel_extreme: Broadwell is really Gen7(.5), not 8.


# 164e4f8d 21-Nov-2017 Augustin Cavalier <waddlesplash@gmail.com>

intel_extreme: Beginnings of Broadwell support.

At present, does not work (it fails to properly set up interrupts,
resulting in thousands of unhandled ones which all but grinds the system
to a halt) but this at least is some progress.


# 915ff0f5 27-Aug-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

intel_extreme: fix a warning on 64bit platform.


# c2775a3b 31-May-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

Revert "intel_extreme: Disable 'experimental' GPUs SNB or higher"

This reverts commit debb71f548bbaea3b8719f703b3db1dfc9a67852.


# 92e254d0 10-Jul-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Improve PCH detection

* Detect PCH model based on ISA bridge and save
into shared info for later use.
* On CougarPoint PCH systems, assign pipes via
special CPT registers
* Drop HasPlatformControlHub as PCH should be
based on more than just generation.


# 00c9b19b 27-Apr-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extrme: Add more Atom gpu PCI id's


# 8d1cb54a 22-Apr-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Add in some code for the lakes (unused)


# debb71f5 09-Apr-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Disable 'experimental' GPUs SNB or higher

* VESA under Intel GPU's is generally native resolution
* These never worked well pre-rewrite, so lets disable
them for now.
* I'd like testers to enable them slowly and report
problems as enhancements.


# 3cfe2997 04-Dec-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Rework PLL and id PineView as PIN


# 84b7116d 01-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Rework card identification defines

* Be more verbose on flag type
* Add additional groups
* Add additional families
* Correctly assign later models


# 50f0b3fe 17-Oct-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Rebase and refactor mmlr's work from 2013

* New port storage classes and cleaner logic


# 97aa078e 15-Oct-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Intial work for ValleyView support

* No impact to non-ValleyView chipsets
* Bump some register locations for VLV
* Only have HDMI port to test with on my ValleyView GPU
and our driver seems to be missing all HDMI and
sideband functionality.
* As ValleyView chipsets seem to be UEFI only, we don't
have VESA fallback, so this shouldn't cause regressions.
(unless we get UEFI framebuffer support)


# 1d016b78 31-Aug-2014 Joseph R. Prostko <joe.prostko@gmail.com>

Add Intel Iris Pro Graphics 5200 to the intel_extreme driver
* This enables the intel_extreme driver on the Clevo W740SU and its variants like the System76 Galago UltraPro


# f8d24093 30-Aug-2014 Humdinger <humdingerb@gmail.com>

Added Intel HD 4600 ID to intel_extreme driver


# 2d5dbc78 29-Aug-2014 Adrien Destugues <pulkomandy@gmail.com>

Add support for my Core i3 integrated graphics.


# c2cfbd70 09-Aug-2013 Jerome Duval <jerome.duval@gmail.com>

intel_extreme: add MSI support


# c162f52e 04-May-2013 Jérôme Duval <jerome.duval@gmail.com>

intel_extreme and radeon_hd: some 64 bit fixes


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

intel_extreme: Enable IvyBridge PCI ID's


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

intel_extreme: Disable IvyBridge

* Prevent driver from picking up IvyBridge
for the moment. (VESA works for the moment)
* We get a white screen of doom. Looks as though
supporting IvyBridge will require more than
just basic fixups.


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

intel_extreme: Fix tracing toggle names


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

intel_extreme: Add missing IB Server GT2. Thanks premislaus.


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

intel_extreme: Improve tracing

* This was needed to find a bug while
working on IvyBridge support.
* Code looks a bit cleaner as well now.
* If something goes wrong, user is now
better notified via syslog


# 660ca29e 26-Dec-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Add IvyBridge PCIID's

* This needs testing and likely some IvyBridge
fixups


# 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


# 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


# 0f4ab8df 06-Mar-2011 Jérôme Duval <korli@users.berlios.de>

Comparing with i915 DRM:
* add a INTEL_TYPE_915M type to be used by 0x2592 (mobile version)
* 0x2e32 is actually non mobile, added its brothers 0x2e02, 0x2e12, 0x2e22, 0x2e42, 0x2e92
* 0x27a2 is actually mobile.
* added 0x2972, 0x2982, 0x2992 for INTEL_TYPE_965 type, and 0x2a12 for INTEL_TYPE_965M.
* added corresponding entries in intel_gart.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40838 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


# d0e8dc24 19-Sep-2010 Matt Madia <mattmadia@gmail.com>

Applied patch (with minor edits) by lukove. Adds device id's for
"GMA_X4500_VGA" to intel_extreme. Fixes #6641. Thanks!


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


# 723fbad5 02-Jan-2010 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Substituted 'magic' subclass value (0x0) with it's definition PCI_vga for readability.


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


# b3be7a41 25-Nov-2009 Axel Dörfler <axeld@pinc-software.de>

* Replaced benaphore use with a mutex.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34236 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


# 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


# 204737b8 07-Sep-2008 Rene Gollent <anevilyak@gmail.com>

Patch by Dustin Howett: Add i945GME to the supported devices list (caveat: no overlay).
Thanks!



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


# ec6da14f 01-Apr-2008 Michael Lotz <mmlr@mlotz.ch>

Adding device ids for the i965GM chipset present in my laptop to the
intel_extreme driver and agp_gart. These worked for me for quite some time now.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24730 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


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

* More or less completely rewrote the AGP bus manager.
* It now also serves as a generic GART manager and accepts bus modules as well
as custom modules of graphics drivers if they want to (could be used for the
Radeon PCI GART stuff, for example).
* Implemented GART support module for Intel i965 and G33 chipsets (the other
Intel chips will come later).
* Renamed agp bus manager to agp_gart to reflect its new functionality (even
though the AGP functionality is already outdated (due to PCIe), the GART
stuff remains current).
* Adapted existing users of the AGP bus manager to the API changes.
* Not very well tested yet...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23754 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


# 34a95c6d 23-Jan-2008 Axel Dörfler <axeld@pinc-software.de>

Open AGP module in init_driver().


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


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

* Added support for the G33 line of chips: mode setting and acceleration is working fine AFAICT.
* Implemented mapping the GTT area for i9xx chips other than the i965. This should also fix the
driver working with these chips at all.
* The memory used by the driver now take the GTT area into account - before the GTT could be
overwritten theoretically...
* Added fix for some i965 quirks from the X driver.
* Added some overlay definitions for the i965.
* Started support for G33 overlay (not complete yet).


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


# 5d7f50f6 19-Sep-2007 Jérôme Duval <korli@users.berlios.de>

put modules on error


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


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

* The second open will now fail, too, in case the hardware could not be initialized
correctly.
* Got rid of this superfluous cookie stuff - either the VFS behaves correctly, or
we're screwed anyway.
* Made adding debugger commands optional depending on if DEBUG_COMMANDS is defined
or not.
* Minor other cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21322 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


# a5667a5b 04-May-2007 Axel Dörfler <axeld@pinc-software.de>

* Renamed nv.driver to "nvidia", nm.driver to "neomagic", and mga.driver to "matrox";
also renamed their accelerants and settings files accordingly.
* Added Mandelbrot and GLDirectMode as demo applications.
* Moved CortexAddOnHost to /bin.


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


# 60b71f65 14-Dec-2006 Axel Dörfler <axeld@pinc-software.de>

Applied the cleaned/fixed version of patch by YellowTab:
* essentially, it makes sure certain bits in the PCI config are set
* also added two more device IDs, which I have disabled for now


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


# f3585ce5 05-Sep-2006 Axel Dörfler <axeld@pinc-software.de>

Applied stripped down patch from Mathew Schofield.


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


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

Also check the device class and subclass IDs - this prevents the driver to recognize
an USB controller with the same ID pair as the graphics controller (Intel seems to
be running out of device IDs :-)).


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


# 7902c46c 17-May-2006 Axel Dörfler <axeld@pinc-software.de>

* Added i830 as supported chipset - doesn't work perfectly, though. But Kyan reports
that at least 8 bit modes seems to work (but overlay only partially)
* Added "hardware_cursor" option to the settings file - when set to "false", you should
have a cursor in the second output now as well.


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


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

* Prepared having hardware cursor support; got quite complicated because there
is no good (or reliable) way to retrieve the physical address of "stolen"
(by the BIOS) graphics memory.
* Implemented allocation of additional graphics memory in case the BIOS was
a bit too cheap. We now guarantee 8 MB of memory available to the graphics
chip - would be nicer to only allocate that on demand, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17433 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


# 020c1aa8 03-Apr-2006 Axel Dörfler <axeld@pinc-software.de>

* init_driver() now behaves better in low memory situations.
* Some preparations to support more than one chipset, added i855G (device ID 0x3582)
to test with - the accelerant_device_info is now filled with that additional data
as well.
* Some minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16982 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


# 1d016b78eca776ab622d840dc53f733be43aa1e4 31-Aug-2014 Joseph R. Prostko <joe.prostko@gmail.com>

Add Intel Iris Pro Graphics 5200 to the intel_extreme driver
* This enables the intel_extreme driver on the Clevo W740SU and its variants like the System76 Galago UltraPro


# f8d240938572bca4733bcf53ccf1b0170a674e2c 30-Aug-2014 Humdinger <humdingerb@gmail.com>

Added Intel HD 4600 ID to intel_extreme driver


# 2d5dbc78c4178166ef4459480e2fe528c39772bb 29-Aug-2014 Adrien Destugues <pulkomandy@gmail.com>

Add support for my Core i3 integrated graphics.


# c2cfbd70fea3737090397be943b8b876541e9f34 09-Aug-2013 Jerome Duval <jerome.duval@gmail.com>

intel_extreme: add MSI support


# c162f52eaa83ca2cf01f61c4fb6353d76e10caa1 04-May-2013 Jérôme Duval <jerome.duval@gmail.com>

intel_extreme and radeon_hd: some 64 bit fixes


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

intel_extreme: Enable IvyBridge PCI ID's


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

intel_extreme: Disable IvyBridge

* Prevent driver from picking up IvyBridge
for the moment. (VESA works for the moment)
* We get a white screen of doom. Looks as though
supporting IvyBridge will require more than
just basic fixups.


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

intel_extreme: Fix tracing toggle names


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

intel_extreme: Add missing IB Server GT2. Thanks premislaus.


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

intel_extreme: Improve tracing

* This was needed to find a bug while
working on IvyBridge support.
* Code looks a bit cleaner as well now.
* If something goes wrong, user is now
better notified via syslog


# 660ca29ee0949b134e6f275f10c7496895732a6d 26-Dec-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Add IvyBridge PCIID's

* This needs testing and likely some IvyBridge
fixups


# 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


# 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


# 0f4ab8dfd39f8fcdad2f32b653ddd11bddbf18c3 06-Mar-2011 Jérôme Duval <korli@users.berlios.de>

Comparing with i915 DRM:
* add a INTEL_TYPE_915M type to be used by 0x2592 (mobile version)
* 0x2e32 is actually non mobile, added its brothers 0x2e02, 0x2e12, 0x2e22, 0x2e42, 0x2e92
* 0x27a2 is actually mobile.
* added 0x2972, 0x2982, 0x2992 for INTEL_TYPE_965 type, and 0x2a12 for INTEL_TYPE_965M.
* added corresponding entries in intel_gart.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40838 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


# d0e8dc246922186cef5c87d7374ba9f66ae5deaa 19-Sep-2010 Matt Madia <mattmadia@gmail.com>

Applied patch (with minor edits) by lukove. Adds device id's for
"GMA_X4500_VGA" to intel_extreme. Fixes #6641. Thanks!


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


# 723fbad5838ed987df59df99289a596f21a204b2 02-Jan-2010 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Substituted 'magic' subclass value (0x0) with it's definition PCI_vga for readability.


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


# b3be7a4135863bcf10210ddcbb879bd822ee3a17 25-Nov-2009 Axel Dörfler <axeld@pinc-software.de>

* Replaced benaphore use with a mutex.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34236 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


# 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


# 204737b832b110e863e782f53502a953a3bad787 07-Sep-2008 Rene Gollent <anevilyak@gmail.com>

Patch by Dustin Howett: Add i945GME to the supported devices list (caveat: no overlay).
Thanks!



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


# ec6da14feecef48853bc2040b1fc1dca878d54a4 01-Apr-2008 Michael Lotz <mmlr@mlotz.ch>

Adding device ids for the i965GM chipset present in my laptop to the
intel_extreme driver and agp_gart. These worked for me for quite some time now.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24730 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


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

* More or less completely rewrote the AGP bus manager.
* It now also serves as a generic GART manager and accepts bus modules as well
as custom modules of graphics drivers if they want to (could be used for the
Radeon PCI GART stuff, for example).
* Implemented GART support module for Intel i965 and G33 chipsets (the other
Intel chips will come later).
* Renamed agp bus manager to agp_gart to reflect its new functionality (even
though the AGP functionality is already outdated (due to PCIe), the GART
stuff remains current).
* Adapted existing users of the AGP bus manager to the API changes.
* Not very well tested yet...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23754 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


# 34a95c6d57dda9d8170426c9b77941be34db3911 23-Jan-2008 Axel Dörfler <axeld@pinc-software.de>

Open AGP module in init_driver().


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


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

* Added support for the G33 line of chips: mode setting and acceleration is working fine AFAICT.
* Implemented mapping the GTT area for i9xx chips other than the i965. This should also fix the
driver working with these chips at all.
* The memory used by the driver now take the GTT area into account - before the GTT could be
overwritten theoretically...
* Added fix for some i965 quirks from the X driver.
* Added some overlay definitions for the i965.
* Started support for G33 overlay (not complete yet).


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


# 5d7f50f66ce2946e937be26940dfc18f4c3ae1d2 19-Sep-2007 Jérôme Duval <korli@users.berlios.de>

put modules on error


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


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

* The second open will now fail, too, in case the hardware could not be initialized
correctly.
* Got rid of this superfluous cookie stuff - either the VFS behaves correctly, or
we're screwed anyway.
* Made adding debugger commands optional depending on if DEBUG_COMMANDS is defined
or not.
* Minor other cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21322 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


# a5667a5b8bec2562448df19abd4c23b481b2c635 04-May-2007 Axel Dörfler <axeld@pinc-software.de>

* Renamed nv.driver to "nvidia", nm.driver to "neomagic", and mga.driver to "matrox";
also renamed their accelerants and settings files accordingly.
* Added Mandelbrot and GLDirectMode as demo applications.
* Moved CortexAddOnHost to /bin.


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


# 60b71f65756d7afe8fb92d1f33afbad33957527b 14-Dec-2006 Axel Dörfler <axeld@pinc-software.de>

Applied the cleaned/fixed version of patch by YellowTab:
* essentially, it makes sure certain bits in the PCI config are set
* also added two more device IDs, which I have disabled for now


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


# f3585ce5736f9652c3135fb11679b333a90ec0dc 05-Sep-2006 Axel Dörfler <axeld@pinc-software.de>

Applied stripped down patch from Mathew Schofield.


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


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

Also check the device class and subclass IDs - this prevents the driver to recognize
an USB controller with the same ID pair as the graphics controller (Intel seems to
be running out of device IDs :-)).


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


# 7902c46c3e03133bc17b23822b95bf3e8e84c9a2 17-May-2006 Axel Dörfler <axeld@pinc-software.de>

* Added i830 as supported chipset - doesn't work perfectly, though. But Kyan reports
that at least 8 bit modes seems to work (but overlay only partially)
* Added "hardware_cursor" option to the settings file - when set to "false", you should
have a cursor in the second output now as well.


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


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

* Prepared having hardware cursor support; got quite complicated because there
is no good (or reliable) way to retrieve the physical address of "stolen"
(by the BIOS) graphics memory.
* Implemented allocation of additional graphics memory in case the BIOS was
a bit too cheap. We now guarantee 8 MB of memory available to the graphics
chip - would be nicer to only allocate that on demand, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17433 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


# 020c1aa823222f456bcf1ef94ab229690786d60d 03-Apr-2006 Axel Dörfler <axeld@pinc-software.de>

* init_driver() now behaves better in low memory situations.
* Some preparations to support more than one chipset, added i855G (device ID 0x3582)
to test with - the accelerant_device_info is now filled with that additional data
as well.
* Some minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16982 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