Age | Commit message (Collapse) | Author |
|
Corresponding to up to six CRTCs being available in the hardware.
(Ported from amdgpu commit c9d43c1deb9a9cfc41a8d6439caf46d12d220853)
|
|
xserver 1.13.0 was released on September 6th, 2012, almost 5 years ago.
This allows cleaning up a bunch of backwards compatibility code.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
|
|
Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
(ported from amdgpu commit ea558e645786b08d75307716036045170e97b43e)
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
[ Second attempt, let's see if there's any fallout this time... ]
|
|
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
|
Fixes misbehaviour when hotplugging DisplayPort connectors on secondary
GPUs.
Fixes: c801f9f10a5d ("Handle Zaphod mode correctly in radeon_mode_hotplug")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98626
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
|
This reverts commit cd94248ffa7d8fe0b57476f79e7e860dee66d1b0.
It broke VDPAU<->GL interop with DRI3 enabled, because the Gallium VDPAU
code doesn't support DRI3 yet. We can consider re-enabling this once
there is a Mesa release where the Gallium VDPAU code supports DRI3.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94675
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
|
Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
(ported from amdgpu commit ea558e645786b08d75307716036045170e97b43e)
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
|
Some of these were set, some of them were
always opposites, so clean things up.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Defining multiple ZaphodHead outputs per x-screen in a
multiple x-screen's per gpu configuration caused all
outputs except one per x-screen to go dark, because
there was a fixed mapping x-screen number -> crtc number,
limiting the number of crtc's per x-screen to one.
On a ZaphodHead's setup, be more clever and assign
as many crtc's to a given x-screen as there are
ZaphodHeads defined for that screen, assuming
there are enough unused crtc's available.
Tested on a triple display setup with different combos
of one, two or three ZaphodHeads per one, two or three
x-screens.
This is a port of similar code from xf86-video-nouveau.
v2: Implement suggestions by Michel Dänzer: Less verbose
debug output, more clear warning message on crtc allocation
failure. Move clearing of per gpu assigned_crtc mask to
CloseScreen, indeed testing shows no need for the more
complex new server generation check from v1.
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
(v1) Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
|
|
Signed-off-by: Samuel Li <samuel.li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
|
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
Disabled by default until the acceleration code stablizes.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
|
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=60182
Acked-by: Alex Deucher <alexander.deucher@amd.com>
|
|
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
|
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
|
Oops, turns out my previous commits were buggy.
Adding proper refcounts will handle this correctly.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
|
|
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
|
Defaults to shadowfb. 3D acceleration is available with glamor. 2D
acceleration is disabled until the radeonsi driver can handle glamor's
shaders.
v2: add chip flags (Alex Deucher)
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
|
This helps make a few more things static and the driver generally
smaller.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
This overhauls the radeon driver and removes all the old UMS-only code,
it drops all the UMS, DRI1, XAA, overlay Xv, video capture, tv tuners
There are probably a lot more cleanups that will fall out of this afterwards.
So far this is compile/build tested.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
This updates the compat stuff for the latest block handler code,
and the enable/disable interface.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
|
|
- KMS only
- Includes full EXA/Xv support
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Fixes hang when trying to use DRI2 swap scheduling after a server reset.
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Tested-by: Christian König <Christian.koenig@amd.com>
|
|
The reintroduction of palette save/restore in 5efdf514 causes some
pre-AVIVO chips to lock up. An investigation revealed that accessing
palette registers when the associated PLL is not running is causing
this. With UMS the PLL setup that is saved has been done by the BIOS
typically.
A similar issue was observed when VGA palette save/restore had
been reinitroduced with 80eee856:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=480312
and has been worked around for Linux without further investigation
by 87e66ce7.
To fix the issue we now
a. introduce 'on-demand' palette saving (ie the palette is
saved before it is first altered). This guarantees that
the palette register are only associated when the associated
CRTC is active and thus the PLLs are powered up and running.
b. move palette restore before PLL restore.
c. eliminate generic VGA palette save/restore which seems to be
unneeded when the palette is restored natively.
It is believed that this caused the behavior described in
https://bugs.freedesktop.org/show_bug.cgi?id=18407#c27
Signed-off-by: Egbert Eich <eich@freedesktop.org>
Reviewed-by: Alex Deucher <alexdeucher@gmail.com>
|
|
For GPU not supported by UMS, test in probe so that we properly
fallback to vesa.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
|
add in lots more blocks of regs to save/restore
|
|
This isn't perfect, but it brings back text VTs here on the
DAC and DVI outputs.
|
|
this is just prep work for evergreen VT save/restore
|
|
This lets multi-screen work better, but still having issues after server
recycle, but it doesn't crash at least.
|
|
should fix https://bugs.freedesktop.org/show_bug.cgi?id=29726
the problem is of course the second head instance tries to access the
fd and fails, however I think this might break syncing on the second
head but not sure, but its better than just hanging up the X server
|
|
Pointed out by compiler warnings.
https://bugs.freedesktop.org/show_bug.cgi?id=27817
|
|
With MMIO it wasn't *such* a bit deal if we leaked the smallish mapping.
with FB it could be a larger deal. So instead of worrying about this,
reference count the mappings in the entity structure and unmap them when
no one cares anymore.
Prompted by a discussion with airlied
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
What we were doing previously was mapping the framebuffer for zaphod for
only this driver instances chunk, however, fbOffset was (rightly) set to
the offset into the whole framebuffer we were using.
Since in some cases we did operations on the FB virtual address +
fbOffset (for example zeroing the framebuffer on entervt) we were
actually pissing all over ourselves in those cases.
Fix this by implementing shared fb mappings like we do for MMIO already,
and whenever we wish to refer to our area of FB space we always use
fbOffset. Fixes zaphod for some users on r600 chipsets, my 4870 is still
behaving strangely on screen 0, but I suspect that is another bug.
Once calculation (in PreInitAccel) is now wrong because of this, however
dri on zaphod does now happen so this is irrelavent, add a comment to
that effect.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
tv-out on atom systems is very particular about it's
dividers. force it to use the old algo.
Should fix fdo bug 27593.
|
|
|
|
analog is already supported by the existing code.
|
|
|
|
- switch the var name to dig_encoder
- quiet coherent messages
- clean up dig encoder selection
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Should fix fdo bug 25931
|
|
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
|
|
Generally this is done at post, but might not always
be done with softboot or for connectors on docking
stations.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Allows you to specify an edid per output from a file
to override what is detected by DDC. Useful for
problematic monitors or KVM switches that block
DDC. Specifying an EDID that is not compatible with
your monitor could damage your monitor so use with
caution.
agd5f: cache the custom edid at startup so we don't
have to read it from file every time the output is
queried.
|
|
this thing can be rendering to VRAM when we don't expect it.
turn it off.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
This adds DRI2 + KMS + driver pixmaps support to the driver.
I've decided to just do a completely separate KMS driver file
instead of hacking the crap out of radeon_driver.c. So now
I do the KMS check in radeon_probe.c time and set the DDX
pointed up to a completely different set at this stage.
This avoids a lot of if (kms) type crap in the code at
the expense of making sure we make changes to both files
if necessary.
This code is still disabled in configure.ac as I broke EXA composite
rendering somehow in KMS mode
|
|
Don't have to leave both cursors enabled, just have to use
the same mode for both cursors whether or not they are enabled.
|