All of lore.kernel.org
 help / color / mirror / Atom feed
From: Balasubramani Vivekanandan <balasubramani.vivekanandan@intel.com>
To: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org
Cc: Matt Roper <matthew.d.roper@intel.com>,
	Lucas De Marchi <lucas.demarchi@intel.com>,
	Balasubramani Vivekanandan <balasubramani.vivekanandan@intel.com>,
	Clint Taylor <Clinton.A.Taylor@intel.com>
Subject: [PATCH v2 11/25] drm/i915/xe2hpd: Add support for eDP PLL configuration
Date: Wed,  3 Apr 2024 16:52:39 +0530	[thread overview]
Message-ID: <20240403112253.1432390-12-balasubramani.vivekanandan@intel.com> (raw)
In-Reply-To: <20240403112253.1432390-1-balasubramani.vivekanandan@intel.com>

Tables for eDP PHY PLL configuration for different link rates added for
Xe2_HPD. Previous platforms were using C10 PHY for eDP port whereas
Xe2_HPD has C20 PHY.

Bpsec: 64568

CC: Clint Taylor <Clinton.A.Taylor@intel.com>
Signed-off-by: Balasubramani Vivekanandan <balasubramani.vivekanandan@intel.com>
---
 drivers/gpu/drm/i915/display/intel_cx0_phy.c | 147 ++++++++++++++++++-
 1 file changed, 146 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_cx0_phy.c b/drivers/gpu/drm/i915/display/intel_cx0_phy.c
index 6e4647859fc6..d948035f07ad 100644
--- a/drivers/gpu/drm/i915/display/intel_cx0_phy.c
+++ b/drivers/gpu/drm/i915/display/intel_cx0_phy.c
@@ -967,6 +967,148 @@ static const struct intel_c20pll_state * const mtl_c20_dp_tables[] = {
 	NULL,
 };
 
+/*
+ * eDP link rates with 38.4 MHz reference clock.
+ */
+
+static const struct intel_c20pll_state xe2hpd_c20_edp_r216 = {
+	.clock = 216000,
+	.tx = { 0xbe88,
+		0x4800,
+		0x0000,
+		},
+	.cmn = { 0x0500,
+		 0x0005,
+		 0x0000,
+		 0x0000,
+		},
+	.mpllb = { 0x50e1,
+		   0x2120,
+		   0x8e18,
+		   0xbfc1,
+		   0x9000,
+		   0x78f6,
+		   0x0000,
+		   0x0000,
+		   0x0000,
+		   0x0000,
+		   0x0000,
+		  },
+};
+
+static const struct intel_c20pll_state xe2hpd_c20_edp_r243 = {
+	.clock = 243000,
+	.tx = { 0xbe88,
+		0x4800,
+		0x0000,
+		},
+	.cmn = { 0x0500,
+		 0x0005,
+		 0x0000,
+		 0x0000,
+		},
+	.mpllb = { 0x50fd,
+		   0x2120,
+		   0x8f18,
+		   0xbfc1,
+		   0xa200,
+		   0x8814,
+		   0x2000,
+		   0x0001,
+		   0x1000,
+		   0x0000,
+		   0x0000,
+		  },
+};
+
+static const struct intel_c20pll_state xe2hpd_c20_edp_r324 = {
+	.clock = 324000,
+	.tx = { 0xbe88,
+		0x4800,
+		0x0000,
+		},
+	.cmn = { 0x0500,
+		 0x0005,
+		 0x0000,
+		 0x0000,
+		},
+	.mpllb = { 0x30a8,
+		   0x2110,
+		   0xcd9a,
+		   0xbfc1,
+		   0x6c00,
+		   0x5ab8,
+		   0x2000,
+		   0x0001,
+		   0x6000,
+		   0x0000,
+		   0x0000,
+		  },
+};
+
+static const struct intel_c20pll_state xe2hpd_c20_edp_r432 = {
+	.clock = 432000,
+	.tx = { 0xbe88,
+		0x4800,
+		0x0000,
+		},
+	.cmn = { 0x0500,
+		 0x0005,
+		 0x0000,
+		 0x0000,
+		},
+	.mpllb = { 0x30e1,
+		   0x2110,
+		   0x8e18,
+		   0xbfc1,
+		   0x9000,
+		   0x78f6,
+		   0x0000,
+		   0x0000,
+		   0x0000,
+		   0x0000,
+		   0x0000,
+		  },
+};
+
+static const struct intel_c20pll_state xe2hpd_c20_edp_r675 = {
+	.clock = 675000,
+	.tx = { 0xbe88,
+		0x4800,
+		0x0000,
+		},
+	.cmn = { 0x0500,
+		 0x0005,
+		 0x0000,
+		 0x0000,
+		},
+	.mpllb = { 0x10af,
+		   0x2108,
+		   0xce1a,
+		   0xbfc1,
+		   0x7080,
+		   0x5e80,
+		   0x2000,
+		   0x0001,
+		   0x6400,
+		   0x0000,
+		   0x0000,
+		  },
+};
+
+static const struct intel_c20pll_state * const xe2hpd_c20_edp_tables[] = {
+	&mtl_c20_dp_rbr,
+	&xe2hpd_c20_edp_r216,
+	&xe2hpd_c20_edp_r243,
+	&mtl_c20_dp_hbr1,
+	&xe2hpd_c20_edp_r324,
+	&xe2hpd_c20_edp_r432,
+	&mtl_c20_dp_hbr2,
+	&xe2hpd_c20_edp_r675,
+	&mtl_c20_dp_hbr3,
+	NULL,
+};
+
 /*
  * HDMI link rates with 38.4 MHz reference clock.
  */
@@ -2084,7 +2226,10 @@ intel_c20_pll_tables_get(struct intel_crtc_state *crtc_state,
 			 struct intel_encoder *encoder)
 {
 	if (intel_crtc_has_dp_encoder(crtc_state))
-		return mtl_c20_dp_tables;
+		if (intel_crtc_has_type(crtc_state, INTEL_OUTPUT_EDP))
+			return xe2hpd_c20_edp_tables;
+		else
+			return mtl_c20_dp_tables;
 	else if (intel_crtc_has_type(crtc_state, INTEL_OUTPUT_HDMI))
 		return mtl_c20_hdmi_tables;
 
-- 
2.25.1


  parent reply	other threads:[~2024-04-03 11:23 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-03 11:22 [PATCH v2 00/25] Enable dislay support for Battlemage Balasubramani Vivekanandan
2024-04-03 11:22 ` [PATCH v2 01/25] drm/i915/display: Prepare to handle new C20 PLL register address Balasubramani Vivekanandan
2024-04-03 11:40   ` Jani Nikula
2024-04-03 11:22 ` [PATCH v2 02/25] drm/xe/bmg: Add BMG platform definition Balasubramani Vivekanandan
2024-04-03 13:16   ` Lucas De Marchi
2024-04-03 11:22 ` [PATCH v2 03/25] drm/xe/bmg: Define IS_BATTLEMAGE macro Balasubramani Vivekanandan
2024-04-03 18:05   ` Matt Roper
2024-04-03 11:22 ` [PATCH v2 04/25] drm/i915/bmg: " Balasubramani Vivekanandan
2024-04-03 18:11   ` Matt Roper
2024-04-03 11:22 ` [PATCH v2 05/25] drm/i915/xe2: Skip CCS modifiers for Xe2 platforms Balasubramani Vivekanandan
2024-04-03 19:02   ` Matt Roper
2024-04-03 11:22 ` [PATCH v2 06/25] drm/i915/xe2hpd: Initial cdclk table Balasubramani Vivekanandan
2024-04-03 19:05   ` Matt Roper
2024-04-03 11:22 ` [PATCH v2 07/25] Revert "drm/i915/dgfx: DGFX uses direct VBT pin mapping" Balasubramani Vivekanandan
2024-04-03 19:14   ` Matt Roper
2024-04-03 11:22 ` [PATCH v2 08/25] drm/i915/bmg: Extend DG2 tc check to future Balasubramani Vivekanandan
2024-04-03 19:15   ` Matt Roper
2024-04-03 11:22 ` [PATCH v2 09/25] drm/i915/xe2hpd: Properly disable power in port A Balasubramani Vivekanandan
2024-04-03 19:28   ` Matt Roper
2024-04-03 11:22 ` [PATCH v2 10/25] drm/i915/xe2hpd: Add new C20 PLL register address Balasubramani Vivekanandan
2024-04-03 12:00   ` Jani Nikula
2024-04-03 11:22 ` Balasubramani Vivekanandan [this message]
2024-04-03 20:11   ` [PATCH v2 11/25] drm/i915/xe2hpd: Add support for eDP PLL configuration Matt Roper
2024-04-03 11:22 ` [PATCH v2 12/25] drm/i915/xe2hpd: update pll values in sync with Bspec Balasubramani Vivekanandan
2024-04-03 20:41   ` Matt Roper
2024-04-03 11:22 ` [PATCH v2 13/25] drm/i915/xe2hpd: Add display info Balasubramani Vivekanandan
2024-04-03 21:12   ` Matt Roper
2024-04-03 11:22 ` [PATCH v2 14/25] drm/i915/xe2hpd: Add missing chicken bit register programming Balasubramani Vivekanandan
2024-04-03 21:00   ` Matt Roper
2024-04-03 11:22 ` [PATCH v2 15/25] drm/xe/display: Lane reversal requires writes to both context lanes Balasubramani Vivekanandan
2024-04-03 11:52   ` Jani Nikula
2024-04-03 11:22 ` [PATCH v2 16/25] drm/xe/xe2hpd: Define a new DRAM type INTEL_DRAM_GDDR Balasubramani Vivekanandan
2024-04-03 11:53   ` Jani Nikula
2024-04-03 11:22 ` [PATCH v2 17/25] drm/i915/xe2hpd: Add max memory bandwidth algorithm Balasubramani Vivekanandan
2024-04-03 11:22 ` [PATCH v2 18/25] drm/i915/display: Enable RM timeout detection Balasubramani Vivekanandan
2024-04-03 11:57   ` Jani Nikula
2024-04-03 18:02   ` Matt Roper
2024-04-03 11:22 ` [PATCH v2 19/25] drm/i915/xe2hpd: Do not program MBUS_DBOX BW credits Balasubramani Vivekanandan
2024-04-03 21:20   ` Matt Roper
2024-04-03 11:22 ` [PATCH v2 20/25] drm/i915/bmg: BMG should re-use MTL's south display logic Balasubramani Vivekanandan
2024-04-08 13:00   ` Bhadane, Dnyaneshwar
2024-04-03 11:22 ` [PATCH v2 21/25] drm/i915/xe2hpd: Set maximum DP rate to UHBR13.5 Balasubramani Vivekanandan
2024-04-08  3:22   ` Chauhan, Shekhar
2024-04-03 11:22 ` [PATCH v2 22/25] drm/xe/gt_print: add xe_gt_err_once() Balasubramani Vivekanandan
2024-04-03 12:07   ` Nirmoy Das
2024-04-03 11:22 ` [PATCH v2 23/25] drm/xe/device: implement transient flush Balasubramani Vivekanandan
2024-04-03 12:13   ` Nirmoy Das
2024-04-03 11:22 ` [PATCH v2 24/25] drm/i915/display: perform " Balasubramani Vivekanandan
2024-04-03 12:15   ` Nirmoy Das
2024-04-03 11:22 ` [PATCH v2 25/25] drm/xe/bmg: Enable the display support Balasubramani Vivekanandan
2024-04-08  3:16   ` Chauhan, Shekhar
2024-04-08  6:23     ` Vivekanandan, Balasubramani
2024-04-03 11:29 ` ✓ CI.Patch_applied: success for Enable dislay support for Battlemage (rev2) Patchwork
2024-04-03 11:30 ` ✗ CI.checkpatch: warning " Patchwork
2024-04-03 11:31 ` ✓ CI.KUnit: success " Patchwork
2024-04-03 11:42 ` ✓ CI.Build: " Patchwork
2024-04-03 11:50 ` ✗ Fi.CI.CHECKPATCH: warning " Patchwork
2024-04-03 11:50 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-04-03 11:55 ` ✓ Fi.CI.BAT: success " Patchwork
2024-04-03 12:00 ` ✓ CI.Hooks: " Patchwork
2024-04-03 12:01 ` ✗ CI.checksparse: warning " Patchwork
2024-04-04  3:58 ` ✗ Fi.CI.IGT: failure " 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=20240403112253.1432390-12-balasubramani.vivekanandan@intel.com \
    --to=balasubramani.vivekanandan@intel.com \
    --cc=Clinton.A.Taylor@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=lucas.demarchi@intel.com \
    --cc=matthew.d.roper@intel.com \
    /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.