From mboxrd@z Thu Jan 1 00:00:00 1970 From: sourab.gupta@intel.com Subject: [PATCH 2/3] drm/i915: Default to mmio flips on VLV Date: Tue, 20 May 2014 16:19:47 +0530 Message-ID: <1400582988-28602-3-git-send-email-sourab.gupta@intel.com> References: <1400582988-28602-1-git-send-email-sourab.gupta@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 172086E74D for ; Tue, 20 May 2014 03:49:14 -0700 (PDT) In-Reply-To: <1400582988-28602-1-git-send-email-sourab.gupta@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Akash Goel , Sourab Gupta List-Id: intel-gfx@lists.freedesktop.org From: Sourab Gupta This patch is for using mmio flips by default on VLV. The module parameter controlling use of MMIO flips allows us to control the default behaviour, which is set true for VLV and false elsewhere. Signed-off-by: Sourab Gupta --- drivers/gpu/drm/i915/i915_params.c | 5 +++-- drivers/gpu/drm/i915/intel_display.c | 12 +++++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c index e0d44df..a99accc 100644 --- a/drivers/gpu/drm/i915/i915_params.c +++ b/drivers/gpu/drm/i915/i915_params.c @@ -48,7 +48,7 @@ struct i915_params i915 __read_mostly = { .disable_display = 0, .enable_cmd_parser = 1, .disable_vtd_wa = 0, - .use_mmio_flip = 0, + .use_mmio_flip = -1, }; module_param_named(modeset, i915.modeset, int, 0400); @@ -159,4 +159,5 @@ MODULE_PARM_DESC(enable_cmd_parser, "Enable command parsing (1=enabled [default], 0=disabled)"); module_param_named(use_mmio_flip, i915.use_mmio_flip, bool, 0600); -MODULE_PARM_DESC(use_mmio_flip, "use MMIO flips (default: false)"); +MODULE_PARM_DESC(use_mmio_flip, "use MMIO page flips " + "(default: -1 (use per-chip default))"); diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index d8bc30b..21f1fa5 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -9043,10 +9043,20 @@ static bool intel_use_mmio_flip(struct drm_device *dev) * Otherwise, use MMIO flips starting from Gen5. * This is not being used for older platforms because of * non-availability of flip done interrupt. + * On Valleyview, use MMIO flips by default, for Media Power Well + * residency optimization. The other alternative of having Render + * ring based flip calls is not being used, as the performance(FPS) + * of certain 3D Apps gets severly affected. */ + if (i915.use_mmio_flip == 0) return false; - + if (i915.use_mmio_flip == -1) { + if(IS_VALLEYVIEW(dev)) + return true; + else + return false; + } if (INTEL_INFO(dev)->gen >= 5) return true; else -- 1.8.5.1