All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: intel-gfx@lists.freedesktop.org
Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>
Subject: [PATCH 02/13] drm/i915/cnp: Add PCI ID for Cannonpoint LP PCH
Date: Tue, 30 May 2017 15:42:52 -0700	[thread overview]
Message-ID: <1496184183-30740-2-git-send-email-rodrigo.vivi@intel.com> (raw)
In-Reply-To: <1496184183-30740-1-git-send-email-rodrigo.vivi@intel.com>

From: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>

The first two bytes of PCI ID for CNP_LP PCH are the same as that of
SPT_LP. We should really be looking at the first 9 bits instead of the
first 8 to identify platforms, although this seems to have not caused any
problems on earlier platforms. Introduce a 9 bit extended mask for SPT and
CNP while not touching the code for any of the other platforms.

v2: (Rodrigo) Make platform agnostic and fix commit message.

Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Anusha Srivatsa <anusha.srivatsa@intel.com>
---
 drivers/gpu/drm/i915/i915_drv.c | 8 +++++++-
 drivers/gpu/drm/i915/i915_drv.h | 4 ++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 9e4c13e..90b646c 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -170,6 +170,9 @@ static void intel_detect_pch(struct drm_i915_private *dev_priv)
 	while ((pch = pci_get_class(PCI_CLASS_BRIDGE_ISA << 8, pch))) {
 		if (pch->vendor == PCI_VENDOR_ID_INTEL) {
 			unsigned short id = pch->device & INTEL_PCH_DEVICE_ID_MASK;
+			unsigned short id_ext = pch->device &
+				INTEL_PCH_DEVICE_ID_MASK_EXT;
+
 			dev_priv->pch_id = id;
 
 			if (id == INTEL_PCH_IBX_DEVICE_ID_TYPE) {
@@ -206,7 +209,7 @@ static void intel_detect_pch(struct drm_i915_private *dev_priv)
 				DRM_DEBUG_KMS("Found SunrisePoint PCH\n");
 				WARN_ON(!IS_SKYLAKE(dev_priv) &&
 					!IS_KABYLAKE(dev_priv));
-			} else if (id == INTEL_PCH_SPT_LP_DEVICE_ID_TYPE) {
+			} else if (id_ext == INTEL_PCH_SPT_LP_DEVICE_ID_TYPE) {
 				dev_priv->pch_type = PCH_SPT;
 				DRM_DEBUG_KMS("Found SunrisePoint LP PCH\n");
 				WARN_ON(!IS_SKYLAKE(dev_priv) &&
@@ -219,6 +222,9 @@ static void intel_detect_pch(struct drm_i915_private *dev_priv)
 			} else if (id == INTEL_PCH_CNP_DEVICE_ID_TYPE) {
 				dev_priv->pch_type = PCH_CNP;
 				DRM_DEBUG_KMS("Found CannonPoint PCH\n");
+			} else if (id_ext == INTEL_PCH_CNP_LP_DEVICE_ID_TYPE) {
+				dev_priv->pch_type = PCH_CNP;
+				DRM_DEBUG_KMS("Found CannonPoint LP PCH\n");
 			} else if ((id == INTEL_PCH_P2X_DEVICE_ID_TYPE) ||
 				   (id == INTEL_PCH_P3X_DEVICE_ID_TYPE) ||
 				   ((id == INTEL_PCH_QEMU_DEVICE_ID_TYPE) &&
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 0b82604..c31c0cf 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -2959,6 +2959,7 @@ static inline struct scatterlist *__sg_next(struct scatterlist *sg)
 #define HAS_POOLED_EU(dev_priv)	((dev_priv)->info.has_pooled_eu)
 
 #define INTEL_PCH_DEVICE_ID_MASK		0xff00
+#define INTEL_PCH_DEVICE_ID_MASK_EXT		0xff80
 #define INTEL_PCH_IBX_DEVICE_ID_TYPE		0x3b00
 #define INTEL_PCH_CPT_DEVICE_ID_TYPE		0x1c00
 #define INTEL_PCH_PPT_DEVICE_ID_TYPE		0x1e00
@@ -2968,12 +2969,15 @@ static inline struct scatterlist *__sg_next(struct scatterlist *sg)
 #define INTEL_PCH_SPT_LP_DEVICE_ID_TYPE		0x9D00
 #define INTEL_PCH_KBP_DEVICE_ID_TYPE		0xA200
 #define INTEL_PCH_CNP_DEVICE_ID_TYPE		0xA300
+#define INTEL_PCH_CNP_LP_DEVICE_ID_TYPE		0x9D80
 #define INTEL_PCH_P2X_DEVICE_ID_TYPE		0x7100
 #define INTEL_PCH_P3X_DEVICE_ID_TYPE		0x7000
 #define INTEL_PCH_QEMU_DEVICE_ID_TYPE		0x2900 /* qemu q35 has 2918 */
 
 #define INTEL_PCH_TYPE(dev_priv) ((dev_priv)->pch_type)
 #define HAS_PCH_CNP(dev_priv) (INTEL_PCH_TYPE(dev_priv) == PCH_CNP)
+#define HAS_PCH_CNP_LP(dev_priv) \
+	((dev_priv)->pch_id == INTEL_PCH_CNP_LP_DEVICE_ID_TYPE)
 #define HAS_PCH_KBP(dev_priv) (INTEL_PCH_TYPE(dev_priv) == PCH_KBP)
 #define HAS_PCH_SPT(dev_priv) (INTEL_PCH_TYPE(dev_priv) == PCH_SPT)
 #define HAS_PCH_LPT(dev_priv) (INTEL_PCH_TYPE(dev_priv) == PCH_LPT)
-- 
1.9.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2017-05-30 22:42 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-30 22:42 [PATCH 01/13] drm/i915/cnp: Introduce Cannonpoint PCH Rodrigo Vivi
2017-05-30 22:42 ` Rodrigo Vivi [this message]
2017-05-30 22:42 ` [PATCH 03/13] drm/i915/cnp: Get/set proper Raw clock frequency on CNP Rodrigo Vivi
2017-05-30 22:42 ` [PATCH 04/13] drm/i915/cnp: Backlight support for CNP Rodrigo Vivi
2017-06-01  2:15   ` Pandiyan, Dhinakaran
2017-06-01 16:28     ` Vivi, Rodrigo
2017-06-01 17:43       ` Pandiyan, Dhinakaran
2017-06-02  7:02         ` Jani Nikula
2017-05-30 22:42 ` [PATCH 05/13] drm/i915/cnp: add CNP gmbus support Rodrigo Vivi
2017-05-31 18:26   ` [PATCH] " Rodrigo Vivi
2017-05-31 18:29     ` Rodrigo Vivi
2017-05-31 21:31       ` Srivatsa, Anusha
2017-06-01  0:17     ` kbuild test robot
2017-05-30 22:42 ` [PATCH 06/13] drm/i915/cnp: Panel Power sequence changes for CNP PCH Rodrigo Vivi
2017-05-31 17:33   ` Clint Taylor
2017-05-31 21:08   ` Pandiyan, Dhinakaran
2017-05-31 21:45     ` Vivi, Rodrigo
2017-05-31 21:54     ` [PATCH] " Rodrigo Vivi
2017-05-31 23:07       ` Pandiyan, Dhinakaran
2017-05-31 23:46         ` Vivi, Rodrigo
2017-05-31 23:52           ` Pandiyan, Dhinakaran
2017-06-01  4:25       ` kbuild test robot
2017-05-30 22:42 ` [PATCH 07/13] drm/i915/cfl: Introduce Coffee Lake platform definition Rodrigo Vivi
2017-06-01 22:27   ` Srivatsa, Anusha
2017-06-01 22:48     ` Rodrigo Vivi
2017-06-01 23:14       ` Srivatsa, Anusha
2017-06-01 23:19         ` Vivi, Rodrigo
2017-06-01 23:23           ` Srivatsa, Anusha
2017-06-02 22:27             ` [PATCH] " Rodrigo Vivi
2017-05-30 22:42 ` [PATCH 08/13] drm/i915/cfl: Coffee Lake uses CNP PCH Rodrigo Vivi
2017-06-05 23:41   ` Srivatsa, Anusha
2017-05-30 22:42 ` [PATCH 09/13] drm/i915/cfl: Basic PM plumbing for Coffee Lake Rodrigo Vivi
2017-06-02 21:25   ` Pandiyan, Dhinakaran
2017-06-02 21:31     ` Pandiyan, Dhinakaran
2017-05-30 22:43 ` [PATCH 10/13] drm/i915/cfl: Add Coffee Lake PCI IDs for H and S Skus Rodrigo Vivi
2017-05-30 22:43 ` [PATCH 11/13] drm/i915/cfl: Add CFL PCI IDs for U SKU Rodrigo Vivi
2017-05-30 22:43 ` [PATCH 12/13] drm/i915/cfl: Introduce Coffee Lake workardounds Rodrigo Vivi
2017-05-30 22:43 ` [PATCH 13/13] drm/i915/cfl: Coffe Lake reuses Kabylake DMC Rodrigo Vivi
2017-06-02 21:49   ` Pandiyan, Dhinakaran
2017-05-30 22:59 ` ✓ Fi.CI.BAT: success for series starting with [01/13] drm/i915/cnp: Introduce Cannonpoint PCH Patchwork
2017-05-31 18:43 ` ✓ Fi.CI.BAT: success for series starting with [01/13] drm/i915/cnp: Introduce Cannonpoint PCH. (rev2) Patchwork
2017-05-31 22:12 ` ✓ Fi.CI.BAT: success for series starting with [01/13] drm/i915/cnp: Introduce Cannonpoint PCH. (rev3) Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1496184183-30740-2-git-send-email-rodrigo.vivi@intel.com \
    --to=rodrigo.vivi@intel.com \
    --cc=dhinakaran.pandiyan@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.