Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@intel.com>
To: Rodrigo Vivi <rodrigo.vivi@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 11:17:32 +0300	[thread overview]
Message-ID: <87ttinoc83.fsf@intel.com> (raw)
In-Reply-To: <Zk-PShUokzY2VbqW@intel.com>

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! :)

>>  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.


BR,
Jani.


-- 
Jani Nikula, Intel

  reply	other threads:[~2024-05-24  8:17 UTC|newest]

Thread overview: 34+ 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 [this message]
2024-05-24 14:04       ` Rodrigo Vivi
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:19 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2024-05-22 18:27 ` ✓ Fi.CI.BAT: success " Patchwork
2024-05-23 14:12 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-05-30 10:55 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: identify all platforms in display probe (rev2) Patchwork
2024-05-30 10:55 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-05-30 11:04 ` ✓ Fi.CI.BAT: success " Patchwork
2024-05-31  1:57 ` ✗ Fi.CI.IGT: 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=87ttinoc83.fsf@intel.com \
    --to=jani.nikula@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=lucas.demarchi@intel.com \
    --cc=rodrigo.vivi@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