Age | Commit message (Collapse) | Author |
|
- 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>
|
|
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>
|
|
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Silences deprecation warnings from xf86PciInfo.h in current Xorg servers
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
|
|
This patch produced with:
for f in `git grep -Fwl USEMGAHAL`; do
unifdef -B -UUSEMGAHAL $f | sponge $f
done
Adam Jackson wrote:
Hey, so, remember back in the dark ages when dualhead was this
insanely wild differentiating feature? Matrox thought it was so
special, in fact, that they hid most of the implementation of it
(and a bunch of other stuff) in a binary-only blob called the
HALlib. As you'd expect it was pretty much a cut-and-paste of
the relevant Windows code, and then some open glue to keep it
working; clientlx.c is that glue.
I guess the theory was that if you don't tell people which
registers to duplicate to implement a second pipe in their own
hardware, they won't figure it out? A pretty eyeroll-worthy
idea even at the time, and definitely not something we should be
condoning anymore.
Kill it with fire, but while you're at it, untangle the hideous
mess of MGA_HAL() macros too.
Signed-off-by: Jamey Sharp <jamey@minilop.net>
Cc: Adam Jackson <ajax@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
Fixed a bug in PLL programming sequence for G200eW/G200eV where a register IO offset was used instead of
a memory offset.
Removed clock selection toggling in PLL programming sequence for G200eW.
Fixed ddc1 protocol to support correct I/O lines according to chip attribute.
Fixed a bug in CRTC2 programming seqence where a register IO offset was used instead of a memory offset.
|
|
Changed the m,n,p selection for G200eW and programming sequence.
|
|
Renamed G200 eW Winbond ID string to Nuvoton.
Added EV suffix to G200 Maxim.
Blocked double scan mode for G200 eW.
Fixed memory bandwidth limitation for G200eW to 318.77 Mhz.
Added a workaround (blit 1x1 with rop=xor) to fix the black screen problem for G200eW.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
First pass at merging both trees. So far, this has only been tested
on the PCI-rework build on a PCI G450.
|
|
git+ssh://git.freedesktop.org/git/xorg/driver/xf86-video-mga into pci-rework
|
|
|
|
git+ssh://git.freedesktop.org/git/xorg/driver/xf86-video-mga into pci-rework
|
|
git+ssh://git.freedesktop.org/git/xorg/driver/xf86-video-mga into pci-rework
Conflicts:
src/mga_macros.h
|
|
|
|
|
|
|
|
Several places in the driver contain if-statements that test Chipset against
several different values to determine what functionality to use. Some of
these tests, HALCHIPSETS in particular, test as many as 6 different values.
This bloats the code size unnecessarilly. Instead we cache the results of
some of those tests in single bit flags stored in pMga.
These changes are similar to some changes in the pci-rework branch.
|
|
Since && takes precedence over ||, put parenthesis around the || block to
make all the operations associate in the intended manner.
|
|
pci-rework branch.
|
|
prototypes
Fixes these warnings:
make.out:"mga_dacG.c", line 195: warning: implicit function declaration: abs
make.out:"mga_dacG.c", line 1117: warning: implicit function declaration: usleepmake.out:"mga_driver.c", line 692: warning: implicit function declaration: usleep
|
|
|
|
|
|
physical bus used for the card. This allows accurate detection of PCI
cards that use a PCI-to-PCI bridge with an AGP chip.
Correctly disable DRI on PCI cards used with pre-3.2 DRM. Previously the
test was performed based on PCI ID (see above for why this is wrong)
and was done *before* the DRM version was known.
Bug #3759: <https://bugs.freedesktop.org/show_bug.cgi?id=3759> Correctly
determine the PLL reference frequency from the PInS data. Previously
the wrong bit was tested. Blame the dumb programmer that used
cut-and-paste (that would be me).
|
|
|
|
This patch dumps all of the old BIOS processing code from the MGA DDX. The
new code, located in mga_bios.c, is modeled after the code in
matroxfb_misc.c (though no actual code was copied). Basically, the BIOS
is processed in one place, with "device independent" values stored in a
data structure. This data is then used, without extra switch-statments,
throughout the driver.
In addition, this patch adds support for processing the BIOS on PowerPC
systems. On PPC cards, the magic offset values (that give the location
of the PInS data) is not in the BIOS. Instead the driver has to search
the BIOS for the PInS structure signature. The patch does this and
correctly handles byte-ordering (and data alignement) issues.
This code has been tested on an AGP G400 on x86 and a PCI G450 on PowerPC.
NOTE: The file mga_bios.h is also removed. The "documentation" in that file
was moved to the file mga_PInS.txt. This file documents, as much as
possible, the layout of the various PInS datastructure versions. The
information in that file is 100% based on the old mga_bios.h and the
code in matroxfb_misc.c. No additional information from Matrox
documentation is included in that file. This just puts the information
that was already known in one place.
Xorg Bug: 3553
|
|
*Weak() resolver functions.
|
|
framebuffer formats except cfb and the overlay modes should work, and
r128 and radeon need to be loaded from the ati driver (both issues to
be fixed soon). Tested on i740, s3virge, mach64, tdfx, vesa, and vga
drivers. elfloader users shouldn't be affected.
|
|
(Ryan Underwood) (http://bugs.xfree86.org/show_bug.cgi?id=1098)
- expose I2CStart; needed for mga maven support (Ryan Underwood)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|