From: Jani Nikula <jani.nikula@linux.intel.com>
To: Thomas Zimmermann <tzimmermann@suse.de>,
Javier Martinez Canillas <javierm@redhat.com>,
linux-kernel@vger.kernel.org
Cc: "Pekka Paalanen" <pekka.paalanen@collabora.com>,
"David Airlie" <airlied@linux.ie>,
"Daniel Vetter" <daniel.vetter@ffwll.ch>,
"Michel Dänzer" <michel@daenzer.net>,
dri-devel@lists.freedesktop.org,
"Peter Robinson" <pbrobinson@gmail.com>,
"Neal Gompa" <ngompa13@gmail.com>
Subject: Re: [RESEND PATCH 4/5] drm: Add a drm_drv_enabled() helper function
Date: Thu, 04 Nov 2021 13:10:48 +0200 [thread overview]
Message-ID: <87bl30b2h3.fsf@intel.com> (raw)
In-Reply-To: <54aedf5a-34b1-15f6-47f1-39815b3832ae@suse.de>
On Wed, 03 Nov 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> 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).
Where and how exactly? This is why we need to see the patch using the
function. A patch is worth a thousand words. ;)
See current vgacon_text_force() usage in i915/i915_module.c. It happens
way before anything related to pci or drm driver. Why bother with the
complicated setup and teardown of stuff if you can bail out earlier?
BR,
Jani.
>
> 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
>>
--
Jani Nikula, Intel Open Source Graphics Center
next prev parent reply other threads:[~2021-11-04 11:10 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-03 12:32 [RESEND PATCH 4/5] drm: Add a drm_drv_enabled() helper function Javier Martinez Canillas
2021-11-03 12:32 ` Javier Martinez Canillas
2021-11-03 13:41 ` Jani Nikula
2021-11-03 13:41 ` Jani Nikula
2021-11-03 13:53 ` Thomas Zimmermann
2021-11-04 11:10 ` Jani Nikula [this message]
2021-11-04 12:11 ` Javier Martinez Canillas
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=87bl30b2h3.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=airlied@linux.ie \
--cc=daniel.vetter@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=javierm@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=michel@daenzer.net \
--cc=ngompa13@gmail.com \
--cc=pbrobinson@gmail.com \
--cc=pekka.paalanen@collabora.com \
--cc=tzimmermann@suse.de \
/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.