Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Jani Nikula <jani.nikula@intel.com>
Cc: tvrtko.ursulin@linux.intel.com, joonas.lahtinen@linux.intel.com,
	lucas.demarchi@intel.com, daniel@ffwll.ch,
	rodrigo.vivi@intel.com, Dave Airlie <airlied@gmail.com>,
	intel-xe@lists.freedesktop.org
Subject: Re: [Intel-xe] [PATCH 00/21] xe & i915 display integration ifdef cleanups
Date: Thu, 6 Apr 2023 00:12:40 +0200	[thread overview]
Message-ID: <ZC3yWN1FSl+dPciF@phenom.ffwll.local> (raw)
In-Reply-To: <87mt3mz5v5.fsf@intel.com>

On Wed, Apr 05, 2023 at 06:49:34PM +0300, Jani Nikula wrote:
> On Wed, 05 Apr 2023, Jani Nikula <jani.nikula@intel.com> wrote:
> > Hey all, here's my first batch of #ifdef cleanups for xe and i915
> > display integration.
> >
> > Many of the patches in this series break the build, and will get fixed
> > by subsequent changes. It's pretty much unavoidable as many of the
> > changes are standalone to i915, and others are fixups.
> >
> > This is pretty straightforward stuff for starters, really. The idea is
> > that in the next rebase, the drm/i915 changes here go *before* any of
> > the current i915 changes.
> >
> > Adding the static inline stubs for xe build in i915 (the !I915 parts) is
> > very helpful in not sprinkling #ifdefs all over the place. A lot of the
> > time, the compiler is able to just compile out lots and lots of
> > unreachable static functions and data without explicitly conditionally
> > building them out. We can leave a lot of it out from "drm/i915/display:
> > Remaining changes to make xe compile". This is crucial especially while
> > upstreaming by keeping the changes to i915 minimal.
> >
> > Also, I think the conditional build and stubs in headers is the least
> > intrusive way of going about this before xe is actually upstream, and it
> > also follows the usual patterns for CONFIG_FOO=n code paths, albeit I915
> > is defined in the Makefile, not in kconfig.
> 
> To this end, would like to get up front acks for the approach from drm
> maintainers and my fellow i915 maintainers.
> 
> Are the drm/i915 patches (i.e. all the ones that are not fixups) in the
> series okay by you for the xe and i915 display integration?

Ack on these patches. I think for the overall approach of compiling
i915/display twice there might be some risk with having duplicated
symbols. Did you try to build-in both drivers and see what all breaks?

Since we shouldn't have EXPORT_SYMBOL on gen12+ anymore but only
component.c and aux-bus to glue things together across devices/drivers I
dont see an issue at least with modules. The gen5 ips stuff is I think the
only EXPORT_SYMBOL/get_symbol horror show.
-Daniel

> 
> If yes, would you also be okay with merging them to upstream i915 before
> xe is actually submitted upstream, or only as part of the xe (display)
> submission?
> 
> 
> Thanks,
> Jani.
> 
> 
> >
> > BR,
> > Jani.
> >
> >
> >
> > Jani Nikula (21):
> >   fixup! drm/i915/display: Set DISPLAY_MMIO_BASE to 0 for xe
> >   drm/i915: define I915 during i915 driver build
> >   drm/i915/display: add I915 conditional build to intel_lvds.h
> >   fixup! drm/xe/display: Implement display support
> >   drm/i915/display: add I915 conditional build to hsw_ips.h
> >   fixup! drm/i915/display: Remaining changes to make xe compile
> >   fixup! drm/xe/display: Implement display support
> >   drm/i915/display: add I915 conditional build to i9xx_plane.h
> >   fixup! drm/i915/display: Remaining changes to make xe compile
> >   fixup! drm/i915/display: Remaining changes to make xe compile
> >   drm/i915/display: add I915 conditional build to intel_lpe_audio.h
> >   fixup! drm/i915/display: Remaining changes to make xe compile
> >   drm/i915/display: add I915 conditional build to intel_pch_refclk.h
> >   fixup! drm/i915/display: Remaining changes to make xe compile
> >   drm/i915/display: add I915 conditional build to intel_pch_display.h
> >   drm/i915/display: add I915 conditional build to intel_sprite.h
> >   fixup! drm/i915/display: Remaining changes to make xe compile
> >   fixup! drm/xe/display: Implement display support
> >   drm/i915/display: add I915 conditional build to intel_overlay.h
> >   fixup! drm/i915/display: Remaining changes to make xe compile
> >   fixup! drm/xe/display: Implement display support
> >
> >  drivers/gpu/drm/i915/display/hsw_ips.h        | 35 +++++++++++
> >  drivers/gpu/drm/i915/display/i9xx_plane.h     | 23 +++++++
> >  drivers/gpu/drm/i915/display/intel_cdclk.c    |  4 +-
> >  drivers/gpu/drm/i915/display/intel_crtc.c     |  6 +-
> >  drivers/gpu/drm/i915/display/intel_display.c  | 15 +----
> >  .../gpu/drm/i915/display/intel_lpe_audio.h    | 20 ++++--
> >  drivers/gpu/drm/i915/display/intel_lvds.h     | 19 ++++++
> >  drivers/gpu/drm/i915/display/intel_overlay.h  | 35 +++++++++++
> >  .../gpu/drm/i915/display/intel_pch_display.h  | 63 +++++++++++++++----
> >  .../gpu/drm/i915/display/intel_pch_refclk.h   | 25 ++++++--
> >  drivers/gpu/drm/i915/display/intel_sprite.c   | 20 +-----
> >  drivers/gpu/drm/i915/display/intel_sprite.h   |  8 +++
> >  drivers/gpu/drm/xe/Makefile                   |  2 -
> >  .../gpu/drm/xe/compat-i915-headers/i915_drv.h |  7 +--
> >  14 files changed, 211 insertions(+), 71 deletions(-)
> 
> -- 
> Jani Nikula, Intel Open Source Graphics Center

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

  parent reply	other threads:[~2023-04-05 22:12 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-05 15:38 [Intel-xe] [PATCH 00/21] xe & i915 display integration ifdef cleanups Jani Nikula
2023-04-05 15:39 ` [Intel-xe] [PATCH 01/21] fixup! drm/i915/display: Set DISPLAY_MMIO_BASE to 0 for xe Jani Nikula
2023-04-05 15:39 ` [Intel-xe] [PATCH 02/21] drm/i915: define I915 during i915 driver build Jani Nikula
2023-04-05 15:39 ` [Intel-xe] [PATCH 03/21] drm/i915/display: add I915 conditional build to intel_lvds.h Jani Nikula
2023-04-05 15:39 ` [Intel-xe] [PATCH 04/21] fixup! drm/xe/display: Implement display support Jani Nikula
2023-04-05 15:39 ` [Intel-xe] [PATCH 05/21] drm/i915/display: add I915 conditional build to hsw_ips.h Jani Nikula
2023-04-05 15:39 ` [Intel-xe] [PATCH 06/21] fixup! drm/i915/display: Remaining changes to make xe compile Jani Nikula
2023-04-05 15:39 ` [Intel-xe] [PATCH 07/21] fixup! drm/xe/display: Implement display support Jani Nikula
2023-04-05 15:39 ` [Intel-xe] [PATCH 08/21] drm/i915/display: add I915 conditional build to i9xx_plane.h Jani Nikula
2023-04-05 15:39 ` [Intel-xe] [PATCH 09/21] fixup! drm/i915/display: Remaining changes to make xe compile Jani Nikula
2023-04-05 15:39 ` [Intel-xe] [PATCH 10/21] " Jani Nikula
2023-04-05 15:39 ` [Intel-xe] [PATCH 11/21] drm/i915/display: add I915 conditional build to intel_lpe_audio.h Jani Nikula
2023-04-05 15:39 ` [Intel-xe] [PATCH 12/21] fixup! drm/i915/display: Remaining changes to make xe compile Jani Nikula
2023-04-05 15:39 ` [Intel-xe] [PATCH 13/21] drm/i915/display: add I915 conditional build to intel_pch_refclk.h Jani Nikula
2023-04-05 15:39 ` [Intel-xe] [PATCH 14/21] fixup! drm/i915/display: Remaining changes to make xe compile Jani Nikula
2023-04-05 15:39 ` [Intel-xe] [PATCH 15/21] drm/i915/display: add I915 conditional build to intel_pch_display.h Jani Nikula
2023-04-05 15:39 ` [Intel-xe] [PATCH 16/21] drm/i915/display: add I915 conditional build to intel_sprite.h Jani Nikula
2023-04-05 15:39 ` [Intel-xe] [PATCH 17/21] fixup! drm/i915/display: Remaining changes to make xe compile Jani Nikula
2023-04-05 15:39 ` [Intel-xe] [PATCH 18/21] fixup! drm/xe/display: Implement display support Jani Nikula
2023-04-05 15:39 ` [Intel-xe] [PATCH 19/21] drm/i915/display: add I915 conditional build to intel_overlay.h Jani Nikula
2023-04-05 15:39 ` [Intel-xe] [PATCH 20/21] fixup! drm/i915/display: Remaining changes to make xe compile Jani Nikula
2023-04-05 15:39 ` [Intel-xe] [PATCH 21/21] fixup! drm/xe/display: Implement display support Jani Nikula
2023-04-05 15:43 ` [Intel-xe] ✓ CI.Patch_applied: success for xe & i915 display integration ifdef cleanups Patchwork
2023-04-05 15:44 ` [Intel-xe] ✓ CI.KUnit: " Patchwork
2023-04-05 15:48 ` [Intel-xe] ✓ CI.Build: " Patchwork
2023-04-05 15:49 ` [Intel-xe] [PATCH 00/21] " Jani Nikula
2023-04-05 18:56   ` Rodrigo Vivi
2023-04-05 22:12   ` Daniel Vetter [this message]
2023-04-05 15:59 ` [Intel-xe] ○ CI.BAT: info for " Patchwork
2023-04-13 12:20 ` [Intel-xe] [PATCH 00/21] " Tvrtko Ursulin
2023-04-13 13:08   ` Daniel Vetter

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=ZC3yWN1FSl+dPciF@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=airlied@gmail.com \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=jani.nikula@intel.com \
    --cc=joonas.lahtinen@linux.intel.com \
    --cc=lucas.demarchi@intel.com \
    --cc=rodrigo.vivi@intel.com \
    --cc=tvrtko.ursulin@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox