intel-xe.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: Jani Nikula <jani.nikula@intel.com>
Cc: <intel-gfx@lists.freedesktop.org>,
	<intel-xe@lists.freedesktop.org>, <lucas.demarchi@intel.com>
Subject: Re: [PATCH 05/10] drm/i915/display: add platform descriptors
Date: Fri, 24 May 2024 10:04:23 -0400	[thread overview]
Message-ID: <ZlCeZzoIyYL7on4o@intel.com> (raw)
In-Reply-To: <87ttinoc83.fsf@intel.com>

On Fri, May 24, 2024 at 11:17:32AM +0300, Jani Nikula wrote:
> On Thu, 23 May 2024, Rodrigo Vivi <rodrigo.vivi@intel.com> wrote:
> > On Wed, May 22, 2024 at 08:33:42PM +0300, Jani Nikula wrote:
> >> We'll need to start identifying the platforms independently in display
> >> code in order to break free from the i915 and xe IS_<PLATFORM>()
> >> macros. This is fairly straightforward, as we already identify most
> >> platforms by PCI ID in display probe anyway.
> >> 
> >> As the first step, add platform descriptors with pointers to display
> >> info. We'll have more platforms than display info, so minimize
> >> duplication:
> >> 
> >> - Add separate skl/kbl/cfl/cml descriptors while they share the display
> >>   info.
> >> 
> >> - Add separate jsl/ehl descriptors while they share the display info.
> >> 
> >> Identify ADL-P (and derivatives) and DG2 descriptors by their names even
> >> though their display info is Xe LPD or HPD.
> >> 
> >> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> >> ---
> >>  .../drm/i915/display/intel_display_device.c   | 558 ++++++++++--------
> >>  1 file changed, 326 insertions(+), 232 deletions(-)
> >> 
> >> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c
> >> index 56b27546d1b3..d1e03437abb3 100644
> >> --- a/drivers/gpu/drm/i915/display/intel_display_device.c
> >> +++ b/drivers/gpu/drm/i915/display/intel_display_device.c
> >> @@ -20,6 +20,10 @@
> >>  __diag_push();
> >>  __diag_ignore_all("-Woverride-init", "Allow field initialization overrides for display info");
> >>  
> >> +struct platform_desc {
> >> +	const struct intel_display_device_info *info;
> >> +};
> >
> > I had to jump to the latest patch to understand why this single item
> > in a new struct... later it makes sense...
> 
> Yeah...
> 
> >> -#define GEN3_DISPLAY \
> >> +#define GEN3_DISPLAY   \
> >
> > I had noticed a trend in all of your recent series, to replace the long tab
> > or space before '\' with a single space. But then here you change the single
> > space to multiple spaces. Intentional?
> 
> Accidental.
> 
> Emacs wants to indent and align \'s in a specific way, in a nice column
> towards the right. Usually I follow that when adding new stuff manually.
> 
> Here, that happened on a line I didn't mean to change.
> 
> In the PCI ID patches I intentionally used a single space because I
> scripted the whole thing, and I couldn't be bothered to figure out how
> to align the \'s any other way! :)

As an emacs user I also tend to do that right alignment hitting the 'tab' key.
But I really never care if it is all to the right or all the 1 space.

> 
> >>  static const struct {
> >>  	u32 devid;
> >> -	const struct intel_display_device_info *info;
> >> +	const struct platform_desc *desc;
> >>  } intel_display_ids[] = {
> >> -	INTEL_I830_IDS(INTEL_DISPLAY_DEVICE, &i830_display),
> >> -	INTEL_I845G_IDS(INTEL_DISPLAY_DEVICE, &i845_display),
> >> -	INTEL_I85X_IDS(INTEL_DISPLAY_DEVICE, &i85x_display),
> >> -	INTEL_I865G_IDS(INTEL_DISPLAY_DEVICE, &i865g_display),
> >> -	INTEL_I915G_IDS(INTEL_DISPLAY_DEVICE, &i915g_display),
> >> -	INTEL_I915GM_IDS(INTEL_DISPLAY_DEVICE, &i915gm_display),
> >> -	INTEL_I945G_IDS(INTEL_DISPLAY_DEVICE, &i945g_display),
> >> -	INTEL_I945GM_IDS(INTEL_DISPLAY_DEVICE, &i945gm_display),
> >> -	INTEL_I965G_IDS(INTEL_DISPLAY_DEVICE, &i965g_display),
> >> -	INTEL_G33_IDS(INTEL_DISPLAY_DEVICE, &g33_display),
> >> -	INTEL_I965GM_IDS(INTEL_DISPLAY_DEVICE, &i965gm_display),
> >> -	INTEL_GM45_IDS(INTEL_DISPLAY_DEVICE, &gm45_display),
> >> -	INTEL_G45_IDS(INTEL_DISPLAY_DEVICE, &g45_display),
> >> -	INTEL_PNV_IDS(INTEL_DISPLAY_DEVICE, &pnv_display),
> >> -	INTEL_ILK_D_IDS(INTEL_DISPLAY_DEVICE, &ilk_d_display),
> >> -	INTEL_ILK_M_IDS(INTEL_DISPLAY_DEVICE, &ilk_m_display),
> >> -	INTEL_SNB_IDS(INTEL_DISPLAY_DEVICE, &snb_display),
> >> -	INTEL_IVB_IDS(INTEL_DISPLAY_DEVICE, &ivb_display),
> >> -	INTEL_HSW_IDS(INTEL_DISPLAY_DEVICE, &hsw_display),
> >> -	INTEL_VLV_IDS(INTEL_DISPLAY_DEVICE, &vlv_display),
> >> -	INTEL_BDW_IDS(INTEL_DISPLAY_DEVICE, &bdw_display),
> >> -	INTEL_CHV_IDS(INTEL_DISPLAY_DEVICE, &chv_display),
> >> -	INTEL_SKL_IDS(INTEL_DISPLAY_DEVICE, &skl_display),
> >> -	INTEL_BXT_IDS(INTEL_DISPLAY_DEVICE, &bxt_display),
> >> -	INTEL_GLK_IDS(INTEL_DISPLAY_DEVICE, &glk_display),
> >> -	INTEL_KBL_IDS(INTEL_DISPLAY_DEVICE, &skl_display),
> >> -	INTEL_CFL_IDS(INTEL_DISPLAY_DEVICE, &skl_display),
> >> -	INTEL_WHL_IDS(INTEL_DISPLAY_DEVICE, &skl_display),
> >> -	INTEL_CML_IDS(INTEL_DISPLAY_DEVICE, &skl_display),
> >> -	INTEL_ICL_IDS(INTEL_DISPLAY_DEVICE, &icl_display),
> >> -	INTEL_EHL_IDS(INTEL_DISPLAY_DEVICE, &jsl_ehl_display),
> >> -	INTEL_JSL_IDS(INTEL_DISPLAY_DEVICE, &jsl_ehl_display),
> >> -	INTEL_TGL_IDS(INTEL_DISPLAY_DEVICE, &tgl_display),
> >> -	INTEL_DG1_IDS(INTEL_DISPLAY_DEVICE, &dg1_display),
> >> -	INTEL_RKL_IDS(INTEL_DISPLAY_DEVICE, &rkl_display),
> >> -	INTEL_ADLS_IDS(INTEL_DISPLAY_DEVICE, &adl_s_display),
> >> -	INTEL_RPLS_IDS(INTEL_DISPLAY_DEVICE, &adl_s_display),
> >> -	INTEL_ADLP_IDS(INTEL_DISPLAY_DEVICE, &xe_lpd_display),
> >> -	INTEL_ADLN_IDS(INTEL_DISPLAY_DEVICE, &xe_lpd_display),
> >> -	INTEL_RPLU_IDS(INTEL_DISPLAY_DEVICE, &xe_lpd_display),
> >> -	INTEL_RPLP_IDS(INTEL_DISPLAY_DEVICE, &xe_lpd_display),
> >> -	INTEL_DG2_IDS(INTEL_DISPLAY_DEVICE, &xe_hpd_display),
> >> +	INTEL_I830_IDS(INTEL_DISPLAY_DEVICE, &i830_desc),
> >
> > But here is what I'm not sure if I completely understand/agree...
> > before this patch is a display device with a display struct
> > but then it becomes a display device with a platform description
> > but a platform that is not used by the driver...
> >
> > I'm probably missing some later jump there.
> 
> Yeah, I did not want to put too much stuff in the same patch. I think
> easier to review this way, though I guess I should've made my intentions
> more clear in the commit message! Also, easy to squash if so desired.
> 
> So this one adds the platform descs with just the display struct, and
> later patches add more content in the descs.

yeap, indeed... let's go with this then.

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

> 
> 
> BR,
> Jani.
> 
> 
> -- 
> Jani Nikula, Intel

  reply	other threads:[~2024-05-24 14:04 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-22 17:33 [PATCH 00/10] drm/i915: identify all platforms in display probe Jani Nikula
2024-05-22 17:33 ` [PATCH 01/10] drm/i915/display: move params copy at probe earlier Jani Nikula
2024-05-22 19:53   ` Rodrigo Vivi
2024-05-22 17:33 ` [PATCH 02/10] drm/i915/display: change probe for no display case Jani Nikula
2024-05-22 19:57   ` Rodrigo Vivi
2024-05-22 17:33 ` [PATCH 03/10] drm/i915/display: check platforms without display one level higher Jani Nikula
2024-05-22 19:58   ` Rodrigo Vivi
2024-05-22 17:33 ` [PATCH 04/10] drm/i915/display: change GMD ID display ip ver propagation at probe Jani Nikula
2024-05-22 20:15   ` Rodrigo Vivi
2024-05-22 17:33 ` [PATCH 05/10] drm/i915/display: add platform descriptors Jani Nikula
2024-05-23 18:47   ` Rodrigo Vivi
2024-05-24  8:17     ` Jani Nikula
2024-05-24 14:04       ` Rodrigo Vivi [this message]
2024-05-22 17:33 ` [PATCH 06/10] drm/i915: add LNL PCI IDs Jani Nikula
2024-05-23 18:31   ` Rodrigo Vivi
2024-05-22 17:33 ` [PATCH 07/10] drm/i915/display: change display probe to identify GMD ID based platforms Jani Nikula
2024-05-23 18:39   ` Rodrigo Vivi
2024-05-22 17:33 ` [PATCH 08/10] drm/i915/display: identify platforms with enum and name Jani Nikula
2024-05-23 18:38   ` Rodrigo Vivi
2024-05-22 17:33 ` [PATCH 09/10] drm/i915/display: add support for subplatforms Jani Nikula
2024-05-23 18:37   ` Rodrigo Vivi
2024-05-22 17:33 ` [PATCH 10/10] drm/i915/display: add probe message Jani Nikula
2024-05-23 18:33   ` Rodrigo Vivi
2024-05-22 18:14 ` [PATCH 00/10] drm/i915: identify all platforms in display probe Gustavo Sousa
2024-05-22 18:36   ` Jani Nikula
2024-05-22 19:48     ` Rodrigo Vivi
2024-05-22 18:24 ` ✓ CI.Patch_applied: success for " Patchwork
2024-05-22 18:24 ` ✗ CI.checkpatch: warning " Patchwork
2024-05-22 18:25 ` ✓ CI.KUnit: success " Patchwork
2024-05-22 18:36 ` ✓ CI.Build: " Patchwork
2024-05-22 18:39 ` ✓ CI.Hooks: " Patchwork
2024-05-22 18:40 ` ✗ CI.checksparse: warning " Patchwork
2024-05-22 19:29 ` ✓ CI.BAT: success " Patchwork
2024-05-22 22:42 ` ✗ CI.FULL: failure " Patchwork
2024-05-30 10:13 ` ✓ CI.Patch_applied: success for drm/i915: identify all platforms in display probe (rev2) Patchwork
2024-05-30 10:14 ` ✗ CI.checkpatch: warning " Patchwork
2024-05-30 10:15 ` ✓ CI.KUnit: success " Patchwork
2024-05-30 10:26 ` ✓ CI.Build: " Patchwork
2024-05-30 10:27 ` ✗ CI.Hooks: failure " Patchwork
2024-05-30 10:28 ` ✗ CI.checksparse: warning " Patchwork
2024-05-30 10:52 ` ✓ CI.BAT: success " Patchwork
2024-05-30 12:48 ` ✗ CI.FULL: failure " Patchwork
2024-05-31  8:28 ` [PATCH 00/10] drm/i915: identify all platforms in display probe Jani Nikula

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=ZlCeZzoIyYL7on4o@intel.com \
    --to=rodrigo.vivi@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=jani.nikula@intel.com \
    --cc=lucas.demarchi@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;
as well as URLs for NNTP newsgroup(s).