mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Thomas Zimmermann <tzimmermann@suse.de>
To: Pekka Paalanen <ppaalanen@gmail.com>
Cc: "Jani Nikula" <jani.nikula@intel.com>,
	"Daniel Vetter" <daniel.vetter@ffwll.ch>,
	"Michel Dänzer" <michel@daenzer.net>,
	"Javier Martinez Canillas" <javierm@redhat.com>,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	"Peter Robinson" <pbrobinson@gmail.com>
Subject: Re: [PATCH v4 0/6] Cleanups for the nomodeset kernel command line parameter logic
Date: Fri, 12 Nov 2021 11:57:21 +0100	[thread overview]
Message-ID: <5bd4ffa9-f44f-ca34-c346-6c530d31e5ec@suse.de> (raw)
In-Reply-To: <20211112122239.26b3787c@eldfell>


[-- Attachment #1.1: Type: text/plain, Size: 3825 bytes --]

Hi

Am 12.11.21 um 11:22 schrieb Pekka Paalanen:
> On Fri, 12 Nov 2021 11:09:13 +0100
> Thomas Zimmermann <tzimmermann@suse.de> wrote:
> 
>> Hi
>>
>> Am 12.11.21 um 10:39 schrieb Javier Martinez Canillas:
>>> Hello Pekka,
>>>
>>> On 11/12/21 09:56, Pekka Paalanen wrote:
>>>
>>> [snip]
>>>    
>>>>
>>>> Hi,
>>>>
>>>> these ideas make sense to me, so FWIW,
>>>>
>>>> Acked-by: Pekka Paalanen <pekka.paalanen@collabora.com>
>>>>   
>>>
>>> Thanks.
>>>    
>>>> There is one nitpick I'd like to ask about:
>>>>
>>>> +bool drm_get_modeset(void)
>>>> +{
>>>> +     return !drm_nomodeset;
>>>> +}
>>>> +EXPORT_SYMBOL(drm_get_modeset);
>>>>
>>>> Doesn't "get" have a special meaning in the kernel land, like "take a
>>>> strong reference on an object and return it"?
>>>
>>> That's a very good point.
>>>    
>>>> As this is just returning bool without changing anything, the usual
>>>> word to use is "is". Since this function is also used at most once per
>>>> driver, which is rarely, it could have a long and descriptive name.
>>>>
>>>> For example:
>>>>
>>>> bool drm_is_modeset_driver_allowed(void);
>>
>> I'd nominate
>>
>>     bool drm_native_drivers_enabled()
>>
>> This is what HW-specific drivers want to query in their init/probing
>> code. The actual semantics of this decision is hidden from the driver.
>> It's also easier to read than the other name IMHO
> 
> Ok, but what is a "native driver"? Or a "non-native driver"?
> Is that established kernel terminology?
> 
> I'd think a non-native driver is something that e.g. ndiswrapper is
> loading. Is simpledrm like ndiswrapper in a sense? IIRC, simpledrm is
> the driver that would not consult this function, right?

We use that term for hw-specific drivers. A 'non-native' driver would be 
called generic or firmware driver.

My concern with the 'modeset' term is that it exposes an implementation 
detail, which can mislead a driver to to the wrong thing: a HW-specifc 
driver that disables it's modesetting functionality would pass the test 
for (!modeset). But that's not what we want, we want to disable all of 
the driver and not even load it.

How about we invert the test function and use something like

  bool drm_firmware_drivers_only()

? HW-native drivers can do

   if (drm_firmware_drivers_only())
     return;

as early as possible. fbdev uses the flag FBINFO_MISC_FIRMWARE to mark 
rsp drivers. So the terminology is there already.

Best regards
Thomas

> 
> 
> Thanks,
> pq
> 
>>
>> Best regards
>> Thomas
>>
>>>>   
>>>
>>> Yeah, naming is hard. Jani also mentioned that he didn't like this
>>> function name, so I don't mind to re-spin the series only for that.
>>>    
>>>> - "drm" is the namespace
>>>> - "is" implies it is a read-only boolean inspection
>>>> - "modeset" is the feature being checked
>>>> - "driver" implies it is supposed gate driver loading or
>>>>     initialization, rather than modesets after drivers have loaded
>>>> - "allowed" says it is asking about general policy rather than what a
>>>>     driver does
>>>>   
>>>
>>> I believe that name is more verbose than needed. But don't have a
>>> strong opinion and could use it if others agree.
>>>    
>>>> Just a bikeshed, I'll leave it to actual kernel devs to say if this
>>>> would be more appropriate or worth it.
>>>>   
>>>
>>> I think is worth it and better to do it now before the patches land, but
>>> we could wait for others to chime in.
>>>
>>> Best regards,
>>> --
>>> Javier Martinez Canillas
>>> Linux Engineering
>>> Red Hat
>>>    
>>
> 

-- 
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

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

  parent reply	other threads:[~2021-11-12 10:57 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-08 14:06 Javier Martinez Canillas
2021-11-08 14:06 ` [PATCH v4 1/6] drm: Don't print messages if drivers are disabled due nomodeset Javier Martinez Canillas
2021-11-08 14:06 ` [PATCH v4 2/6] drm/vboxvideo: Drop CONFIG_VGA_CONSOLE guard to call vgacon_text_force() Javier Martinez Canillas
2021-11-08 14:06 ` [PATCH v4 3/6] drm: Move nomodeset kernel parameter to the DRM subsystem Javier Martinez Canillas
2021-11-08 14:06 ` [PATCH v4 4/6] drm: Decouple nomodeset from CONFIG_VGA_CONSOLE Javier Martinez Canillas
2021-11-08 14:06 ` [PATCH v4 5/6] Documentation/admin-guide: Document nomodeset kernel parameter Javier Martinez Canillas
2021-11-08 14:06 ` [PATCH v4 6/6] drm: Make the nomodeset message less sensational Javier Martinez Canillas
2021-11-08 14:17 ` [PATCH v4 0/6] Cleanups for the nomodeset kernel command line parameter logic Thomas Zimmermann
2021-11-12  8:56   ` Pekka Paalanen
2021-11-12  9:39     ` Javier Martinez Canillas
2021-11-12 10:09       ` Thomas Zimmermann
2021-11-12 10:22         ` Pekka Paalanen
2021-11-12 10:35           ` Javier Martinez Canillas
2021-11-12 10:37           ` Jani Nikula
2021-11-12 10:57           ` Thomas Zimmermann [this message]
2021-11-12 11:20             ` Javier Martinez Canillas
2021-11-12 11:23               ` Thomas Zimmermann
2021-11-12 12:10               ` Pekka Paalanen

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=5bd4ffa9-f44f-ca34-c346-6c530d31e5ec@suse.de \
    --to=tzimmermann@suse.de \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jani.nikula@intel.com \
    --cc=javierm@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michel@daenzer.net \
    --cc=pbrobinson@gmail.com \
    --cc=ppaalanen@gmail.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®