On 11/3/22 13:39, Oded Gabbay wrote: > On Thu, Nov 3, 2022 at 3:31 PM Oded Gabbay <ogabbay@xxxxxxxxxx> wrote: >> >> On Thu, Nov 3, 2022 at 2:31 AM Greg Kroah-Hartman >> <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: >>> >>> On Wed, Nov 02, 2022 at 10:34:03PM +0200, Oded Gabbay wrote: >>>> --- /dev/null >>>> +++ b/drivers/accel/Kconfig >>>> @@ -0,0 +1,24 @@ >>>> +# SPDX-License-Identifier: GPL-2.0-only >>>> +# >>>> +# Compute Acceleration device configuration >>>> +# >>>> +# This framework provides support for compute acceleration devices, such >>>> +# as, but not limited to, Machine-Learning and Deep-Learning acceleration >>>> +# devices >>>> +# >>>> +menuconfig ACCEL >>>> + tristate "Compute Acceleration Framework" >>>> + depends on DRM >>>> + help >>>> + Framework for device drivers of compute acceleration devices, such >>>> + as, but not limited to, Machine-Learning and Deep-Learning >>>> + acceleration devices. >>>> + If you say Y here, you need to select the module that's right for >>>> + your acceleration device from the list below. >>>> + This framework is integrated with the DRM subsystem as compute >>>> + accelerators and GPUs share a lot in common and can use almost the >>>> + same infrastructure code. >>>> + Having said that, acceleration devices will have a different >>>> + major number than GPUs, and will be exposed to user-space using >>>> + different device files, called accel/accel* (in /dev, sysfs >>>> + and debugfs) >>> >>> Module name if "M" is chosen? >> Will add > So, unfortunately, the path of doing accel as a kernel module won't > work cleanly (Thanks stanislaw for pointing this out to me). > The reason is the circular dependency between drm and accel. drm calls > accel exported symbols during init and when devices are registering > (all the minor handling), and accel calls drm exported symbols because > I don't want to duplicate the entire drm core code. But DRM is a tristate symbol, so during drm init (loadable module), couldn't it call accel init code (loadable module)? Or are you saying that they only work together if both of them are builtin? > I'll keep this menuconfig to provide the ability to disable this code > for people who think it is too "experimental". And in the future, when > drivers will join this subsystem, they will need this place for their > kconfig. > > Thanks, > Oded -- ~Randy