From patchwork Thu Sep 3 01:30:06 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhenyu Wang X-Patchwork-Id: 45285 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n831UAcX009962 for ; Thu, 3 Sep 2009 01:30:10 GMT Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2E1979F7A0; Wed, 2 Sep 2009 18:30:10 -0700 (PDT) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id D563E9E76D for ; Wed, 2 Sep 2009 18:30:08 -0700 (PDT) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP; 02 Sep 2009 18:15:29 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.44,321,1249282800"; d="asc'?scan'208";a="445134407" Received: from zhen-devel.sh.intel.com (HELO zhen-devel) ([10.239.13.150]) by orsmga002.jf.intel.com with ESMTP; 02 Sep 2009 18:36:22 -0700 Date: Thu, 3 Sep 2009 09:30:06 +0800 From: Zhenyu Wang To: ykzhao Message-ID: <20090903013006.GA8437@zhen-devel.sh.intel.com> Mail-Followup-To: ykzhao , "jbarnes@virtuousgeek.org" , "intel-gfx@lists.freedesktop.org" References: <1251908825-3477-1-git-send-email-zhenyuw@linux.intel.com> <1251884061.3623.208.camel@localhost.localdomain> MIME-Version: 1.0 In-Reply-To: <1251884061.3623.208.camel@localhost.localdomain> User-Agent: Mutt/1.5.20 (2009-06-14) Cc: "intel-gfx@lists.freedesktop.org" Subject: Re: [Intel-gfx] [PATCH] drm/i915: do dynamic clock freq control only in kernel modesetting X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.9 Precedence: list Reply-To: Zhenyu Wang List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Mime-version: 1.0 Sender: intel-gfx-bounces@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org On 2009.09.02 17:34:21 +0800, ykzhao wrote: > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > > index 6a58e1d..81ba1a2 100644 > > --- a/drivers/gpu/drm/i915/intel_display.c > > +++ b/drivers/gpu/drm/i915/intel_display.c > > @@ -3418,6 +3418,9 @@ static void intel_idle_update(struct work_struct *work) > > intel_decrease_displayclock(dev); > > } > > > > + if (!drm_core_check_feature(dev, DRIVER_MODESET)) > > + return; > > + > Is this required? > This function is never called if the KMS is disabled. oh, yeah, I was thinking even if KMS is not active, we might still be able to adjust render clock, not read the code carefully. > > list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { > > /* Skip inactive CRTCs */ > > if (!crtc->fb) > > @@ -3451,6 +3454,9 @@ void intel_mark_busy(struct drm_device *dev, struct drm_gem_object *obj) > > dev_priv->busy = true; > > intel_increase_renderclock(dev, true); > > > > + if (!drm_core_check_feature(dev, DRIVER_MODESET)) > > + return; > > + > Should this be moved before increasing the render clock? > In the UMS mode we had better not touch the render clock. As we actually can't do any help if KMS is disabled, maybe simply do as below is enough. From b9feb67eda98ca53521b63f92840cf7ab1320701 Mon Sep 17 00:00:00 2001 From: Zhenyu Wang Date: Thu, 3 Sep 2009 09:27:23 +0800 Subject: [PATCH] drm/i915: don't try dynamic clock control when not in kernel modesetting Signed-off-by: Zhenyu Wang --- drivers/gpu/drm/i915/intel_display.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index c4b17a7..e6ea590 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -3448,6 +3448,9 @@ void intel_mark_busy(struct drm_device *dev, struct drm_gem_object *obj) struct intel_framebuffer *intel_fb; struct intel_crtc *intel_crtc; + if (!drm_core_check_feature(dev, DRIVER_MODESET)) + return; + dev_priv->busy = true; intel_increase_renderclock(dev, true);