From patchwork Mon Jan 10 17:23:49 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Deucher X-Patchwork-Id: 469291 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id p0AHOA3q017218 for ; Mon, 10 Jan 2011 17:24:32 GMT Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id EB14D9E925 for ; Mon, 10 Jan 2011 09:24:09 -0800 (PST) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-qw0-f49.google.com (mail-qw0-f49.google.com [209.85.216.49]) by gabe.freedesktop.org (Postfix) with ESMTP id 6F1039E77A for ; Mon, 10 Jan 2011 09:23:59 -0800 (PST) Received: by qwj9 with SMTP id 9so19904087qwj.36 for ; Mon, 10 Jan 2011 09:23:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:cc:subject:date :message-id:x-mailer; bh=y66n7RqUSGvfTdhnXVMX2TT0zVwUF1Ca1qi8Lucv4DY=; b=dws0h81dcclfFwo/g9ugVwh2tk6YWvwDGDByUj9rvD3v7bPCVg9yHylOGN3Neq94Dc I8+8xDiwjbRaX2OdNJn1HbzJLmVVFdU9awr5oHLI9KVx1SO9Lp4mcB5zr7ZAwRMNAC36 oeKBqgR6yJQp6TciM+x174mlkEX2Kj0fHrZCw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer; b=paYDTinVYMhXvZ92le+IAqd7uFxw/4fsQTljXqLKZ5zF4vkSg5wsJorbxPaNTGxIkq oP+j2O2ssDqWRR76DH6z4+2yQQmcePyJwTZDfcbh+adqAGQ9113m6MazdGiuw0BPs4e6 3R7CneOyAf/j8//mRpNW0d1zC1EKILfPK+yyQ= Received: by 10.224.19.198 with SMTP id c6mr26872802qab.197.1294680238773; Mon, 10 Jan 2011 09:23:58 -0800 (PST) Received: from localhost.localdomain (static-74-96-105-7.washdc.fios.verizon.net [74.96.105.7]) by mx.google.com with ESMTPS id m14sm17593305qcu.32.2011.01.10.09.23.57 (version=SSLv3 cipher=RC4-MD5); Mon, 10 Jan 2011 09:23:57 -0800 (PST) From: Alex Deucher To: airlied@gmail.com, dri-devel@lists.freedesktop.org Subject: [PATCH 1/2] drm/radeon/kms: add new PREFER_CLOSEST_HIGHER pll flag Date: Mon, 10 Jan 2011 12:23:49 -0500 Message-Id: <1294680230-14970-1-git-send-email-alexdeucher@gmail.com> X-Mailer: git-send-email 1.7.1.1 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: dri-devel-bounces+patchwork-dri-devel=patchwork.kernel.org@lists.freedesktop.org Errors-To: dri-devel-bounces+patchwork-dri-devel=patchwork.kernel.org@lists.freedesktop.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter1.kernel.org [140.211.167.41]); Mon, 10 Jan 2011 17:24:32 +0000 (UTC) diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c index 5c9451e..0eae4a4 100644 --- a/drivers/gpu/drm/radeon/radeon_display.c +++ b/drivers/gpu/drm/radeon/radeon_display.c @@ -908,6 +908,11 @@ void radeon_compute_pll(struct radeon_pll *pll, error = 0xffffffff; else error = freq - current_freq; + } else if (pll->flags & RADEON_PLL_PREFER_CLOSEST_HIGHER) { + if (freq > current_freq) + error = 0xffffffff; + else + error = current_freq - freq; } else error = abs(current_freq - freq); vco_diff = abs(vco - best_vco); diff --git a/drivers/gpu/drm/radeon/radeon_mode.h b/drivers/gpu/drm/radeon/radeon_mode.h index 162f36b..6b92dec 100644 --- a/drivers/gpu/drm/radeon/radeon_mode.h +++ b/drivers/gpu/drm/radeon/radeon_mode.h @@ -147,8 +147,9 @@ struct radeon_tmds_pll { #define RADEON_PLL_PREFER_HIGH_POST_DIV (1 << 9) #define RADEON_PLL_USE_FRAC_FB_DIV (1 << 10) #define RADEON_PLL_PREFER_CLOSEST_LOWER (1 << 11) -#define RADEON_PLL_USE_POST_DIV (1 << 12) -#define RADEON_PLL_IS_LCD (1 << 13) +#define RADEON_PLL_PREFER_CLOSEST_HIGHER (1 << 12) +#define RADEON_PLL_USE_POST_DIV (1 << 13) +#define RADEON_PLL_IS_LCD (1 << 14) struct radeon_pll { /* reference frequency */