From: Robert Foss <robert.foss@collabora.com>
To: Emil Velikov <emil.l.velikov@gmail.com>, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH libdrm 06/10] xf86drm: Add drmDevice support for virtio_gpu
Date: Thu, 28 Jun 2018 18:08:26 +0200 [thread overview]
Message-ID: <e7775ca3-c6bb-9410-73fc-ef455530e1fc@collabora.com> (raw)
In-Reply-To: <20180625173626.8046-6-emil.l.velikov@gmail.com>
Feel free to add my r-b to this patch.
On 2018-06-25 19:36, Emil Velikov wrote:
> From: Emil Velikov <emil.velikov@collabora.com>
>
> The GPU almost exclusively lives on the PCI bus, so we expose it as a
> normal PCI one.
>
> This allows any existing drmDevice users to work without any changes.
>
> One could wonder why a separate typeset is not introduced, alike say
> host1x. Unlike host1x the PCI/platform distinction for virtio provides
> no extra information. Plus needed we can add the separate set at a later
> stage.
>
> Here are a couple of 'features' that virtio seems to be missing:
> - provides extra information on top the plaform devices
> - supports a range of GPU devices
> - is considered hardware description (DT)
>
> Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
> ---
> xf86drm.c | 13 ++++++++++++-
> 1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/xf86drm.c b/xf86drm.c
> index 8ccd528f..b847ea26 100644
> --- a/xf86drm.c
> +++ b/xf86drm.c
> @@ -2954,6 +2954,9 @@ sysfs_uevent_get(const char *path, const char *fmt, ...)
> }
> #endif
>
> +/* Little white lie to avoid major rework of the existing code */
> +#define DRM_BUS_VIRTIO 0x10
> +
> static int drmParseSubsystemType(int maj, int min)
> {
> #ifdef __linux__
> @@ -2983,6 +2986,9 @@ static int drmParseSubsystemType(int maj, int min)
> if (strncmp(name, "/host1x", 7) == 0)
> return DRM_BUS_HOST1X;
>
> + if (strncmp(name, "/virtio", 7) == 0)
> + return DRM_BUS_VIRTIO;
> +
> return -EINVAL;
> #elif defined(__OpenBSD__)
> return DRM_BUS_PCI;
> @@ -2996,7 +3002,7 @@ static char *
> get_real_pci_path(int maj, int min)
> {
> char path[PATH_MAX + 1];
> - char *real_path = malloc(PATH_MAX);
> + char *term, *real_path = malloc(PATH_MAX);
>
> if (!real_path)
> return NULL;
> @@ -3007,6 +3013,10 @@ get_real_pci_path(int maj, int min)
> return NULL;
> }
>
> + term = strrchr(real_path, '/');
> + if (term && strncmp(term, "/virtio", 7) == 0)
> + *term = 0;
> +
> return real_path;
> }
>
> @@ -3744,6 +3754,7 @@ process_device(drmDevicePtr *device, const char *d_name,
>
> switch (subsystem_type) {
> case DRM_BUS_PCI:
> + case DRM_BUS_VIRTIO:
> return drmProcessPciDevice(device, node, node_type, maj, min,
> fetch_deviceinfo, flags);
> case DRM_BUS_USB:
>
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2018-06-28 16:08 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-25 17:36 [PATCH libdrm 01/10] xf86drm: drmGetDevice2: error out if the fd has unknown subsys Emil Velikov
2018-06-25 17:36 ` [PATCH libdrm 02/10] xf86drm: introduce drm_device_has_rdev() helper Emil Velikov
2018-06-28 10:14 ` Robert Foss
2018-06-25 17:36 ` [PATCH libdrm 03/10] xf86drm: Fold drmDevice processing into process_device() helper Emil Velikov
2018-06-28 11:50 ` Robert Foss
2018-06-25 17:36 ` [PATCH libdrm 04/10] xf86drm: Allocate drmDevicePtr's on stack Emil Velikov
2018-06-28 12:52 ` Robert Foss
2018-06-28 17:07 ` Emil Velikov
2018-06-29 15:20 ` [PATCH libdrm v2 " Emil Velikov
2018-06-29 15:49 ` Robert Foss
2018-06-29 15:22 ` [PATCH libdrm v2 05/10] xf86drm: introduce a get_real_pci_path() helper Emil Velikov
2018-06-25 17:36 ` [PATCH libdrm " Emil Velikov
2018-06-28 10:21 ` Eric Engestrom
2018-06-28 10:23 ` Eric Engestrom
2018-06-28 16:42 ` Emil Velikov
2018-06-28 16:06 ` Robert Foss
2018-06-25 17:36 ` [PATCH libdrm 06/10] xf86drm: Add drmDevice support for virtio_gpu Emil Velikov
2018-06-28 16:08 ` Robert Foss [this message]
2018-06-25 17:36 ` [PATCH libdrm 07/10] tests/drmdevices: install alongside other utilities Emil Velikov
2018-06-28 16:09 ` Robert Foss
2018-06-25 17:36 ` [PATCH libdrm 08/10] tests/drmdevice: add a couple of printf headers Emil Velikov
2018-06-28 16:09 ` Robert Foss
2018-06-25 17:36 ` [PATCH libdrm 09/10] drmdevice: convert the tabbed output into a tree Emil Velikov
2018-06-28 10:19 ` Eric Engestrom
2018-06-28 16:43 ` Emil Velikov
2018-06-28 16:09 ` Robert Foss
2018-06-29 15:24 ` [PATCH libdrm v2 " Emil Velikov
2018-06-25 17:36 ` [PATCH libdrm 10/10] drmdevice: print the correct host1x information Emil Velikov
2018-06-28 16:09 ` Robert Foss
2018-06-28 10:11 ` [PATCH libdrm 01/10] xf86drm: drmGetDevice2: error out if the fd has unknown subsys Robert Foss
2018-06-28 10:11 ` Robert Foss
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=e7775ca3-c6bb-9410-73fc-ef455530e1fc@collabora.com \
--to=robert.foss@collabora.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=emil.l.velikov@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