Age | Commit message (Collapse) | Author |
|
From gcc 14.1:
mga_dri.c: In function ‘MGADRIScreenInit’:
mga_dri.c:757:40: warning: ‘calloc’ sizes specified with ‘sizeof’ in the earlier argument and not in the later argument [-Wcalloc-transposed-args]
757 | pMGADRI = (MGADRIPtr)calloc( sizeof(MGADRIRec), 1 );
| ^~~~~~~~~
mga_dri.c:757:40: note: earlier argument should specify number of elements, later size of each element
mga_dri.c:767:22: warning: ‘calloc’ sizes specified with ‘sizeof’ in the earlier argument and not in the later argument [-Wcalloc-transposed-args]
767 | calloc( sizeof(MGADRIServerPrivateRec), 1 );
| ^~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Part-of: <https://gitlab.freedesktop.org/xorg/driver/xf86-video-mga/-/merge_requests/12>
|
|
It was added by xorg/xserver@1768af38c737f4c14d32f587b51a8ec3d3d6ed5f
which was included in the xserver 1.10 release, which is now less than
our minimum required, so we don't need to check for it and provide a
fallback any longer.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Part-of: <https://gitlab.freedesktop.org/xorg/driver/xf86-video-mga/-/merge_requests/11>
|
|
Already effectively required by use of XNFcallocarray() introduced in
xorg/xserver@b96dc999 - xserver-1.18.0, released in Nov. 2015.
Allows dropping remnants of code for XAA and pre-pciaccess X servers
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Part-of: <https://gitlab.freedesktop.org/xorg/driver/xf86-video-mga/-/merge_requests/11>
|
|
xnfcalloc is just an alias for XNFcallocarray() that doesn't seem to serve
any practical purpose, so it can go away once all drivers stopped using it.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/driver/xf86-video-mga/-/merge_requests/9>
|
|
mga_g450pll.c: In function ‘MGAG450SetPLLFreq’:
mga_g450pll.c:326:11: warning: declaration of ‘ulIndex’ shadows a previous local [-Wshadow]
326 | int ulIndex;
| ^~~~~~~
mga_g450pll.c:312:11: note: shadowed declaration is here
312 | CARD32 ulIndex;
| ^~~~~~~
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
mga_dac3026.c:77:1: warning: ‘static’ is not at beginning of declaration
[-Wold-style-declaration]
const static unsigned char MGADACregs[] = {
^~~~~
mga_dac3026.c:103:1: warning: ‘static’ is not at beginning of declaration
[-Wold-style-declaration]
const static unsigned char MGADACbpp8[DACREGSIZE] = {
^~~~~
mga_dac3026.c:108:1: warning: ‘static’ is not at beginning of declaration
[-Wold-style-declaration]
const static unsigned char MGADACbpp16[DACREGSIZE] = {
^~~~~
mga_dac3026.c:124:1: warning: ‘static’ is not at beginning of declaration
[-Wold-style-declaration]
const static unsigned char MGADACbpp24[DACREGSIZE] = {
^~~~~
mga_dac3026.c:129:1: warning: ‘static’ is not at beginning of declaration
[-Wold-style-declaration]
const static unsigned char MGADACbpp32[DACREGSIZE] = {
^~~~~
mga_dacG.c: In function ‘MGAGInit’:
mga_dacG.c:1118:2: warning: ‘static’ is not at beginning of declaration
[-Wold-style-declaration]
const static unsigned char initDAC[] = {
^~~~~
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
`MGAGRestore` allocated `ModeInfo` without initializing its memory and then
passes it into `MGAEnableSecondOutPut` via `MGAEnableSecondOutPut(pScrn, &ModeInfo);`.
`MGAEnableSecondOutPut` then reads the unitialized memory in the line
`if ( !(pModeInfo->flSignalMode & POS_HSYNC) )`.
This patch just zeroes the memory to prevent those branches to be randomly
taken.
Signed-off-by: Raphael Isemann <teemperor@gmail.com>
|
|
Found by using:
codespell --builtin clear,rare,usage,informal,code,names
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Apparently, commit 94bbeb132c7eda912d1b402a1a91ca7cbbf5e6a1
missed removing a few more files related to old Matrox HAL.
Signed-off-by: Kevin Brace <kevinbrace@gmx.com>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Fixes misaligned address crash when EXA is enabled on Solaris SPARC
(Oracle Bug id 22993744)
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Fixes a warning from clang and looks like it was a real bug.
Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Kevin Brace <kevinbrace@gmx.com>
|
|
Signed-off-by: Kevin Brace <kevinbrace@gmx.com>
|
|
Signed-off-by: Kevin Brace <kevinbrace@gmx.com>
|
|
Care had to be taken to properly handle XAA usage situation
Signed-off-by: Kevin Brace <kevinbrace@gmx.com>
|
|
The memcpy specification doesn't specify how the destination is written -
and on glibc 2.19 memcpy is doing some bytewise writes with the rep stosb
instruction. These bytewise writes confuse the hardware (because it
expects 32-bit writes) and result in image corruption.
This patch replaces memcpy with explicit writes, so that the sequential
write order and 32-bit write size is guaranteed. We use the "volatile"
attribute to make sure that compiler optimizations won't cause write
reordering. When reading the memory, we use a structure with "packed"
attribute to avoid unaligned traps on RISC machines.
Tested-by: Kevin Brace <kevinbrace@gmx.com>
Signed-off-by: Mikulas Patocka <mikulas@twibright.com>
|
|
Fix typo in MGADRIMoveBuffersXAA().
Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Reviewed-by: Cyril Brulebois <kibi@debian.org>
|
|
If the Xserver doesn't support XAA, we must turn EXA on by default -
otherwise we end up with no acceleration at all.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Mikulas Patocka <mikulas@twibright.com>
|
|
Fix warnings in the MGA driver. There's no functional change.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Mikulas Patocka <mikulas@twibright.com>
|
|
Fix missing entry in structure definition.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Mikulas Patocka <mikulas@twibright.com>
|
|
Fix a typo that causes dynamic symbol lookup failure and xserver crash.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Mikulas Patocka <mikulas@twibright.com>
|
|
The function was an empty since 2008 at least. Remove it alongside the
unused GLX visuals code.
With this all the GL/GLX dependencies in the driver are gone.
Cc: Mathieu Larouche <mathieu.larouche@matrox.com>
Cc: Dave Airlie <airlied@redhat.com>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
---
There's a GLX reference in mga_ucode.h - a file which was seemingly
never used since day 1. I'm not going to bother with that, since I've
taken enough of a diversion already ;-)
|
|
- Changed the HiPri value for G200e4 to always be 0.
- Added Bandwith limitation to block resolution above 1920x1200x60Hz
- (V2): Pulled out ulMemoryBandwidth of condition so it's always initialized
as reviewed by : Stefan Dirsch <sndirsch@suse.de>
Reviewed-by: Samer El-Haj-Mahmoud <smahmoud@lenovo.com>
|
|
- Added support for the new deviceID for G200eH3
- Added PLL algorithm for the G200eH3
- Removed the bandwidth limitation for the G200eH3
Signed-off-by: Mathieu Larouche <mathieu.larouche@matrox.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
|
|
- Added PLL algorithm for a new rev of G200e
- Removed the bandwidth limitation for the new G200e
Fixes : https://bugs.freedesktop.org/show_bug.cgi?id=92540
Change from V1 :
- Make sure we don't cause issue on previous chips. (Dave Airlie review)
Signed-off-by: Mathieu Larouche <mathieu.larouche@matrox.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
- Added support for the new deviceID for G200eW3
- Added PLL algorithm for the G200eW3
- Added some initialization code for G200eW3
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=92541
Signed-off-by: Mathieu Larouche <mathieu.larouche@matrox.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
|
Fixes
passing argument 2 of 'pci_device_cfg_read_u32' from incompatible pointer type
pciaccess.h:153:5: note: expected '__uint32_t *' but argument is of type 'CARD32 *'
Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
Reviewed-by: Connor Behan <connor.behan@gmail.com>
|
|
A driver like this that tries to composite a lot will definitely need to
avoid crashing for solid pictures.
Signed-off-by: Connor Behan <connor.behan@gmail.com>
|
|
This hook was broken and did the same thing as a software fallback.
Signed-off-by: Connor Behan <connor.behan@gmail.com>
|
|
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
|
Dead conditional ever since m12n, must not be needed.
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
|
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
|
Oh, I had a typo in that patch - so please commit this to fix it.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
I've had a Xserver lockup in the mga driver, examining it with gdb showed
this obviously broken loop:
count = INREG(MGAREG_VCOUNT) + 2;
while(INREG(MGAREG_VCOUNT) < count);
It reads the line counter and waits until the counter advances by two. The
cause of the lockup is this - if the kernel reschedules the Xorg process
and lets it run in such a moment when INREG(MGAREG_VCOUNT) returns the
maximum (or maximum minus 1) line count, the loop never exits.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
On my Matrox G550 most videomodes in Xorg didn't work. I found out that it
works if Xorg pixel clock is similar to the pixel clock set on framebuffer
console.
Further analysis showed that the Linux framebuffer driver sets the pan_ctl
register (the register 0xa2) according to the pixel clock, the Xorg driver
doesn't set it.
I copied the code to set the pan_ctl register from the Linux kernel to the
Xorg driver, and most videomodes in Xorg work.
The pan_ctl register is required for both analog and digital output.
The pan_ctl register is saved and restored, this is required so that we
restore text-mode screen or Linux framebuffer correctly.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
XAA->USE_XAA add USE_XAA.
Tested-by: Avengence on #xorg-devel
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Previously contained MGA HAL code, was left an empty shell by the
removal of USEMGAHAL in commit 94bbeb132c7eda.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
|
|
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
|
|
Disable HW cursor by default on G200 server chips as these chips a
re often used with a remote graphics link which cannot display
the HW cursor.
This can be overridden by a config option.
Most desktops today use ARGB cursors anyhow which are not
supported by this driver anyhow. Thus the performance penalty
should be irrelevant.
Signed-off-by: Egbert Eich <eich@freedesktop.org>
|
|
With the previous structure it wasn't immediately clear when SecondCrtc
and HWCursor were set to which value. Make the code more readable.
Signed-off-by: Egbert Eich <eich@freedesktop.org>
|
|
https://launchpad.net/bugs/1180986
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Reviewed-by: Robert Jacobs <robert.n.jacobs@gmail.com>
Tested-by: Robert Jacobs <robert.n.jacobs@gmail.com>
|
|
This patch has been used in Debian, Ubuntu and Gentoo for years.
https://bugs.freedesktop.org/show_bug.cgi?id=18472
https://launchpad.net/bugs/292214
https://bugs.gentoo.org/show_bug.cgi?id=265100
Signed-off-by: Andy MacLean <andy-ub1@themacleans.org.uk>
Reviewed-by: Cyril Brulebois <kibi@debian.org>
Reviewed-by: Robert Jacobs <robert.n.jacobs@gmail.com>
Tested-by: Robert Jacobs <robert.n.jacobs@gmail.com>
|
|
Linear Expansion doesn't work on BE as the bit order in
a word is reversed. ScreenToScreenColorExpansion allows
to adjust the bit order in a byte, still the bytes have
the wrong order.
Reviewed-by: <wharms@bfs.de>
Signed-off-by: Egbert Eich <eich@freedesktop.org>
|
|
Otherwise we might catch devices handled by matroxfb, not the mgag200
kms driver.
Debian bug#697532
Reported-by: olafBuddenhagen@gmx.net
Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Julien Cristau <jcristau@debian.org>
|
|
we need to at least setup the memory manager bits so dri1 clients
get a backbuffer. this at least gets gears working again without XAA.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
If we aren't using XAA just add stub storm init/sync functions.
This lets the driver load yay.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Signed-off-by: Adam Jackson <ajax@redhat.com>
|