[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