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
next prev parent 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).