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