Messages in this thread | | | Date | Wed, 3 Nov 2021 14:53:18 +0100 | Subject | Re: [RESEND PATCH 4/5] drm: Add a drm_drv_enabled() helper function | From | Thomas Zimmermann <> |
| |
Hi
Am 03.11.21 um 14:41 schrieb Jani Nikula: > On Wed, 03 Nov 2021, Javier Martinez Canillas <javierm@redhat.com> wrote: >> DRM drivers can use this to determine whether they can be enabled or not. >> >> For now it's just a wrapper around drm_modeset_disabled() but having the >> indirection level will allow to add other conditions besides "nomodeset". >> >> Suggested-by: Thomas Zimmermann <tzimmermann@suse.de> >> Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> > > Can't see i915 trivially using this due to the drm_driver > parameter. Please let's not merge helpers like this without actual > users.
Can you explain?
This would be called on the top of the PCI probe function. The parameter would allow to decide on a per-driver base (e.g., to ignore generic drivers).
Best regards Thomas
> > BR, > Jani. > > >> --- >> >> drivers/gpu/drm/drm_drv.c | 21 +++++++++++++++++++++ >> include/drm/drm_drv.h | 1 + >> 2 files changed, 22 insertions(+) >> >> diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c >> index 8214a0b1ab7f..70ef08941e06 100644 >> --- a/drivers/gpu/drm/drm_drv.c >> +++ b/drivers/gpu/drm/drm_drv.c >> @@ -975,6 +975,27 @@ int drm_dev_set_unique(struct drm_device *dev, const char *name) >> } >> EXPORT_SYMBOL(drm_dev_set_unique); >> >> +/** >> + * drm_drv_enabled - Checks if a DRM driver can be enabled >> + * @driver: DRM driver to check >> + * >> + * Checks whether a DRM driver can be enabled or not. This may be the case >> + * if the "nomodeset" kernel command line parameter is used. >> + * >> + * Returns: >> + * True if the DRM driver is enabled and false otherwise. >> + */ >> +bool drm_drv_enabled(const struct drm_driver *driver) >> +{ >> + if (drm_modeset_disabled()) { >> + DRM_INFO("%s driver is disabled\n", driver->name); >> + return false; >> + } >> + >> + return true; >> +} >> +EXPORT_SYMBOL(drm_drv_enabled); >> + >> /* >> * DRM Core >> * The DRM core module initializes all global DRM objects and makes them >> diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h >> index 0cd95953cdf5..48f2b6eec012 100644 >> --- a/include/drm/drm_drv.h >> +++ b/include/drm/drm_drv.h >> @@ -598,5 +598,6 @@ static inline bool drm_drv_uses_atomic_modeset(struct drm_device *dev) >> >> int drm_dev_set_unique(struct drm_device *dev, const char *name); >> >> +bool drm_drv_enabled(const struct drm_driver *driver); >> >> #endif >
-- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany (HRB 36809, AG Nürnberg) Geschäftsführer: Ivo Totev [unhandled content-type:application/pgp-signature] | |