Messages in this thread | | | Date | Mon, 7 Nov 2022 10:10:07 -0400 | From | Jason Gunthorpe <> | Subject | Re: [RFC PATCH v2 1/3] drivers/accel: define kconfig and register a new major |
| |
On Mon, Nov 07, 2022 at 04:02:01PM +0200, Oded Gabbay wrote: > On Mon, Nov 7, 2022 at 3:10 PM Jason Gunthorpe <jgg@nvidia.com> wrote: > > > > On Mon, Nov 07, 2022 at 03:01:08PM +0200, Oded Gabbay wrote: > > > I don't agree with your statement that it should be "a layer over top of DRM". > > > Anything on top of DRM is a device driver. > > > Accel is not a device driver, it is a new type of drm minor / drm driver. > > > > Yeah, I still think this is not the right way, you are getting almost > > nothing from DRM and making everything more complicated in the > > process. > > > > > The only alternative imo to that is to abandon the idea of reusing > > > drm, and just make an independant accel core code. > > > > Not quite really, layer it properly and librarize parts of DRM into > > things accel can re-use so they are not intimately tied to the DRM > > struct device notion. > > > > IMHO this is much better, because accel has very little need of DRM to > > manage a struct device/cdev in the first place. > > > > Jason > I'm not following. How can an accel device be a new type of drm_minor, > if it doesn't have access to all its functions and members ?
"drm_minor" is not necessary anymore. Strictly managing minor numbers lost its value years ago when /dev/ was reorganized. Just use dynamic minors fully.
> How will accel device leverage, for example, the GEM code without > being a drm_minor ?
Split GEM into a library so it doesn't require that.
> Librarizing parts of DRM sounds nice in theory but the reality is that > everything there is interconnected, all the structures are > interdependent.
Yes, the kernel is full of stuff that needs improving. Let's not take shortcuts.
> I would have to re-write the entire DRM library to make such a thing > work. I don't think this was the intention.
Not necessarily you, whoever someday needs GEM would have to do some work.
> The current design makes the accel device an integral part of drm, > with very minimal code duplication and without re-writing DRM.
And it smells bad, you can't even make it into a proper module. Who knows what other problems will come.
Jason
| |