From patchwork Sat Dec 8 18:08:09 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Damien Lespiau X-Patchwork-Id: 1853061 Return-Path: X-Original-To: patchwork-intel-gfx@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by patchwork1.kernel.org (Postfix) with ESMTP id C2F583FC8C for ; Sat, 8 Dec 2012 18:09:00 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C371AE5F19 for ; Sat, 8 Dec 2012 10:09:00 -0800 (PST) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mail-wi0-f173.google.com (mail-wi0-f173.google.com [209.85.212.173]) by gabe.freedesktop.org (Postfix) with ESMTP id 09A83E5C30 for ; Sat, 8 Dec 2012 10:08:22 -0800 (PST) Received: by mail-wi0-f173.google.com with SMTP id hn17so266723wib.12 for ; Sat, 08 Dec 2012 10:08:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id:x-mailer:in-reply-to:references; bh=psrruE0nRZ6PetPjKDLocNySRpqnfkVcEJtpjiLPK2s=; b=hcjXBADdDWLGQHjq7bisCWHzYk1hghkcffrRG6/lI4j8Si0iXt56xpu8hmGYw8eGFL kJ+e1I88w9HKu9oLPqF9aYdgLaHklkM/ZRCwRWEoptbnovw8WRMOYY5M3bzJDv5c8Ilc shMG8NKeHvb5R72sqinCgPnakBV1uGBYiCbC3R5fbah3NrFYSXP9iIKwXyy1HZTpm0Ob TevZuPoPJ01gcP+zdfIHXtkPQCV4EhsORNhlc2w+hxUmZ7NHsrYFx2EOMV5HGCBVig8j wEp99i2JXfEfrNWVPQIKZTp3Lq2gW2+W44khZD0XY6rJ6iIY+3dvvDoB+dcxCle7C8Mh OiKA== Received: by 10.216.144.28 with SMTP id m28mr3544552wej.154.1354990101963; Sat, 08 Dec 2012 10:08:21 -0800 (PST) Received: from dyon.config (46-65-39-123.zone16.bethere.co.uk. [46.65.39.123]) by mx.google.com with ESMTPS id y3sm3071920wix.6.2012.12.08.10.08.20 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 08 Dec 2012 10:08:21 -0800 (PST) From: Damien Lespiau To: intel-gfx@lists.freedesktop.org Date: Sat, 8 Dec 2012 18:08:09 +0000 Message-Id: <1354990091-9629-2-git-send-email-damien.lespiau@gmail.com> X-Mailer: git-send-email 1.7.7.5 In-Reply-To: <1354990091-9629-1-git-send-email-damien.lespiau@gmail.com> References: <1354990091-9629-1-git-send-email-damien.lespiau@gmail.com> Subject: [Intel-gfx] [PATCH 1/3] drm/i915: Introduce an IS_SDV() macro X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.13 Precedence: list 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+patchwork-intel-gfx=patchwork.kernel.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+patchwork-intel-gfx=patchwork.kernel.org@lists.freedesktop.org From: Damien Lespiau Not to have raw checks on the PCI ID in the code. Make lpt_init_pch_refclk() use it. Signed-off-by: Damien Lespiau --- drivers/gpu/drm/i915/i915_drv.h | 2 ++ drivers/gpu/drm/i915/intel_display.c | 16 ++++++---------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index a1885c3..70df0c4 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -1166,6 +1166,8 @@ struct drm_i915_file_private { #define IS_VALLEYVIEW(dev) (INTEL_INFO(dev)->is_valleyview) #define IS_HASWELL(dev) (INTEL_INFO(dev)->is_haswell) #define IS_MOBILE(dev) (INTEL_INFO(dev)->is_mobile) +#define IS_SDV(dev) (IS_HASWELL(dev) && \ + ((dev)->pci_device & 0xFF00) == 0x0C00) #define IS_ULT(dev) (IS_HASWELL(dev) && \ ((dev)->pci_device & 0xFF00) == 0x0A00) diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 6e6a143..9f5c1dc 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -4985,7 +4985,6 @@ static void lpt_init_pch_refclk(struct drm_device *dev) struct drm_mode_config *mode_config = &dev->mode_config; struct intel_encoder *encoder; bool has_vga = false; - bool is_sdv = false; u32 tmp; list_for_each_entry(encoder, &mode_config->encoder_list, base.head) { @@ -4999,9 +4998,6 @@ static void lpt_init_pch_refclk(struct drm_device *dev) if (!has_vga) return; - if (IS_HASWELL(dev) && (dev->pci_device & 0xFF00) == 0x0C00) - is_sdv = true; - tmp = intel_sbi_read(dev_priv, SBI_SSCCTL, SBI_ICLK); tmp &= ~SBI_SSCCTL_DISABLE; tmp |= SBI_SSCCTL_PATHALT; @@ -5013,7 +5009,7 @@ static void lpt_init_pch_refclk(struct drm_device *dev) tmp &= ~SBI_SSCCTL_PATHALT; intel_sbi_write(dev_priv, SBI_SSCCTL, tmp, SBI_ICLK); - if (!is_sdv) { + if (!IS_SDV(dev)) { tmp = I915_READ(SOUTH_CHICKEN2); tmp |= FDI_MPHY_IOSFSB_RESET_CTL; I915_WRITE(SOUTH_CHICKEN2, tmp); @@ -5037,14 +5033,14 @@ static void lpt_init_pch_refclk(struct drm_device *dev) tmp |= (0x12 << 24); intel_sbi_write(dev_priv, 0x8008, tmp, SBI_MPHY); - if (!is_sdv) { + if (!IS_SDV(dev)) { tmp = intel_sbi_read(dev_priv, 0x808C, SBI_MPHY); tmp &= ~(0x3 << 6); tmp |= (1 << 6) | (1 << 0); intel_sbi_write(dev_priv, 0x808C, tmp, SBI_MPHY); } - if (is_sdv) { + if (IS_SDV(dev)) { tmp = intel_sbi_read(dev_priv, 0x800C, SBI_MPHY); tmp |= 0x7FFF; intel_sbi_write(dev_priv, 0x800C, tmp, SBI_MPHY); @@ -5058,7 +5054,7 @@ static void lpt_init_pch_refclk(struct drm_device *dev) tmp |= (1 << 11); intel_sbi_write(dev_priv, 0x2108, tmp, SBI_MPHY); - if (is_sdv) { + if (IS_SDV(dev)) { tmp = intel_sbi_read(dev_priv, 0x2038, SBI_MPHY); tmp |= (0x3F << 24) | (0xF << 20) | (0xF << 16); intel_sbi_write(dev_priv, 0x2038, tmp, SBI_MPHY); @@ -5084,7 +5080,7 @@ static void lpt_init_pch_refclk(struct drm_device *dev) tmp |= (1 << 24) | (1 << 21) | (1 << 18); intel_sbi_write(dev_priv, 0x216C, tmp, SBI_MPHY); - if (!is_sdv) { + if (!IS_SDV(dev)) { tmp = intel_sbi_read(dev_priv, 0x2080, SBI_MPHY); tmp &= ~(7 << 13); tmp |= (5 << 13); @@ -5116,7 +5112,7 @@ static void lpt_init_pch_refclk(struct drm_device *dev) tmp |= (0x1C << 16); intel_sbi_write(dev_priv, 0x2198, tmp, SBI_MPHY); - if (!is_sdv) { + if (!IS_SDV(dev)) { tmp = intel_sbi_read(dev_priv, 0x20C4, SBI_MPHY); tmp |= (1 << 27); intel_sbi_write(dev_priv, 0x20C4, tmp, SBI_MPHY);