On Wed, Jul 03, 2019 at 12:39:10PM +0100, Eric Engestrom wrote: > On Monday, 2019-05-13 02:52:04 +1000, Jonathan Gray wrote: > > drm render nodes have the same major as drm primary devices but offset > > the minor by a base of 128. > > > > I expected the name of the device to have numbering starting at 0 when > > these non-linux codepaths were added (before OpenBSD had render nodes). > > > > Signed-off-by: Jonathan Gray <jsg@xxxxxxxxx> > > I didn't check that OpenBSD is the way you say, but the libdrm code here > matches with that, so this patch is > Acked-by: Eric Engestrom <eric.engestrom@xxxxxxxxx> > and pushed :) Thanks for looking over these and pushing. OpenBSD snapshots have contained these changes as local patches since I sent the mails out so not expecting any issues. We are trying to keep the kernel side as close as possible to the original linux code. > > > --- > > xf86drm.c | 24 ++++++------------------ > > 1 file changed, 6 insertions(+), 18 deletions(-) > > > > diff --git a/xf86drm.c b/xf86drm.c > > index 42022cac..0763fd26 100644 > > --- a/xf86drm.c > > +++ b/xf86drm.c > > @@ -2931,7 +2931,7 @@ static char *drmGetMinorNameForFD(int fd, int type) > > char buf[PATH_MAX + 1]; > > const char *dev_name; > > unsigned int maj, min; > > - int n, base; > > + int n; > > > > if (fstat(fd, &sbuf)) > > return NULL; > > @@ -2956,11 +2956,7 @@ static char *drmGetMinorNameForFD(int fd, int type) > > return NULL; > > }; > > > > - base = drmGetMinorBase(type); > > - if (base < 0) > > - return NULL; > > - > > - n = snprintf(buf, sizeof(buf), dev_name, DRM_DIR_NAME, min - base); > > + n = snprintf(buf, sizeof(buf), dev_name, DRM_DIR_NAME, min); > > if (n == -1 || n >= sizeof(buf)) > > return NULL; > > > > @@ -3854,7 +3850,7 @@ drm_public int drmGetDevice2(int fd, uint32_t flags, drmDevicePtr *device) > > char node[PATH_MAX + 1]; > > const char *dev_name; > > int node_type, subsystem_type; > > - int maj, min, n, ret, base; > > + int maj, min, n, ret; > > > > if (fd == -1 || device == NULL) > > return -EINVAL; > > @@ -3886,11 +3882,7 @@ drm_public int drmGetDevice2(int fd, uint32_t flags, drmDevicePtr *device) > > return -EINVAL; > > }; > > > > - base = drmGetMinorBase(node_type); > > - if (base < 0) > > - return -EINVAL; > > - > > - n = snprintf(node, PATH_MAX, dev_name, DRM_DIR_NAME, min - base); > > + n = snprintf(node, PATH_MAX, dev_name, DRM_DIR_NAME, min); > > if (n == -1 || n >= PATH_MAX) > > return -errno; > > if (stat(node, &sbuf)) > > @@ -4110,7 +4102,7 @@ drm_public char *drmGetDeviceNameFromFd2(int fd) > > char node[PATH_MAX + 1]; > > const char *dev_name; > > int node_type; > > - int maj, min, n, base; > > + int maj, min, n; > > > > if (fstat(fd, &sbuf)) > > return NULL; > > @@ -4139,11 +4131,7 @@ drm_public char *drmGetDeviceNameFromFd2(int fd) > > return NULL; > > }; > > > > - base = drmGetMinorBase(node_type); > > - if (base < 0) > > - return NULL; > > - > > - n = snprintf(node, PATH_MAX, dev_name, DRM_DIR_NAME, min - base); > > + n = snprintf(node, PATH_MAX, dev_name, DRM_DIR_NAME, min); > > if (n == -1 || n >= PATH_MAX) > > return NULL; > > > > -- > > 2.21.0 > > > > _______________________________________________ > > dri-devel mailing list > > dri-devel@xxxxxxxxxxxxxxxxxxxxx > > https://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel