History log of /haiku/src/add-ons/kernel/busses/agp_gart/intel_gart.cpp
Revision Date Author Comments
# 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>


# 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


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

intel_gart: handle 64-bit PCI BARs


# 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>


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

intel_gart: add support for Gen8+ GPUs

Change-Id: I8b84e278f33542c359fc0d783f571e06ebc89b2a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4737
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Rudolf Cornelissen <rudhaiku@gmail.com>


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

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


# ec4e9ea8 27-Jan-2020 Adrien Destugues <adrien.destugues@opensource.viveris.fr>

intel_extreme: remove unhandled generation defines

- 7xx (1st gen) has no driver in Haiku or is handled by the intel_810 driver
- PowerVR has no driver in Haiku

So there is no point in having those in the intel_extreme driver.

While I'm at it, fix the video timing/resolution constraints for
sanitize_video_mode.


# 21c87a5d 09-Sep-2018 Jérôme Duval <jerome.duval@gmail.com>

drivers: remove some non-haiku support code.

Change-Id: Ic55bb4832adabeb807f763c87ad938e74fb3a97d
Reviewed-on: https://review.haiku-os.org/520
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 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.


# 9503c26b 28-Apr-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_gart: Add SkyLake bridge ID's to match accelerant


# 1b9ee9d3 28-Apr-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_gart: Add Atom DMI bridge ID's to match accelerant


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

intel_extreme: Rework PLL and id PineView as PIN


# fb255821 04-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Correct generations based on some Intel help


# fa1d5933 03-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_gart: Clean up trace code, break apart gtt probe functions


# e2e5daf2 02-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Add generation index + begin to use in gart


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

intel_gart: Fix gart detection and begin using DeviceType

* Correctly identify newly re-assigned cards families
* Begin using new DeviceType class in intel gart code


# 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.


# 575f2f59 04-Jul-2013 Jerome Duval <jerome.duval@gmail.com>

intel_gart: fixed bridge detection

... for bridges used with multiple displays.
Should fix #9853


# 21f6b3ea 16-May-2013 Jérôme Duval <jerome.duval@gmail.com>

agp_gart: switch to phys_addr_t as suggested by Urias and Axel.

* this is a follow-up to hrev45621


# f5d67f3f 05-May-2013 Michael Lotz <mmlr@mlotz.ch>

intel_gart: Fix build after argument type change.


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

intel_gart: Add IvyBridge bridge info


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

Enable the IronLake devices as at least mine works now with the correct
interrupt registers being used.


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


# 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


# 9a063f05 28-May-2010 Axel Dörfler <axeld@pinc-software.de>

* Fixed the AGP interface to correctly use phys_addr_t where needed.


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


# 64d79eff 27-May-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Changed physical_entry::{address,size} to phys_{addr,size}_t and changed
map_physical_memory()'s physicalAddress parameter type from void* to
phys_addr_t. This breaks source compatibility, but -- as long as
phys_{addr,size}_t remain 32 bit wide -- keeps binary compatibility with
BeOS.
* Adjusted all code using the affected interfaces (Oh what fun!). Added a few
TODOs in places where the wrong types (e.g. void* for physical addresses
are used). Looks like quite a few drivers aren't 64 bit safe and others
will break with PAE.


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


# 6cae2161 28-Oct-2009 Brecht Machiels <brecht@mos6581.org>

made code style more consistent with the rest of the driver


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


# 21b66fb8 27-Jan-2009 Axel Dörfler <axeld@pinc-software.de>

* On i865, the i915_GTT_BASE is not available. For some reason, though, the
method FreeBSD and Linux are using does not work here; I didn't find out
why, but I've added a fallback method to use the known GTT base then.
* This should fix #2764.


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


# a63f51de 06-Apr-2008 Axel Dörfler <axeld@pinc-software.de>

* Enabled a few more chipsets that I found PCI IDs for. Only the i845G one has
actually been tested (see ticket #1969).


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


# 87618c5b 05-Feb-2008 Axel Dörfler <axeld@pinc-software.de>

* Added bridge device ID for i865.
* Added other IDs from the graphics driver, but I need to look up
their bridge IDs before actually adding them.


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


# 8708a92e 31-Jan-2008 Axel Dörfler <axeld@pinc-software.de>

Confirmed through testing: the X driver actually does it incorrectly,
the GTT is not part of the stolen memory. However, the BIOS popup seems
to be - removing that page solves the flickering overlay when its buffer
contained it.


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


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

* Forgot to set the size in Aperture::BindMemory() in case it was allocated
memory (so no memory was ever bound in that case).
* Disabled debug output in the Intel GART module.


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


# 103d05f3 31-Jan-2008 Axel Dörfler <axeld@pinc-software.de>

* Renamed GART's deallocate_memory() to free_memory().
* Removed "physical" parameter of GART's bind_aperture() - I don't think this
be of use to anyone.
* Fixed binding/unbinding pages in the Intel GART driver; I accidently shifted
the page offset twice.
* Actually forgot handling of allocated memory in Aperture::BindMemory().
* Minor cleanup.


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


# 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.


# 575f2f598a607c94a870dca58096429069b0c71f 04-Jul-2013 Jerome Duval <jerome.duval@gmail.com>

intel_gart: fixed bridge detection

... for bridges used with multiple displays.
Should fix #9853


# 21f6b3ea284b64ef0649b0216a5ffb893e60d299 16-May-2013 Jérôme Duval <jerome.duval@gmail.com>

agp_gart: switch to phys_addr_t as suggested by Urias and Axel.

* this is a follow-up to hrev45621


# f5d67f3f4d5d456a2add0ccf3c13afd36eafd270 05-May-2013 Michael Lotz <mmlr@mlotz.ch>

intel_gart: Fix build after argument type change.


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

intel_gart: Add IvyBridge bridge info


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

Enable the IronLake devices as at least mine works now with the correct
interrupt registers being used.


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


# 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


# 9a063f059c37536b1d0a6b38a173c9aa0cd6f854 28-May-2010 Axel Dörfler <axeld@pinc-software.de>

* Fixed the AGP interface to correctly use phys_addr_t where needed.


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


# 64d79eff7290437d24b1a420537c3ed5c144ab96 27-May-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Changed physical_entry::{address,size} to phys_{addr,size}_t and changed
map_physical_memory()'s physicalAddress parameter type from void* to
phys_addr_t. This breaks source compatibility, but -- as long as
phys_{addr,size}_t remain 32 bit wide -- keeps binary compatibility with
BeOS.
* Adjusted all code using the affected interfaces (Oh what fun!). Added a few
TODOs in places where the wrong types (e.g. void* for physical addresses
are used). Looks like quite a few drivers aren't 64 bit safe and others
will break with PAE.


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


# 6cae2161f064bbd686cbc540b36d43e7d65c629c 28-Oct-2009 Brecht Machiels <brecht@mos6581.org>

made code style more consistent with the rest of the driver


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


# 21b66fb888bf3679f9f83fe8e0e734ebf2f76bcf 27-Jan-2009 Axel Dörfler <axeld@pinc-software.de>

* On i865, the i915_GTT_BASE is not available. For some reason, though, the
method FreeBSD and Linux are using does not work here; I didn't find out
why, but I've added a fallback method to use the known GTT base then.
* This should fix #2764.


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


# a63f51dea48062ee2ceb4d2076167c26eb271a3a 06-Apr-2008 Axel Dörfler <axeld@pinc-software.de>

* Enabled a few more chipsets that I found PCI IDs for. Only the i845G one has
actually been tested (see ticket #1969).


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


# 87618c5b5568272ed0e952e651cd09ef8fad9238 05-Feb-2008 Axel Dörfler <axeld@pinc-software.de>

* Added bridge device ID for i865.
* Added other IDs from the graphics driver, but I need to look up
their bridge IDs before actually adding them.


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


# 8708a92e8df5daa57b365b127ef507cb3167814a 31-Jan-2008 Axel Dörfler <axeld@pinc-software.de>

Confirmed through testing: the X driver actually does it incorrectly,
the GTT is not part of the stolen memory. However, the BIOS popup seems
to be - removing that page solves the flickering overlay when its buffer
contained it.


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


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

* Forgot to set the size in Aperture::BindMemory() in case it was allocated
memory (so no memory was ever bound in that case).
* Disabled debug output in the Intel GART module.


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


# 103d05f3c2db9203f8de61e744c99acc2be41141 31-Jan-2008 Axel Dörfler <axeld@pinc-software.de>

* Renamed GART's deallocate_memory() to free_memory().
* Removed "physical" parameter of GART's bind_aperture() - I don't think this
be of use to anyone.
* Fixed binding/unbinding pages in the Intel GART driver; I accidently shifted
the page offset twice.
* Actually forgot handling of allocated memory in Aperture::BindMemory().
* Minor cleanup.


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