From: Jani Nikula <jani.nikula@linux.intel.com>
To: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
Cc: "intel-gfx@lists.freedesktop.org" <intel-gfx@lists.freedesktop.org>
Subject: Re: [Intel-gfx] [PATCH] drm/i915/dsb: DSB code refactoring
Date: Wed, 27 Sep 2023 19:04:53 +0300 [thread overview]
Message-ID: <87fs2zk3fe.fsf@intel.com> (raw)
In-Reply-To: <ZRRFSPuzZmm-pvOa@intel.com>
On Wed, 27 Sep 2023, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> On Wed, Sep 27, 2023 at 05:50:10PM +0300, Jani Nikula wrote:
>> On Wed, 27 Sep 2023, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
>> > On Tue, Sep 26, 2023 at 12:34:35PM +0300, Jani Nikula wrote:
>> >> On Tue, 26 Sep 2023, "Manna, Animesh" <animesh.manna@intel.com> wrote:
>> >> >> -----Original Message-----
>> >> >> From: Jani Nikula <jani.nikula@linux.intel.com>
>> >> >> Sent: Monday, September 25, 2023 6:00 PM
>> >> >> To: Manna, Animesh <animesh.manna@intel.com>; intel-
>> >> >> gfx@lists.freedesktop.org
>> >> >> Subject: Re: [Intel-gfx] [PATCH] drm/i915/dsb: DSB code refactoring
>> >> >>
>> >> >> On Sat, 23 Sep 2023, Animesh Manna <animesh.manna@intel.com> wrote:
>> >> >> > Refactor DSB implementation to be compatible with Xe driver.
>> >> >>
>> >> >> Sad trombone.
>> >> >>
>> >> >> struct intel_dsb should remain an opaque type. I put effort into hiding its
>> >> >> definition, so its guts wouldn't be accessed nilly-willy all over the place. If it's
>> >> >> not hidden, it just will get accessed.
>> >> >
>> >> > Hi Jani,
>> >> >
>> >> > Xe driver need access to intel_dsb structure, so I can create a new header file intel_dsb_ops.h and keep intel_dsb structure in it. Is it ok?
>> >>
>> >> I just think you need to find a different abstraction level that doesn't
>> >> involve exposing struct intel_dsb.
>> >
>> > I hate the fact that we seem to be adding these ad-hoc wrappers all
>> > over the place. Someone should just fix xe to give us the same API as
>> > i915, or a single wrapper should do whatever conversion is needed.
>>
>> I think one of the problems is that i915 doesn't really give us a proper
>> API either, but requires us to fiddle with the objects' guts, and thus
>> have access to the struct definitions. In i915, with the include
>> hierarchies, that effectively means including absolutely
>> everything. Can't have that in xe.
>
> obj+vma is a pretty reasonable API IMO. And we're not doing anything
> weird with their guts IIRC.
Okay, I'll take your word for it.
> But apparently xe decided to not give us
> that, and instead of adding a single wrapper to bridge the gap we
> now have several different ad-hoc wrappers for whatever reason.
For this specific thing? Do we really have several? Or do you mean all
the different things that bridge the gap between xe and i915-display?
>>
>> Having the same API for both i915 and xe requires turning it into an
>> actual API that doesn't depend on either i915 or xe specific types. But
>> that's kind of tough before xe is upstream. Catch-22.
>
> Nothing preventing anyone from coming up with the single wrapper and
> upstreaming the i915 side (assuming we even want some kind of extra
> wrapper for i915 given it already uses a reasonable approach).
Well, so far nobody has stepped up to do that. Needs knowledge of
i915-gem, i915-display, and xe. It seems like someone else's problem for
everyone working on each of those components. And yeah, I'm not
volunteering either.
>> Part of the reason we have these ad-hoc wrappers is that they also serve
>> as the todo list of stuff to fix properly.
>
> Feels more like we are trying to polish these to the point where
> they are supposed to be permanent solutions.
I'm trying to flesh out ideas how to separate i915-display from the rest
of i915.ko better [1]. Eventually that'll require very clearly defining
the interfaces to/from i915-display as well. Maybe via aux-bus function
pointers.
Funny thing is, currently the only way to even check what interfaces
i915-display needs is to build it as part of xe, where those i915
interfaces aren't available.
BR,
Jani.
[1] https://patchwork.freedesktop.org/series/124286/
--
Jani Nikula, Intel
next prev parent reply other threads:[~2023-09-27 16:12 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-22 19:35 [Intel-gfx] [PATCH] drm/i915/dsb: DSB code refactoring Animesh Manna
2023-09-23 3:51 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2023-09-23 3:51 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2023-09-23 4:08 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2023-09-25 12:30 ` [Intel-gfx] [PATCH] " Jani Nikula
2023-09-26 7:13 ` Manna, Animesh
2023-09-26 9:34 ` Jani Nikula
2023-09-27 13:50 ` Ville Syrjälä
2023-09-27 14:50 ` Jani Nikula
2023-09-27 15:07 ` Ville Syrjälä
2023-09-27 16:04 ` Jani Nikula [this message]
2023-09-27 16:17 ` Ville Syrjälä
-- strict thread matches above, loose matches on Subject: below --
2023-09-27 9:11 Animesh Manna
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=87fs2zk3fe.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=intel-gfx@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.