[PATCH v5 1/9] PCI: Add helper for checking if a PCI device is a display controller
Bjorn Helgaas
helgaas at kernel.org
Thu Jun 26 20:43:47 UTC 2025
On Tue, Jun 24, 2025 at 03:30:34PM -0500, Mario Limonciello wrote:
> From: Mario Limonciello <mario.limonciello at amd.com>
>
> Several places in the kernel do class shifting to match whether a
> PCI device is display class. Introduce a helper for those places to
> use.
>
> Reviewed-by: Daniel Dadap <ddadap at nvidia.com>
> Reviewed-by: Simona Vetter <simona.vetter at ffwll.ch>
> Signed-off-by: Mario Limonciello <mario.limonciello at amd.com>
Acked-by: Bjorn Helgaas <bhelgaas at google.com>
Not sure how this should be merged, let me know if you want me to do
something with it.
> ---
> include/linux/pci.h | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/include/linux/pci.h b/include/linux/pci.h
> index 05e68f35f3923..e77754e43c629 100644
> --- a/include/linux/pci.h
> +++ b/include/linux/pci.h
> @@ -744,6 +744,21 @@ static inline bool pci_is_vga(struct pci_dev *pdev)
> return false;
> }
>
> +/**
> + * pci_is_display - Check if a PCI device is a display controller
> + * @pdev: Pointer to the PCI device structure
> + *
> + * This function determines whether the given PCI device corresponds
> + * to a display controller. Display controllers are typically used
> + * for graphical output and are identified based on their class code.
> + *
> + * Return: true if the PCI device is a display controller, false otherwise.
> + */
> +static inline bool pci_is_display(struct pci_dev *pdev)
> +{
> + return (pdev->class >> 16) == PCI_BASE_CLASS_DISPLAY;
> +}
> +
> #define for_each_pci_bridge(dev, bus) \
> list_for_each_entry(dev, &bus->devices, bus_list) \
> if (!pci_is_bridge(dev)) {} else
> --
> 2.43.0
>
More information about the dri-devel
mailing list