History log of /haiku/src/add-ons/kernel/drivers/graphics/intel_extreme/device.cpp
Revision Date Author Comments
# 6c024296 20-Apr-2022 Jérôme Duval <jerome.duval@gmail.com>

intel_extreme: set/get brightness in legacy mode for gen2,i915GM,i945GM

untested, see #15448

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


# 22ec6455 13-Mar-2020 Adrien Destugues <pulkomandy@pulkomandy.tk>

intel_extreme: some minor fixes

- Cleanup HEAD_MODE constants. These should be completely removed, now
that we have a proper notion of pipes and displays. But the DPMS code
still uses them, for now.
- Fix the ie_pipe command where width and height were swapped and
missing a +1 to show the actual videomode values


# 1fa0a12d 25-Jan-2020 Adrien Destugues <pulkomandy@pulkomandy.tk>

intel_extreme: add a command to dump pipe config

I look at this all the time and entering register offsets and converting
from hex was getting annoying.


# 5ad9670f 30-Jul-2018 Augustin Cavalier <waddlesplash@gmail.com>

intel_extreme, radeon_hd: Use bufferLength instead of B_FILE_NAME_LENGTH.

Thanks korli for the review!


# abb59d73 24-Jun-2018 Augustin Cavalier <waddlesplash@gmail.com>

intel_extreme: Fix instances of user memory creation and access.

You still cannot boot to desktop under SMAP on intel_extreme, however,
as the agp_gart bus has not been patched properly. Doing so breaks the
intel_extreme accelerant, so more investigation is needed.


# 14ec6c8b 24-Jun-2018 Augustin Cavalier <waddlesplash@gmail.com>

intel_extreme: Remove some non-Haiku cases from device_ioctl.


# 8f3b807d 30-Aug-2016 John Scipione <jscipione@gmail.com>

A few more PRI macro substitutions

Tested on x86_64 build thanks to jessicah.

Should fix x86_64 build.


# 22fa1929 30-Aug-2016 John Scipione <jscipione@gmail.com>

Use appropriate format macros in ERROR macro

(hopefully fixing x86_64 build)


# fc90d9a4 28-Jan-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Unlock mutex after we're done, not before

* Thanks Axel for catching this one.


# eef994b9 27-Jan-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

graphics: Spell check drivers, fix tab. No functional change


# 3347bc14 27-Jan-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Fix tracking of device opens / closes

* Don't raise the open_count when the open fails


# bcbd6e6c 20-Jan-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Fix crash of driver on multiple open

* open_count only got raised on initial open,
subsequent opens didn't increment the counter
thus when they exited the driver unloaded
causing app_server to crash
* Thanks to hamishm for pointing out that
the if checks the pre-increment number
* Resolves #10452


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

intel_extreme and radeon_hd: some 64 bit fixes


# 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


# 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


# 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


# 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


# 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


# 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


# 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


# fc90d9a48e66ef7725f730a8c740cdb7c9691883 28-Jan-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Unlock mutex after we're done, not before

* Thanks Axel for catching this one.


# eef994b964f7f61e9f56dcedf17d90b071fe2fe1 27-Jan-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

graphics: Spell check drivers, fix tab. No functional change


# 3347bc1431a542f12dbd8d9c9c6ac0285aa68768 27-Jan-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Fix tracking of device opens / closes

* Don't raise the open_count when the open fails


# bcbd6e6cfe3b259d05a4d27ef53551f24118feb5 20-Jan-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Fix crash of driver on multiple open

* open_count only got raised on initial open,
subsequent opens didn't increment the counter
thus when they exited the driver unloaded
causing app_server to crash
* Thanks to hamishm for pointing out that
the if checks the pre-increment number
* Resolves #10452


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

intel_extreme and radeon_hd: some 64 bit fixes


# 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


# 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


# 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


# 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


# 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


# 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


# 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