From: Jani Nikula <jani.nikula@linux.intel.com>
To: Ville Syrjala <ville.syrjala@linux.intel.com>,
intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 4/7] drm/i915: Simplify scanline_offset handling for gen2
Date: Wed, 29 May 2024 12:20:49 +0300 [thread overview]
Message-ID: <87plt5j7ny.fsf@intel.com> (raw)
In-Reply-To: <20240528185647.7765-5-ville.syrjala@linux.intel.com>
On Tue, 28 May 2024, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Currently intel_crtc_scanline_offset() is careful to always
> return a positive offset. That is not actually necessary
> as long as we take care of negative values when applying the
> offset in __intel_get_crtc_scanline().
>
> This simplifies intel_crtc_scanline_offset(), and makes
> the scanline_offfset arithmetic more symmetric between
> the forwad (__intel_get_crtc_scanline()) and reverse
*forward
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
> (intel_crtc_scanline_to_hw()) directions.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_vblank.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_vblank.c b/drivers/gpu/drm/i915/display/intel_vblank.c
> index 31fa5867e1a7..b0e95a4c680d 100644
> --- a/drivers/gpu/drm/i915/display/intel_vblank.c
> +++ b/drivers/gpu/drm/i915/display/intel_vblank.c
> @@ -240,7 +240,7 @@ static int __intel_get_crtc_scanline(struct intel_crtc *crtc)
> * See update_scanline_offset() for the details on the
> * scanline_offset adjustment.
> */
> - return (position + crtc->scanline_offset) % vtotal;
> + return (position + vtotal + crtc->scanline_offset) % vtotal;
> }
>
> int intel_crtc_scanline_to_hw(struct intel_crtc *crtc, int scanline)
> @@ -470,7 +470,6 @@ void intel_wait_for_pipe_scanline_moving(struct intel_crtc *crtc)
> static int intel_crtc_scanline_offset(const struct intel_crtc_state *crtc_state)
> {
> struct drm_i915_private *i915 = to_i915(crtc_state->uapi.crtc->dev);
> - const struct drm_display_mode *adjusted_mode = &crtc_state->hw.adjusted_mode;
>
> /*
> * The scanline counter increments at the leading edge of hsync.
> @@ -482,8 +481,7 @@ static int intel_crtc_scanline_offset(const struct intel_crtc_state *crtc_state)
> * last active line), the scanline counter will read vblank_start-1.
> *
> * On gen2 the scanline counter starts counting from 1 instead
> - * of vtotal-1, so we have to subtract one (or rather add vtotal-1
> - * to keep the value positive), instead of adding one.
> + * of vtotal-1, so we have to subtract one.
> *
> * On HSW+ the behaviour of the scanline counter depends on the output
> * type. For DP ports it behaves like most other platforms, but on HDMI
> @@ -500,7 +498,7 @@ static int intel_crtc_scanline_offset(const struct intel_crtc_state *crtc_state)
> * answer that's slightly in the future.
> */
> if (DISPLAY_VER(i915) == 2)
> - return intel_mode_vtotal(adjusted_mode) - 1;
> + return -1;
> else if (HAS_DDI(i915) && intel_crtc_has_type(crtc_state, INTEL_OUTPUT_HDMI))
> return 2;
> else
--
Jani Nikula, Intel
next prev parent reply other threads:[~2024-05-29 9:20 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-28 18:56 [PATCH 0/7] drm/i915: Cleanups around scanline arithmetic Ville Syrjala
2024-05-28 18:56 ` [PATCH 1/7] drm/i915: Reuse intel_mode_vblank_start() Ville Syrjala
2024-05-29 9:03 ` Jani Nikula
2024-05-28 18:56 ` [PATCH 2/7] drm/i915: Extract intel_mode_vblank_end() Ville Syrjala
2024-05-29 9:05 ` Jani Nikula
2024-05-28 18:56 ` [PATCH 3/7] drm/i915: Extract intel_mode_vtotal() Ville Syrjala
2024-05-29 9:06 ` Jani Nikula
2024-05-28 18:56 ` [PATCH 4/7] drm/i915: Simplify scanline_offset handling for gen2 Ville Syrjala
2024-05-29 9:20 ` Jani Nikula [this message]
2024-05-28 18:56 ` [PATCH 5/7] drm/i915: Move intel_crtc_scanline_offset() Ville Syrjala
2024-05-29 9:22 ` Jani Nikula
2024-05-28 18:56 ` [PATCH 6/7] drm/i915: Switch intel_usecs_to_scanlines() to 64bit maths Ville Syrjala
2024-05-29 9:22 ` Jani Nikula
2024-05-28 18:56 ` [PATCH 7/7] drm/i915/dsb: Convert dewake_scanline to a hw scanline number earlier Ville Syrjala
2024-05-29 9:32 ` Jani Nikula
2024-05-28 20:01 ` ✓ Fi.CI.BAT: success for drm/i915: Cleanups around scanline arithmetic Patchwork
2024-05-29 14:15 ` ✓ Fi.CI.IGT: " 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=87plt5j7ny.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--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 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.