History log of /haiku/src/add-ons/kernel/drivers/graphics/matrox/driver.c
Revision Date Author Comments
# 65496b3a 21-May-2020 Jérôme Duval <jerome.duval@gmail.com>

matrox: SMAP fixes

tested with success at least on VGA, see #16069. Thanks TmTFx and rudolfc!

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


# 2587f6d1 05-May-2020 RudolfC <rudolf.cornelissen@gmail.com>

Allow gfx drivers framebuffercloning, for i.e. videonode BBufferGroup::AddBuffer.


# 8a0c9d52 10-Aug-2019 Augustin Cavalier <waddlesplash@gmail.com>

OS: Rename B_USER_CLONEABLE_AREA to B_CLONEABLE_AREA.

It now lives in OS.h. The idea is that this will now be
accessible to userland applications, so userland memory
is protected from access by other processes, just as
kernel memory is.

No functional change (the constants are still the same,
though I've changed some to use shifts to make clear
which bits are allocated are which are unused.)


# 323b6546 21-Nov-2011 Oliver Tappe <zooey@hirschkaefer.de>

Filtered flat import of Oliver's svn package management branch

Bring the changes that aren't package management related and the ones
that are but don't take effect as long as they are ignored by the build
system into the master.

Summary of changes:
* Introduce private header <directories.h> with constants for a good
deal of paths that should usually be retrieved via find_directory().
* Replace hard-coded paths by using find_directory() or the
<directories.h> constants (e.g. in drivers and the kernel).
* Add find_directory() constants needed for package management.
* Add __HAIKU_ABI_NAME and B_HAIKU_ABI_NAME macros.
* src/apps/deskbar: BeMenu.* -> DeskbarMenu.*,
DeskBarUtils.* -> DeskbarUtils.*
* Change deskbar menu settings directory from ~/config/be to
~/config/settings/deskbar.
* Other smaller cleanups, changes, and fixes.


# 3dfd9cb9 16-Jun-2011 Oliver Tappe <zooey@hirschkaefer.de>

Flat commit of all changes from package-management branch in svn


# 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


# b0884f0c 07-Aug-2008 Axel Dörfler <axeld@pinc-software.de>

* Fixed a ton of wrong usages of B_CONTIGUOUS + B_FULL_LOCK.
* The use of B_{READ|WRITE}_AREA throughout the drivers is surely alarming.
Defining these flags means that *every user* application can access these
buffers read/write, it becomes visible in userspace like any other memory
(just shared among all apps). I would like to ask each driver maintainer
to see if that is really wished here. If you only need one app to be able
to access it, cloning the area would be more appropriate.
* I came across the use of B_ANY_KERNEL_BLOCK_ADDRESS a number of times. This
is almost completely useless for most usages, as it tries to align the
virtual to a multiple of the size of the area. It just makes the allocation
more likely to fail. Please only use where appropriate, and please review
your code.
* Minor cleanup.


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


# 444e9a14 21-Jan-2006 Rudolf Cornelissen <rudolf.cornelissen@gmail.com>

driver now enforces correct order of use of INIT_ACCELERANT and CLONE_ACCELERANT: bailing out with B_NOT_ALLOWED if incorrect use is detected. Updated docs.

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


# 95289414 29-Nov-2005 Rudolf Cornelissen <rudolf.cornelissen@gmail.com>

finalized MMS (multihead) card support. Fixed system crashing with null pointer if 'secondary' mms card in system was used on it's non-primary heads while it's primary head was not in use. (hope this is readable :). In other words: rewrote copying ROMs for MMS cards. Kerneldriver now holds images for each card and head inside the kerneldriver independant of a card's driver being actually used or not. multihead cards can now be used as you wish: they nolonger need to be the 'primary' card in your system. hehe: 6 heads running here (two on a dualhead nvidia while 4 in a matrox mms. Test harness much in use, as all those cards still can't be used otherwise on BeOS.

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


# a5b2cf28 25-Nov-2005 Rudolf Cornelissen <rudolf.cornelissen@gmail.com>

added new mga.setting to let the driver force a certain card to be used as primary in a system with multiple cards. The card in question gets a minus (-) before it's actual name so it's listed at the top in the /dev/graphics/ folder. It's a hack, but it's handy to have for now.

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


# 48853da8 24-Nov-2005 Rudolf Cornelissen <rudolf.cornelissen@gmail.com>

now also rom image files dumped have the hardware ID's and location in it.

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


# e33ce45e 24-Nov-2005 Rudolf Cornelissen <rudolf.cornelissen@gmail.com>

added more PCI bus related info for graphicscard: needed for logging update.

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


# db42d8ec 24-Nov-2005 Rudolf Cornelissen <rudolf.cornelissen@gmail.com>

driver can now run without (useable) INT assigned. Bumped version to 0.24. Updated docs.

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


# 31780662 22-Nov-2005 Rudolf Cornelissen <rudolf.cornelissen@gmail.com>

Added MMS (multihead cards) support by using primary adaptors BIOS for all cards. Confirmed a G200MMS working OK on all four heads with the Be test harness application. That's one card with four G200 GPU's on it! (thanks Cale Lewis :)

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


# af915161 16-Jul-2005 Rudolf Cornelissen <rudolf.cornelissen@gmail.com>

shutoff all R4.5.0 cloning workarounds for the drivers I worked on.

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


# 807ba996 19-Apr-2005 Axel Dörfler <axeld@pinc-software.de>

The matrox graphics driver now also works under Haiku when the target haiku has been set (tested).


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


# 4afe6a6b 31-Dec-2003 shatty <shatty@nowhere.fake>

add static to remove warnings


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


# 71194a68 18-Dec-2003 shatty <shatty@nowhere.fake>

openBeOS_Matrox_V0.15_src


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


# 20c9a9dc 02-Dec-2003 shatty <shatty@nowhere.fake>

openBeOS_Matrox_V0.14_src


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


# 36be333e 30-Nov-2003 shatty <shatty@nowhere.fake>

openBeOS_Matrox_V0.13beta1_src


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


# 323b65468e5836bb27a5e373b14027d902349437 21-Nov-2011 Oliver Tappe <zooey@hirschkaefer.de>

Filtered flat import of Oliver's svn package management branch

Bring the changes that aren't package management related and the ones
that are but don't take effect as long as they are ignored by the build
system into the master.

Summary of changes:
* Introduce private header <directories.h> with constants for a good
deal of paths that should usually be retrieved via find_directory().
* Replace hard-coded paths by using find_directory() or the
<directories.h> constants (e.g. in drivers and the kernel).
* Add find_directory() constants needed for package management.
* Add __HAIKU_ABI_NAME and B_HAIKU_ABI_NAME macros.
* src/apps/deskbar: BeMenu.* -> DeskbarMenu.*,
DeskBarUtils.* -> DeskbarUtils.*
* Change deskbar menu settings directory from ~/config/be to
~/config/settings/deskbar.
* Other smaller cleanups, changes, and fixes.


# 3dfd9cb95ce45f59160d50975210bc55e3fc0709 16-Jun-2011 Oliver Tappe <zooey@hirschkaefer.de>

Flat commit of all changes from package-management branch in svn


# 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


# b0884f0cb812cdaf8035e6028f69dcf0d7721953 07-Aug-2008 Axel Dörfler <axeld@pinc-software.de>

* Fixed a ton of wrong usages of B_CONTIGUOUS + B_FULL_LOCK.
* The use of B_{READ|WRITE}_AREA throughout the drivers is surely alarming.
Defining these flags means that *every user* application can access these
buffers read/write, it becomes visible in userspace like any other memory
(just shared among all apps). I would like to ask each driver maintainer
to see if that is really wished here. If you only need one app to be able
to access it, cloning the area would be more appropriate.
* I came across the use of B_ANY_KERNEL_BLOCK_ADDRESS a number of times. This
is almost completely useless for most usages, as it tries to align the
virtual to a multiple of the size of the area. It just makes the allocation
more likely to fail. Please only use where appropriate, and please review
your code.
* Minor cleanup.


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


# 444e9a147be8f4ba3b858dde355dbcf184b71adb 21-Jan-2006 Rudolf Cornelissen <rudolf.cornelissen@gmail.com>

driver now enforces correct order of use of INIT_ACCELERANT and CLONE_ACCELERANT: bailing out with B_NOT_ALLOWED if incorrect use is detected. Updated docs.

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


# 952894145852b611d482f8930a954c65c6c02dfa 29-Nov-2005 Rudolf Cornelissen <rudolf.cornelissen@gmail.com>

finalized MMS (multihead) card support. Fixed system crashing with null pointer if 'secondary' mms card in system was used on it's non-primary heads while it's primary head was not in use. (hope this is readable :). In other words: rewrote copying ROMs for MMS cards. Kerneldriver now holds images for each card and head inside the kerneldriver independant of a card's driver being actually used or not. multihead cards can now be used as you wish: they nolonger need to be the 'primary' card in your system. hehe: 6 heads running here (two on a dualhead nvidia while 4 in a matrox mms. Test harness much in use, as all those cards still can't be used otherwise on BeOS.

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


# a5b2cf28292c2b06e4b11bae7f9a659028567089 25-Nov-2005 Rudolf Cornelissen <rudolf.cornelissen@gmail.com>

added new mga.setting to let the driver force a certain card to be used as primary in a system with multiple cards. The card in question gets a minus (-) before it's actual name so it's listed at the top in the /dev/graphics/ folder. It's a hack, but it's handy to have for now.

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


# 48853da83fe80cad6952899d5909f9eb09d60560 24-Nov-2005 Rudolf Cornelissen <rudolf.cornelissen@gmail.com>

now also rom image files dumped have the hardware ID's and location in it.

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


# e33ce45ebf28181d9720d4d997b5293db4f18c42 24-Nov-2005 Rudolf Cornelissen <rudolf.cornelissen@gmail.com>

added more PCI bus related info for graphicscard: needed for logging update.

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


# db42d8ec02e819c46879aeb117088d27678ca78b 24-Nov-2005 Rudolf Cornelissen <rudolf.cornelissen@gmail.com>

driver can now run without (useable) INT assigned. Bumped version to 0.24. Updated docs.

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


# 317806623e7ddaeebcd946a1358bd4869032d8fd 22-Nov-2005 Rudolf Cornelissen <rudolf.cornelissen@gmail.com>

Added MMS (multihead cards) support by using primary adaptors BIOS for all cards. Confirmed a G200MMS working OK on all four heads with the Be test harness application. That's one card with four G200 GPU's on it! (thanks Cale Lewis :)

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


# af9151617b57a6207aaa7634f43edf7271a7ea8f 16-Jul-2005 Rudolf Cornelissen <rudolf.cornelissen@gmail.com>

shutoff all R4.5.0 cloning workarounds for the drivers I worked on.

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


# 807ba996daf6f60c2abef62c47d322439bb67582 19-Apr-2005 Axel Dörfler <axeld@pinc-software.de>

The matrox graphics driver now also works under Haiku when the target haiku has been set (tested).


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


# 4afe6a6bd3f662a38c4cb1bb88dbab3cb9d04e9c 31-Dec-2003 shatty <shatty@nowhere.fake>

add static to remove warnings


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


# 71194a68c72f6740bce4927195482d6508721a16 18-Dec-2003 shatty <shatty@nowhere.fake>

openBeOS_Matrox_V0.15_src


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


# 20c9a9dc8b2919d599d1d7573ad70b2813b23d83 02-Dec-2003 shatty <shatty@nowhere.fake>

openBeOS_Matrox_V0.14_src


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


# 36be333ed8783bc08f9f94c710fbc769633f3ef5 30-Nov-2003 shatty <shatty@nowhere.fake>

openBeOS_Matrox_V0.13beta1_src


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