From: Mitul Golani <mitulkumar.ajitkumar.golani@intel.com>
To: intel-gfx@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org, ankit.k.nautiyal@intel.com,
jani.nikula@intel.com
Subject: [PATCH v10 0/8] Implement CMRR Support
Date: Thu, 30 May 2024 11:34:00 +0530 [thread overview]
Message-ID: <20240530060408.67027-1-mitulkumar.ajitkumar.golani@intel.com> (raw)
CMRR is a display feature that uses adaptive sync
framework to vary Vtotal slightly to match the
content rate exactly without frame drops. This
feature is a variation of VRR where it varies Vtotal
slightly (between additional 0 and 1 Vtotal scanlines)
to match content rate exactly without frame drops
using the adaptive sync framework.
enable this feature by programing new registers for
CMRR enable, CMRR_M, CMRR_N, vmin=vmax=flipline.The
CMRR_M/CMRR_N ratio represents the fractional part
in (actual refresh rate/target refresh rate) * origVTotal.
--v6:
- CMRR handling in co-existatnce of LRR and DRRS
- Correct vtotal paramas accuracy and add 2 digit precision.
--v7:
- Rebased patches in-accordance to AS SDP merge.
- Add neccessary gaurd to prevent crtc_state mismatch
during intel_vrr_get_config.
-v8:
- Add support for AS SDP for CMRR.
- update palce holder for CMRR register(Jani).
- Make CMRR as subset of FAVT, as per comments in patch#3.
-v9:
- Add CMRR register definitions to separate intel_vrr_reg.h.
- Remove cmrr_enabling/disabling, use vrr.enable instead.
- Update AS SDP pack function to accomodate target_rr_divider.
- Remove duplicated lines to compute vrr_vsync params.
- Set cmrr.enable with a separate patch at last.
-v10:
- Separate VRR related register definitions.
- Add dependency header intel_display_reg_defs.h.
- Rename file name to intel_vrr_regs.h instead of reg.h.
- Revert removed line.
- Since vrr.enable and cmrr.enable are not mutually exclusive,
handle accordingly.
- is_edp is not required inside is_cmrr_frac_required function.
- Add video_mode_required flag for future enhancement.
- Correct cmrr_m/cmrr_n calculation.
- target_rr_divider is bools so handle accordingly.
Mitul Golani (8):
drm/i915: Separate VRR related register definitions
drm/i915: Define and compute Transcoder CMRR registers
drm/i915: Update trans_vrr_ctl flag when cmrr is computed
drm/i915: Compute CMRR and calculate vtotal
drm/dp: Add refresh rate divider to struct representing AS SDP
drm/i915/display: Add support for pack and unpack
drm/i915/display: Compute Adaptive sync SDP params
drm/i915/display: Compute vrr vsync params
drivers/gpu/drm/i915/display/intel_display.c | 24 +++-
.../drm/i915/display/intel_display_device.h | 1 +
.../drm/i915/display/intel_display_types.h | 6 +
drivers/gpu/drm/i915/display/intel_dp.c | 21 ++-
drivers/gpu/drm/i915/display/intel_vrr.c | 124 ++++++++++++++--
drivers/gpu/drm/i915/display/intel_vrr_regs.h | 133 ++++++++++++++++++
drivers/gpu/drm/i915/i915_reg.h | 100 -------------
include/drm/display/drm_dp_helper.h | 1 +
8 files changed, 290 insertions(+), 120 deletions(-)
create mode 100644 drivers/gpu/drm/i915/display/intel_vrr_regs.h
--
2.25.1
next reply other threads:[~2024-05-30 6:14 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-30 6:04 Mitul Golani [this message]
2024-05-30 6:04 ` [PATCH v10 1/8] drm/i915: Separate VRR related register definitions Mitul Golani
2024-05-30 13:48 ` Jani Nikula
2024-05-31 11:49 ` Golani, Mitulkumar Ajitkumar
2024-05-31 12:01 ` Jani Nikula
2024-06-03 6:05 ` Golani, Mitulkumar Ajitkumar
2024-05-30 6:04 ` [PATCH v10 2/8] drm/i915: Define and compute Transcoder CMRR registers Mitul Golani
2024-05-31 6:06 ` Nautiyal, Ankit K
2024-05-30 6:04 ` [PATCH v10 3/8] drm/i915: Update trans_vrr_ctl flag when cmrr is computed Mitul Golani
2024-05-31 5:31 ` Nautiyal, Ankit K
2024-05-30 6:04 ` [PATCH v10 4/8] drm/i915: Compute CMRR and calculate vtotal Mitul Golani
2024-05-31 5:42 ` Nautiyal, Ankit K
2024-05-30 6:04 ` [PATCH v10 5/8] drm/dp: Add refresh rate divider to struct representing AS SDP Mitul Golani
2024-05-30 6:04 ` [PATCH v10 6/8] drm/i915/display: Add support for pack and unpack Mitul Golani
2024-05-31 5:44 ` Nautiyal, Ankit K
2024-05-30 6:04 ` [PATCH v10 7/8] drm/i915/display: Compute Adaptive sync SDP params Mitul Golani
2024-05-31 5:48 ` Nautiyal, Ankit K
2024-05-30 6:04 ` [PATCH v10 8/8] drm/i915/display: Compute vrr vsync params Mitul Golani
2024-05-31 5:52 ` Nautiyal, Ankit K
2024-05-30 6:49 ` ✗ Fi.CI.CHECKPATCH: warning for Implement CMRR Support (rev10) Patchwork
2024-05-30 6:49 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-05-30 6:58 ` ✗ Fi.CI.BAT: 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=20240530060408.67027-1-mitulkumar.ajitkumar.golani@intel.com \
--to=mitulkumar.ajitkumar.golani@intel.com \
--cc=ankit.k.nautiyal@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jani.nikula@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