From patchwork Tue Nov 8 20:46:35 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Hooker X-Patchwork-Id: 124431 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from chlorine.canonical.com (chlorine.canonical.com [91.189.94.204]) by ozlabs.org (Postfix) with ESMTP id 838311007D7 for ; Wed, 9 Nov 2011 07:47:57 +1100 (EST) Received: from localhost ([127.0.0.1] helo=chlorine.canonical.com) by chlorine.canonical.com with esmtp (Exim 4.71) (envelope-from ) id 1RNsaB-0002ML-0i; Tue, 08 Nov 2011 20:47:47 +0000 Received: from mail-vx0-f177.google.com ([209.85.220.177]) by chlorine.canonical.com with esmtp (Exim 4.71) (envelope-from ) id 1RNsa8-0002Lr-Ey for kernel-team@lists.ubuntu.com; Tue, 08 Nov 2011 20:47:44 +0000 Received: by vcge1 with SMTP id e1so1027667vcg.8 for ; Tue, 08 Nov 2011 12:47:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=sender:from:to:subject:date:message-id:x-mailer:in-reply-to :references; bh=xxOjbPuBHFUoZsazqVU98kft/hQjnUCSm0Ug1vLrbr4=; b=dSoTObiOVYsXFXjhBv89d79ivfD3/7/jo0WbNyaBPjVT531jiH+j3rI0AgZjTUDG60 NZsU+aFZDnaSNw3T9z7ZFBEY54qVqpfUv9JNvCsLTVqEHL3uy8TfHmFrPGO3R+yVTRQZ 3Xwaxi5IdM8U6CXtbwNfjQCfcQozJGBnv4al8= Received: by 10.52.65.176 with SMTP id y16mr19700020vds.53.1320785263819; Tue, 08 Nov 2011 12:47:43 -0800 (PST) Received: from localhost.localdomain (c-68-34-39-96.hsd1.va.comcast.net. [68.34.39.96]) by mx.google.com with ESMTPS id l4sm4041458vdv.4.2011.11.08.12.47.38 (version=SSLv3 cipher=OTHER); Tue, 08 Nov 2011 12:47:42 -0800 (PST) From: Robert Hooker To: kernel-team@lists.ubuntu.com Subject: [PATCH oneiric] drm/i915: enable ring freq scaling, RC6 and graphics turbo on Ivy Bridge v3 Date: Tue, 8 Nov 2011 15:46:35 -0500 Message-Id: <1320785195-9280-2-git-send-email-sarvatt@ubuntu.com> X-Mailer: git-send-email 1.7.5.4 In-Reply-To: <1320785195-9280-1-git-send-email-sarvatt@ubuntu.com> References: <1320785195-9280-1-git-send-email-sarvatt@ubuntu.com> X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.13 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: kernel-team-bounces@lists.ubuntu.com Errors-To: kernel-team-bounces@lists.ubuntu.com From: Jesse Barnes They use the same register interfaces, so we can simply enable the existing code on IVB. v2: - resolve conflict with ring freq scaling, we can enable it too v3: - resolve conflict again, this time on drm-intel-next Signed-off-by: Jesse Barnes Signed-off-by: Keith Packard Upstream commit 1c70c0cebd1295a42fec75045b8a6b4419cedef3 Backported to 3.0.x, ring freq scaling isn't available there. Signed-off-by: Robert Hooker Acked-by: Leann Ogasawara --- drivers/gpu/drm/i915/i915_debugfs.c | 2 +- drivers/gpu/drm/i915/intel_display.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index 0a893f7..e36efdc 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c @@ -865,7 +865,7 @@ static int i915_cur_delayinfo(struct seq_file *m, void *unused) MEMSTAT_VID_SHIFT); seq_printf(m, "Current P-state: %d\n", (rgvstat & MEMSTAT_PSTATE_MASK) >> MEMSTAT_PSTATE_SHIFT); - } else if (IS_GEN6(dev)) { + } else if (IS_GEN6(dev) || IS_GEN7(dev)) { u32 gt_perf_status = I915_READ(GEN6_GT_PERF_STATUS); u32 rp_state_limits = I915_READ(GEN6_RP_STATE_LIMITS); u32 rp_state_cap = I915_READ(GEN6_RP_STATE_CAP); diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index e917c7b..2a7a64c 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -7941,7 +7941,7 @@ void intel_modeset_init(struct drm_device *dev) intel_init_emon(dev); } - if (IS_GEN6(dev)) + if (IS_GEN6(dev) || IS_GEN7(dev)) gen6_enable_rps(dev_priv); INIT_WORK(&dev_priv->idle_work, intel_idle_update); @@ -7983,7 +7983,7 @@ void intel_modeset_cleanup(struct drm_device *dev) if (IS_IRONLAKE_M(dev)) ironlake_disable_drps(dev); - if (IS_GEN6(dev)) + if (IS_GEN6(dev) || IS_GEN7(dev)) gen6_disable_rps(dev); if (IS_IRONLAKE_M(dev))