Accepting request 254107 from X11:XOrg
1 OBS-URL: https://build.opensuse.org/request/show/254107 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xf86-video-ati?expand=0&rev=20
This commit is contained in:
commit
d44cf2f691
@ -1,78 +0,0 @@
|
||||
From c4ae0e2cbcc0e2ebf9f13ee92d59b5120254a1dc Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@amd.com>
|
||||
Date: Mon, 30 Jun 2014 10:20:12 +0900
|
||||
Subject: [PATCH] Handle CRTC DPMS from output DPMS hooks
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This fixes at least two issues:
|
||||
|
||||
The CRTC DPMS hook isn't called after a modeset, so the vertical blank
|
||||
interrupt emulation code considered the CRTC disabled after a modeset. As
|
||||
a side effect, page flipping was no longer used after a modeset.
|
||||
|
||||
This change also makes sure the vertical blank interrupt emulation code
|
||||
runs before the hardware CRTC is disabled and after it's enabled from the
|
||||
output DPMS hook. The wrong order could cause gnome-shell to hang after
|
||||
a suspend/resume and/or DPMS off/on cycle.
|
||||
|
||||
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
|
||||
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
||||
---
|
||||
src/drmmode_display.c | 16 ++++++++++++++--
|
||||
1 file changed, 14 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
|
||||
index bd8e701..c366203 100644
|
||||
--- a/src/drmmode_display.c
|
||||
+++ b/src/drmmode_display.c
|
||||
@@ -247,7 +247,7 @@ int drmmode_get_current_ust(int drm_fd, CARD64 *ust)
|
||||
}
|
||||
|
||||
static void
|
||||
-drmmode_crtc_dpms(xf86CrtcPtr crtc, int mode)
|
||||
+drmmode_do_crtc_dpms(xf86CrtcPtr crtc, int mode)
|
||||
{
|
||||
drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
|
||||
ScrnInfoPtr scrn = crtc->scrn;
|
||||
@@ -308,6 +308,12 @@ drmmode_crtc_dpms(xf86CrtcPtr crtc, int mode)
|
||||
drmmode_crtc->dpms_mode = mode;
|
||||
}
|
||||
|
||||
+static void
|
||||
+drmmode_crtc_dpms(xf86CrtcPtr crtc, int mode)
|
||||
+{
|
||||
+ /* Nothing to do. drmmode_do_crtc_dpms() is called as appropriate */
|
||||
+}
|
||||
+
|
||||
static PixmapPtr
|
||||
create_pixmap_for_fbcon(drmmode_ptr drmmode,
|
||||
ScrnInfoPtr pScrn, int fbcon_id)
|
||||
@@ -973,9 +979,14 @@ drmmode_output_dpms(xf86OutputPtr output, int mode)
|
||||
drmModeConnectorPtr koutput = drmmode_output->mode_output;
|
||||
drmmode_ptr drmmode = drmmode_output->drmmode;
|
||||
|
||||
+ if (mode != DPMSModeOn && output->crtc)
|
||||
+ drmmode_do_crtc_dpms(output->crtc, mode);
|
||||
+
|
||||
drmModeConnectorSetProperty(drmmode->fd, koutput->connector_id,
|
||||
drmmode_output->dpms_enum_id, mode);
|
||||
- return;
|
||||
+
|
||||
+ if (mode == DPMSModeOn && output->crtc)
|
||||
+ drmmode_do_crtc_dpms(output->crtc, mode);
|
||||
}
|
||||
|
||||
|
||||
@@ -1833,6 +1844,7 @@ Bool drmmode_set_desired_modes(ScrnInfoPtr pScrn, drmmode_ptr drmmode)
|
||||
|
||||
/* Skip disabled CRTCs */
|
||||
if (!crtc->enabled) {
|
||||
+ drmmode_do_crtc_dpms(crtc, DPMSModeOff);
|
||||
drmModeSetCrtc(drmmode->fd, drmmode_crtc->mode_crtc->crtc_id,
|
||||
0, 0, 0, NULL, 0, NULL);
|
||||
continue;
|
||||
--
|
||||
1.8.4.5
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:96230ca9859a2a3e347b7f37597b7b344e80b83f378d3a8463ab1ceb69df76d9
|
||||
size 832763
|
3
xf86-video-ati-7.5.0.tar.bz2
Normal file
3
xf86-video-ati-7.5.0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ec3e6f06b6cf9a40c72aafa3448aae8b034c80b37410ca9442d5cf6806e07936
|
||||
size 809756
|
@ -1,3 +1,25 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 3 16:33:15 UTC 2014 - tobias.johannes.klausmann@mni.thm.de
|
||||
|
||||
- Update to version 7.5.0:
|
||||
+ radeon: enable hawaii accel conditionally (v3)
|
||||
+ radeon: fix warnings when building against older xservers
|
||||
+ radeon/kms: add new CIK pci ids
|
||||
+ radeon/kms: add new SI pci ids
|
||||
+ radeon/kms: fix mullins pci id
|
||||
+ radeon: require libdrm_radeon 2.4.58 for latest SI/CI pci ids
|
||||
+ radeon: drop redundant radeon_drm.h includes
|
||||
+ radeon: move RADEON_TILING_{MASK, LINEAR} from radeon_drm.h to radeon.h
|
||||
+ radeon: drop radeon_drm.h
|
||||
+ radeon: remove definitions already present in radeon_drm.h
|
||||
+ glamor.hfigure: Include xorg-server.h before
|
||||
+ Handle CRTC DPMS from output DPMS hooks
|
||||
+ Add Emacs .dir-local.el file
|
||||
+ radeon: fix a leak in radeon_vbo_get_bo()
|
||||
+ radeon: fix build warnings regarding const qualifier
|
||||
- Remove upstream patch:
|
||||
U_Handle-CRTC-DPMS-from-output-DPMS-hooks.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 12 08:49:31 UTC 2014 - sndirsch@suse.com
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
||||
%define xserver_glamor 1
|
||||
|
||||
Name: xf86-video-ati
|
||||
Version: 7.4.0
|
||||
Version: 7.5.0
|
||||
Release: 0
|
||||
Summary: ATI video driver for the Xorg X server
|
||||
License: MIT
|
||||
@ -27,7 +27,6 @@ Group: System/X11/Servers/XF86_4
|
||||
Url: http://xorg.freedesktop.org/
|
||||
#http://xorg.freedesktop.org/releases/individual/driver/
|
||||
Source0: %{name}-%{version}.tar.bz2
|
||||
Patch0: U_Handle-CRTC-DPMS-from-output-DPMS-hooks.patch
|
||||
|
||||
BuildRequires: Mesa-devel
|
||||
BuildRequires: autoconf >= 2.60
|
||||
@ -36,12 +35,12 @@ BuildRequires: libtool
|
||||
BuildRequires: pkg-config
|
||||
BuildRequires: pkgconfig(fontsproto)
|
||||
# Libdrm 2.4.36 needed for kms
|
||||
BuildRequires: pkgconfig(libdrm) >= 2.4.36
|
||||
BuildRequires: pkgconfig(libdrm) >= 2.4.58
|
||||
# Glamor is new and we want that now
|
||||
%if !%xserver_glamor
|
||||
BuildRequires: pkgconfig(glamor) >= 0.3.1
|
||||
%endif
|
||||
BuildRequires: pkgconfig(libdrm_radeon) >= 2.4.36
|
||||
BuildRequires: pkgconfig(libdrm_radeon) >= 2.4.58
|
||||
BuildRequires: pkgconfig(libudev)
|
||||
BuildRequires: pkgconfig(pciaccess) >= 0.8.0
|
||||
BuildRequires: pkgconfig(randrproto)
|
||||
@ -69,7 +68,6 @@ driver as appropriate.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
|
||||
%build
|
||||
autoreconf -fi
|
||||
|
Loading…
x
Reference in New Issue
Block a user