3727 Commits

Author SHA1 Message Date
Dave Airlie
04cbb8d174 bugzilla #2057 (https://bugs.freedesktop.org/show_bug.cgi?id=2057)
attachment #1516 (https://bugs.freedesktop.org/attachment.cgi?id=1516)
    Add TVOUT Support for Mach64 (Leif Delgass, fixed up for Xorg by me).
2005-03-26 00:53:01 +00:00
Alex Deucher
5be4bf9000 - radeon PLL access errata workarounds (Benjamin Herrenschmidt, acked by
Hui Yu)
2005-03-24 06:45:52 +00:00
Michel Daenzer
34af3da803 Add support for production version of ATI RN50/ES1000. (ATI Technologies
Inc.)
2005-03-18 22:36:47 +00:00
Vladimir Dergachev
b56a5f9604 Modified:
programs/Xserver/hw/xfree86/drivers/ati/radeon_mergedfb.c Back out
    RadeonWaitForIdleMMIO that I put in earlier.
From discussion on dri-devel we do not need to be as careful with INREG()
    access on Radeons as we are on mach64 chips.
The fix is backed out due to:
it breaks DRI on SMP systems (due to absense of the lock in mouse handling
    functions)
I am no longer able to reproduce the lockup I saw before
2005-03-17 03:36:25 +00:00
Roland Scheidegger
01a9c1157c Fix accidentally removed depth pitch adjustment if displayWidth is not a
multiple of 32 pixels (bug #788)
2005-03-08 23:41:37 +00:00
Vladimir Dergachev
9b994b4071 programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c Let through all chips
R300 and above - presumably the filtering should take place at the DRM
    driver level. Correct cut'n'paste position misprint. Big thanks for
    Michel Danzer for pointing out both improvements.
2005-03-04 22:21:40 +00:00
Vladimir Dergachev
7d37a9f1f9 programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c Turns out Radeon R420
chips work fine with R300 microcode. Thanks go to Rune Petersen for
    careful investigation.
2005-03-04 05:48:31 +00:00
Roland Scheidegger
f1edbb7852 Fix building radeon driver with BuildXF86DRI set to NO, the breakage was
caused by the tiling support (bug #2481)
2005-02-22 00:39:15 +00:00
Vladimir Dergachev
b853dbb50f Modified:
programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c
Fix an INREG without WaitForIdleMMIO. This one should be unlikely to
    trigger, but we should still do this in the name of correctness.
2005-02-19 16:00:12 +00:00
Vladimir Dergachev
84290849b4 Modified:
programs/Xserver/hw/xfree86/drivers/ati/radeon_mergedfb.c
Add a call to RADEONWaitForIdleMMIO() within RADEONChooseCursorCRTC() as
    this function uses OUTREGP() which, internally, calls INREG().
Thus (due to SilkenMouse) INREG() could be called while CP engine was busy.
    I have observed this lockup on RV350 + R300 3d driver and have no idea
    why no issues were reported for R200 cards. Perhaps, few of them have
    enough memory to run merged fb and 3d simultaneously ?
This fix is the right thing to do, however, we might also need to put fifo
    management calls into other cursor handling functions (in particular
    those that write cursor image directly to video memory).
2005-02-19 00:57:23 +00:00
Michel Daenzer
60070063e2 Bug #2576: Add support for ATI RN50/ES1000. (ATI Technologies Inc.) 2005-02-18 19:55:35 +00:00
Adam Jackson
32032cdc78 Bug #2567: Fix reversed memset arguments. (David Krause) 2005-02-18 16:42:11 +00:00
Roland Scheidegger
d5fadd6d86 do not enable color tiling on r300 chips and newer, since it doesn't work
(yet) (Bugzilla #2504)
2005-02-09 02:22:39 +00:00
Roland Scheidegger
5ff35300e6 fix error with color tiling and hw scrolling, it looks like rv100 doesn't
need the special treatment, after all (reported by Stephane Marchesin)
2005-02-02 21:35:30 +00:00
Roland Scheidegger
7a90316839 change option EnableColorTiling to ColorTiling 2005-01-31 20:10:28 +00:00
Roland Scheidegger
a2b123f767 (Stephane Marchesin, me) Add support for color (framebuffer) tiling.
Convert all XAA accel code to use explicit dst and src offset pitch
    control to make it work. Use the new drm surface ioctls to set up the
    tiled surfaces (if dri is enabled).
2005-01-26 18:23:41 +00:00
Roland Scheidegger
e0df1e4172 fix issues with mergedfb + pageflip (fix up sarea frame values) 2005-01-26 17:39:56 +00:00
Egbert Eich
aeb0180726 Don't exclude 'RADEONInfoPtr info = ...' declaration even when not building
with DRI support (Bugzilla #2370)
2005-01-24 15:40:21 +00:00
Vladimir Dergachev
c6c30cfa35 Modified:
programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
Some of the newer Radeons (R420 for example) have MM_TABLE's with size 0x33
    (instead of 0x0c that we know). Furthermore, they lockup during access
    of I2C bus !
Add a check to validate MM_TABLE. Note: the check is not more stringent as
    other card manufacturers (like Asus or Tekram) might make cards with
    slightly different MM_TABLE.
2005-01-13 17:35:49 +00:00
Alex Deucher
414c035a96 - Fix MCLK / SCLK calculation (Benjamin Herrenschmidt) bug 2144
- formatting cleanup
2004-12-24 18:26:19 +00:00
Alex Deucher
7c7b278883 - Add support for Dualhead on M3/M4 (bug 1760) 2004-12-19 19:49:33 +00:00
Alex Deucher
08a45118b5 - Make dualhead ram allocation cleaner and related messages clearer 2004-12-19 19:29:10 +00:00
Alex Deucher
97cfd7b148 - Add DRI resume support (Micha Feigin) bug 2063 2004-12-19 06:56:37 +00:00
Alex Deucher
5b8577ae32 - fix warnings (Ronny V. Vindenes) 2004-12-19 06:11:06 +00:00
Alex Deucher
447124a663 - fix warning and potential error in radeon_driver.c 2004-12-18 21:37:48 +00:00
Alex Deucher
ac6166158a - Add VGAAccess option to r128 driver. Based on Benh's radeon patch. r128
should now work on ppcs without usefbdev. To use this on ppc make sure
    you set "usefbdev" to false. (bug 2089)
- Apply Benjamin Herrenschmidt's radeon patches (bug 2064)
2004-12-17 19:19:32 +00:00
Vladimir Dergachev
ac860ed6bb Modified:
programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c
programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c
Move DMA robustness fix into radeon_dri.c::RADEONEnterServer() as per
    suggestion by Michel Dnzer.
I could not trigger a lockup, even with r300_demo (possibly it has code
    that flushes cache inside ?), so this must be good enough..
2004-12-17 16:50:36 +00:00
Vladimir Dergachev
3ba5b525c4 Modified:
programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c
Add DMA robustness fix from Nicolai Haehnle.
TODO: move this fix into DRM driver or other parts of Xserver when R300
    support is more stable.
This fix affects only R300 and later variants and results in small slowdown
    when using CP acceleration in comparison to the previous version of the
    driver.
We are still a lot faster in CP mode than using MMIO register access.
2004-12-16 16:26:56 +00:00
Adam Jackson
c7b5f4a9eb Bug #2008: Fix gcc4 compile problem. 2004-12-15 19:35:33 +00:00
Vladimir Dergachev
8c1969f22f Modified:
programs/Xserver/hw/xfree86/drivers/ati/radeon_render.c
programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c
Make DMA blitting code more robust.
2004-12-12 20:42:29 +00:00
Vladimir Dergachev
8a9077bc70 Modified:
programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c
Enable DRM support permanently, allowing its use for any CHIP_FAMILY >
    R300. Fix bug in naming Mesa3d driver (it was defaulting to r200)
2004-12-12 19:28:37 +00:00
Alex Deucher
845df6dd96 - missing diff from agp 8x support 2004-12-12 17:29:45 +00:00
Vladimir Dergachev
36b92808e4 Modified:
programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c
programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c
programs/Xserver/hw/xfree86/drivers/ati/radeon_common.h
programs/Xserver/hw/xfree86/drivers/ati/radeon_version.h Add R300 (and
    later) DRM support, protected by X_R300_DRM option.
Note: at the moment this is for 2d support only, if enabled running
    glxgears locks up my machine, but DMAForXv=yes works fine.
2004-12-12 16:05:35 +00:00
Alex Deucher
68ea67ce98 - add AGP 8x support (Hui Yu, Michel Daenzer) bug 1819 2004-12-12 02:00:48 +00:00
Alex Deucher
93675d288d - only mess with Dynamicclocks on mobility chips (Benh, me) bug 1912
- fix display detection (Hui Yu) bug 1559
- Add new option "BIOSHotkeys" to allow the bios to control output
    switching (off by default) bug 2000
- update the savage man page to document the "CrtOnly" option
2004-12-12 00:14:32 +00:00
Daniel Stone
ed21700312 Apply Debian patch to re-POST via VBE if driver thinks it has no video
memory (a symptom of incompletely coming up from D3 power state), which
    fixes some Dell laptops (closes: #1890).
2004-12-06 13:27:56 +00:00
Michel Daenzer
2b8ab42b05 When direct rendering is enabled, use hostdata blits to transfer data from
system memory to video RAM, which should reduce CPU usage especially
    with larger videos. Can be disabled via Option "DMAForXv" if there
    should be any stability issues, but it's been stable for me during a
    week of testing. Based on a patch by Nikolaus Meine
    <meine@tnt.uni-hannover.de>. Probably fix endianness issues in some
    newer XVideo code, untested.
Also use hostdata blits to transfer RENDER image data to video RAM to avoid
    idling the accelerator engine. Increases RENDER performance
    significantly for me.
These changes were only tested on an M9 in a Titanium PowerBook but should
    work with all Radeons where direct rendering is supported.
2004-12-06 06:27:53 +00:00
Daniel Stone
960d15ae3a Disable interrupt handling after the DRM handler has been removed,
preventing lockups (closes: #1886).
Allow pitches with a granularity of 32, rather than 64, because some
    clamshell iBooks have 800-byte pitches. Change Xv allocation
    granularity to 8 bytes, rather than 16 bytes, also (closes: #1888).
2004-12-04 22:34:54 +00:00
Daniel Stone
4706dfb780 Retry CCE idle commands until the (higher) timeout is reached, and properly
stop the engine if we totally fail -- gets rid of serious performance
    issues and lockups with r128 DRI.
2004-12-04 22:24:06 +00:00
Markus Kuhn
bce508a288 Encoding of numerous files changed to UTF-8 2004-12-04 00:42:59 +00:00
Egbert Eich
e9c9fd279e Make Xorg the default server to install.
Avoid PIO access on IA64. Some IA64 machine check if legacy ports outside
    the VGA range are accessed. The ATi driver however does this to probe
    for ISA Mach8/32/64. Since no IA64 has ISA slots this restriction
    should not be relevant to the user.
Avoid recursive calls of xf86scanpci(). This function normally detects that
    it has been called before by checking if the PCI structure is filled
    out. So far if this was not the case (because PCI probing has failed
    for some reason) the function is traversed again. With the chipset
    specific PCI bus probing this can lead to an endless recursive loop as
    the post-probing code calls xf86scanpci() from within this function.
The OS specific PCI code for Linux worked only if bus 0 was populated as it
    checked for the presence of /proc/bus/pci/00. Fixed to check for
    /proc/bus/pci/<bus_to_look_for> instead.
2004-11-30 08:38:44 +00:00
Matthieu Herrb
fffbcb761c xc/programs/Xserver/hw/xfree86/driver/ati/radeon.man
xc/programs/Xserver/hw/xfree86/driver/voodoo/voodo.man
xc/programs/Xserver/hw/xfree86/driver/wsfb/wsfb.man XF86Config ->
    __xconfigfile__
2004-11-27 15:14:15 +00:00
Daniel Stone
ad6347d187 Use fp_horz_stretch instead of fp_vert_stretch for horizontal stretch
factor calculation in panel size derivation in the Radeon driver
    (closes: #1881).
2004-11-23 21:27:43 +00:00
Vladimir Dergachev
ac054e427c Add registers to facilitate work with stereo 3d. 2004-10-24 18:17:36 +00:00
Alex Deucher
445ed4b9b6 - make the overlay work on crtc2 again
- make PutVideo() MergedFB aware
2004-10-22 03:51:58 +00:00
Egbert Eich
54cffc3fe2 Fixing one of the infamous 'control reaches end of non void function
problems'.
2004-10-18 15:19:44 +00:00
Egbert Eich
7a97d36332 Made handling of DevelDrivers for x86-64 more conformant to other
platforms.
Compress all font encodings (Stefan Dirsch).
Fixed warnings.
Turn on forwarding XNSpotLocation event to XIM server in OffTheSpot and
    Root mode (bugzilla #1580, James Su).
Added another compose key combination for the Euro symbol (Stefan Dirsch).
Added support for UTF-8 in ja_JP, ko_KR and zh_TW locales (Mike Fabian).
Changed default encoding for ru from KOI8-R to ISO8859-5 (Mike Fabian).
    This is the encoding that is also used by glibc. We may break other
    libcs - lets see who complains.
Added explanation for DESTDIR to install to a different directory than /.
Added some early bailouts to atiprobe if PCI structure pointer is NULL to
    prevent sig11.
XV support doesn't depend on 2D acceleration any more. This patch removes
    this limitation from the NSC driver. This is a patch that I have
    committed to XFree86 a while ago but never ported over to X.Org.
    Matthieu Herrb contributed some build fixes.
Fixing SetDPMSTimers() so that DPMS*Time == 0 disables the appropriate
    timer. This takes advantage of the fact that TimerSet() with a timeout
    argument 0 behaves like TimerCanel().
Use /dev/xconsole (named pipe) or devpts for system logger (Werner Fink).
Create missing links for backward compatibility to XFree86 (Stefan Dirsch).
Changed comment to mention xorg.
Changed cursor for the 'kill' action from XC_draped_box to XC_Pirate. If
    you don't like it we can change it back (original author unkown).
Added 'pic' to the man page rendering command pipeline (Werner Fink).
Added missing return value (Stefan Dirsch, Roland Mainz)
2004-10-18 14:21:45 +00:00
Alex Deucher
c7ab340fec - Fix DFP detection in r128 driver (bug 1386, Klaus Kusche)
- Fix EmulateWheelInertia defaults (bug 1115, Andrew Pimlott)
2004-10-17 22:45:57 +00:00
Vladimir Dergachev
ace6e1b793 Modified:
xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c On my Inspiron
    8600 both internal and external ports are marked DAC_PRIMARY in BIOS.
    So be extra careful - only swap when the first port is not DAC_PRIMARY
2004-10-17 17:57:33 +00:00
Alex Deucher
22405e81b8 - Add Thomas' latest sis MergedFB enhancements to the radeon driver 2004-10-17 16:52:02 +00:00