drivers/accel: define kconfig and register a new major
authorOded Gabbay <ogabbay@kernel.org>
Mon, 31 Oct 2022 13:28:35 +0000 (15:28 +0200)
committerOded Gabbay <ogabbay@kernel.org>
Tue, 22 Nov 2022 11:13:51 +0000 (13:13 +0200)
commit8bf4889762a8f5ea25610e426f132f585e9b5ed6
treed78e52f3097a474a786ab831680c0e28b6cfda6c
parentfc58764bbf602b65a6f63c53e5fd6feae76c510c
drivers/accel: define kconfig and register a new major

Add a new Kconfig for the accel subsystem. The Kconfig currently
contains only the basic CONFIG_DRM_ACCEL option that will be used to
decide whether to compile the accel registration code. Therefore, the
kconfig option is defined as bool.

The accel code will be compiled as part of drm.ko and will be called
directly from the DRM core code. The reason we compile it as part of
drm.ko and not as a separate module is because of cyclic dependency
between drm.ko and the separate module (if it would have existed).
This is due to the fact that DRM core code calls accel functions and
vice-versa.

The accelerator devices will be exposed to the user space with a new,
dedicated major number - 261.

The accel init function registers the new major number as a char device
and create corresponding sysfs and debugfs root entries, similar to
what is done in DRM init function.

I added a new header called drm_accel.h to include/drm/, that will hold
the prototypes of the drm_accel.c functions. In case CONFIG_DRM_ACCEL
is set to 'N', that header will contain empty inline implementations of
those functions, to allow DRM core code to compile successfully
without dependency on CONFIG_DRM_ACCEL.

I Updated the MAINTAINERS file accordingly with the newly added folder
and I have taken the liberty to appropriate the dri-devel mailing list
and the dri-devel IRC channel for the accel subsystem.

Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Tested-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Reviewed-by: Melissa Wen <mwen@igalia.com>
Documentation/admin-guide/devices.txt
MAINTAINERS
drivers/Kconfig
drivers/accel/Kconfig [new file with mode: 0644]
drivers/accel/drm_accel.c [new file with mode: 0644]
drivers/gpu/drm/Makefile
include/drm/drm_accel.h [new file with mode: 0644]