xf86-video-ati: Branch 'master' - 3 commits

Dave Airlie airlied at kemper.freedesktop.org
Wed Aug 11 18:20:27 PDT 2010


 src/atombios_output.c |    7 ++++++-
 src/radeon_cursor.c   |    9 +++++++--
 src/radeon_output.c   |    4 ----
 3 files changed, 13 insertions(+), 7 deletions(-)

New commits:
commit 5a9865d90c23c4ce0f46d380ea9119eac87a99eb
Author: Dave Airlie <airlied at redhat.com>
Date:   Thu Aug 12 11:18:06 2010 +1000

    evergreen: fix multi-head cursor support

diff --git a/src/radeon_cursor.c b/src/radeon_cursor.c
index 538c8b2..8eff9d1 100644
--- a/src/radeon_cursor.c
+++ b/src/radeon_cursor.c
@@ -225,7 +225,7 @@ radeon_crtc_hide_cursor (xf86CrtcPtr crtc)
     if (IS_DCE4_VARIANT) {
 	evergreen_lock_cursor(crtc, TRUE);
 	evergreen_setup_cursor(crtc, FALSE);
-	evergreen_lock_cursor(crtc, TRUE);
+	evergreen_lock_cursor(crtc, FALSE);
     } else if (IS_AVIVO_VARIANT) {
 	avivo_lock_cursor(crtc, TRUE);
 	avivo_setup_cursor(crtc, FALSE);
@@ -265,7 +265,12 @@ radeon_crtc_set_cursor_position (xf86CrtcPtr crtc, int x, int y)
     if (yorigin >= CURSOR_HEIGHT) yorigin = CURSOR_HEIGHT - 1;
 
     if (IS_DCE4_VARIANT) {
-	/* XXX - does evergreen need a similar hack as below? */
+	/* avivo cursor spans the full fb width */
+	if (crtc->rotatedData == NULL) {
+	    x += crtc->x;
+	    y += crtc->y;
+	}
+
 	evergreen_lock_cursor(crtc, TRUE);
 	OUTREG(EVERGREEN_CUR_POSITION + radeon_crtc->crtc_offset, ((xorigin ? 0 : x) << 16)
 	       | (yorigin ? 0 : y));
commit 8351bb9f085fde5dc47b115375efcc61adc23859
Author: Dave Airlie <airlied at redhat.com>
Date:   Tue Aug 10 15:05:45 2010 +1000

    radeon: take 8/10 encoding into a/c on displayport link

diff --git a/src/atombios_output.c b/src/atombios_output.c
index 8d640be..da76683 100644
--- a/src/atombios_output.c
+++ b/src/atombios_output.c
@@ -2547,6 +2547,11 @@ static int radeon_dp_link_required(int pixel_clock)
     return pixel_clock * 3;
 }
 
+static int link_bw_avail(int max_link_clock, int max_lanes)
+{
+    return (max_link_clock * max_lanes * 8) / 10;
+}
+
 Bool radeon_dp_mode_fixup(xf86OutputPtr output, DisplayModePtr mode, DisplayModePtr adjusted_mode)
 {
     RADEONOutputPrivatePtr radeon_output = output->driver_private;
@@ -2557,7 +2562,7 @@ Bool radeon_dp_mode_fixup(xf86OutputPtr output, DisplayModePtr mode, DisplayMode
 
     for (lane_count = 1; lane_count <= max_lane_count; lane_count <<= 1) {
 	for (clock = 0; clock <= max_clock; clock++) {
-	    int link_avail = radeon_dp_link_clock(bws[clock]) * lane_count;
+	    int link_avail = link_bw_avail(radeon_dp_link_clock(bws[clock]), lane_count);
 
 	    if (radeon_dp_link_required(mode->Clock) <= link_avail) {
 		radeon_output->dp_lane_count = lane_count;
commit b91e0efcb24eea32e6978c146c5409eeeeac0a62
Author: Dave Airlie <airlied at redhat.com>
Date:   Tue Aug 10 15:05:25 2010 +1000

    dce32: remove rmx workaround

diff --git a/src/radeon_output.c b/src/radeon_output.c
index 42aa3ca..a0a682f 100644
--- a/src/radeon_output.c
+++ b/src/radeon_output.c
@@ -2103,10 +2103,6 @@ void RADEONInitConnector(xf86OutputPtr output)
     else
 	radeon_output->rmx_type = RMX_OFF;
 
-    /* dce 3.2 chips have problems with low dot clocks, so use the scaler */
-    if (IS_DCE32_VARIANT && (radeon_output->devices & (ATOM_DEVICE_DFP_SUPPORT)))
-	radeon_output->rmx_type = RMX_FULL;
-
     if (!IS_AVIVO_VARIANT) {
 	if (radeon_output->devices & (ATOM_DEVICE_CRT2_SUPPORT)) {
 	    if (xf86ReturnOptValBool(info->Options, OPTION_TVDAC_LOAD_DETECT, FALSE))


More information about the xorg-commit mailing list