[PATCH 5/8] firmware/sysfb: Create firmware device only for enabled PCI devices
Thomas Zimmermann
tzimmermann at suse.de
Tue Jan 30 12:52:57 UTC 2024
Hi
Am 29.01.24 um 12:36 schrieb Javier Martinez Canillas:
> Thomas Zimmermann <tzimmermann at suse.de> writes:
>
>> Test if the firmware framebuffer's parent PCI device, if any, has
>> been enabled. If not, the firmware framebuffer is most likely not
>> working. Hence, do not create a device for the firmware framebuffer
>> on disabled PCI devices.
>>
>> So far, efifb tracked the status of the PCI parent device internally
>> and did not bind if it was disabled. This patch implements the
>> functionality for all firmware framebuffers.
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
>> ---
>
> [...]
>
>>
>> +static __init bool sysfb_pci_dev_is_enabled(struct pci_dev *pdev)
>> +{
>> +#if defined(CONFIG_PCI)
>> + /*
>> + * TODO: Try to integrate this code into the PCI subsystem
>> + */
>> + int ret;
>> + u16 command;
>> +
>> + ret = pci_read_config_word(pdev, PCI_COMMAND, &command);
>> + if (ret != PCIBIOS_SUCCESSFUL)
>> + return false;
>> + if (!(command & PCI_COMMAND_MEMORY))
>> + return false;
>> + return true;
>> +#else
>> + // Getting here without PCI support is probably a bug.
>> + return false;
>
> Should we warn before return in this case ?
I would not do so as the bug is not here, but in screen_info_pci_dev().
I'm going to update this chunk such that the non-PCI case is a separate
function.
>
> Reviewed-by: Javier Martinez Canillas <javierm at redhat.com>
>
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20240130/51c27b3c/attachment.sig>
More information about the dri-devel
mailing list