[PATCH] drm: hibmc: Use set_busid function from drm core

Emil Velikov emil.l.velikov at gmail.com
Tue Jun 13 09:23:34 UTC 2017


Hi Daniel,

On 9 June 2017 at 07:57, Daniel Axtens <dja at axtens.net> wrote:
> Currently, calling drmGetBusid from libdrm on a hibmc VGA
> card returns a string like "0007:a1:00.0".
>
> The busid reported by most cards begins with "pci:". For
> example, on an amd64 system, a VGA card reported
> "pci:0000:00:02.0".
>
> The missing "pci:" prefix confuses Xorg and leads to crashes
> and other misbehaviour.[0]
>
> Use the standard helper from the drm core to set the busid to
> include the "pci:" prefix. This is done by many other drivers.
>
> With this patch, Xorg can be run successfully.
>
> [0]: https://bugs.launchpad.net/ubuntu/+source/xorg/+bug/1691991
>
> Cc: Xinliang Liu <z.liuxinliang at hisilicon.com>
> Cc: Rongrong Zou <zourongrong at gmail.com>
> Signed-off-by: Daniel Axtens <dja at axtens.net>
> ---
>  drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
> index 2ffdbf9801bd..9663a633897a 100644
> --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
> +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
> @@ -69,6 +69,7 @@ static struct drm_driver hibmc_driver = {
>         .dumb_map_offset        = hibmc_dumb_mmap_offset,
>         .dumb_destroy           = drm_gem_dumb_destroy,
>         .irq_handler            = hibmc_drm_interrupt,
> +       .set_busid              = drm_pci_set_busid,

Daniel V has been working very hard on cleaning all the set_busid
"chaos" and even has some patches which remove it completely [1].
While your patch is correct, it would be nicer if we can remove the
code so that nobody else gets bitten ;-)

Can you be so kind and re-spin your patch with the cleanups (2-4) on top?
IIRC your fix should be CC kernel-stable.

Thanks
Emil

[1] https://lists.freedesktop.org/archives/dri-devel/2017-May/142670.html


More information about the dri-devel mailing list