From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
To: intel-gfx@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org, jani.nikula@linux.intel.com,
ville.syrjala@linux.intel.com,
mitulkumar.ajitkumar.golani@intel.com
Subject: [RESEND PATCH 8/8] drm/i915/display: Enable MSA Ignore Timing PAR only when in not fixed_rr mode
Date: Tue, 11 Mar 2025 15:07:51 +0530 [thread overview]
Message-ID: <20250311093751.1329043-9-ankit.k.nautiyal@intel.com> (raw)
In-Reply-To: <20250311093751.1329043-1-ankit.k.nautiyal@intel.com>
MSA Ignore Timing PAR enable is set in the DP sink when we enable variable
refresh rate.
Currently for link training we depend on flipline to decide whether we
want to ignore the msa timings. With fixed refresh rate we will still
fill the flipline in all cases whether panel supports VRR or not.
Change the condition for link training to ignore the msa timings if
vrr.in_range.
v2: Add more documentation and a #TODO for readout of vrr.in_range.
(Ville)
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
.../gpu/drm/i915/display/intel_dp_link_training.c | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_training.c b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
index 2966f5b39392..ea225496a96e 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
@@ -711,8 +711,21 @@ void intel_dp_link_training_set_mode(struct intel_dp *intel_dp, int link_rate, b
static void intel_dp_update_downspread_ctrl(struct intel_dp *intel_dp,
const struct intel_crtc_state *crtc_state)
{
+ /*
+ * Currently, we set the MSA ignore bit based on vrr.in_range.
+ * We can't really read that out during driver load since we don't have
+ * the connector information read in yet. So if we do end up doing a
+ * modeset during initial_commit() we'll clear the MSA ignore bit.
+ * GOP likely wouldn't have set this bit so after the initial commit,
+ * if there are no modesets and we enable VRR mode seamlessly
+ * (without a full modeset), the MSA ignore bit might never get set.
+ *
+ * #TODO: Implement readout of vrr.in_range.
+ * We need fastset support for setting the MSA ignore bit in DPCD,
+ * especially on the first real commit when clearing the inherited flag.
+ */
intel_dp_link_training_set_mode(intel_dp,
- crtc_state->port_clock, crtc_state->vrr.flipline);
+ crtc_state->port_clock, crtc_state->vrr.in_range);
}
void intel_dp_link_training_set_bw(struct intel_dp *intel_dp,
--
2.45.2
next prev parent reply other threads:[~2025-03-11 9:50 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-11 9:37 [RESEND PATCH 0/8] VRR Refactor Ankit Nautiyal
2025-03-11 9:37 ` [RESEND PATCH 1/8] drm/i915/vrr: Remove unwanted comment Ankit Nautiyal
2025-03-11 9:37 ` [RESEND PATCH 2/8] drm/i915:vrr: Separate out functions to compute vmin and vmax Ankit Nautiyal
2025-03-11 9:37 ` [RESEND PATCH 3/8] drm/i915/vrr: Make helpers for cmrr and vrr timings Ankit Nautiyal
2025-03-11 9:37 ` [RESEND PATCH 4/8] drm/i915/vrr: Disable CMRR Ankit Nautiyal
2025-03-11 9:37 ` [RESEND PATCH 5/8] drm/i915/vrr: Track vrr.enable only for variable timing Ankit Nautiyal
2025-03-11 9:37 ` [RESEND PATCH 6/8] drm/i915/vrr: Use crtc_vtotal for vmin Ankit Nautiyal
2025-03-11 9:37 ` [RESEND PATCH 7/8] drm/i915/vrr: Prepare for fixed refresh rate timings Ankit Nautiyal
2025-03-11 9:37 ` Ankit Nautiyal [this message]
2025-03-11 9:57 ` ✓ CI.Patch_applied: success for VRR Refactor Patchwork
2025-03-11 9:58 ` ✓ CI.checkpatch: " Patchwork
2025-03-11 10:00 ` ✓ CI.KUnit: " Patchwork
2025-03-11 10:19 ` ✓ CI.Build: " Patchwork
2025-03-11 10:21 ` ✓ CI.Hooks: " Patchwork
2025-03-11 10:22 ` ✓ CI.checksparse: " Patchwork
2025-03-11 10:44 ` ✓ Xe.CI.BAT: " Patchwork
2025-03-12 3:44 ` ✗ Xe.CI.Full: failure " Patchwork
2025-03-13 13:31 ` [RESEND PATCH 0/8] " Nautiyal, Ankit K
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=20250311093751.1329043-9-ankit.k.nautiyal@intel.com \
--to=ankit.k.nautiyal@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=jani.nikula@linux.intel.com \
--cc=mitulkumar.ajitkumar.golani@intel.com \
--cc=ville.syrjala@linux.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox