From: Jani Nikula <jani.nikula@linux.intel.com>
To: Ville Syrjala <ville.syrjala@linux.intel.com>,
intel-gfx@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Subject: Re: [PATCH 06/15] drm/i915/pfit: Extract i965_pfit_get_config()
Date: Mon, 19 Oct 2026 19:05:05 +0300 [thread overview]
Message-ID: <664fe508a0ee588da0b936660fb1136b61ce2541@intel.com> (raw)
In-Reply-To: <46d5472ad05b1bffc3580dc5cb3194aa0e966446@intel.com>
On Mon, 19 Oct 2026, Jani Nikula <jani.nikula@linux.intel.com> wrote:
> On Mon, 19 Oct 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
>> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>
>> Split i965_pfit_get_config() out from i9xx_pfit_get_config() to
>> unconfuse things a bit.
>>
>> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> ---
>> drivers/gpu/drm/i915/display/intel_pfit.c | 66 ++++++++++++++---------
>> 1 file changed, 42 insertions(+), 24 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_pfit.c b/drivers/gpu/drm/i915/display/intel_pfit.c
>> index 972218346362..82804159d0a1 100644
>> --- a/drivers/gpu/drm/i915/display/intel_pfit.c
>> +++ b/drivers/gpu/drm/i915/display/intel_pfit.c
>> @@ -720,39 +720,52 @@ void i9xx_pfit_disable(const struct intel_crtc_state *old_crtc_state)
>> intel_de_write(display, PFIT_CONTROL(display), 0);
>> }
>>
>> -static bool i9xx_has_pfit(struct intel_display *display)
>> -{
>> - if (display->platform.i830)
>> - return false;
>> -
>> - return DISPLAY_VER(display) >= 4 ||
>> - display->platform.pineview || display->platform.mobile;
>> -}
>> -
>> -static void i9xx_pfit_get_config(struct intel_crtc_state *crtc_state)
>> +static void i965_pfit_get_config(struct intel_crtc_state *crtc_state)
>> {
>> struct intel_display *display = to_intel_display(crtc_state);
>> struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
>> enum pipe pipe;
>> u32 tmp;
>>
>> - if (!i9xx_has_pfit(display))
>> - return;
>> -
>> tmp = intel_de_read(display, PFIT_CONTROL(display));
>> if (!(tmp & PFIT_ENABLE))
>> return;
>>
>> /* Check whether the pfit is attached to our pipe. */
>> - if (DISPLAY_VER(display) >= 4)
>> - pipe = REG_FIELD_GET(PFIT_PIPE_MASK, tmp);
>> - else
>> - pipe = PIPE_B;
>> -
>> + pipe = REG_FIELD_GET(PFIT_PIPE_MASK, tmp);
>> if (pipe != crtc->pipe)
>> return;
>>
>> crtc_state->gmch_pfit.control = tmp;
>
> This drops PFIT_PGM_RATIOS read.
Judging by the next patch, this is intentional. Should be mentioned in
the commit message, and why it's okay we're still writing the register
also for i965.
BR,
Jani.
>
> With that fixed,
>
> Reviewed-by: Jani Nikula <jani.nikula@intel.com>
>
>
>> +}
>> +
>> +static bool i9xx_has_pfit(struct intel_crtc *crtc)
>> +{
>> + struct intel_display *display = to_intel_display(crtc);
>> +
>> + if (crtc->pipe != PIPE_B)
>> + return false;
>> +
>> + if (display->platform.i830)
>> + return false;
>> +
>> + return display->platform.pineview || display->platform.mobile;
>> +}
>> +
>> +static void i9xx_pfit_get_config(struct intel_crtc_state *crtc_state)
>> +{
>> + struct intel_display *display = to_intel_display(crtc_state);
>> + struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
>> + u32 tmp;
>> +
>> + if (!i9xx_has_pfit(crtc))
>> + return;
>> +
>> + tmp = intel_de_read(display, PFIT_CONTROL(display));
>> + if (!(tmp & PFIT_ENABLE))
>> + return;
>> +
>> + crtc_state->gmch_pfit.control = tmp;
>> crtc_state->gmch_pfit.pgm_ratios =
>> intel_de_read(display, PFIT_PGM_RATIOS(display));
>> }
>> @@ -761,10 +774,15 @@ void intel_pfit_get_config(struct intel_crtc_state *crtc_state)
>> {
>> struct intel_display *display = to_intel_display(crtc_state);
>>
>> - if (HAS_GMCH(display))
>> - i9xx_pfit_get_config(crtc_state);
>> - else if (DISPLAY_VER(display) >= 9)
>> - skl_scaler_get_config(crtc_state);
>> - else
>> - ilk_pfit_get_config(crtc_state);
>> + if (HAS_GMCH(display)) {
>> + if (DISPLAY_VER(display) >= 4)
>> + i965_pfit_get_config(crtc_state);
>> + else
>> + i9xx_pfit_get_config(crtc_state);
>> + } else {
>> + if (DISPLAY_VER(display) >= 9)
>> + skl_scaler_get_config(crtc_state);
>> + else
>> + ilk_pfit_get_config(crtc_state);
>> + }
>> }
--
Jani Nikula, Intel
next prev parent reply other threads:[~2026-10-19 16:05 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-19 13:52 [PATCH 00/15] drm/i915/pfit: Make GMCH panel fitter nicer Ville Syrjala
2026-10-19 13:52 ` [PATCH 01/15] drm/i915/pfit: s/pch_pfit/pfit/ Ville Syrjala
2026-10-19 15:48 ` Jani Nikula
2026-10-19 13:52 ` [PATCH 02/15] drm/i915/pfit: s/intel_pch_pfit/ilk_pfit/ Ville Syrjala
2026-10-19 15:49 ` Jani Nikula
2026-10-19 13:52 ` [PATCH 03/15] drm/i915/pfit: Stop using HAS_PCH_SPLIT() in confusing places Ville Syrjala
2026-10-19 15:49 ` Jani Nikula
2026-10-19 13:52 ` [PATCH 04/15] drm/i915/pfit: Introduce intel_pfit_get_config() Ville Syrjala
2026-10-19 15:53 ` Jani Nikula
2026-10-19 13:52 ` [PATCH 05/15] drm/i915/pfit: Rename some pfit functions Ville Syrjala
2026-10-19 15:54 ` Jani Nikula
2026-10-19 13:53 ` [PATCH 06/15] drm/i915/pfit: Extract i965_pfit_get_config() Ville Syrjala
2026-10-19 16:02 ` Jani Nikula
2026-10-19 16:05 ` Jani Nikula [this message]
2026-10-19 17:04 ` Ville Syrjälä
2026-10-19 13:53 ` [PATCH 07/15] drm/i915/pfit: Drop platform check for gmch_pfit.pgm_ratios Ville Syrjala
2026-10-19 16:05 ` Jani Nikula
2026-10-19 13:53 ` [PATCH 08/15] drm/i915/pfit: Unconfuse panel_fitter_scaling() Ville Syrjala
2026-10-19 16:15 ` Jani Nikula
2026-10-19 13:53 ` [PATCH 09/15] drm/i915/pfit: Populate crtc_state->pfit.dst on GMCH platforms Ville Syrjala
2026-10-19 14:23 ` sashiko-bot
2026-10-19 13:53 ` [PATCH 10/15] drm/i915/pfit: Check scaling factor on GMCH Ville Syrjala
2026-10-19 13:53 ` [PATCH 11/15] drm/i915/pfit: Check panel fitter source size " Ville Syrjala
2026-10-19 13:53 ` [PATCH 12/15] drm/i915/pfit: Extract i9xx_pfit_vscale_ratio() and i9xx_pfit_is_one_line_mode() Ville Syrjala
2026-10-19 13:53 ` [PATCH 13/15] drm/i915/pfit: No pfit one line mode on i965+ Ville Syrjala
2026-10-19 13:53 ` [PATCH 14/15] drm/i915/pfit: Account for pfit downscaling in pixel rate on GMCH platforms Ville Syrjala
2026-10-19 13:53 ` [PATCH 15/15] drm/i915/pfit: Allow downscaling on i966+ Ville Syrjala
2026-10-19 14:47 ` sashiko-bot
2026-10-19 14:01 ` ✗ CI.checkpatch: warning for drm/i915/pfit: Make GMCH panel fitter nicer Patchwork
2026-10-19 14:04 ` ✓ CI.KUnit: success " Patchwork
2026-10-19 14:45 ` ✓ Xe.CI.BAT: " Patchwork
2026-10-19 17:03 ` ✓ Xe.CI.FULL: " Patchwork
2026-10-19 17:23 ` ✓ i915.CI.BAT: " 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=664fe508a0ee588da0b936660fb1136b61ce2541@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@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.