All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915/icl: Add remaining registers and bitfields for MG PHY DDI
@ 2018-05-16  0:53 Manasi Navare
  2018-05-16  1:00 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Manasi Navare @ 2018-05-16  0:53 UTC (permalink / raw)
  To: intel-gfx; +Cc: Paulo Zanoni

This patch adds the remaining register definitions and bit fields
required for MG PHy DDI buffer initializations and voltage
swing programming for MG PHy DDI ports.

While at it this patch also fixes the naming for previously defined
MG PHY registers in original commit id (c92f47b5ec977a "drm/i915/icl:
Add register defs for voltage swing sequences for MG PHY DDI").
Since the MG PHY registers are first defined in ICL platform, there
is no need for _ICL prefix.

Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Cc: James Ausmus <james.ausmus@intel.com>
---
 drivers/gpu/drm/i915/i915_reg.h | 243 +++++++++++++++++++++++-----------------
 1 file changed, 142 insertions(+), 101 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index f11bb21..a93b796 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -1827,121 +1827,162 @@ enum i915_power_well_id {
 #define   N_SCALAR(x)			((x) << 24)
 #define   N_SCALAR_MASK			(0x7F << 24)
 
-#define _ICL_MG_PHY_PORT_LN(port, ln, ln0p1, ln0p2, ln1p1) \
+#define MG_PHY_PORT_LN(port, ln, ln0p1, ln0p2, ln1p1) \
 	_MMIO(_PORT((port) - PORT_C, ln0p1, ln0p2) + (ln) * ((ln1p1) - (ln0p1)))
 
-#define _ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT1		0x16812C
-#define _ICL_MG_TX_LINK_PARAMS_TX1LN1_PORT1		0x16852C
-#define _ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT2		0x16912C
-#define _ICL_MG_TX_LINK_PARAMS_TX1LN1_PORT2		0x16952C
-#define _ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT3		0x16A12C
-#define _ICL_MG_TX_LINK_PARAMS_TX1LN1_PORT3		0x16A52C
-#define _ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT4		0x16B12C
-#define _ICL_MG_TX_LINK_PARAMS_TX1LN1_PORT4		0x16B52C
-#define ICL_PORT_MG_TX1_LINK_PARAMS(port, ln) \
-	_ICL_MG_PHY_PORT_LN(port, ln, _ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT1, \
-				      _ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT2, \
-				      _ICL_MG_TX_LINK_PARAMS_TX1LN1_PORT1)
-
-#define _ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT1		0x1680AC
-#define _ICL_MG_TX_LINK_PARAMS_TX2LN1_PORT1		0x1684AC
-#define _ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT2		0x1690AC
-#define _ICL_MG_TX_LINK_PARAMS_TX2LN1_PORT2		0x1694AC
-#define _ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT3		0x16A0AC
-#define _ICL_MG_TX_LINK_PARAMS_TX2LN1_PORT3		0x16A4AC
-#define _ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT4		0x16B0AC
-#define _ICL_MG_TX_LINK_PARAMS_TX2LN1_PORT4		0x16B4AC
-#define ICL_PORT_MG_TX2_LINK_PARAMS(port, ln) \
-	_ICL_MG_PHY_PORT_LN(port, ln, _ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT1, \
-				      _ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT2, \
-				      _ICL_MG_TX_LINK_PARAMS_TX2LN1_PORT1)
+#define MG_TX_LINK_PARAMS_TX1LN0_PORT1		0x16812C
+#define MG_TX_LINK_PARAMS_TX1LN1_PORT1		0x16852C
+#define MG_TX_LINK_PARAMS_TX1LN0_PORT2		0x16912C
+#define MG_TX_LINK_PARAMS_TX1LN1_PORT2		0x16952C
+#define MG_TX_LINK_PARAMS_TX1LN0_PORT3		0x16A12C
+#define MG_TX_LINK_PARAMS_TX1LN1_PORT3		0x16A52C
+#define MG_TX_LINK_PARAMS_TX1LN0_PORT4		0x16B12C
+#define _MG_TX_LINK_PARAMS_TX1LN1_PORT4		0x16B52C
+#define MG_TX1_LINK_PARAMS(port, ln) \
+	MG_PHY_PORT_LN(port, ln, MG_TX_LINK_PARAMS_TX1LN0_PORT1, \
+				 MG_TX_LINK_PARAMS_TX1LN0_PORT2, \
+				 MG_TX_LINK_PARAMS_TX1LN1_PORT1)
+
+#define MG_TX_LINK_PARAMS_TX2LN0_PORT1		0x1680AC
+#define MG_TX_LINK_PARAMS_TX2LN1_PORT1		0x1684AC
+#define MG_TX_LINK_PARAMS_TX2LN0_PORT2		0x1690AC
+#define MG_TX_LINK_PARAMS_TX2LN1_PORT2		0x1694AC
+#define MG_TX_LINK_PARAMS_TX2LN0_PORT3		0x16A0AC
+#define MG_TX_LINK_PARAMS_TX2LN1_PORT3		0x16A4AC
+#define MG_TX_LINK_PARAMS_TX2LN0_PORT4		0x16B0AC
+#define MG_TX_LINK_PARAMS_TX2LN1_PORT4		0x16B4AC
+#define MG_TX2_LINK_PARAMS(port, ln) \
+	MG_PHY_PORT_LN(port, ln, MG_TX_LINK_PARAMS_TX2LN0_PORT1, \
+				 MG_TX_LINK_PARAMS_TX2LN0_PORT2, \
+				 MG_TX_LINK_PARAMS_TX2LN1_PORT1)
 #define CRI_USE_FS32			(1 << 5)
 
-#define _ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT1		0x16814C
-#define _ICL_MG_TX_PISO_READLOAD_TX1LN1_PORT1		0x16854C
-#define _ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT2		0x16914C
-#define _ICL_MG_TX_PISO_READLOAD_TX1LN1_PORT2		0x16954C
-#define _ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT3		0x16A14C
-#define _ICL_MG_TX_PISO_READLOAD_TX1LN1_PORT3		0x16A54C
-#define _ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT4		0x16B14C
-#define _ICL_MG_TX_PISO_READLOAD_TX1LN1_PORT4		0x16B54C
-#define ICL_PORT_MG_TX1_PISO_READLOAD(port, ln) \
-	_ICL_MG_PHY_PORT_LN(port, ln, _ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT1, \
-				      _ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT2, \
-				      _ICL_MG_TX_PISO_READLOAD_TX1LN1_PORT1)
-
-#define _ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT1		0x1680CC
-#define _ICL_MG_TX_PISO_READLOAD_TX2LN1_PORT1		0x1684CC
-#define _ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT2		0x1690CC
-#define _ICL_MG_TX_PISO_READLOAD_TX2LN1_PORT2		0x1694CC
-#define _ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT3		0x16A0CC
-#define _ICL_MG_TX_PISO_READLOAD_TX2LN1_PORT3		0x16A4CC
-#define _ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT4		0x16B0CC
-#define _ICL_MG_TX_PISO_READLOAD_TX2LN1_PORT4		0x16B4CC
-#define ICL_PORT_MG_TX2_PISO_READLOAD(port, ln) \
-	_ICL_MG_PHY_PORT_LN(port, ln, _ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT1, \
-				      _ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT2, \
-				      _ICL_MG_TX_PISO_READLOAD_TX2LN1_PORT1)
+#define MG_TX_PISO_READLOAD_TX1LN0_PORT1		0x16814C
+#define MG_TX_PISO_READLOAD_TX1LN1_PORT1		0x16854C
+#define MG_TX_PISO_READLOAD_TX1LN0_PORT2		0x16914C
+#define MG_TX_PISO_READLOAD_TX1LN1_PORT2		0x16954C
+#define MG_TX_PISO_READLOAD_TX1LN0_PORT3		0x16A14C
+#define MG_TX_PISO_READLOAD_TX1LN1_PORT3		0x16A54C
+#define MG_TX_PISO_READLOAD_TX1LN0_PORT4		0x16B14C
+#define MG_TX_PISO_READLOAD_TX1LN1_PORT4		0x16B54C
+#define MG_TX1_PISO_READLOAD(port, ln) \
+	MG_PHY_PORT_LN(port, ln, MG_TX_PISO_READLOAD_TX1LN0_PORT1, \
+				 MG_TX_PISO_READLOAD_TX1LN0_PORT2, \
+				 MG_TX_PISO_READLOAD_TX1LN1_PORT1)
+
+#define MG_TX_PISO_READLOAD_TX2LN0_PORT1		0x1680CC
+#define MG_TX_PISO_READLOAD_TX2LN1_PORT1		0x1684CC
+#define MG_TX_PISO_READLOAD_TX2LN0_PORT2		0x1690CC
+#define MG_TX_PISO_READLOAD_TX2LN1_PORT2		0x1694CC
+#define MG_TX_PISO_READLOAD_TX2LN0_PORT3		0x16A0CC
+#define MG_TX_PISO_READLOAD_TX2LN1_PORT3		0x16A4CC
+#define MG_TX_PISO_READLOAD_TX2LN0_PORT4		0x16B0CC
+#define MG_TX_PISO_READLOAD_TX2LN1_PORT4		0x16B4CC
+#define MG_TX2_PISO_READLOAD(port, ln) \
+	MG_PHY_PORT_LN(port, ln, MG_TX_PISO_READLOAD_TX2LN0_PORT1, \
+				 MG_TX_PISO_READLOAD_TX2LN0_PORT2, \
+				 MG_TX_PISO_READLOAD_TX2LN1_PORT1)
 #define CRI_CALCINIT					(1 << 1)
 
-#define _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT1		0x168148
-#define _ICL_MG_TX_SWINGCTRL_TX1LN1_PORT1		0x168548
-#define _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT2		0x169148
-#define _ICL_MG_TX_SWINGCTRL_TX1LN1_PORT2		0x169548
-#define _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT3		0x16A148
-#define _ICL_MG_TX_SWINGCTRL_TX1LN1_PORT3		0x16A548
-#define _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT4		0x16B148
-#define _ICL_MG_TX_SWINGCTRL_TX1LN1_PORT4		0x16B548
-#define ICL_PORT_MG_TX1_SWINGCTRL(port, ln) \
-	_ICL_MG_PHY_PORT_LN(port, ln, _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT1, \
-				      _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT2, \
-				      _ICL_MG_TX_SWINGCTRL_TX1LN1_PORT1)
-
-#define _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT1		0x1680C8
-#define _ICL_MG_TX_SWINGCTRL_TX2LN1_PORT1		0x1684C8
-#define _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT2		0x1690C8
-#define _ICL_MG_TX_SWINGCTRL_TX2LN1_PORT2		0x1694C8
-#define _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT3		0x16A0C8
-#define _ICL_MG_TX_SWINGCTRL_TX2LN1_PORT3		0x16A4C8
-#define _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT4		0x16B0C8
-#define _ICL_MG_TX_SWINGCTRL_TX2LN1_PORT4		0x16B4C8
-#define ICL_PORT_MG_TX2_SWINGCTRL(port, ln) \
-	_ICL_MG_PHY_PORT_LN(port, ln, _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT1, \
-				      _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT2, \
-				      _ICL_MG_TX_SWINGCTRL_TX2LN1_PORT1)
+#define MG_TX_SWINGCTRL_TX1LN0_PORT1		0x168148
+#define MG_TX_SWINGCTRL_TX1LN1_PORT1		0x168548
+#define MG_TX_SWINGCTRL_TX1LN0_PORT2		0x169148
+#define MG_TX_SWINGCTRL_TX1LN1_PORT2		0x169548
+#define MG_TX_SWINGCTRL_TX1LN0_PORT3		0x16A148
+#define MG_TX_SWINGCTRL_TX1LN1_PORT3		0x16A548
+#define MG_TX_SWINGCTRL_TX1LN0_PORT4		0x16B148
+#define MG_TX_SWINGCTRL_TX1LN1_PORT4		0x16B548
+#define MG_TX1_SWINGCTRL(port, ln) \
+	MG_PHY_PORT_LN(port, ln, MG_TX_SWINGCTRL_TX1LN0_PORT1, \
+				 MG_TX_SWINGCTRL_TX1LN0_PORT2, \
+				 MG_TX_SWINGCTRL_TX1LN1_PORT1)
+
+#define MG_TX_SWINGCTRL_TX2LN0_PORT1		0x1680C8
+#define MG_TX_SWINGCTRL_TX2LN1_PORT1		0x1684C8
+#define MG_TX_SWINGCTRL_TX2LN0_PORT2		0x1690C8
+#define MG_TX_SWINGCTRL_TX2LN1_PORT2		0x1694C8
+#define MG_TX_SWINGCTRL_TX2LN0_PORT3		0x16A0C8
+#define MG_TX_SWINGCTRL_TX2LN1_PORT3		0x16A4C8
+#define MG_TX_SWINGCTRL_TX2LN0_PORT4		0x16B0C8
+#define MG_TX_SWINGCTRL_TX2LN1_PORT4		0x16B4C8
+#define MG_TX2_SWINGCTRL(port, ln) \
+	MG_PHY_PORT_LN(port, ln, MG_TX_SWINGCTRL_TX2LN0_PORT1, \
+				 MG_TX_SWINGCTRL_TX2LN0_PORT2, \
+				 MG_TX_SWINGCTRL_TX2LN1_PORT1)
 #define CRI_TXDEEMPH_OVERRIDE_17_12(x)			((x) << 0)
 #define CRI_TXDEEMPH_OVERRIDE_17_12_MASK		(0x3F << 0)
 
-#define _ICL_MG_TX_DRVCTRL_TX1LN0_PORT1			0x168144
-#define _ICL_MG_TX_DRVCTRL_TX1LN1_PORT1			0x168544
-#define _ICL_MG_TX_DRVCTRL_TX1LN0_PORT2			0x169144
-#define _ICL_MG_TX_DRVCTRL_TX1LN1_PORT2			0x169544
-#define _ICL_MG_TX_DRVCTRL_TX1LN0_PORT3			0x16A144
-#define _ICL_MG_TX_DRVCTRL_TX1LN1_PORT3			0x16A544
-#define _ICL_MG_TX_DRVCTRL_TX1LN0_PORT4			0x16B144
-#define _ICL_MG_TX_DRVCTRL_TX1LN1_PORT4			0x16B544
-#define ICL_PORT_MG_TX1_DRVCTRL(port, ln) \
-	_ICL_MG_PHY_PORT_LN(port, ln, _ICL_MG_TX_DRVCTRL_TX1LN0_PORT1, \
-				      _ICL_MG_TX_DRVCTRL_TX1LN0_PORT2, \
-				      _ICL_MG_TX_DRVCTRL_TX1LN1_PORT1)
-
-#define _ICL_MG_TX_DRVCTRL_TX2LN0_PORT1			0x1680C4
-#define _ICL_MG_TX_DRVCTRL_TX2LN1_PORT1			0x1684C4
-#define _ICL_MG_TX_DRVCTRL_TX2LN0_PORT2			0x1690C4
-#define _ICL_MG_TX_DRVCTRL_TX2LN1_PORT2			0x1694C4
-#define _ICL_MG_TX_DRVCTRL_TX2LN0_PORT3			0x16A0C4
-#define _ICL_MG_TX_DRVCTRL_TX2LN1_PORT3			0x16A4C4
-#define _ICL_MG_TX_DRVCTRL_TX2LN0_PORT4			0x16B0C4
-#define _ICL_MG_TX_DRVCTRL_TX2LN1_PORT4			0x16B4C4
-#define ICL_PORT_MG_TX2_DRVCTRL(port, ln) \
-	_ICL_MG_PHY_PORT_LN(port, ln, _ICL_MG_TX_DRVCTRL_TX2LN0_PORT1, \
-				      _ICL_MG_TX_DRVCTRL_TX2LN0_PORT2, \
-				      _ICL_MG_TX_DRVCTRL_TX2LN1_PORT1)
+#define MG_TX_DRVCTRL_TX1LN0_PORT1			0x168144
+#define MG_TX_DRVCTRL_TX1LN1_PORT1			0x168544
+#define MG_TX_DRVCTRL_TX1LN0_PORT2			0x169144
+#define MG_TX_DRVCTRL_TX1LN1_PORT2			0x169544
+#define MG_TX_DRVCTRL_TX1LN0_PORT3			0x16A144
+#define MG_TX_DRVCTRL_TX1LN1_PORT3			0x16A544
+#define MG_TX_DRVCTRL_TX1LN0_PORT4			0x16B144
+#define MG_TX_DRVCTRL_TX1LN1_PORT4			0x16B544
+#define MG_TX1_DRVCTRL(port, ln) \
+	MG_PHY_PORT_LN(port, ln, MG_TX_DRVCTRL_TX1LN0_PORT1, \
+				 MG_TX_DRVCTRL_TX1LN0_PORT2, \
+				 MG_TX_DRVCTRL_TX1LN1_PORT1)
+
+#define MG_TX_DRVCTRL_TX2LN0_PORT1			0x1680C4
+#define MG_TX_DRVCTRL_TX2LN1_PORT1			0x1684C4
+#define MG_TX_DRVCTRL_TX2LN0_PORT2			0x1690C4
+#define MG_TX_DRVCTRL_TX2LN1_PORT2			0x1694C4
+#define MG_TX_DRVCTRL_TX2LN0_PORT3			0x16A0C4
+#define MG_TX_DRVCTRL_TX2LN1_PORT3			0x16A4C4
+#define MG_TX_DRVCTRL_TX2LN0_PORT4			0x16B0C4
+#define MG_TX_DRVCTRL_TX2LN1_PORT4			0x16B4C4
+#define MG_TX2_DRVCTRL(port, ln) \
+	MG_PHY_PORT_LN(port, ln, MG_TX_DRVCTRL_TX2LN0_PORT1, \
+				 MG_TX_DRVCTRL_TX2LN0_PORT2, \
+				 MG_TX_DRVCTRL_TX2LN1_PORT1)
 #define CRI_TXDEEMPH_OVERRIDE_11_6(x)			((x) << 24)
 #define CRI_TXDEEMPH_OVERRIDE_11_6_MASK			(0x3F << 24)
 #define CRI_TXDEEMPH_OVERRIDE_EN			(1 << 22)
 #define CRI_TXDEEMPH_OVERRIDE_5_0(x)			((x) << 16)
 #define CRI_TXDEEMPH_OVERRIDE_5_0_MASK			(0x3F << 16)
+#define CRI_LOADGEN_SEL(x)				((x) << 12)
+#define CRI_LOADGEN_SEL_MASK				(0x3 << 12)
+
+#define MG_CLKHUB_LN0_PORT1			0x16839C
+#define MG_CLKHUB_LN1_PORT1			0x16879C
+#define MG_CLKHUB_LN0_PORT2			0x16939C
+#define MG_CLKHUB_LN1_PORT2			0x16979C
+#define MG_CLKHUB_LN0_PORT3			0x16A39C
+#define MG_CLKHUB_LN1_PORT3			0x16A79C
+#define MG_CLKHUB_LN0_PORT4			0x16B39C
+#define MG_CLKHUB_LN1_PORT4			0x16B79C
+#define MG_CLKHUB(port, ln) \
+	MG_PHY_PORT_LN(port, ln, MG_CLKHUB_LN0_PORT1, \
+				 MG_CLKHUB_LN0_PORT2, \
+				 MG_CLKHUB_LN1_PORT1)
+#define CFG_LOW_RATE_LKREN_EN				(1 << 11)
+
+#define MG_TX_DCC_TX1LN0_PORT1			0x168110
+#define MG_TX_DCC_TX1LN1_PORT1			0x168510
+#define MG_TX_DCC_TX1LNO_PORT2			0x169110
+#define MG_TX_DCC_TX1LN1_PORT2			0x169510
+#define MG_TX_DCC_TX1LNO_PORT3			0x16A110
+#define MG_TX_DCC_TX1LN1_PORT3			0x16A510
+#define MG_TX_DCC_TX1LNO_PORT4			0x16B110
+#define MG_TX_DCC_TX1LN1_PORT4			0x16B510
+#define MG_TX1_DCC(port, ln) \
+	MG_PHY_PORT_LN(port, ln, MG_TX_DCC_TX1LN0_PORT1, \
+				 MG_TX_DCC_TX1LNO_PORT2, \
+				 MG_TX_DCC_TX1LN1_PORT1)
+#define MG_TX_DCC_TX2LN0_PORT1			0x168090
+#define MG_TX_DCC_TX2LN1_PORT1			0x168490
+#define MG_TX_DCC_TX2LNO_PORT2			0x169090
+#define MG_TX_DCC_TX2LN1_PORT2			0x169490
+#define MG_TX_DCC_TX2LNO_PORT3			0x16A090
+#define MG_TX_DCC_TX2LN1_PORT3			0x16A490
+#define MG_TX_DCC_TX2LNO_PORT4			0x16B090
+#define MG_TX_DCC_TX2LN1_PORT4			0x16B490
+#define MG_TX2_DCC(port, ln) \
+	MG_PHY_PORT_LN(port, ln, MG_TX_DCC_TX2LN0_PORT1, \
+				 MG_TX_DCC_TX2LNO_PORT2, \
+				 MG_TX_DCC_TX2LN1_PORT1)
 
 /* The spec defines this only for BXT PHY0, but lets assume that this
  * would exist for PHY1 too if it had a second channel.
-- 
2.7.4

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

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* ✗ Fi.CI.CHECKPATCH: warning for drm/i915/icl: Add remaining registers and bitfields for MG PHY DDI
  2018-05-16  0:53 [PATCH] drm/i915/icl: Add remaining registers and bitfields for MG PHY DDI Manasi Navare
@ 2018-05-16  1:00 ` Patchwork
  2018-05-16  1:20 ` ✓ Fi.CI.BAT: success " Patchwork
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2018-05-16  1:00 UTC (permalink / raw)
  To: Manasi Navare; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/icl: Add remaining registers and bitfields for MG PHY DDI
URL   : https://patchwork.freedesktop.org/series/43227/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
1c8c24d3b7fd drm/i915/icl: Add remaining registers and bitfields for MG PHY DDI
-:30: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'ln0p1' - possible side-effects?
#30: FILE: drivers/gpu/drm/i915/i915_reg.h:1830:
+#define MG_PHY_PORT_LN(port, ln, ln0p1, ln0p2, ln1p1) \
 	_MMIO(_PORT((port) - PORT_C, ln0p1, ln0p2) + (ln) * ((ln1p1) - (ln0p1)))

total: 0 errors, 0 warnings, 1 checks, 263 lines checked

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* ✓ Fi.CI.BAT: success for drm/i915/icl: Add remaining registers and bitfields for MG PHY DDI
  2018-05-16  0:53 [PATCH] drm/i915/icl: Add remaining registers and bitfields for MG PHY DDI Manasi Navare
  2018-05-16  1:00 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
@ 2018-05-16  1:20 ` Patchwork
  2018-05-16 12:26 ` ✓ Fi.CI.IGT: " Patchwork
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2018-05-16  1:20 UTC (permalink / raw)
  To: Manasi Navare; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/icl: Add remaining registers and bitfields for MG PHY DDI
URL   : https://patchwork.freedesktop.org/series/43227/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4189 -> Patchwork_9009 =

== Summary - SUCCESS ==

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/43227/revisions/1/mbox/

== Known issues ==

  Here are the changes found in Patchwork_9009 that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_mmap_gtt@basic-small-bo-tiledx:
      fi-gdg-551:         PASS -> FAIL (fdo#102575)

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
      fi-snb-2520m:       PASS -> INCOMPLETE (fdo#103713)

    
    ==== Possible fixes ====

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
      fi-cnl-y3:          DMESG-WARN (fdo#104951) -> PASS

    
  fdo#102575 https://bugs.freedesktop.org/show_bug.cgi?id=102575
  fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713
  fdo#104951 https://bugs.freedesktop.org/show_bug.cgi?id=104951


== Participating hosts (41 -> 37) ==

  Additional (1): fi-bxt-dsi 
  Missing    (5): fi-ctg-p8600 fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-skl-6700hq 


== Build changes ==

    * Linux: CI_DRM_4189 -> Patchwork_9009

  CI_DRM_4189: 7113411949dfdeab859728aa0b57465eeb3d18d6 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4483: b7432bf309d5d5a6e07e8a0d8b522302fb0b4502 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_9009: 1c8c24d3b7fd75ede11e083fc4a69c0debd77351 @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4483: 3ba0657bff4216d1ec7179935590261855f1651e @ git://anongit.freedesktop.org/piglit


== Linux commits ==

1c8c24d3b7fd drm/i915/icl: Add remaining registers and bitfields for MG PHY DDI

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_9009/issues.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 8+ messages in thread

* ✓ Fi.CI.IGT: success for drm/i915/icl: Add remaining registers and bitfields for MG PHY DDI
  2018-05-16  0:53 [PATCH] drm/i915/icl: Add remaining registers and bitfields for MG PHY DDI Manasi Navare
  2018-05-16  1:00 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
  2018-05-16  1:20 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2018-05-16 12:26 ` Patchwork
  2018-05-23  6:04 ` [PATCH] " Srivatsa, Anusha
  2018-06-19 20:06 ` Manasi Navare
  4 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2018-05-16 12:26 UTC (permalink / raw)
  To: Manasi Navare; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/icl: Add remaining registers and bitfields for MG PHY DDI
URL   : https://patchwork.freedesktop.org/series/43227/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4189_full -> Patchwork_9009_full =

== Summary - WARNING ==

  Minor unknown changes coming with Patchwork_9009_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_9009_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/43227/revisions/1/mbox/

== Possible new issues ==

  Here are the unknown changes that may have been introduced in Patchwork_9009_full:

  === IGT changes ===

    ==== Warnings ====

    igt@gem_exec_schedule@deep-blt:
      shard-kbl:          SKIP -> PASS +1

    igt@gem_exec_schedule@deep-bsd1:
      shard-kbl:          PASS -> SKIP

    
== Known issues ==

  Here are the changes found in Patchwork_9009_full that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_eio@execbuf:
      shard-hsw:          PASS -> DMESG-WARN (fdo#106523) +1

    igt@gem_eio@in-flight-immediate:
      shard-snb:          PASS -> DMESG-WARN (fdo#106523)

    igt@gem_eio@suspend:
      shard-glk:          PASS -> DMESG-WARN (fdo#106523) +1

    igt@gem_eio@unwedge-stress:
      shard-apl:          PASS -> DMESG-WARN (fdo#106523) +2

    igt@gem_exec_parallel@contexts:
      shard-snb:          PASS -> INCOMPLETE (fdo#105411)

    igt@kms_atomic_transition@1x-modeset-transitions-nonblocking:
      shard-glk:          PASS -> FAIL (fdo#105703)

    igt@kms_concurrent@pipe-a:
      shard-apl:          PASS -> DMESG-WARN (fdo#105602, fdo#103558) +14
      shard-glk:          PASS -> DMESG-WARN (fdo#106538) +1

    igt@kms_flip@2x-plain-flip-ts-check-interruptible:
      shard-glk:          PASS -> FAIL (fdo#100368)

    igt@kms_flip@plain-flip-ts-check:
      shard-hsw:          PASS -> FAIL (fdo#100368)

    igt@kms_frontbuffer_tracking@basic:
      shard-glk:          PASS -> FAIL (fdo#104724, fdo#103167)

    igt@pm_rpm@system-suspend:
      shard-apl:          PASS -> DMESG-WARN (fdo#103841)

    
    ==== Possible fixes ====

    igt@drv_suspend@debugfs-reader:
      shard-snb:          INCOMPLETE (fdo#105411) -> PASS

    igt@gem_eio@execbuf:
      shard-glk:          DMESG-WARN (fdo#106523) -> PASS +2

    igt@gem_eio@hibernate:
      shard-hsw:          DMESG-WARN (fdo#106523) -> PASS +1

    igt@gem_eio@in-flight-contexts-10ms:
      shard-snb:          DMESG-WARN (fdo#106523) -> PASS +2

    igt@gem_eio@wait-wedge-10ms:
      shard-apl:          DMESG-WARN (fdo#106523) -> PASS +3

    igt@kms_flip@modeset-vs-vblank-race:
      shard-hsw:          FAIL (fdo#103060) -> PASS

    igt@kms_flip_tiling@flip-to-y-tiled:
      shard-glk:          FAIL (fdo#104724, fdo#103822) -> PASS

    igt@kms_flip_tiling@flip-x-tiled:
      shard-glk:          FAIL (fdo#104724) -> PASS

    
  fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
  fdo#103060 https://bugs.freedesktop.org/show_bug.cgi?id=103060
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103558 https://bugs.freedesktop.org/show_bug.cgi?id=103558
  fdo#103822 https://bugs.freedesktop.org/show_bug.cgi?id=103822
  fdo#103841 https://bugs.freedesktop.org/show_bug.cgi?id=103841
  fdo#104724 https://bugs.freedesktop.org/show_bug.cgi?id=104724
  fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411
  fdo#105602 https://bugs.freedesktop.org/show_bug.cgi?id=105602
  fdo#105703 https://bugs.freedesktop.org/show_bug.cgi?id=105703
  fdo#106523 https://bugs.freedesktop.org/show_bug.cgi?id=106523
  fdo#106538 https://bugs.freedesktop.org/show_bug.cgi?id=106538


== Participating hosts (5 -> 5) ==

  No changes in participating hosts


== Build changes ==

    * Linux: CI_DRM_4189 -> Patchwork_9009

  CI_DRM_4189: 7113411949dfdeab859728aa0b57465eeb3d18d6 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4483: b7432bf309d5d5a6e07e8a0d8b522302fb0b4502 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_9009: 1c8c24d3b7fd75ede11e083fc4a69c0debd77351 @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4483: 3ba0657bff4216d1ec7179935590261855f1651e @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_9009/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] drm/i915/icl: Add remaining registers and bitfields for MG PHY DDI
  2018-05-16  0:53 [PATCH] drm/i915/icl: Add remaining registers and bitfields for MG PHY DDI Manasi Navare
                   ` (2 preceding siblings ...)
  2018-05-16 12:26 ` ✓ Fi.CI.IGT: " Patchwork
@ 2018-05-23  6:04 ` Srivatsa, Anusha
  2018-05-23 16:47   ` Manasi Navare
  2018-06-19 20:06 ` Manasi Navare
  4 siblings, 1 reply; 8+ messages in thread
From: Srivatsa, Anusha @ 2018-05-23  6:04 UTC (permalink / raw)
  To: Navare, Manasi D, intel-gfx; +Cc: Zanoni, Paulo R



>-----Original Message-----
>From: Intel-gfx [mailto:intel-gfx-bounces@lists.freedesktop.org] On Behalf Of
>Manasi Navare
>Sent: Tuesday, May 15, 2018 5:53 PM
>To: intel-gfx@lists.freedesktop.org
>Cc: Zanoni, Paulo R <paulo.r.zanoni@intel.com>
>Subject: [Intel-gfx] [PATCH] drm/i915/icl: Add remaining registers and bitfields for
>MG PHY DDI
>
>This patch adds the remaining register definitions and bit fields required for MG
>PHy DDI buffer initializations and voltage swing programming for MG PHy DDI
>ports.
>
>While at it this patch also fixes the naming for previously defined MG PHY
>registers in original commit id (c92f47b5ec977a "drm/i915/icl:
>Add register defs for voltage swing sequences for MG PHY DDI").
>Since the MG PHY registers are first defined in ICL platform, there is no need for
>_ICL prefix.
>
>Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
>Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
>Cc: James Ausmus <james.ausmus@intel.com>
>---
> drivers/gpu/drm/i915/i915_reg.h | 243 +++++++++++++++++++++++----------------
>-
> 1 file changed, 142 insertions(+), 101 deletions(-)
>
>diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
>index f11bb21..a93b796 100644
>--- a/drivers/gpu/drm/i915/i915_reg.h
>+++ b/drivers/gpu/drm/i915/i915_reg.h
>@@ -1827,121 +1827,162 @@ enum i915_power_well_id {
> #define   N_SCALAR(x)			((x) << 24)
> #define   N_SCALAR_MASK			(0x7F << 24)
>
>-#define _ICL_MG_PHY_PORT_LN(port, ln, ln0p1, ln0p2, ln1p1) \
>+#define MG_PHY_PORT_LN(port, ln, ln0p1, ln0p2, ln1p1) \
> 	_MMIO(_PORT((port) - PORT_C, ln0p1, ln0p2) + (ln) * ((ln1p1) - (ln0p1)))
>
>-#define _ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT1		0x16812C
>-#define _ICL_MG_TX_LINK_PARAMS_TX1LN1_PORT1		0x16852C
>-#define _ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT2		0x16912C
>-#define _ICL_MG_TX_LINK_PARAMS_TX1LN1_PORT2		0x16952C
>-#define _ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT3		0x16A12C
>-#define _ICL_MG_TX_LINK_PARAMS_TX1LN1_PORT3		0x16A52C
>-#define _ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT4		0x16B12C
>-#define _ICL_MG_TX_LINK_PARAMS_TX1LN1_PORT4		0x16B52C
>-#define ICL_PORT_MG_TX1_LINK_PARAMS(port, ln) \
>-	_ICL_MG_PHY_PORT_LN(port, ln,
>_ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT1, \
>-
>_ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT2, \
>-
>_ICL_MG_TX_LINK_PARAMS_TX1LN1_PORT1)
>-
>-#define _ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT1		0x1680AC
>-#define _ICL_MG_TX_LINK_PARAMS_TX2LN1_PORT1		0x1684AC
>-#define _ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT2		0x1690AC
>-#define _ICL_MG_TX_LINK_PARAMS_TX2LN1_PORT2		0x1694AC
>-#define _ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT3		0x16A0AC
>-#define _ICL_MG_TX_LINK_PARAMS_TX2LN1_PORT3		0x16A4AC
>-#define _ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT4		0x16B0AC
>-#define _ICL_MG_TX_LINK_PARAMS_TX2LN1_PORT4		0x16B4AC
>-#define ICL_PORT_MG_TX2_LINK_PARAMS(port, ln) \
>-	_ICL_MG_PHY_PORT_LN(port, ln,
>_ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT1, \
>-
>_ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT2, \
>-
>_ICL_MG_TX_LINK_PARAMS_TX2LN1_PORT1)
>+#define MG_TX_LINK_PARAMS_TX1LN0_PORT1		0x16812C
>+#define MG_TX_LINK_PARAMS_TX1LN1_PORT1		0x16852C
>+#define MG_TX_LINK_PARAMS_TX1LN0_PORT2		0x16912C
>+#define MG_TX_LINK_PARAMS_TX1LN1_PORT2		0x16952C
>+#define MG_TX_LINK_PARAMS_TX1LN0_PORT3		0x16A12C
>+#define MG_TX_LINK_PARAMS_TX1LN1_PORT3		0x16A52C
>+#define MG_TX_LINK_PARAMS_TX1LN0_PORT4		0x16B12C
>+#define _MG_TX_LINK_PARAMS_TX1LN1_PORT4		0x16B52C
>+#define MG_TX1_LINK_PARAMS(port, ln) \
>+	MG_PHY_PORT_LN(port, ln, MG_TX_LINK_PARAMS_TX1LN0_PORT1, \
>+				 MG_TX_LINK_PARAMS_TX1LN0_PORT2, \
>+				 MG_TX_LINK_PARAMS_TX1LN1_PORT1)
>+
>+#define MG_TX_LINK_PARAMS_TX2LN0_PORT1		0x1680AC
>+#define MG_TX_LINK_PARAMS_TX2LN1_PORT1		0x1684AC
>+#define MG_TX_LINK_PARAMS_TX2LN0_PORT2		0x1690AC
>+#define MG_TX_LINK_PARAMS_TX2LN1_PORT2		0x1694AC
>+#define MG_TX_LINK_PARAMS_TX2LN0_PORT3		0x16A0AC
>+#define MG_TX_LINK_PARAMS_TX2LN1_PORT3		0x16A4AC
>+#define MG_TX_LINK_PARAMS_TX2LN0_PORT4		0x16B0AC
>+#define MG_TX_LINK_PARAMS_TX2LN1_PORT4		0x16B4AC
>+#define MG_TX2_LINK_PARAMS(port, ln) \
>+	MG_PHY_PORT_LN(port, ln, MG_TX_LINK_PARAMS_TX2LN0_PORT1, \
>+				 MG_TX_LINK_PARAMS_TX2LN0_PORT2, \
>+				 MG_TX_LINK_PARAMS_TX2LN1_PORT1)
> #define CRI_USE_FS32			(1 << 5)

Not a complete review of the patch, but noticed that most bitfields here are missing.
Apart from CRI_USE_FS2, there are others like CRI_REVERSEDEEMPH_EN etc... are they skipped on purpose?

Anusha 
>-#define _ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT1		0x16814C
>-#define _ICL_MG_TX_PISO_READLOAD_TX1LN1_PORT1		0x16854C
>-#define _ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT2		0x16914C
>-#define _ICL_MG_TX_PISO_READLOAD_TX1LN1_PORT2		0x16954C
>-#define _ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT3		0x16A14C
>-#define _ICL_MG_TX_PISO_READLOAD_TX1LN1_PORT3		0x16A54C
>-#define _ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT4		0x16B14C
>-#define _ICL_MG_TX_PISO_READLOAD_TX1LN1_PORT4		0x16B54C
>-#define ICL_PORT_MG_TX1_PISO_READLOAD(port, ln) \
>-	_ICL_MG_PHY_PORT_LN(port, ln,
>_ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT1, \
>-
>_ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT2, \
>-
>_ICL_MG_TX_PISO_READLOAD_TX1LN1_PORT1)
>-
>-#define _ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT1		0x1680CC
>-#define _ICL_MG_TX_PISO_READLOAD_TX2LN1_PORT1		0x1684CC
>-#define _ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT2		0x1690CC
>-#define _ICL_MG_TX_PISO_READLOAD_TX2LN1_PORT2		0x1694CC
>-#define _ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT3		0x16A0CC
>-#define _ICL_MG_TX_PISO_READLOAD_TX2LN1_PORT3		0x16A4CC
>-#define _ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT4		0x16B0CC
>-#define _ICL_MG_TX_PISO_READLOAD_TX2LN1_PORT4		0x16B4CC
>-#define ICL_PORT_MG_TX2_PISO_READLOAD(port, ln) \
>-	_ICL_MG_PHY_PORT_LN(port, ln,
>_ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT1, \
>-
>_ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT2, \
>-
>_ICL_MG_TX_PISO_READLOAD_TX2LN1_PORT1)
>+#define MG_TX_PISO_READLOAD_TX1LN0_PORT1		0x16814C
>+#define MG_TX_PISO_READLOAD_TX1LN1_PORT1		0x16854C
>+#define MG_TX_PISO_READLOAD_TX1LN0_PORT2		0x16914C
>+#define MG_TX_PISO_READLOAD_TX1LN1_PORT2		0x16954C
>+#define MG_TX_PISO_READLOAD_TX1LN0_PORT3		0x16A14C
>+#define MG_TX_PISO_READLOAD_TX1LN1_PORT3		0x16A54C
>+#define MG_TX_PISO_READLOAD_TX1LN0_PORT4		0x16B14C
>+#define MG_TX_PISO_READLOAD_TX1LN1_PORT4		0x16B54C
>+#define MG_TX1_PISO_READLOAD(port, ln) \
>+	MG_PHY_PORT_LN(port, ln, MG_TX_PISO_READLOAD_TX1LN0_PORT1, \
>+				 MG_TX_PISO_READLOAD_TX1LN0_PORT2, \
>+				 MG_TX_PISO_READLOAD_TX1LN1_PORT1)
>+
>+#define MG_TX_PISO_READLOAD_TX2LN0_PORT1		0x1680CC
>+#define MG_TX_PISO_READLOAD_TX2LN1_PORT1		0x1684CC
>+#define MG_TX_PISO_READLOAD_TX2LN0_PORT2		0x1690CC
>+#define MG_TX_PISO_READLOAD_TX2LN1_PORT2		0x1694CC
>+#define MG_TX_PISO_READLOAD_TX2LN0_PORT3		0x16A0CC
>+#define MG_TX_PISO_READLOAD_TX2LN1_PORT3		0x16A4CC
>+#define MG_TX_PISO_READLOAD_TX2LN0_PORT4		0x16B0CC
>+#define MG_TX_PISO_READLOAD_TX2LN1_PORT4		0x16B4CC
>+#define MG_TX2_PISO_READLOAD(port, ln) \
>+	MG_PHY_PORT_LN(port, ln, MG_TX_PISO_READLOAD_TX2LN0_PORT1, \
>+				 MG_TX_PISO_READLOAD_TX2LN0_PORT2, \
>+				 MG_TX_PISO_READLOAD_TX2LN1_PORT1)
> #define CRI_CALCINIT					(1 << 1)
>
>-#define _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT1		0x168148
>-#define _ICL_MG_TX_SWINGCTRL_TX1LN1_PORT1		0x168548
>-#define _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT2		0x169148
>-#define _ICL_MG_TX_SWINGCTRL_TX1LN1_PORT2		0x169548
>-#define _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT3		0x16A148
>-#define _ICL_MG_TX_SWINGCTRL_TX1LN1_PORT3		0x16A548
>-#define _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT4		0x16B148
>-#define _ICL_MG_TX_SWINGCTRL_TX1LN1_PORT4		0x16B548
>-#define ICL_PORT_MG_TX1_SWINGCTRL(port, ln) \
>-	_ICL_MG_PHY_PORT_LN(port, ln,
>_ICL_MG_TX_SWINGCTRL_TX1LN0_PORT1, \
>-				      _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT2, \
>-				      _ICL_MG_TX_SWINGCTRL_TX1LN1_PORT1)
>-
>-#define _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT1		0x1680C8
>-#define _ICL_MG_TX_SWINGCTRL_TX2LN1_PORT1		0x1684C8
>-#define _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT2		0x1690C8
>-#define _ICL_MG_TX_SWINGCTRL_TX2LN1_PORT2		0x1694C8
>-#define _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT3		0x16A0C8
>-#define _ICL_MG_TX_SWINGCTRL_TX2LN1_PORT3		0x16A4C8
>-#define _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT4		0x16B0C8
>-#define _ICL_MG_TX_SWINGCTRL_TX2LN1_PORT4		0x16B4C8
>-#define ICL_PORT_MG_TX2_SWINGCTRL(port, ln) \
>-	_ICL_MG_PHY_PORT_LN(port, ln,
>_ICL_MG_TX_SWINGCTRL_TX2LN0_PORT1, \
>-				      _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT2, \
>-				      _ICL_MG_TX_SWINGCTRL_TX2LN1_PORT1)
>+#define MG_TX_SWINGCTRL_TX1LN0_PORT1		0x168148
>+#define MG_TX_SWINGCTRL_TX1LN1_PORT1		0x168548
>+#define MG_TX_SWINGCTRL_TX1LN0_PORT2		0x169148
>+#define MG_TX_SWINGCTRL_TX1LN1_PORT2		0x169548
>+#define MG_TX_SWINGCTRL_TX1LN0_PORT3		0x16A148
>+#define MG_TX_SWINGCTRL_TX1LN1_PORT3		0x16A548
>+#define MG_TX_SWINGCTRL_TX1LN0_PORT4		0x16B148
>+#define MG_TX_SWINGCTRL_TX1LN1_PORT4		0x16B548
>+#define MG_TX1_SWINGCTRL(port, ln) \
>+	MG_PHY_PORT_LN(port, ln, MG_TX_SWINGCTRL_TX1LN0_PORT1, \
>+				 MG_TX_SWINGCTRL_TX1LN0_PORT2, \
>+				 MG_TX_SWINGCTRL_TX1LN1_PORT1)
>+
>+#define MG_TX_SWINGCTRL_TX2LN0_PORT1		0x1680C8
>+#define MG_TX_SWINGCTRL_TX2LN1_PORT1		0x1684C8
>+#define MG_TX_SWINGCTRL_TX2LN0_PORT2		0x1690C8
>+#define MG_TX_SWINGCTRL_TX2LN1_PORT2		0x1694C8
>+#define MG_TX_SWINGCTRL_TX2LN0_PORT3		0x16A0C8
>+#define MG_TX_SWINGCTRL_TX2LN1_PORT3		0x16A4C8
>+#define MG_TX_SWINGCTRL_TX2LN0_PORT4		0x16B0C8
>+#define MG_TX_SWINGCTRL_TX2LN1_PORT4		0x16B4C8
>+#define MG_TX2_SWINGCTRL(port, ln) \
>+	MG_PHY_PORT_LN(port, ln, MG_TX_SWINGCTRL_TX2LN0_PORT1, \
>+				 MG_TX_SWINGCTRL_TX2LN0_PORT2, \
>+				 MG_TX_SWINGCTRL_TX2LN1_PORT1)
> #define CRI_TXDEEMPH_OVERRIDE_17_12(x)			((x) << 0)
> #define CRI_TXDEEMPH_OVERRIDE_17_12_MASK		(0x3F << 0)
>
>-#define _ICL_MG_TX_DRVCTRL_TX1LN0_PORT1
>	0x168144
>-#define _ICL_MG_TX_DRVCTRL_TX1LN1_PORT1
>	0x168544
>-#define _ICL_MG_TX_DRVCTRL_TX1LN0_PORT2
>	0x169144
>-#define _ICL_MG_TX_DRVCTRL_TX1LN1_PORT2
>	0x169544
>-#define _ICL_MG_TX_DRVCTRL_TX1LN0_PORT3
>	0x16A144
>-#define _ICL_MG_TX_DRVCTRL_TX1LN1_PORT3
>	0x16A544
>-#define _ICL_MG_TX_DRVCTRL_TX1LN0_PORT4
>	0x16B144
>-#define _ICL_MG_TX_DRVCTRL_TX1LN1_PORT4
>	0x16B544
>-#define ICL_PORT_MG_TX1_DRVCTRL(port, ln) \
>-	_ICL_MG_PHY_PORT_LN(port, ln,
>_ICL_MG_TX_DRVCTRL_TX1LN0_PORT1, \
>-				      _ICL_MG_TX_DRVCTRL_TX1LN0_PORT2, \
>-				      _ICL_MG_TX_DRVCTRL_TX1LN1_PORT1)
>-
>-#define _ICL_MG_TX_DRVCTRL_TX2LN0_PORT1
>	0x1680C4
>-#define _ICL_MG_TX_DRVCTRL_TX2LN1_PORT1
>	0x1684C4
>-#define _ICL_MG_TX_DRVCTRL_TX2LN0_PORT2
>	0x1690C4
>-#define _ICL_MG_TX_DRVCTRL_TX2LN1_PORT2
>	0x1694C4
>-#define _ICL_MG_TX_DRVCTRL_TX2LN0_PORT3
>	0x16A0C4
>-#define _ICL_MG_TX_DRVCTRL_TX2LN1_PORT3
>	0x16A4C4
>-#define _ICL_MG_TX_DRVCTRL_TX2LN0_PORT4
>	0x16B0C4
>-#define _ICL_MG_TX_DRVCTRL_TX2LN1_PORT4
>	0x16B4C4
>-#define ICL_PORT_MG_TX2_DRVCTRL(port, ln) \
>-	_ICL_MG_PHY_PORT_LN(port, ln,
>_ICL_MG_TX_DRVCTRL_TX2LN0_PORT1, \
>-				      _ICL_MG_TX_DRVCTRL_TX2LN0_PORT2, \
>-				      _ICL_MG_TX_DRVCTRL_TX2LN1_PORT1)
>+#define MG_TX_DRVCTRL_TX1LN0_PORT1			0x168144
>+#define MG_TX_DRVCTRL_TX1LN1_PORT1			0x168544
>+#define MG_TX_DRVCTRL_TX1LN0_PORT2			0x169144
>+#define MG_TX_DRVCTRL_TX1LN1_PORT2			0x169544
>+#define MG_TX_DRVCTRL_TX1LN0_PORT3			0x16A144
>+#define MG_TX_DRVCTRL_TX1LN1_PORT3			0x16A544
>+#define MG_TX_DRVCTRL_TX1LN0_PORT4			0x16B144
>+#define MG_TX_DRVCTRL_TX1LN1_PORT4			0x16B544
>+#define MG_TX1_DRVCTRL(port, ln) \
>+	MG_PHY_PORT_LN(port, ln, MG_TX_DRVCTRL_TX1LN0_PORT1, \
>+				 MG_TX_DRVCTRL_TX1LN0_PORT2, \
>+				 MG_TX_DRVCTRL_TX1LN1_PORT1)
>+
>+#define MG_TX_DRVCTRL_TX2LN0_PORT1			0x1680C4
>+#define MG_TX_DRVCTRL_TX2LN1_PORT1			0x1684C4
>+#define MG_TX_DRVCTRL_TX2LN0_PORT2			0x1690C4
>+#define MG_TX_DRVCTRL_TX2LN1_PORT2			0x1694C4
>+#define MG_TX_DRVCTRL_TX2LN0_PORT3			0x16A0C4
>+#define MG_TX_DRVCTRL_TX2LN1_PORT3			0x16A4C4
>+#define MG_TX_DRVCTRL_TX2LN0_PORT4			0x16B0C4
>+#define MG_TX_DRVCTRL_TX2LN1_PORT4			0x16B4C4
>+#define MG_TX2_DRVCTRL(port, ln) \
>+	MG_PHY_PORT_LN(port, ln, MG_TX_DRVCTRL_TX2LN0_PORT1, \
>+				 MG_TX_DRVCTRL_TX2LN0_PORT2, \
>+				 MG_TX_DRVCTRL_TX2LN1_PORT1)
> #define CRI_TXDEEMPH_OVERRIDE_11_6(x)			((x) << 24)
> #define CRI_TXDEEMPH_OVERRIDE_11_6_MASK			(0x3F
><< 24)
> #define CRI_TXDEEMPH_OVERRIDE_EN			(1 << 22)
> #define CRI_TXDEEMPH_OVERRIDE_5_0(x)			((x) << 16)
> #define CRI_TXDEEMPH_OVERRIDE_5_0_MASK			(0x3F << 16)
>+#define CRI_LOADGEN_SEL(x)				((x) << 12)
>+#define CRI_LOADGEN_SEL_MASK				(0x3 << 12)
>+
>+#define MG_CLKHUB_LN0_PORT1			0x16839C
>+#define MG_CLKHUB_LN1_PORT1			0x16879C
>+#define MG_CLKHUB_LN0_PORT2			0x16939C
>+#define MG_CLKHUB_LN1_PORT2			0x16979C
>+#define MG_CLKHUB_LN0_PORT3			0x16A39C
>+#define MG_CLKHUB_LN1_PORT3			0x16A79C
>+#define MG_CLKHUB_LN0_PORT4			0x16B39C
>+#define MG_CLKHUB_LN1_PORT4			0x16B79C
>+#define MG_CLKHUB(port, ln) \
>+	MG_PHY_PORT_LN(port, ln, MG_CLKHUB_LN0_PORT1, \
>+				 MG_CLKHUB_LN0_PORT2, \
>+				 MG_CLKHUB_LN1_PORT1)
>+#define CFG_LOW_RATE_LKREN_EN				(1 << 11)
>+
>+#define MG_TX_DCC_TX1LN0_PORT1			0x168110
>+#define MG_TX_DCC_TX1LN1_PORT1			0x168510
>+#define MG_TX_DCC_TX1LNO_PORT2			0x169110
>+#define MG_TX_DCC_TX1LN1_PORT2			0x169510
>+#define MG_TX_DCC_TX1LNO_PORT3			0x16A110
>+#define MG_TX_DCC_TX1LN1_PORT3			0x16A510
>+#define MG_TX_DCC_TX1LNO_PORT4			0x16B110
>+#define MG_TX_DCC_TX1LN1_PORT4			0x16B510
>+#define MG_TX1_DCC(port, ln) \
>+	MG_PHY_PORT_LN(port, ln, MG_TX_DCC_TX1LN0_PORT1, \
>+				 MG_TX_DCC_TX1LNO_PORT2, \
>+				 MG_TX_DCC_TX1LN1_PORT1)
>+#define MG_TX_DCC_TX2LN0_PORT1			0x168090
>+#define MG_TX_DCC_TX2LN1_PORT1			0x168490
>+#define MG_TX_DCC_TX2LNO_PORT2			0x169090
>+#define MG_TX_DCC_TX2LN1_PORT2			0x169490
>+#define MG_TX_DCC_TX2LNO_PORT3			0x16A090
>+#define MG_TX_DCC_TX2LN1_PORT3			0x16A490
>+#define MG_TX_DCC_TX2LNO_PORT4			0x16B090
>+#define MG_TX_DCC_TX2LN1_PORT4			0x16B490
>+#define MG_TX2_DCC(port, ln) \
>+	MG_PHY_PORT_LN(port, ln, MG_TX_DCC_TX2LN0_PORT1, \
>+				 MG_TX_DCC_TX2LNO_PORT2, \
>+				 MG_TX_DCC_TX2LN1_PORT1)
>
> /* The spec defines this only for BXT PHY0, but lets assume that this
>  * would exist for PHY1 too if it had a second channel.
>--
>2.7.4
>
>_______________________________________________
>Intel-gfx mailing list
>Intel-gfx@lists.freedesktop.org
>https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] drm/i915/icl: Add remaining registers and bitfields for MG PHY DDI
  2018-05-23  6:04 ` [PATCH] " Srivatsa, Anusha
@ 2018-05-23 16:47   ` Manasi Navare
  2018-06-05  0:12     ` Srivatsa, Anusha
  0 siblings, 1 reply; 8+ messages in thread
From: Manasi Navare @ 2018-05-23 16:47 UTC (permalink / raw)
  To: Srivatsa, Anusha; +Cc: intel-gfx, Zanoni, Paulo R

On Tue, May 22, 2018 at 11:04:57PM -0700, Srivatsa, Anusha wrote:
> 
> 
> >-----Original Message-----
> >From: Intel-gfx [mailto:intel-gfx-bounces@lists.freedesktop.org] On Behalf Of
> >Manasi Navare
> >Sent: Tuesday, May 15, 2018 5:53 PM
> >To: intel-gfx@lists.freedesktop.org
> >Cc: Zanoni, Paulo R <paulo.r.zanoni@intel.com>
> >Subject: [Intel-gfx] [PATCH] drm/i915/icl: Add remaining registers and bitfields for
> >MG PHY DDI
> >
> >This patch adds the remaining register definitions and bit fields required for MG
> >PHy DDI buffer initializations and voltage swing programming for MG PHy DDI
> >ports.
> >
> >While at it this patch also fixes the naming for previously defined MG PHY
> >registers in original commit id (c92f47b5ec977a "drm/i915/icl:
> >Add register defs for voltage swing sequences for MG PHY DDI").
> >Since the MG PHY registers are first defined in ICL platform, there is no need for
> >_ICL prefix.
> >
> >Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
> >Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
> >Cc: James Ausmus <james.ausmus@intel.com>
> >---
> > drivers/gpu/drm/i915/i915_reg.h | 243 +++++++++++++++++++++++----------------
> >-
> > 1 file changed, 142 insertions(+), 101 deletions(-)
> >
> >diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> >index f11bb21..a93b796 100644
> >--- a/drivers/gpu/drm/i915/i915_reg.h
> >+++ b/drivers/gpu/drm/i915/i915_reg.h
> >@@ -1827,121 +1827,162 @@ enum i915_power_well_id {
> > #define   N_SCALAR(x)			((x) << 24)
> > #define   N_SCALAR_MASK			(0x7F << 24)
> >
> >-#define _ICL_MG_PHY_PORT_LN(port, ln, ln0p1, ln0p2, ln1p1) \
> >+#define MG_PHY_PORT_LN(port, ln, ln0p1, ln0p2, ln1p1) \
> > 	_MMIO(_PORT((port) - PORT_C, ln0p1, ln0p2) + (ln) * ((ln1p1) - (ln0p1)))
> >
> >-#define _ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT1		0x16812C
> >-#define _ICL_MG_TX_LINK_PARAMS_TX1LN1_PORT1		0x16852C
> >-#define _ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT2		0x16912C
> >-#define _ICL_MG_TX_LINK_PARAMS_TX1LN1_PORT2		0x16952C
> >-#define _ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT3		0x16A12C
> >-#define _ICL_MG_TX_LINK_PARAMS_TX1LN1_PORT3		0x16A52C
> >-#define _ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT4		0x16B12C
> >-#define _ICL_MG_TX_LINK_PARAMS_TX1LN1_PORT4		0x16B52C
> >-#define ICL_PORT_MG_TX1_LINK_PARAMS(port, ln) \
> >-	_ICL_MG_PHY_PORT_LN(port, ln,
> >_ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT1, \
> >-
> >_ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT2, \
> >-
> >_ICL_MG_TX_LINK_PARAMS_TX1LN1_PORT1)
> >-
> >-#define _ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT1		0x1680AC
> >-#define _ICL_MG_TX_LINK_PARAMS_TX2LN1_PORT1		0x1684AC
> >-#define _ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT2		0x1690AC
> >-#define _ICL_MG_TX_LINK_PARAMS_TX2LN1_PORT2		0x1694AC
> >-#define _ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT3		0x16A0AC
> >-#define _ICL_MG_TX_LINK_PARAMS_TX2LN1_PORT3		0x16A4AC
> >-#define _ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT4		0x16B0AC
> >-#define _ICL_MG_TX_LINK_PARAMS_TX2LN1_PORT4		0x16B4AC
> >-#define ICL_PORT_MG_TX2_LINK_PARAMS(port, ln) \
> >-	_ICL_MG_PHY_PORT_LN(port, ln,
> >_ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT1, \
> >-
> >_ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT2, \
> >-
> >_ICL_MG_TX_LINK_PARAMS_TX2LN1_PORT1)
> >+#define MG_TX_LINK_PARAMS_TX1LN0_PORT1		0x16812C
> >+#define MG_TX_LINK_PARAMS_TX1LN1_PORT1		0x16852C
> >+#define MG_TX_LINK_PARAMS_TX1LN0_PORT2		0x16912C
> >+#define MG_TX_LINK_PARAMS_TX1LN1_PORT2		0x16952C
> >+#define MG_TX_LINK_PARAMS_TX1LN0_PORT3		0x16A12C
> >+#define MG_TX_LINK_PARAMS_TX1LN1_PORT3		0x16A52C
> >+#define MG_TX_LINK_PARAMS_TX1LN0_PORT4		0x16B12C
> >+#define _MG_TX_LINK_PARAMS_TX1LN1_PORT4		0x16B52C
> >+#define MG_TX1_LINK_PARAMS(port, ln) \
> >+	MG_PHY_PORT_LN(port, ln, MG_TX_LINK_PARAMS_TX1LN0_PORT1, \
> >+				 MG_TX_LINK_PARAMS_TX1LN0_PORT2, \
> >+				 MG_TX_LINK_PARAMS_TX1LN1_PORT1)
> >+
> >+#define MG_TX_LINK_PARAMS_TX2LN0_PORT1		0x1680AC
> >+#define MG_TX_LINK_PARAMS_TX2LN1_PORT1		0x1684AC
> >+#define MG_TX_LINK_PARAMS_TX2LN0_PORT2		0x1690AC
> >+#define MG_TX_LINK_PARAMS_TX2LN1_PORT2		0x1694AC
> >+#define MG_TX_LINK_PARAMS_TX2LN0_PORT3		0x16A0AC
> >+#define MG_TX_LINK_PARAMS_TX2LN1_PORT3		0x16A4AC
> >+#define MG_TX_LINK_PARAMS_TX2LN0_PORT4		0x16B0AC
> >+#define MG_TX_LINK_PARAMS_TX2LN1_PORT4		0x16B4AC
> >+#define MG_TX2_LINK_PARAMS(port, ln) \
> >+	MG_PHY_PORT_LN(port, ln, MG_TX_LINK_PARAMS_TX2LN0_PORT1, \
> >+				 MG_TX_LINK_PARAMS_TX2LN0_PORT2, \
> >+				 MG_TX_LINK_PARAMS_TX2LN1_PORT1)
> > #define CRI_USE_FS32			(1 << 5)
> 
> Not a complete review of the patch, but noticed that most bitfields here are missing.
> Apart from CRI_USE_FS2, there are others like CRI_REVERSEDEEMPH_EN etc... are they skipped on purpose?
>

Yes actually only the register bitfields that re required for the DDI Buffer initializations
and voltage swing programming are defined here.

Manasi
 
> Anusha 
> >-#define _ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT1		0x16814C
> >-#define _ICL_MG_TX_PISO_READLOAD_TX1LN1_PORT1		0x16854C
> >-#define _ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT2		0x16914C
> >-#define _ICL_MG_TX_PISO_READLOAD_TX1LN1_PORT2		0x16954C
> >-#define _ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT3		0x16A14C
> >-#define _ICL_MG_TX_PISO_READLOAD_TX1LN1_PORT3		0x16A54C
> >-#define _ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT4		0x16B14C
> >-#define _ICL_MG_TX_PISO_READLOAD_TX1LN1_PORT4		0x16B54C
> >-#define ICL_PORT_MG_TX1_PISO_READLOAD(port, ln) \
> >-	_ICL_MG_PHY_PORT_LN(port, ln,
> >_ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT1, \
> >-
> >_ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT2, \
> >-
> >_ICL_MG_TX_PISO_READLOAD_TX1LN1_PORT1)
> >-
> >-#define _ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT1		0x1680CC
> >-#define _ICL_MG_TX_PISO_READLOAD_TX2LN1_PORT1		0x1684CC
> >-#define _ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT2		0x1690CC
> >-#define _ICL_MG_TX_PISO_READLOAD_TX2LN1_PORT2		0x1694CC
> >-#define _ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT3		0x16A0CC
> >-#define _ICL_MG_TX_PISO_READLOAD_TX2LN1_PORT3		0x16A4CC
> >-#define _ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT4		0x16B0CC
> >-#define _ICL_MG_TX_PISO_READLOAD_TX2LN1_PORT4		0x16B4CC
> >-#define ICL_PORT_MG_TX2_PISO_READLOAD(port, ln) \
> >-	_ICL_MG_PHY_PORT_LN(port, ln,
> >_ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT1, \
> >-
> >_ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT2, \
> >-
> >_ICL_MG_TX_PISO_READLOAD_TX2LN1_PORT1)
> >+#define MG_TX_PISO_READLOAD_TX1LN0_PORT1		0x16814C
> >+#define MG_TX_PISO_READLOAD_TX1LN1_PORT1		0x16854C
> >+#define MG_TX_PISO_READLOAD_TX1LN0_PORT2		0x16914C
> >+#define MG_TX_PISO_READLOAD_TX1LN1_PORT2		0x16954C
> >+#define MG_TX_PISO_READLOAD_TX1LN0_PORT3		0x16A14C
> >+#define MG_TX_PISO_READLOAD_TX1LN1_PORT3		0x16A54C
> >+#define MG_TX_PISO_READLOAD_TX1LN0_PORT4		0x16B14C
> >+#define MG_TX_PISO_READLOAD_TX1LN1_PORT4		0x16B54C
> >+#define MG_TX1_PISO_READLOAD(port, ln) \
> >+	MG_PHY_PORT_LN(port, ln, MG_TX_PISO_READLOAD_TX1LN0_PORT1, \
> >+				 MG_TX_PISO_READLOAD_TX1LN0_PORT2, \
> >+				 MG_TX_PISO_READLOAD_TX1LN1_PORT1)
> >+
> >+#define MG_TX_PISO_READLOAD_TX2LN0_PORT1		0x1680CC
> >+#define MG_TX_PISO_READLOAD_TX2LN1_PORT1		0x1684CC
> >+#define MG_TX_PISO_READLOAD_TX2LN0_PORT2		0x1690CC
> >+#define MG_TX_PISO_READLOAD_TX2LN1_PORT2		0x1694CC
> >+#define MG_TX_PISO_READLOAD_TX2LN0_PORT3		0x16A0CC
> >+#define MG_TX_PISO_READLOAD_TX2LN1_PORT3		0x16A4CC
> >+#define MG_TX_PISO_READLOAD_TX2LN0_PORT4		0x16B0CC
> >+#define MG_TX_PISO_READLOAD_TX2LN1_PORT4		0x16B4CC
> >+#define MG_TX2_PISO_READLOAD(port, ln) \
> >+	MG_PHY_PORT_LN(port, ln, MG_TX_PISO_READLOAD_TX2LN0_PORT1, \
> >+				 MG_TX_PISO_READLOAD_TX2LN0_PORT2, \
> >+				 MG_TX_PISO_READLOAD_TX2LN1_PORT1)
> > #define CRI_CALCINIT					(1 << 1)
> >
> >-#define _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT1		0x168148
> >-#define _ICL_MG_TX_SWINGCTRL_TX1LN1_PORT1		0x168548
> >-#define _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT2		0x169148
> >-#define _ICL_MG_TX_SWINGCTRL_TX1LN1_PORT2		0x169548
> >-#define _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT3		0x16A148
> >-#define _ICL_MG_TX_SWINGCTRL_TX1LN1_PORT3		0x16A548
> >-#define _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT4		0x16B148
> >-#define _ICL_MG_TX_SWINGCTRL_TX1LN1_PORT4		0x16B548
> >-#define ICL_PORT_MG_TX1_SWINGCTRL(port, ln) \
> >-	_ICL_MG_PHY_PORT_LN(port, ln,
> >_ICL_MG_TX_SWINGCTRL_TX1LN0_PORT1, \
> >-				      _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT2, \
> >-				      _ICL_MG_TX_SWINGCTRL_TX1LN1_PORT1)
> >-
> >-#define _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT1		0x1680C8
> >-#define _ICL_MG_TX_SWINGCTRL_TX2LN1_PORT1		0x1684C8
> >-#define _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT2		0x1690C8
> >-#define _ICL_MG_TX_SWINGCTRL_TX2LN1_PORT2		0x1694C8
> >-#define _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT3		0x16A0C8
> >-#define _ICL_MG_TX_SWINGCTRL_TX2LN1_PORT3		0x16A4C8
> >-#define _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT4		0x16B0C8
> >-#define _ICL_MG_TX_SWINGCTRL_TX2LN1_PORT4		0x16B4C8
> >-#define ICL_PORT_MG_TX2_SWINGCTRL(port, ln) \
> >-	_ICL_MG_PHY_PORT_LN(port, ln,
> >_ICL_MG_TX_SWINGCTRL_TX2LN0_PORT1, \
> >-				      _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT2, \
> >-				      _ICL_MG_TX_SWINGCTRL_TX2LN1_PORT1)
> >+#define MG_TX_SWINGCTRL_TX1LN0_PORT1		0x168148
> >+#define MG_TX_SWINGCTRL_TX1LN1_PORT1		0x168548
> >+#define MG_TX_SWINGCTRL_TX1LN0_PORT2		0x169148
> >+#define MG_TX_SWINGCTRL_TX1LN1_PORT2		0x169548
> >+#define MG_TX_SWINGCTRL_TX1LN0_PORT3		0x16A148
> >+#define MG_TX_SWINGCTRL_TX1LN1_PORT3		0x16A548
> >+#define MG_TX_SWINGCTRL_TX1LN0_PORT4		0x16B148
> >+#define MG_TX_SWINGCTRL_TX1LN1_PORT4		0x16B548
> >+#define MG_TX1_SWINGCTRL(port, ln) \
> >+	MG_PHY_PORT_LN(port, ln, MG_TX_SWINGCTRL_TX1LN0_PORT1, \
> >+				 MG_TX_SWINGCTRL_TX1LN0_PORT2, \
> >+				 MG_TX_SWINGCTRL_TX1LN1_PORT1)
> >+
> >+#define MG_TX_SWINGCTRL_TX2LN0_PORT1		0x1680C8
> >+#define MG_TX_SWINGCTRL_TX2LN1_PORT1		0x1684C8
> >+#define MG_TX_SWINGCTRL_TX2LN0_PORT2		0x1690C8
> >+#define MG_TX_SWINGCTRL_TX2LN1_PORT2		0x1694C8
> >+#define MG_TX_SWINGCTRL_TX2LN0_PORT3		0x16A0C8
> >+#define MG_TX_SWINGCTRL_TX2LN1_PORT3		0x16A4C8
> >+#define MG_TX_SWINGCTRL_TX2LN0_PORT4		0x16B0C8
> >+#define MG_TX_SWINGCTRL_TX2LN1_PORT4		0x16B4C8
> >+#define MG_TX2_SWINGCTRL(port, ln) \
> >+	MG_PHY_PORT_LN(port, ln, MG_TX_SWINGCTRL_TX2LN0_PORT1, \
> >+				 MG_TX_SWINGCTRL_TX2LN0_PORT2, \
> >+				 MG_TX_SWINGCTRL_TX2LN1_PORT1)
> > #define CRI_TXDEEMPH_OVERRIDE_17_12(x)			((x) << 0)
> > #define CRI_TXDEEMPH_OVERRIDE_17_12_MASK		(0x3F << 0)
> >
> >-#define _ICL_MG_TX_DRVCTRL_TX1LN0_PORT1
> >	0x168144
> >-#define _ICL_MG_TX_DRVCTRL_TX1LN1_PORT1
> >	0x168544
> >-#define _ICL_MG_TX_DRVCTRL_TX1LN0_PORT2
> >	0x169144
> >-#define _ICL_MG_TX_DRVCTRL_TX1LN1_PORT2
> >	0x169544
> >-#define _ICL_MG_TX_DRVCTRL_TX1LN0_PORT3
> >	0x16A144
> >-#define _ICL_MG_TX_DRVCTRL_TX1LN1_PORT3
> >	0x16A544
> >-#define _ICL_MG_TX_DRVCTRL_TX1LN0_PORT4
> >	0x16B144
> >-#define _ICL_MG_TX_DRVCTRL_TX1LN1_PORT4
> >	0x16B544
> >-#define ICL_PORT_MG_TX1_DRVCTRL(port, ln) \
> >-	_ICL_MG_PHY_PORT_LN(port, ln,
> >_ICL_MG_TX_DRVCTRL_TX1LN0_PORT1, \
> >-				      _ICL_MG_TX_DRVCTRL_TX1LN0_PORT2, \
> >-				      _ICL_MG_TX_DRVCTRL_TX1LN1_PORT1)
> >-
> >-#define _ICL_MG_TX_DRVCTRL_TX2LN0_PORT1
> >	0x1680C4
> >-#define _ICL_MG_TX_DRVCTRL_TX2LN1_PORT1
> >	0x1684C4
> >-#define _ICL_MG_TX_DRVCTRL_TX2LN0_PORT2
> >	0x1690C4
> >-#define _ICL_MG_TX_DRVCTRL_TX2LN1_PORT2
> >	0x1694C4
> >-#define _ICL_MG_TX_DRVCTRL_TX2LN0_PORT3
> >	0x16A0C4
> >-#define _ICL_MG_TX_DRVCTRL_TX2LN1_PORT3
> >	0x16A4C4
> >-#define _ICL_MG_TX_DRVCTRL_TX2LN0_PORT4
> >	0x16B0C4
> >-#define _ICL_MG_TX_DRVCTRL_TX2LN1_PORT4
> >	0x16B4C4
> >-#define ICL_PORT_MG_TX2_DRVCTRL(port, ln) \
> >-	_ICL_MG_PHY_PORT_LN(port, ln,
> >_ICL_MG_TX_DRVCTRL_TX2LN0_PORT1, \
> >-				      _ICL_MG_TX_DRVCTRL_TX2LN0_PORT2, \
> >-				      _ICL_MG_TX_DRVCTRL_TX2LN1_PORT1)
> >+#define MG_TX_DRVCTRL_TX1LN0_PORT1			0x168144
> >+#define MG_TX_DRVCTRL_TX1LN1_PORT1			0x168544
> >+#define MG_TX_DRVCTRL_TX1LN0_PORT2			0x169144
> >+#define MG_TX_DRVCTRL_TX1LN1_PORT2			0x169544
> >+#define MG_TX_DRVCTRL_TX1LN0_PORT3			0x16A144
> >+#define MG_TX_DRVCTRL_TX1LN1_PORT3			0x16A544
> >+#define MG_TX_DRVCTRL_TX1LN0_PORT4			0x16B144
> >+#define MG_TX_DRVCTRL_TX1LN1_PORT4			0x16B544
> >+#define MG_TX1_DRVCTRL(port, ln) \
> >+	MG_PHY_PORT_LN(port, ln, MG_TX_DRVCTRL_TX1LN0_PORT1, \
> >+				 MG_TX_DRVCTRL_TX1LN0_PORT2, \
> >+				 MG_TX_DRVCTRL_TX1LN1_PORT1)
> >+
> >+#define MG_TX_DRVCTRL_TX2LN0_PORT1			0x1680C4
> >+#define MG_TX_DRVCTRL_TX2LN1_PORT1			0x1684C4
> >+#define MG_TX_DRVCTRL_TX2LN0_PORT2			0x1690C4
> >+#define MG_TX_DRVCTRL_TX2LN1_PORT2			0x1694C4
> >+#define MG_TX_DRVCTRL_TX2LN0_PORT3			0x16A0C4
> >+#define MG_TX_DRVCTRL_TX2LN1_PORT3			0x16A4C4
> >+#define MG_TX_DRVCTRL_TX2LN0_PORT4			0x16B0C4
> >+#define MG_TX_DRVCTRL_TX2LN1_PORT4			0x16B4C4
> >+#define MG_TX2_DRVCTRL(port, ln) \
> >+	MG_PHY_PORT_LN(port, ln, MG_TX_DRVCTRL_TX2LN0_PORT1, \
> >+				 MG_TX_DRVCTRL_TX2LN0_PORT2, \
> >+				 MG_TX_DRVCTRL_TX2LN1_PORT1)
> > #define CRI_TXDEEMPH_OVERRIDE_11_6(x)			((x) << 24)
> > #define CRI_TXDEEMPH_OVERRIDE_11_6_MASK			(0x3F
> ><< 24)
> > #define CRI_TXDEEMPH_OVERRIDE_EN			(1 << 22)
> > #define CRI_TXDEEMPH_OVERRIDE_5_0(x)			((x) << 16)
> > #define CRI_TXDEEMPH_OVERRIDE_5_0_MASK			(0x3F << 16)
> >+#define CRI_LOADGEN_SEL(x)				((x) << 12)
> >+#define CRI_LOADGEN_SEL_MASK				(0x3 << 12)
> >+
> >+#define MG_CLKHUB_LN0_PORT1			0x16839C
> >+#define MG_CLKHUB_LN1_PORT1			0x16879C
> >+#define MG_CLKHUB_LN0_PORT2			0x16939C
> >+#define MG_CLKHUB_LN1_PORT2			0x16979C
> >+#define MG_CLKHUB_LN0_PORT3			0x16A39C
> >+#define MG_CLKHUB_LN1_PORT3			0x16A79C
> >+#define MG_CLKHUB_LN0_PORT4			0x16B39C
> >+#define MG_CLKHUB_LN1_PORT4			0x16B79C
> >+#define MG_CLKHUB(port, ln) \
> >+	MG_PHY_PORT_LN(port, ln, MG_CLKHUB_LN0_PORT1, \
> >+				 MG_CLKHUB_LN0_PORT2, \
> >+				 MG_CLKHUB_LN1_PORT1)
> >+#define CFG_LOW_RATE_LKREN_EN				(1 << 11)
> >+
> >+#define MG_TX_DCC_TX1LN0_PORT1			0x168110
> >+#define MG_TX_DCC_TX1LN1_PORT1			0x168510
> >+#define MG_TX_DCC_TX1LNO_PORT2			0x169110
> >+#define MG_TX_DCC_TX1LN1_PORT2			0x169510
> >+#define MG_TX_DCC_TX1LNO_PORT3			0x16A110
> >+#define MG_TX_DCC_TX1LN1_PORT3			0x16A510
> >+#define MG_TX_DCC_TX1LNO_PORT4			0x16B110
> >+#define MG_TX_DCC_TX1LN1_PORT4			0x16B510
> >+#define MG_TX1_DCC(port, ln) \
> >+	MG_PHY_PORT_LN(port, ln, MG_TX_DCC_TX1LN0_PORT1, \
> >+				 MG_TX_DCC_TX1LNO_PORT2, \
> >+				 MG_TX_DCC_TX1LN1_PORT1)
> >+#define MG_TX_DCC_TX2LN0_PORT1			0x168090
> >+#define MG_TX_DCC_TX2LN1_PORT1			0x168490
> >+#define MG_TX_DCC_TX2LNO_PORT2			0x169090
> >+#define MG_TX_DCC_TX2LN1_PORT2			0x169490
> >+#define MG_TX_DCC_TX2LNO_PORT3			0x16A090
> >+#define MG_TX_DCC_TX2LN1_PORT3			0x16A490
> >+#define MG_TX_DCC_TX2LNO_PORT4			0x16B090
> >+#define MG_TX_DCC_TX2LN1_PORT4			0x16B490
> >+#define MG_TX2_DCC(port, ln) \
> >+	MG_PHY_PORT_LN(port, ln, MG_TX_DCC_TX2LN0_PORT1, \
> >+				 MG_TX_DCC_TX2LNO_PORT2, \
> >+				 MG_TX_DCC_TX2LN1_PORT1)
> >
> > /* The spec defines this only for BXT PHY0, but lets assume that this
> >  * would exist for PHY1 too if it had a second channel.
> >--
> >2.7.4
> >
> >_______________________________________________
> >Intel-gfx mailing list
> >Intel-gfx@lists.freedesktop.org
> >https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] drm/i915/icl: Add remaining registers and bitfields for MG PHY DDI
  2018-05-23 16:47   ` Manasi Navare
@ 2018-06-05  0:12     ` Srivatsa, Anusha
  0 siblings, 0 replies; 8+ messages in thread
From: Srivatsa, Anusha @ 2018-06-05  0:12 UTC (permalink / raw)
  To: Navare, Manasi D; +Cc: intel-gfx, Zanoni, Paulo R



>-----Original Message-----
>From: Navare, Manasi D
>Sent: Wednesday, May 23, 2018 9:47 AM
>To: Srivatsa, Anusha <anusha.srivatsa@intel.com>
>Cc: intel-gfx@lists.freedesktop.org; Zanoni, Paulo R <paulo.r.zanoni@intel.com>
>Subject: Re: [Intel-gfx] [PATCH] drm/i915/icl: Add remaining registers and
>bitfields for MG PHY DDI
>
>On Tue, May 22, 2018 at 11:04:57PM -0700, Srivatsa, Anusha wrote:
>>
>>
>> >-----Original Message-----
>> >From: Intel-gfx [mailto:intel-gfx-bounces@lists.freedesktop.org] On
>> >Behalf Of Manasi Navare
>> >Sent: Tuesday, May 15, 2018 5:53 PM
>> >To: intel-gfx@lists.freedesktop.org
>> >Cc: Zanoni, Paulo R <paulo.r.zanoni@intel.com>
>> >Subject: [Intel-gfx] [PATCH] drm/i915/icl: Add remaining registers
>> >and bitfields for MG PHY DDI
>> >
>> >This patch adds the remaining register definitions and bit fields
>> >required for MG PHy DDI buffer initializations and voltage swing
>> >programming for MG PHy DDI ports.
>> >
>> >While at it this patch also fixes the naming for previously defined
>> >MG PHY registers in original commit id (c92f47b5ec977a "drm/i915/icl:
>> >Add register defs for voltage swing sequences for MG PHY DDI").
>> >Since the MG PHY registers are first defined in ICL platform, there
>> >is no need for _ICL prefix.
>> >
>> >Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
>> >Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
>> >Cc: James Ausmus <james.ausmus@intel.com>
>> >---
>> > drivers/gpu/drm/i915/i915_reg.h | 243
>> >+++++++++++++++++++++++----------------
>> >-
>> > 1 file changed, 142 insertions(+), 101 deletions(-)
>> >
>> >diff --git a/drivers/gpu/drm/i915/i915_reg.h
>> >b/drivers/gpu/drm/i915/i915_reg.h index f11bb21..a93b796 100644
>> >--- a/drivers/gpu/drm/i915/i915_reg.h
>> >+++ b/drivers/gpu/drm/i915/i915_reg.h
>> >@@ -1827,121 +1827,162 @@ enum i915_power_well_id {
>> > #define   N_SCALAR(x)			((x) << 24)
>> > #define   N_SCALAR_MASK			(0x7F << 24)
>> >
>> >-#define _ICL_MG_PHY_PORT_LN(port, ln, ln0p1, ln0p2, ln1p1) \
>> >+#define MG_PHY_PORT_LN(port, ln, ln0p1, ln0p2, ln1p1) \
>> > 	_MMIO(_PORT((port) - PORT_C, ln0p1, ln0p2) + (ln) * ((ln1p1) -
>> > (ln0p1)))
>> >
>> >-#define _ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT1		0x16812C
>> >-#define _ICL_MG_TX_LINK_PARAMS_TX1LN1_PORT1		0x16852C
>> >-#define _ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT2		0x16912C
>> >-#define _ICL_MG_TX_LINK_PARAMS_TX1LN1_PORT2		0x16952C
>> >-#define _ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT3		0x16A12C
>> >-#define _ICL_MG_TX_LINK_PARAMS_TX1LN1_PORT3		0x16A52C
>> >-#define _ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT4		0x16B12C
>> >-#define _ICL_MG_TX_LINK_PARAMS_TX1LN1_PORT4		0x16B52C
>> >-#define ICL_PORT_MG_TX1_LINK_PARAMS(port, ln) \
>> >-	_ICL_MG_PHY_PORT_LN(port, ln,
>> >_ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT1, \
>> >-
>> >_ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT2, \
>> >-
>> >_ICL_MG_TX_LINK_PARAMS_TX1LN1_PORT1)
>> >-
>> >-#define _ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT1		0x1680AC
>> >-#define _ICL_MG_TX_LINK_PARAMS_TX2LN1_PORT1		0x1684AC
>> >-#define _ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT2		0x1690AC
>> >-#define _ICL_MG_TX_LINK_PARAMS_TX2LN1_PORT2		0x1694AC
>> >-#define _ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT3		0x16A0AC
>> >-#define _ICL_MG_TX_LINK_PARAMS_TX2LN1_PORT3		0x16A4AC
>> >-#define _ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT4		0x16B0AC
>> >-#define _ICL_MG_TX_LINK_PARAMS_TX2LN1_PORT4		0x16B4AC
>> >-#define ICL_PORT_MG_TX2_LINK_PARAMS(port, ln) \
>> >-	_ICL_MG_PHY_PORT_LN(port, ln,
>> >_ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT1, \
>> >-
>> >_ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT2, \
>> >-
>> >_ICL_MG_TX_LINK_PARAMS_TX2LN1_PORT1)
>> >+#define MG_TX_LINK_PARAMS_TX1LN0_PORT1		0x16812C
>> >+#define MG_TX_LINK_PARAMS_TX1LN1_PORT1		0x16852C
>> >+#define MG_TX_LINK_PARAMS_TX1LN0_PORT2		0x16912C
>> >+#define MG_TX_LINK_PARAMS_TX1LN1_PORT2		0x16952C
>> >+#define MG_TX_LINK_PARAMS_TX1LN0_PORT3		0x16A12C
>> >+#define MG_TX_LINK_PARAMS_TX1LN1_PORT3		0x16A52C
>> >+#define MG_TX_LINK_PARAMS_TX1LN0_PORT4		0x16B12C
>> >+#define _MG_TX_LINK_PARAMS_TX1LN1_PORT4		0x16B52C
>> >+#define MG_TX1_LINK_PARAMS(port, ln) \
>> >+	MG_PHY_PORT_LN(port, ln, MG_TX_LINK_PARAMS_TX1LN0_PORT1, \
>> >+				 MG_TX_LINK_PARAMS_TX1LN0_PORT2, \
>> >+				 MG_TX_LINK_PARAMS_TX1LN1_PORT1)
>> >+
>> >+#define MG_TX_LINK_PARAMS_TX2LN0_PORT1		0x1680AC
>> >+#define MG_TX_LINK_PARAMS_TX2LN1_PORT1		0x1684AC
>> >+#define MG_TX_LINK_PARAMS_TX2LN0_PORT2		0x1690AC
>> >+#define MG_TX_LINK_PARAMS_TX2LN1_PORT2		0x1694AC
>> >+#define MG_TX_LINK_PARAMS_TX2LN0_PORT3		0x16A0AC
>> >+#define MG_TX_LINK_PARAMS_TX2LN1_PORT3		0x16A4AC
>> >+#define MG_TX_LINK_PARAMS_TX2LN0_PORT4		0x16B0AC
>> >+#define MG_TX_LINK_PARAMS_TX2LN1_PORT4		0x16B4AC
>> >+#define MG_TX2_LINK_PARAMS(port, ln) \
>> >+	MG_PHY_PORT_LN(port, ln, MG_TX_LINK_PARAMS_TX2LN0_PORT1, \
>> >+				 MG_TX_LINK_PARAMS_TX2LN0_PORT2, \
>> >+				 MG_TX_LINK_PARAMS_TX2LN1_PORT1)
>> > #define CRI_USE_FS32			(1 << 5)
>>
>> Not a complete review of the patch, but noticed that most bitfields here are
>missing.
>> Apart from CRI_USE_FS2, there are others like CRI_REVERSEDEEMPH_EN etc...
>are they skipped on purpose?
>>
>
>Yes actually only the register bitfields that re required for the DDI Buffer
>initializations and voltage swing programming are defined here.
>
>Manasi
>
>> Anusha
>> >-#define _ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT1
>	0x16814C
>> >-#define _ICL_MG_TX_PISO_READLOAD_TX1LN1_PORT1
>	0x16854C
>> >-#define _ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT2
>	0x16914C
>> >-#define _ICL_MG_TX_PISO_READLOAD_TX1LN1_PORT2
>	0x16954C
>> >-#define _ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT3
>	0x16A14C
>> >-#define _ICL_MG_TX_PISO_READLOAD_TX1LN1_PORT3
>	0x16A54C
>> >-#define _ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT4
>	0x16B14C
>> >-#define _ICL_MG_TX_PISO_READLOAD_TX1LN1_PORT4
>	0x16B54C
>> >-#define ICL_PORT_MG_TX1_PISO_READLOAD(port, ln) \
>> >-	_ICL_MG_PHY_PORT_LN(port, ln,
>> >_ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT1, \
>> >-
>> >_ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT2, \
>> >-
>> >_ICL_MG_TX_PISO_READLOAD_TX1LN1_PORT1)
>> >-
>> >-#define _ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT1
>	0x1680CC
>> >-#define _ICL_MG_TX_PISO_READLOAD_TX2LN1_PORT1
>	0x1684CC
>> >-#define _ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT2
>	0x1690CC
>> >-#define _ICL_MG_TX_PISO_READLOAD_TX2LN1_PORT2
>	0x1694CC
>> >-#define _ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT3
>	0x16A0CC
>> >-#define _ICL_MG_TX_PISO_READLOAD_TX2LN1_PORT3
>	0x16A4CC
>> >-#define _ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT4
>	0x16B0CC
>> >-#define _ICL_MG_TX_PISO_READLOAD_TX2LN1_PORT4
>	0x16B4CC
>> >-#define ICL_PORT_MG_TX2_PISO_READLOAD(port, ln) \
>> >-	_ICL_MG_PHY_PORT_LN(port, ln,
>> >_ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT1, \
>> >-
>> >_ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT2, \
>> >-
>> >_ICL_MG_TX_PISO_READLOAD_TX2LN1_PORT1)
>> >+#define MG_TX_PISO_READLOAD_TX1LN0_PORT1		0x16814C
>> >+#define MG_TX_PISO_READLOAD_TX1LN1_PORT1		0x16854C
>> >+#define MG_TX_PISO_READLOAD_TX1LN0_PORT2		0x16914C
>> >+#define MG_TX_PISO_READLOAD_TX1LN1_PORT2		0x16954C
>> >+#define MG_TX_PISO_READLOAD_TX1LN0_PORT3		0x16A14C
>> >+#define MG_TX_PISO_READLOAD_TX1LN1_PORT3		0x16A54C
>> >+#define MG_TX_PISO_READLOAD_TX1LN0_PORT4		0x16B14C
>> >+#define MG_TX_PISO_READLOAD_TX1LN1_PORT4		0x16B54C
>> >+#define MG_TX1_PISO_READLOAD(port, ln) \
>> >+	MG_PHY_PORT_LN(port, ln, MG_TX_PISO_READLOAD_TX1LN0_PORT1, \
>> >+				 MG_TX_PISO_READLOAD_TX1LN0_PORT2, \
>> >+				 MG_TX_PISO_READLOAD_TX1LN1_PORT1)
>> >+
>> >+#define MG_TX_PISO_READLOAD_TX2LN0_PORT1		0x1680CC
>> >+#define MG_TX_PISO_READLOAD_TX2LN1_PORT1		0x1684CC
>> >+#define MG_TX_PISO_READLOAD_TX2LN0_PORT2		0x1690CC
>> >+#define MG_TX_PISO_READLOAD_TX2LN1_PORT2		0x1694CC
>> >+#define MG_TX_PISO_READLOAD_TX2LN0_PORT3		0x16A0CC
>> >+#define MG_TX_PISO_READLOAD_TX2LN1_PORT3		0x16A4CC
>> >+#define MG_TX_PISO_READLOAD_TX2LN0_PORT4		0x16B0CC
>> >+#define MG_TX_PISO_READLOAD_TX2LN1_PORT4		0x16B4CC
>> >+#define MG_TX2_PISO_READLOAD(port, ln) \
>> >+	MG_PHY_PORT_LN(port, ln, MG_TX_PISO_READLOAD_TX2LN0_PORT1, \
>> >+				 MG_TX_PISO_READLOAD_TX2LN0_PORT2, \
>> >+				 MG_TX_PISO_READLOAD_TX2LN1_PORT1)
>> > #define CRI_CALCINIT					(1 << 1)
>> >
>> >-#define _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT1		0x168148
>> >-#define _ICL_MG_TX_SWINGCTRL_TX1LN1_PORT1		0x168548
>> >-#define _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT2		0x169148
>> >-#define _ICL_MG_TX_SWINGCTRL_TX1LN1_PORT2		0x169548
>> >-#define _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT3		0x16A148
>> >-#define _ICL_MG_TX_SWINGCTRL_TX1LN1_PORT3		0x16A548
>> >-#define _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT4		0x16B148
>> >-#define _ICL_MG_TX_SWINGCTRL_TX1LN1_PORT4		0x16B548
>> >-#define ICL_PORT_MG_TX1_SWINGCTRL(port, ln) \
>> >-	_ICL_MG_PHY_PORT_LN(port, ln,
>> >_ICL_MG_TX_SWINGCTRL_TX1LN0_PORT1, \
>> >-				      _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT2, \
>> >-				      _ICL_MG_TX_SWINGCTRL_TX1LN1_PORT1)
>> >-
>> >-#define _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT1		0x1680C8
>> >-#define _ICL_MG_TX_SWINGCTRL_TX2LN1_PORT1		0x1684C8
>> >-#define _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT2		0x1690C8
>> >-#define _ICL_MG_TX_SWINGCTRL_TX2LN1_PORT2		0x1694C8
>> >-#define _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT3		0x16A0C8
>> >-#define _ICL_MG_TX_SWINGCTRL_TX2LN1_PORT3		0x16A4C8
>> >-#define _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT4		0x16B0C8
>> >-#define _ICL_MG_TX_SWINGCTRL_TX2LN1_PORT4		0x16B4C8
>> >-#define ICL_PORT_MG_TX2_SWINGCTRL(port, ln) \
>> >-	_ICL_MG_PHY_PORT_LN(port, ln,
>> >_ICL_MG_TX_SWINGCTRL_TX2LN0_PORT1, \
>> >-				      _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT2, \
>> >-				      _ICL_MG_TX_SWINGCTRL_TX2LN1_PORT1)
>> >+#define MG_TX_SWINGCTRL_TX1LN0_PORT1		0x168148
>> >+#define MG_TX_SWINGCTRL_TX1LN1_PORT1		0x168548
>> >+#define MG_TX_SWINGCTRL_TX1LN0_PORT2		0x169148
>> >+#define MG_TX_SWINGCTRL_TX1LN1_PORT2		0x169548
>> >+#define MG_TX_SWINGCTRL_TX1LN0_PORT3		0x16A148
>> >+#define MG_TX_SWINGCTRL_TX1LN1_PORT3		0x16A548
>> >+#define MG_TX_SWINGCTRL_TX1LN0_PORT4		0x16B148
>> >+#define MG_TX_SWINGCTRL_TX1LN1_PORT4		0x16B548
>> >+#define MG_TX1_SWINGCTRL(port, ln) \
>> >+	MG_PHY_PORT_LN(port, ln, MG_TX_SWINGCTRL_TX1LN0_PORT1, \
>> >+				 MG_TX_SWINGCTRL_TX1LN0_PORT2, \
>> >+				 MG_TX_SWINGCTRL_TX1LN1_PORT1)
>> >+
>> >+#define MG_TX_SWINGCTRL_TX2LN0_PORT1		0x1680C8
>> >+#define MG_TX_SWINGCTRL_TX2LN1_PORT1		0x1684C8
>> >+#define MG_TX_SWINGCTRL_TX2LN0_PORT2		0x1690C8
>> >+#define MG_TX_SWINGCTRL_TX2LN1_PORT2		0x1694C8
>> >+#define MG_TX_SWINGCTRL_TX2LN0_PORT3		0x16A0C8
>> >+#define MG_TX_SWINGCTRL_TX2LN1_PORT3		0x16A4C8
>> >+#define MG_TX_SWINGCTRL_TX2LN0_PORT4		0x16B0C8
>> >+#define MG_TX_SWINGCTRL_TX2LN1_PORT4		0x16B4C8
>> >+#define MG_TX2_SWINGCTRL(port, ln) \
>> >+	MG_PHY_PORT_LN(port, ln, MG_TX_SWINGCTRL_TX2LN0_PORT1, \
>> >+				 MG_TX_SWINGCTRL_TX2LN0_PORT2, \
>> >+				 MG_TX_SWINGCTRL_TX2LN1_PORT1)
>> > #define CRI_TXDEEMPH_OVERRIDE_17_12(x)			((x) << 0)
>> > #define CRI_TXDEEMPH_OVERRIDE_17_12_MASK		(0x3F << 0)
>> >
>> >-#define _ICL_MG_TX_DRVCTRL_TX1LN0_PORT1
>> >	0x168144
>> >-#define _ICL_MG_TX_DRVCTRL_TX1LN1_PORT1
>> >	0x168544
>> >-#define _ICL_MG_TX_DRVCTRL_TX1LN0_PORT2
>> >	0x169144
>> >-#define _ICL_MG_TX_DRVCTRL_TX1LN1_PORT2
>> >	0x169544
>> >-#define _ICL_MG_TX_DRVCTRL_TX1LN0_PORT3
>> >	0x16A144
>> >-#define _ICL_MG_TX_DRVCTRL_TX1LN1_PORT3
>> >	0x16A544
>> >-#define _ICL_MG_TX_DRVCTRL_TX1LN0_PORT4
>> >	0x16B144
>> >-#define _ICL_MG_TX_DRVCTRL_TX1LN1_PORT4
>> >	0x16B544
>> >-#define ICL_PORT_MG_TX1_DRVCTRL(port, ln) \
>> >-	_ICL_MG_PHY_PORT_LN(port, ln,
>> >_ICL_MG_TX_DRVCTRL_TX1LN0_PORT1, \
>> >-				      _ICL_MG_TX_DRVCTRL_TX1LN0_PORT2, \
>> >-				      _ICL_MG_TX_DRVCTRL_TX1LN1_PORT1)
>> >-
>> >-#define _ICL_MG_TX_DRVCTRL_TX2LN0_PORT1
>> >	0x1680C4
>> >-#define _ICL_MG_TX_DRVCTRL_TX2LN1_PORT1
>> >	0x1684C4
>> >-#define _ICL_MG_TX_DRVCTRL_TX2LN0_PORT2
>> >	0x1690C4
>> >-#define _ICL_MG_TX_DRVCTRL_TX2LN1_PORT2
>> >	0x1694C4
>> >-#define _ICL_MG_TX_DRVCTRL_TX2LN0_PORT3
>> >	0x16A0C4
>> >-#define _ICL_MG_TX_DRVCTRL_TX2LN1_PORT3
>> >	0x16A4C4
>> >-#define _ICL_MG_TX_DRVCTRL_TX2LN0_PORT4
>> >	0x16B0C4
>> >-#define _ICL_MG_TX_DRVCTRL_TX2LN1_PORT4
>> >	0x16B4C4
>> >-#define ICL_PORT_MG_TX2_DRVCTRL(port, ln) \
>> >-	_ICL_MG_PHY_PORT_LN(port, ln,
>> >_ICL_MG_TX_DRVCTRL_TX2LN0_PORT1, \
>> >-				      _ICL_MG_TX_DRVCTRL_TX2LN0_PORT2, \
>> >-				      _ICL_MG_TX_DRVCTRL_TX2LN1_PORT1)
>> >+#define MG_TX_DRVCTRL_TX1LN0_PORT1			0x168144
>> >+#define MG_TX_DRVCTRL_TX1LN1_PORT1			0x168544
>> >+#define MG_TX_DRVCTRL_TX1LN0_PORT2			0x169144
>> >+#define MG_TX_DRVCTRL_TX1LN1_PORT2			0x169544
>> >+#define MG_TX_DRVCTRL_TX1LN0_PORT3			0x16A144
>> >+#define MG_TX_DRVCTRL_TX1LN1_PORT3			0x16A544
>> >+#define MG_TX_DRVCTRL_TX1LN0_PORT4			0x16B144
>> >+#define MG_TX_DRVCTRL_TX1LN1_PORT4			0x16B544
>> >+#define MG_TX1_DRVCTRL(port, ln) \
>> >+	MG_PHY_PORT_LN(port, ln, MG_TX_DRVCTRL_TX1LN0_PORT1, \
>> >+				 MG_TX_DRVCTRL_TX1LN0_PORT2, \
>> >+				 MG_TX_DRVCTRL_TX1LN1_PORT1)
>> >+
>> >+#define MG_TX_DRVCTRL_TX2LN0_PORT1			0x1680C4
>> >+#define MG_TX_DRVCTRL_TX2LN1_PORT1			0x1684C4
>> >+#define MG_TX_DRVCTRL_TX2LN0_PORT2			0x1690C4
>> >+#define MG_TX_DRVCTRL_TX2LN1_PORT2			0x1694C4
>> >+#define MG_TX_DRVCTRL_TX2LN0_PORT3			0x16A0C4
>> >+#define MG_TX_DRVCTRL_TX2LN1_PORT3			0x16A4C4
>> >+#define MG_TX_DRVCTRL_TX2LN0_PORT4			0x16B0C4
>> >+#define MG_TX_DRVCTRL_TX2LN1_PORT4			0x16B4C4
>> >+#define MG_TX2_DRVCTRL(port, ln) \
>> >+	MG_PHY_PORT_LN(port, ln, MG_TX_DRVCTRL_TX2LN0_PORT1, \
>> >+				 MG_TX_DRVCTRL_TX2LN0_PORT2, \
>> >+				 MG_TX_DRVCTRL_TX2LN1_PORT1)

All the _DRVCTRL_* registers, by naming convention are better off to be named _TXxLNx_TXPORTx instead of TXxLNx_PORTx

Anusha 
>> > #define CRI_TXDEEMPH_OVERRIDE_11_6(x)			((x) << 24)
>> > #define CRI_TXDEEMPH_OVERRIDE_11_6_MASK			(0x3F
>> ><< 24)
>> > #define CRI_TXDEEMPH_OVERRIDE_EN			(1 << 22)
>> > #define CRI_TXDEEMPH_OVERRIDE_5_0(x)			((x) << 16)
>> > #define CRI_TXDEEMPH_OVERRIDE_5_0_MASK			(0x3F
><< 16)
>> >+#define CRI_LOADGEN_SEL(x)				((x) << 12)
>> >+#define CRI_LOADGEN_SEL_MASK				(0x3 << 12)
>> >+
>> >+#define MG_CLKHUB_LN0_PORT1			0x16839C
>> >+#define MG_CLKHUB_LN1_PORT1			0x16879C
>> >+#define MG_CLKHUB_LN0_PORT2			0x16939C
>> >+#define MG_CLKHUB_LN1_PORT2			0x16979C
>> >+#define MG_CLKHUB_LN0_PORT3			0x16A39C
>> >+#define MG_CLKHUB_LN1_PORT3			0x16A79C
>> >+#define MG_CLKHUB_LN0_PORT4			0x16B39C
>> >+#define MG_CLKHUB_LN1_PORT4			0x16B79C
>> >+#define MG_CLKHUB(port, ln) \
>> >+	MG_PHY_PORT_LN(port, ln, MG_CLKHUB_LN0_PORT1, \
>> >+				 MG_CLKHUB_LN0_PORT2, \
>> >+				 MG_CLKHUB_LN1_PORT1)
>> >+#define CFG_LOW_RATE_LKREN_EN				(1 << 11)
>> >+
>> >+#define MG_TX_DCC_TX1LN0_PORT1			0x168110
>> >+#define MG_TX_DCC_TX1LN1_PORT1			0x168510
>> >+#define MG_TX_DCC_TX1LNO_PORT2			0x169110
>> >+#define MG_TX_DCC_TX1LN1_PORT2			0x169510
>> >+#define MG_TX_DCC_TX1LNO_PORT3			0x16A110
>> >+#define MG_TX_DCC_TX1LN1_PORT3			0x16A510
>> >+#define MG_TX_DCC_TX1LNO_PORT4			0x16B110
>> >+#define MG_TX_DCC_TX1LN1_PORT4			0x16B510
>> >+#define MG_TX1_DCC(port, ln) \
>> >+	MG_PHY_PORT_LN(port, ln, MG_TX_DCC_TX1LN0_PORT1, \
>> >+				 MG_TX_DCC_TX1LNO_PORT2, \
>> >+				 MG_TX_DCC_TX1LN1_PORT1)
>> >+#define MG_TX_DCC_TX2LN0_PORT1			0x168090
>> >+#define MG_TX_DCC_TX2LN1_PORT1			0x168490
>> >+#define MG_TX_DCC_TX2LNO_PORT2			0x169090
>> >+#define MG_TX_DCC_TX2LN1_PORT2			0x169490
>> >+#define MG_TX_DCC_TX2LNO_PORT3			0x16A090
>> >+#define MG_TX_DCC_TX2LN1_PORT3			0x16A490
>> >+#define MG_TX_DCC_TX2LNO_PORT4			0x16B090
>> >+#define MG_TX_DCC_TX2LN1_PORT4			0x16B490
>> >+#define MG_TX2_DCC(port, ln) \
>> >+	MG_PHY_PORT_LN(port, ln, MG_TX_DCC_TX2LN0_PORT1, \
>> >+				 MG_TX_DCC_TX2LNO_PORT2, \
>> >+				 MG_TX_DCC_TX2LN1_PORT1)
>> >
>> > /* The spec defines this only for BXT PHY0, but lets assume that
>> >this
>> >  * would exist for PHY1 too if it had a second channel.
>> >--
>> >2.7.4
>> >
>> >_______________________________________________
>> >Intel-gfx mailing list
>> >Intel-gfx@lists.freedesktop.org
>> >https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] drm/i915/icl: Add remaining registers and bitfields for MG PHY DDI
  2018-05-16  0:53 [PATCH] drm/i915/icl: Add remaining registers and bitfields for MG PHY DDI Manasi Navare
                   ` (3 preceding siblings ...)
  2018-05-23  6:04 ` [PATCH] " Srivatsa, Anusha
@ 2018-06-19 20:06 ` Manasi Navare
  4 siblings, 0 replies; 8+ messages in thread
From: Manasi Navare @ 2018-06-19 20:06 UTC (permalink / raw)
  To: intel-gfx; +Cc: Paulo Zanoni

Paulo could you review this patch, I need these defs for the next revision
of MG PHY DDI programming new revision.

Manasi

On Tue, May 15, 2018 at 05:53:01PM -0700, Manasi Navare wrote:
> This patch adds the remaining register definitions and bit fields
> required for MG PHy DDI buffer initializations and voltage
> swing programming for MG PHy DDI ports.
> 
> While at it this patch also fixes the naming for previously defined
> MG PHY registers in original commit id (c92f47b5ec977a "drm/i915/icl:
> Add register defs for voltage swing sequences for MG PHY DDI").
> Since the MG PHY registers are first defined in ICL platform, there
> is no need for _ICL prefix.
> 
> Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
> Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
> Cc: James Ausmus <james.ausmus@intel.com>
> ---
>  drivers/gpu/drm/i915/i915_reg.h | 243 +++++++++++++++++++++++-----------------
>  1 file changed, 142 insertions(+), 101 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index f11bb21..a93b796 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -1827,121 +1827,162 @@ enum i915_power_well_id {
>  #define   N_SCALAR(x)			((x) << 24)
>  #define   N_SCALAR_MASK			(0x7F << 24)
>  
> -#define _ICL_MG_PHY_PORT_LN(port, ln, ln0p1, ln0p2, ln1p1) \
> +#define MG_PHY_PORT_LN(port, ln, ln0p1, ln0p2, ln1p1) \
>  	_MMIO(_PORT((port) - PORT_C, ln0p1, ln0p2) + (ln) * ((ln1p1) - (ln0p1)))
>  
> -#define _ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT1		0x16812C
> -#define _ICL_MG_TX_LINK_PARAMS_TX1LN1_PORT1		0x16852C
> -#define _ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT2		0x16912C
> -#define _ICL_MG_TX_LINK_PARAMS_TX1LN1_PORT2		0x16952C
> -#define _ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT3		0x16A12C
> -#define _ICL_MG_TX_LINK_PARAMS_TX1LN1_PORT3		0x16A52C
> -#define _ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT4		0x16B12C
> -#define _ICL_MG_TX_LINK_PARAMS_TX1LN1_PORT4		0x16B52C
> -#define ICL_PORT_MG_TX1_LINK_PARAMS(port, ln) \
> -	_ICL_MG_PHY_PORT_LN(port, ln, _ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT1, \
> -				      _ICL_MG_TX_LINK_PARAMS_TX1LN0_PORT2, \
> -				      _ICL_MG_TX_LINK_PARAMS_TX1LN1_PORT1)
> -
> -#define _ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT1		0x1680AC
> -#define _ICL_MG_TX_LINK_PARAMS_TX2LN1_PORT1		0x1684AC
> -#define _ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT2		0x1690AC
> -#define _ICL_MG_TX_LINK_PARAMS_TX2LN1_PORT2		0x1694AC
> -#define _ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT3		0x16A0AC
> -#define _ICL_MG_TX_LINK_PARAMS_TX2LN1_PORT3		0x16A4AC
> -#define _ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT4		0x16B0AC
> -#define _ICL_MG_TX_LINK_PARAMS_TX2LN1_PORT4		0x16B4AC
> -#define ICL_PORT_MG_TX2_LINK_PARAMS(port, ln) \
> -	_ICL_MG_PHY_PORT_LN(port, ln, _ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT1, \
> -				      _ICL_MG_TX_LINK_PARAMS_TX2LN0_PORT2, \
> -				      _ICL_MG_TX_LINK_PARAMS_TX2LN1_PORT1)
> +#define MG_TX_LINK_PARAMS_TX1LN0_PORT1		0x16812C
> +#define MG_TX_LINK_PARAMS_TX1LN1_PORT1		0x16852C
> +#define MG_TX_LINK_PARAMS_TX1LN0_PORT2		0x16912C
> +#define MG_TX_LINK_PARAMS_TX1LN1_PORT2		0x16952C
> +#define MG_TX_LINK_PARAMS_TX1LN0_PORT3		0x16A12C
> +#define MG_TX_LINK_PARAMS_TX1LN1_PORT3		0x16A52C
> +#define MG_TX_LINK_PARAMS_TX1LN0_PORT4		0x16B12C
> +#define _MG_TX_LINK_PARAMS_TX1LN1_PORT4		0x16B52C
> +#define MG_TX1_LINK_PARAMS(port, ln) \
> +	MG_PHY_PORT_LN(port, ln, MG_TX_LINK_PARAMS_TX1LN0_PORT1, \
> +				 MG_TX_LINK_PARAMS_TX1LN0_PORT2, \
> +				 MG_TX_LINK_PARAMS_TX1LN1_PORT1)
> +
> +#define MG_TX_LINK_PARAMS_TX2LN0_PORT1		0x1680AC
> +#define MG_TX_LINK_PARAMS_TX2LN1_PORT1		0x1684AC
> +#define MG_TX_LINK_PARAMS_TX2LN0_PORT2		0x1690AC
> +#define MG_TX_LINK_PARAMS_TX2LN1_PORT2		0x1694AC
> +#define MG_TX_LINK_PARAMS_TX2LN0_PORT3		0x16A0AC
> +#define MG_TX_LINK_PARAMS_TX2LN1_PORT3		0x16A4AC
> +#define MG_TX_LINK_PARAMS_TX2LN0_PORT4		0x16B0AC
> +#define MG_TX_LINK_PARAMS_TX2LN1_PORT4		0x16B4AC
> +#define MG_TX2_LINK_PARAMS(port, ln) \
> +	MG_PHY_PORT_LN(port, ln, MG_TX_LINK_PARAMS_TX2LN0_PORT1, \
> +				 MG_TX_LINK_PARAMS_TX2LN0_PORT2, \
> +				 MG_TX_LINK_PARAMS_TX2LN1_PORT1)
>  #define CRI_USE_FS32			(1 << 5)
>  
> -#define _ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT1		0x16814C
> -#define _ICL_MG_TX_PISO_READLOAD_TX1LN1_PORT1		0x16854C
> -#define _ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT2		0x16914C
> -#define _ICL_MG_TX_PISO_READLOAD_TX1LN1_PORT2		0x16954C
> -#define _ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT3		0x16A14C
> -#define _ICL_MG_TX_PISO_READLOAD_TX1LN1_PORT3		0x16A54C
> -#define _ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT4		0x16B14C
> -#define _ICL_MG_TX_PISO_READLOAD_TX1LN1_PORT4		0x16B54C
> -#define ICL_PORT_MG_TX1_PISO_READLOAD(port, ln) \
> -	_ICL_MG_PHY_PORT_LN(port, ln, _ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT1, \
> -				      _ICL_MG_TX_PISO_READLOAD_TX1LN0_PORT2, \
> -				      _ICL_MG_TX_PISO_READLOAD_TX1LN1_PORT1)
> -
> -#define _ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT1		0x1680CC
> -#define _ICL_MG_TX_PISO_READLOAD_TX2LN1_PORT1		0x1684CC
> -#define _ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT2		0x1690CC
> -#define _ICL_MG_TX_PISO_READLOAD_TX2LN1_PORT2		0x1694CC
> -#define _ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT3		0x16A0CC
> -#define _ICL_MG_TX_PISO_READLOAD_TX2LN1_PORT3		0x16A4CC
> -#define _ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT4		0x16B0CC
> -#define _ICL_MG_TX_PISO_READLOAD_TX2LN1_PORT4		0x16B4CC
> -#define ICL_PORT_MG_TX2_PISO_READLOAD(port, ln) \
> -	_ICL_MG_PHY_PORT_LN(port, ln, _ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT1, \
> -				      _ICL_MG_TX_PISO_READLOAD_TX2LN0_PORT2, \
> -				      _ICL_MG_TX_PISO_READLOAD_TX2LN1_PORT1)
> +#define MG_TX_PISO_READLOAD_TX1LN0_PORT1		0x16814C
> +#define MG_TX_PISO_READLOAD_TX1LN1_PORT1		0x16854C
> +#define MG_TX_PISO_READLOAD_TX1LN0_PORT2		0x16914C
> +#define MG_TX_PISO_READLOAD_TX1LN1_PORT2		0x16954C
> +#define MG_TX_PISO_READLOAD_TX1LN0_PORT3		0x16A14C
> +#define MG_TX_PISO_READLOAD_TX1LN1_PORT3		0x16A54C
> +#define MG_TX_PISO_READLOAD_TX1LN0_PORT4		0x16B14C
> +#define MG_TX_PISO_READLOAD_TX1LN1_PORT4		0x16B54C
> +#define MG_TX1_PISO_READLOAD(port, ln) \
> +	MG_PHY_PORT_LN(port, ln, MG_TX_PISO_READLOAD_TX1LN0_PORT1, \
> +				 MG_TX_PISO_READLOAD_TX1LN0_PORT2, \
> +				 MG_TX_PISO_READLOAD_TX1LN1_PORT1)
> +
> +#define MG_TX_PISO_READLOAD_TX2LN0_PORT1		0x1680CC
> +#define MG_TX_PISO_READLOAD_TX2LN1_PORT1		0x1684CC
> +#define MG_TX_PISO_READLOAD_TX2LN0_PORT2		0x1690CC
> +#define MG_TX_PISO_READLOAD_TX2LN1_PORT2		0x1694CC
> +#define MG_TX_PISO_READLOAD_TX2LN0_PORT3		0x16A0CC
> +#define MG_TX_PISO_READLOAD_TX2LN1_PORT3		0x16A4CC
> +#define MG_TX_PISO_READLOAD_TX2LN0_PORT4		0x16B0CC
> +#define MG_TX_PISO_READLOAD_TX2LN1_PORT4		0x16B4CC
> +#define MG_TX2_PISO_READLOAD(port, ln) \
> +	MG_PHY_PORT_LN(port, ln, MG_TX_PISO_READLOAD_TX2LN0_PORT1, \
> +				 MG_TX_PISO_READLOAD_TX2LN0_PORT2, \
> +				 MG_TX_PISO_READLOAD_TX2LN1_PORT1)
>  #define CRI_CALCINIT					(1 << 1)
>  
> -#define _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT1		0x168148
> -#define _ICL_MG_TX_SWINGCTRL_TX1LN1_PORT1		0x168548
> -#define _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT2		0x169148
> -#define _ICL_MG_TX_SWINGCTRL_TX1LN1_PORT2		0x169548
> -#define _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT3		0x16A148
> -#define _ICL_MG_TX_SWINGCTRL_TX1LN1_PORT3		0x16A548
> -#define _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT4		0x16B148
> -#define _ICL_MG_TX_SWINGCTRL_TX1LN1_PORT4		0x16B548
> -#define ICL_PORT_MG_TX1_SWINGCTRL(port, ln) \
> -	_ICL_MG_PHY_PORT_LN(port, ln, _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT1, \
> -				      _ICL_MG_TX_SWINGCTRL_TX1LN0_PORT2, \
> -				      _ICL_MG_TX_SWINGCTRL_TX1LN1_PORT1)
> -
> -#define _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT1		0x1680C8
> -#define _ICL_MG_TX_SWINGCTRL_TX2LN1_PORT1		0x1684C8
> -#define _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT2		0x1690C8
> -#define _ICL_MG_TX_SWINGCTRL_TX2LN1_PORT2		0x1694C8
> -#define _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT3		0x16A0C8
> -#define _ICL_MG_TX_SWINGCTRL_TX2LN1_PORT3		0x16A4C8
> -#define _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT4		0x16B0C8
> -#define _ICL_MG_TX_SWINGCTRL_TX2LN1_PORT4		0x16B4C8
> -#define ICL_PORT_MG_TX2_SWINGCTRL(port, ln) \
> -	_ICL_MG_PHY_PORT_LN(port, ln, _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT1, \
> -				      _ICL_MG_TX_SWINGCTRL_TX2LN0_PORT2, \
> -				      _ICL_MG_TX_SWINGCTRL_TX2LN1_PORT1)
> +#define MG_TX_SWINGCTRL_TX1LN0_PORT1		0x168148
> +#define MG_TX_SWINGCTRL_TX1LN1_PORT1		0x168548
> +#define MG_TX_SWINGCTRL_TX1LN0_PORT2		0x169148
> +#define MG_TX_SWINGCTRL_TX1LN1_PORT2		0x169548
> +#define MG_TX_SWINGCTRL_TX1LN0_PORT3		0x16A148
> +#define MG_TX_SWINGCTRL_TX1LN1_PORT3		0x16A548
> +#define MG_TX_SWINGCTRL_TX1LN0_PORT4		0x16B148
> +#define MG_TX_SWINGCTRL_TX1LN1_PORT4		0x16B548
> +#define MG_TX1_SWINGCTRL(port, ln) \
> +	MG_PHY_PORT_LN(port, ln, MG_TX_SWINGCTRL_TX1LN0_PORT1, \
> +				 MG_TX_SWINGCTRL_TX1LN0_PORT2, \
> +				 MG_TX_SWINGCTRL_TX1LN1_PORT1)
> +
> +#define MG_TX_SWINGCTRL_TX2LN0_PORT1		0x1680C8
> +#define MG_TX_SWINGCTRL_TX2LN1_PORT1		0x1684C8
> +#define MG_TX_SWINGCTRL_TX2LN0_PORT2		0x1690C8
> +#define MG_TX_SWINGCTRL_TX2LN1_PORT2		0x1694C8
> +#define MG_TX_SWINGCTRL_TX2LN0_PORT3		0x16A0C8
> +#define MG_TX_SWINGCTRL_TX2LN1_PORT3		0x16A4C8
> +#define MG_TX_SWINGCTRL_TX2LN0_PORT4		0x16B0C8
> +#define MG_TX_SWINGCTRL_TX2LN1_PORT4		0x16B4C8
> +#define MG_TX2_SWINGCTRL(port, ln) \
> +	MG_PHY_PORT_LN(port, ln, MG_TX_SWINGCTRL_TX2LN0_PORT1, \
> +				 MG_TX_SWINGCTRL_TX2LN0_PORT2, \
> +				 MG_TX_SWINGCTRL_TX2LN1_PORT1)
>  #define CRI_TXDEEMPH_OVERRIDE_17_12(x)			((x) << 0)
>  #define CRI_TXDEEMPH_OVERRIDE_17_12_MASK		(0x3F << 0)
>  
> -#define _ICL_MG_TX_DRVCTRL_TX1LN0_PORT1			0x168144
> -#define _ICL_MG_TX_DRVCTRL_TX1LN1_PORT1			0x168544
> -#define _ICL_MG_TX_DRVCTRL_TX1LN0_PORT2			0x169144
> -#define _ICL_MG_TX_DRVCTRL_TX1LN1_PORT2			0x169544
> -#define _ICL_MG_TX_DRVCTRL_TX1LN0_PORT3			0x16A144
> -#define _ICL_MG_TX_DRVCTRL_TX1LN1_PORT3			0x16A544
> -#define _ICL_MG_TX_DRVCTRL_TX1LN0_PORT4			0x16B144
> -#define _ICL_MG_TX_DRVCTRL_TX1LN1_PORT4			0x16B544
> -#define ICL_PORT_MG_TX1_DRVCTRL(port, ln) \
> -	_ICL_MG_PHY_PORT_LN(port, ln, _ICL_MG_TX_DRVCTRL_TX1LN0_PORT1, \
> -				      _ICL_MG_TX_DRVCTRL_TX1LN0_PORT2, \
> -				      _ICL_MG_TX_DRVCTRL_TX1LN1_PORT1)
> -
> -#define _ICL_MG_TX_DRVCTRL_TX2LN0_PORT1			0x1680C4
> -#define _ICL_MG_TX_DRVCTRL_TX2LN1_PORT1			0x1684C4
> -#define _ICL_MG_TX_DRVCTRL_TX2LN0_PORT2			0x1690C4
> -#define _ICL_MG_TX_DRVCTRL_TX2LN1_PORT2			0x1694C4
> -#define _ICL_MG_TX_DRVCTRL_TX2LN0_PORT3			0x16A0C4
> -#define _ICL_MG_TX_DRVCTRL_TX2LN1_PORT3			0x16A4C4
> -#define _ICL_MG_TX_DRVCTRL_TX2LN0_PORT4			0x16B0C4
> -#define _ICL_MG_TX_DRVCTRL_TX2LN1_PORT4			0x16B4C4
> -#define ICL_PORT_MG_TX2_DRVCTRL(port, ln) \
> -	_ICL_MG_PHY_PORT_LN(port, ln, _ICL_MG_TX_DRVCTRL_TX2LN0_PORT1, \
> -				      _ICL_MG_TX_DRVCTRL_TX2LN0_PORT2, \
> -				      _ICL_MG_TX_DRVCTRL_TX2LN1_PORT1)
> +#define MG_TX_DRVCTRL_TX1LN0_PORT1			0x168144
> +#define MG_TX_DRVCTRL_TX1LN1_PORT1			0x168544
> +#define MG_TX_DRVCTRL_TX1LN0_PORT2			0x169144
> +#define MG_TX_DRVCTRL_TX1LN1_PORT2			0x169544
> +#define MG_TX_DRVCTRL_TX1LN0_PORT3			0x16A144
> +#define MG_TX_DRVCTRL_TX1LN1_PORT3			0x16A544
> +#define MG_TX_DRVCTRL_TX1LN0_PORT4			0x16B144
> +#define MG_TX_DRVCTRL_TX1LN1_PORT4			0x16B544
> +#define MG_TX1_DRVCTRL(port, ln) \
> +	MG_PHY_PORT_LN(port, ln, MG_TX_DRVCTRL_TX1LN0_PORT1, \
> +				 MG_TX_DRVCTRL_TX1LN0_PORT2, \
> +				 MG_TX_DRVCTRL_TX1LN1_PORT1)
> +
> +#define MG_TX_DRVCTRL_TX2LN0_PORT1			0x1680C4
> +#define MG_TX_DRVCTRL_TX2LN1_PORT1			0x1684C4
> +#define MG_TX_DRVCTRL_TX2LN0_PORT2			0x1690C4
> +#define MG_TX_DRVCTRL_TX2LN1_PORT2			0x1694C4
> +#define MG_TX_DRVCTRL_TX2LN0_PORT3			0x16A0C4
> +#define MG_TX_DRVCTRL_TX2LN1_PORT3			0x16A4C4
> +#define MG_TX_DRVCTRL_TX2LN0_PORT4			0x16B0C4
> +#define MG_TX_DRVCTRL_TX2LN1_PORT4			0x16B4C4
> +#define MG_TX2_DRVCTRL(port, ln) \
> +	MG_PHY_PORT_LN(port, ln, MG_TX_DRVCTRL_TX2LN0_PORT1, \
> +				 MG_TX_DRVCTRL_TX2LN0_PORT2, \
> +				 MG_TX_DRVCTRL_TX2LN1_PORT1)
>  #define CRI_TXDEEMPH_OVERRIDE_11_6(x)			((x) << 24)
>  #define CRI_TXDEEMPH_OVERRIDE_11_6_MASK			(0x3F << 24)
>  #define CRI_TXDEEMPH_OVERRIDE_EN			(1 << 22)
>  #define CRI_TXDEEMPH_OVERRIDE_5_0(x)			((x) << 16)
>  #define CRI_TXDEEMPH_OVERRIDE_5_0_MASK			(0x3F << 16)
> +#define CRI_LOADGEN_SEL(x)				((x) << 12)
> +#define CRI_LOADGEN_SEL_MASK				(0x3 << 12)
> +
> +#define MG_CLKHUB_LN0_PORT1			0x16839C
> +#define MG_CLKHUB_LN1_PORT1			0x16879C
> +#define MG_CLKHUB_LN0_PORT2			0x16939C
> +#define MG_CLKHUB_LN1_PORT2			0x16979C
> +#define MG_CLKHUB_LN0_PORT3			0x16A39C
> +#define MG_CLKHUB_LN1_PORT3			0x16A79C
> +#define MG_CLKHUB_LN0_PORT4			0x16B39C
> +#define MG_CLKHUB_LN1_PORT4			0x16B79C
> +#define MG_CLKHUB(port, ln) \
> +	MG_PHY_PORT_LN(port, ln, MG_CLKHUB_LN0_PORT1, \
> +				 MG_CLKHUB_LN0_PORT2, \
> +				 MG_CLKHUB_LN1_PORT1)
> +#define CFG_LOW_RATE_LKREN_EN				(1 << 11)
> +
> +#define MG_TX_DCC_TX1LN0_PORT1			0x168110
> +#define MG_TX_DCC_TX1LN1_PORT1			0x168510
> +#define MG_TX_DCC_TX1LNO_PORT2			0x169110
> +#define MG_TX_DCC_TX1LN1_PORT2			0x169510
> +#define MG_TX_DCC_TX1LNO_PORT3			0x16A110
> +#define MG_TX_DCC_TX1LN1_PORT3			0x16A510
> +#define MG_TX_DCC_TX1LNO_PORT4			0x16B110
> +#define MG_TX_DCC_TX1LN1_PORT4			0x16B510
> +#define MG_TX1_DCC(port, ln) \
> +	MG_PHY_PORT_LN(port, ln, MG_TX_DCC_TX1LN0_PORT1, \
> +				 MG_TX_DCC_TX1LNO_PORT2, \
> +				 MG_TX_DCC_TX1LN1_PORT1)
> +#define MG_TX_DCC_TX2LN0_PORT1			0x168090
> +#define MG_TX_DCC_TX2LN1_PORT1			0x168490
> +#define MG_TX_DCC_TX2LNO_PORT2			0x169090
> +#define MG_TX_DCC_TX2LN1_PORT2			0x169490
> +#define MG_TX_DCC_TX2LNO_PORT3			0x16A090
> +#define MG_TX_DCC_TX2LN1_PORT3			0x16A490
> +#define MG_TX_DCC_TX2LNO_PORT4			0x16B090
> +#define MG_TX_DCC_TX2LN1_PORT4			0x16B490
> +#define MG_TX2_DCC(port, ln) \
> +	MG_PHY_PORT_LN(port, ln, MG_TX_DCC_TX2LN0_PORT1, \
> +				 MG_TX_DCC_TX2LNO_PORT2, \
> +				 MG_TX_DCC_TX2LN1_PORT1)
>  
>  /* The spec defines this only for BXT PHY0, but lets assume that this
>   * would exist for PHY1 too if it had a second channel.
> -- 
> 2.7.4
> 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-06-19 20:03 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-16  0:53 [PATCH] drm/i915/icl: Add remaining registers and bitfields for MG PHY DDI Manasi Navare
2018-05-16  1:00 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2018-05-16  1:20 ` ✓ Fi.CI.BAT: success " Patchwork
2018-05-16 12:26 ` ✓ Fi.CI.IGT: " Patchwork
2018-05-23  6:04 ` [PATCH] " Srivatsa, Anusha
2018-05-23 16:47   ` Manasi Navare
2018-06-05  0:12     ` Srivatsa, Anusha
2018-06-19 20:06 ` Manasi Navare

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.