mbox series

[0/3] Implement CMRR Support

Message ID 20231122065926.4076690-1-mitulkumar.ajitkumar.golani@intel.com (mailing list archive)
Headers show
Series Implement CMRR Support | expand

Message

Mitul Golani Nov. 22, 2023, 6:59 a.m. UTC
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.

Mitul Golani (3):
  drm/i915: Define and compute Transcoder CMRR registers
  drm/i915: Add Enable/Disable for CMRR based on VRR state
  drm/i915: Compute CMRR and calculate vtotal

 .../drm/i915/display/intel_crtc_state_dump.c  |   4 +-
 drivers/gpu/drm/i915/display/intel_display.c  |  54 +++++++-
 .../drm/i915/display/intel_display_device.h   |   1 +
 .../drm/i915/display/intel_display_types.h    |   6 +
 drivers/gpu/drm/i915/display/intel_vrr.c      | 129 ++++++++++++++++--
 drivers/gpu/drm/i915/i915_reg.h               |  10 ++
 6 files changed, 184 insertions(+), 20 deletions(-)

Comments

Jani Nikula Nov. 22, 2023, 11:04 a.m. UTC | #1
On Wed, 22 Nov 2023, Mitul Golani <mitulkumar.ajitkumar.golani@intel.com> wrote:
> 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.

Please check and use the -v<N> option of git-send-email.

BR,
Jani.


>
> 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.
>
> Mitul Golani (3):
>   drm/i915: Define and compute Transcoder CMRR registers
>   drm/i915: Add Enable/Disable for CMRR based on VRR state
>   drm/i915: Compute CMRR and calculate vtotal
>
>  .../drm/i915/display/intel_crtc_state_dump.c  |   4 +-
>  drivers/gpu/drm/i915/display/intel_display.c  |  54 +++++++-
>  .../drm/i915/display/intel_display_device.h   |   1 +
>  .../drm/i915/display/intel_display_types.h    |   6 +
>  drivers/gpu/drm/i915/display/intel_vrr.c      | 129 ++++++++++++++++--
>  drivers/gpu/drm/i915/i915_reg.h               |  10 ++
>  6 files changed, 184 insertions(+), 20 deletions(-)
Jani Nikula Nov. 22, 2023, 11:05 a.m. UTC | #2
On Wed, 22 Nov 2023, Jani Nikula <jani.nikula@linux.intel.com> wrote:
> On Wed, 22 Nov 2023, Mitul Golani <mitulkumar.ajitkumar.golani@intel.com> wrote:
>> 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.
>
> Please check and use the -v<N> option of git-send-email.

More precisely it's a git format-patch option, but send-email passes it
along.

>
> BR,
> Jani.
>
>
>>
>> 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.
>>
>> Mitul Golani (3):
>>   drm/i915: Define and compute Transcoder CMRR registers
>>   drm/i915: Add Enable/Disable for CMRR based on VRR state
>>   drm/i915: Compute CMRR and calculate vtotal
>>
>>  .../drm/i915/display/intel_crtc_state_dump.c  |   4 +-
>>  drivers/gpu/drm/i915/display/intel_display.c  |  54 +++++++-
>>  .../drm/i915/display/intel_display_device.h   |   1 +
>>  .../drm/i915/display/intel_display_types.h    |   6 +
>>  drivers/gpu/drm/i915/display/intel_vrr.c      | 129 ++++++++++++++++--
>>  drivers/gpu/drm/i915/i915_reg.h               |  10 ++
>>  6 files changed, 184 insertions(+), 20 deletions(-)