[PATCH] Move nv30, nv50 and nvc0 to nouveau.
--- Sorry for annoying the mailing list but ... [Dienstag, 20. August 2013] [21:23:56] calim: Would you accept such a patch: https://github.com/jobermayr/mesa/commit/b859d1d [Dienstag, 20. August 2013] [21:56:05] jobermayr: what's that good for ? [Dienstag, 20. August 2013] [21:56:33] ah, you moved everything into a nouveau subdir [Dienstag, 20. August 2013] [21:59:42] hm, I don't care, doesn't really have an effect other than requiring more key presses to reach the driver dir [Dienstag, 20. August 2013] [21:59:58] so, I'd accept it [Dienstag, 20. August 2013] [22:01:00] but you remove the ability to not build nv30 support ... [Dienstag, 20. August 2013] [22:02:45] I mean, you could have kept the separate libnvXX.a Depending targets (dri-nouveau, egl-static, pipe-loader, vdpau-nouveau, xorg-nouveau and xmvc-nouveau) require nv30_screen_create, nv50_screen_create and nvc0_screen_create in nouveau_drm_screen_create (libnouveaudrm.la). So it is not possible not to build nv30 and since all three former libnvXX.la are required it makes sense to build only one libnouveau.la ... [Dienstag, 20. August 2013] [22:38:05] calim: It only builds one libnouveau library, a bit faster compile times on -jX and all things which go into it are better structured Am Dienstag, 20. August 2013, 23:27:59 schrieb Johannes Obermayr an Christoph Bumiller: > Hallo Christoph, > > anbei der Patch zur Umstrukturierung (entpackt ~ 4 MB, deshalb nicht an die > Liste ...). > > Falls mal aboll's und mein Wunsch in Erfüllung gehen sollte und wir die > Shared-Libs-Patches einspielen dürfen, müssen dann in libnouveau.so nur die > drei *_screen_create Symbole freigegeben werden. > > Wie vorhin auf der Liste angekündigt gibt es einen kleinen > Geschwindigkeitsbonus beim Kompilieren obendrein > > Gruß > Johannes [Sonntag, 1. September 2013] [23:23:37] calim: This commit also contains whiteline and new blank line at EOF fixes: https://github.com/jobermayr/mesa/commit/5a677fc . Is it sth. you will push to master or must I maintain it in my branch? [Donnerstag, 5. September 2013] [17:56:33] calim: What about pushing https://github.com/jobermayr/mesa/commit/def1781 and for 9.2: https://github.com/jobermayr/mesa/commit/03073db ? Don't you accept it anymore? Why is it so difficult to get an agreed patch in master? --- configure.ac |5 +- src/gallium/Android.mk |5 +- src/gallium/drivers/Makefile.am|2 +- src/gallium/drivers/nouveau/Android.mk |8 +- src/gallium/drivers/nouveau/Makefile.am| 14 +- src/gallium/drivers/nouveau/Makefile.sources | 91 + src/gallium/drivers/nouveau/codegen/nv50_ir.cpp| 1231 src/gallium/drivers/nouveau/codegen/nv50_ir.h | 1197 src/gallium/drivers/nouveau/codegen/nv50_ir_bb.cpp | 550 .../drivers/nouveau/codegen/nv50_ir_build_util.cpp | 614 .../drivers/nouveau/codegen/nv50_ir_build_util.h | 324 +++ .../drivers/nouveau/codegen/nv50_ir_driver.h | 220 ++ .../drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp | 1682 +++ .../drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp | 1962 + .../drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp | 2988 .../drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 2852 +++ .../drivers/nouveau/codegen/nv50_ir_graph.cpp | 436 +++ .../drivers/nouveau/codegen/nv50_ir_graph.h| 228 ++ .../drivers/nouveau/codegen/nv50_ir_inlines.h | 420 +++ .../nouveau/codegen/nv50_ir_lowering_nv50.cpp | 1101 .../nouveau/codegen/nv50_ir_lowering_nvc0.cpp | 1597 +++ .../drivers/nouveau/codegen/nv50_ir_peephole.cpp | 2464 .../drivers/nouveau/codegen/nv50_ir_print.cpp | 698 + src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp | 2050 ++ .../drivers/nouveau/codegen/nv50_ir_ssa.cpp| 552 .../drivers/nouveau/codegen/nv50_ir_target.cpp | 469 +++ .../drivers/nouveau/codegen/nv50_ir_target.h | 235 ++ .../nouveau/codegen/nv50_ir_target_nv50.cpp| 552 .../drivers/nouveau/codegen/nv50_ir_target_nv50.h | 72 + .../nouveau/codegen/nv50_ir_target_nvc0.cpp| 604 .../drivers/nouveau/codegen/nv50_ir_target_nvc0.h | 74 + .../drivers/nouveau/codegen/nv50_ir_util.cpp | 390 +++ src/gallium/drivers/nouveau/codegen/nv50_ir_util.h | 788 ++ .../drivers/nouveau/codegen/target_lib_nvc0.asm| 96 + .../drivers/nouveau/codegen/target_lib_nvc0.asm.h | 112 + .../drivers/nouveau/codegen/target_lib_nve4.asm| 698 + .../drivers/nouveau/codegen/target_lib_nve4.asm.h | 592 .../drivers/nouveau/codegen/target_lib_nvf0.asm.h | 13 + src/gallium/drivers/nouveau/nouveau_mm.c
libdrm: Fix some warnings reported by clang's scan-build tool
Patches 1 to 4 were sent to mesa-dev. ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH 2/5] libkms/nouveau.c: Fix a memory leak and cleanup code a bit.
--- libkms/nouveau.c | 20 +++- 1 files changed, 11 insertions(+), 9 deletions(-) diff --git a/libkms/nouveau.c b/libkms/nouveau.c index 0e24a15..4cbca96 100644 --- a/libkms/nouveau.c +++ b/libkms/nouveau.c @@ -94,14 +94,18 @@ nouveau_bo_create(struct kms_driver *kms, if (!bo) return -ENOMEM; - if (type == KMS_BO_TYPE_CURSOR_64X64_A8R8G8B8) { + switch (type) { + case KMS_BO_TYPE_CURSOR_64X64_A8R8G8B8: pitch = 64 * 4; size = 64 * 64 * 4; - } else if (type == KMS_BO_TYPE_SCANOUT_X8R8G8B8) { + break; + case KMS_BO_TYPE_SCANOUT_X8R8G8B8: pitch = width * 4; pitch = (pitch + 512 - 1) & ~(512 - 1); size = pitch * height; - } else { + break; + default: + free(bo); return -EINVAL; } @@ -114,8 +118,10 @@ nouveau_bo_create(struct kms_driver *kms, arg.channel_hint = 0; ret = drmCommandWriteRead(kms->fd, DRM_NOUVEAU_GEM_NEW, &arg, sizeof(arg)); - if (ret) - goto err_free; + if (ret) { + free(bo); + return ret; + } bo->base.kms = kms; bo->base.handle = arg.info.handle; @@ -126,10 +132,6 @@ nouveau_bo_create(struct kms_driver *kms, *out = &bo->base; return 0; - -err_free: - free(bo); - return ret; } static int -- 1.7.7 ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH 1/5] libkms/intel.c: Fix a memory leak and a dead assignment as well as cleanup code a bit.
--- libkms/intel.c | 25 ++--- 1 files changed, 14 insertions(+), 11 deletions(-) diff --git a/libkms/intel.c b/libkms/intel.c index 8b8249b..b8ac343 100644 --- a/libkms/intel.c +++ b/libkms/intel.c @@ -93,14 +93,18 @@ intel_bo_create(struct kms_driver *kms, if (!bo) return -ENOMEM; - if (type == KMS_BO_TYPE_CURSOR_64X64_A8R8G8B8) { + switch (type) { + case KMS_BO_TYPE_CURSOR_64X64_A8R8G8B8: pitch = 64 * 4; size = 64 * 64 * 4; - } else if (type == KMS_BO_TYPE_SCANOUT_X8R8G8B8) { + break; + case KMS_BO_TYPE_SCANOUT_X8R8G8B8: pitch = width * 4; pitch = (pitch + 512 - 1) & ~(512 - 1); size = pitch * ((height + 4 - 1) & ~(4 - 1)); - } else { + break; + default: + free(bo); return -EINVAL; } @@ -108,8 +112,10 @@ intel_bo_create(struct kms_driver *kms, arg.size = size; ret = drmCommandWriteRead(kms->fd, DRM_I915_GEM_CREATE, &arg, sizeof(arg)); - if (ret) - goto err_free; + if (ret) { + free(bo); + return ret; + } bo->base.kms = kms; bo->base.handle = arg.handle; @@ -124,21 +130,18 @@ intel_bo_create(struct kms_driver *kms, tile.handle = bo->base.handle; tile.tiling_mode = I915_TILING_X; tile.stride = bo->base.pitch; - - ret = drmCommandWriteRead(kms->fd, DRM_I915_GEM_SET_TILING, &tile, sizeof(tile)); #if 0 + ret = drmCommandWriteRead(kms->fd, DRM_I915_GEM_SET_TILING, &tile, sizeof(tile)); if (ret) { kms_bo_destroy(out); return ret; } +#else + drmCommandWriteRead(kms->fd, DRM_I915_GEM_SET_TILING, &tile, sizeof(tile)); #endif } return 0; - -err_free: - free(bo); - return ret; } static int -- 1.7.7 ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH 3/5] nouveau/nouveau.c: Fix two memory leaks.
--- nouveau/nouveau.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/nouveau/nouveau.c b/nouveau/nouveau.c index 5aa4107..e91287f 100644 --- a/nouveau/nouveau.c +++ b/nouveau/nouveau.c @@ -95,6 +95,7 @@ nouveau_device_wrap(int fd, int close, struct nouveau_device **pdev) (dev->drm_version < 0x0100 || dev->drm_version >= 0x0200)) { nouveau_device_del(&dev); + free(nvdev); return -EINVAL; } @@ -105,6 +106,7 @@ nouveau_device_wrap(int fd, int close, struct nouveau_device **pdev) ret = nouveau_getparam(dev, NOUVEAU_GETPARAM_AGP_SIZE, &gart); if (ret) { nouveau_device_del(&dev); + free(nvdev); return ret; } -- 1.7.7 ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH 4/5] xf86drm.c: Make more code UDEV unrelevant and fix a memory leak.
--- xf86drm.c | 12 +--- 1 files changed, 9 insertions(+), 3 deletions(-) diff --git a/xf86drm.c b/xf86drm.c index 6ea068f..e3789c8 100644 --- a/xf86drm.c +++ b/xf86drm.c @@ -255,6 +255,7 @@ static int drmMatchBusID(const char *id1, const char *id2, int pci_domain_ok) return 0; } +#if !defined(UDEV) /** * Handles error checking for chown call. * @@ -284,6 +285,7 @@ static int chown_check_return(const char *path, uid_t owner, gid_t group) path, errno, strerror(errno)); return -1; } +#endif /** * Open the DRM device, creating it if necessary. @@ -303,14 +305,17 @@ static int drmOpenDevice(long dev, int minor, int type) stat_t st; charbuf[64]; int fd; +#if !defined(UDEV) mode_t devmode = DRM_DEV_MODE, serv_mode; int isroot = !geteuid(); uid_t user= DRM_DEV_UID; gid_t group = DRM_DEV_GID, serv_group; - +#endif + sprintf(buf, type ? DRM_DEV_NAME : DRM_CONTROL_DEV_NAME, DRM_DIR_NAME, minor); drmMsg("drmOpenDevice: node name is %s\n", buf); +#if !defined(UDEV) if (drm_server_info) { drm_server_info->get_perms(&serv_group, &serv_mode); devmode = serv_mode ? serv_mode : DRM_DEV_MODE; @@ -318,7 +323,6 @@ static int drmOpenDevice(long dev, int minor, int type) group = (serv_group >= 0) ? serv_group : DRM_DEV_GID; } -#if !defined(UDEV) if (stat(DRM_DIR_NAME, &st)) { if (!isroot) return DRM_ERR_NOT_ROOT; @@ -1395,8 +1399,10 @@ drm_context_t *drmGetReservedContextList(int fd, int *count) } res.contexts = list; -if (drmIoctl(fd, DRM_IOCTL_RES_CTX, &res)) +if (drmIoctl(fd, DRM_IOCTL_RES_CTX, &res)) { + drmFree(retval); return NULL; +} for (i = 0; i < res.count; i++) retval[i] = list[i].handle; -- 1.7.7 ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH 5/5] modetest.c: Add return 0 in bit_name_fn(res) macro.
--- tests/modetest/modetest.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/tests/modetest/modetest.c b/tests/modetest/modetest.c index ec3121e..00129fa 100644 --- a/tests/modetest/modetest.c +++ b/tests/modetest/modetest.c @@ -128,6 +128,7 @@ char * res##_str(int type) { \ sep = ", "; \ } \ } \ + return 0; \ } static const char *mode_type_names[] = { -- 1.7.7 ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
libdrm: Fix some warnings reported by clang's scan-build tool [try 2]
Am Freitag, 13. Juli 2012, 18:47:50 schrieb Marcin Slusarz: > On Fri, Jul 13, 2012 at 05:49:12PM +0200, Johannes Obermayr wrote: > > > > Patches 1 to 4 were sent to mesa-dev. > > And you chose to ignore most of my comments. > Fine. Don't expect further reviews from me. > > Marcin Patch 1 and 2: - Adapted - I want to keep proposed easier to read "switch" case Patch 3: - Resend - Waiting on your response: http://lists.freedesktop.org/archives/mesa-dev/2012-June/023456.html Patch 4 and 5: - Splitted - http://llvm.org/bugs/show_bug.cgi?id=13358 (forgot to split and to add 'drmFree(list);') - The 'more if's case' seems better to me Patch 6: - Resend Marcin, not that I ignore comments. But sometimes I want to hear also opinions from (some more) other people. I hope I can calm the waves ... Johannes ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH 1/6] libkms/intel.c: Fix a memory leak and a dead assignment as well as make some code easier to read.
--- libkms/intel.c | 32 +--- 1 files changed, 17 insertions(+), 15 deletions(-) diff --git a/libkms/intel.c b/libkms/intel.c index 8b8249b..12175b0 100644 --- a/libkms/intel.c +++ b/libkms/intel.c @@ -89,27 +89,32 @@ intel_bo_create(struct kms_driver *kms, } } - bo = calloc(1, sizeof(*bo)); - if (!bo) - return -ENOMEM; - - if (type == KMS_BO_TYPE_CURSOR_64X64_A8R8G8B8) { + switch (type) { + case KMS_BO_TYPE_CURSOR_64X64_A8R8G8B8: pitch = 64 * 4; size = 64 * 64 * 4; - } else if (type == KMS_BO_TYPE_SCANOUT_X8R8G8B8) { + break; + case KMS_BO_TYPE_SCANOUT_X8R8G8B8: pitch = width * 4; pitch = (pitch + 512 - 1) & ~(512 - 1); size = pitch * ((height + 4 - 1) & ~(4 - 1)); - } else { + break; + default: return -EINVAL; } + bo = calloc(1, sizeof(*bo)); + if (!bo) + return -ENOMEM; + memset(&arg, 0, sizeof(arg)); arg.size = size; ret = drmCommandWriteRead(kms->fd, DRM_I915_GEM_CREATE, &arg, sizeof(arg)); - if (ret) - goto err_free; + if (ret) { + free(bo); + return ret; + } bo->base.kms = kms; bo->base.handle = arg.handle; @@ -124,21 +129,18 @@ intel_bo_create(struct kms_driver *kms, tile.handle = bo->base.handle; tile.tiling_mode = I915_TILING_X; tile.stride = bo->base.pitch; - - ret = drmCommandWriteRead(kms->fd, DRM_I915_GEM_SET_TILING, &tile, sizeof(tile)); #if 0 + ret = drmCommandWriteRead(kms->fd, DRM_I915_GEM_SET_TILING, &tile, sizeof(tile)); if (ret) { kms_bo_destroy(out); return ret; } +#else + drmCommandWriteRead(kms->fd, DRM_I915_GEM_SET_TILING, &tile, sizeof(tile)); #endif } return 0; - -err_free: - free(bo); - return ret; } static int -- 1.7.7 ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH 2/6] libkms/nouveau.c: Fix a memory leak and make some code easier to read.
--- libkms/nouveau.c | 27 ++- 1 files changed, 14 insertions(+), 13 deletions(-) diff --git a/libkms/nouveau.c b/libkms/nouveau.c index 0e24a15..fbca6fe 100644 --- a/libkms/nouveau.c +++ b/libkms/nouveau.c @@ -90,21 +90,24 @@ nouveau_bo_create(struct kms_driver *kms, } } - bo = calloc(1, sizeof(*bo)); - if (!bo) - return -ENOMEM; - - if (type == KMS_BO_TYPE_CURSOR_64X64_A8R8G8B8) { + switch (type) { + case KMS_BO_TYPE_CURSOR_64X64_A8R8G8B8: pitch = 64 * 4; size = 64 * 64 * 4; - } else if (type == KMS_BO_TYPE_SCANOUT_X8R8G8B8) { + break; + case KMS_BO_TYPE_SCANOUT_X8R8G8B8: pitch = width * 4; pitch = (pitch + 512 - 1) & ~(512 - 1); size = pitch * height; - } else { + break; + default: return -EINVAL; } + bo = calloc(1, sizeof(*bo)); + if (!bo) + return -ENOMEM; + memset(&arg, 0, sizeof(arg)); arg.info.size = size; arg.info.domain = NOUVEAU_GEM_DOMAIN_MAPPABLE | NOUVEAU_GEM_DOMAIN_VRAM; @@ -114,8 +117,10 @@ nouveau_bo_create(struct kms_driver *kms, arg.channel_hint = 0; ret = drmCommandWriteRead(kms->fd, DRM_NOUVEAU_GEM_NEW, &arg, sizeof(arg)); - if (ret) - goto err_free; + if (ret) { + free(bo); + return ret; + } bo->base.kms = kms; bo->base.handle = arg.info.handle; @@ -126,10 +131,6 @@ nouveau_bo_create(struct kms_driver *kms, *out = &bo->base; return 0; - -err_free: - free(bo); - return ret; } static int -- 1.7.7 ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH 3/6] nouveau/nouveau.c: Fix two memory leaks.
--- nouveau/nouveau.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/nouveau/nouveau.c b/nouveau/nouveau.c index 5aa4107..e91287f 100644 --- a/nouveau/nouveau.c +++ b/nouveau/nouveau.c @@ -95,6 +95,7 @@ nouveau_device_wrap(int fd, int close, struct nouveau_device **pdev) (dev->drm_version < 0x0100 || dev->drm_version >= 0x0200)) { nouveau_device_del(&dev); + free(nvdev); return -EINVAL; } @@ -105,6 +106,7 @@ nouveau_device_wrap(int fd, int close, struct nouveau_device **pdev) ret = nouveau_getparam(dev, NOUVEAU_GETPARAM_AGP_SIZE, &gart); if (ret) { nouveau_device_del(&dev); + free(nvdev); return ret; } -- 1.7.7 ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH 4/6] xf86drm.c: Make more code UDEV unrelevant.
--- xf86drm.c |8 ++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/xf86drm.c b/xf86drm.c index 6ea068f..e652731 100644 --- a/xf86drm.c +++ b/xf86drm.c @@ -255,6 +255,7 @@ static int drmMatchBusID(const char *id1, const char *id2, int pci_domain_ok) return 0; } +#if !defined(UDEV) /** * Handles error checking for chown call. * @@ -284,6 +285,7 @@ static int chown_check_return(const char *path, uid_t owner, gid_t group) path, errno, strerror(errno)); return -1; } +#endif /** * Open the DRM device, creating it if necessary. @@ -303,14 +305,17 @@ static int drmOpenDevice(long dev, int minor, int type) stat_t st; charbuf[64]; int fd; +#if !defined(UDEV) mode_t devmode = DRM_DEV_MODE, serv_mode; int isroot = !geteuid(); uid_t user= DRM_DEV_UID; gid_t group = DRM_DEV_GID, serv_group; - +#endif + sprintf(buf, type ? DRM_DEV_NAME : DRM_CONTROL_DEV_NAME, DRM_DIR_NAME, minor); drmMsg("drmOpenDevice: node name is %s\n", buf); +#if !defined(UDEV) if (drm_server_info) { drm_server_info->get_perms(&serv_group, &serv_mode); devmode = serv_mode ? serv_mode : DRM_DEV_MODE; @@ -318,7 +323,6 @@ static int drmOpenDevice(long dev, int minor, int type) group = (serv_group >= 0) ? serv_group : DRM_DEV_GID; } -#if !defined(UDEV) if (stat(DRM_DIR_NAME, &st)) { if (!isroot) return DRM_ERR_NOT_ROOT; -- 1.7.7 ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH 5/6] xf86drm.c: Fix two memory leaks.
--- xf86drm.c |5 - 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/xf86drm.c b/xf86drm.c index e652731..c1cc170 100644 --- a/xf86drm.c +++ b/xf86drm.c @@ -1399,8 +1399,11 @@ drm_context_t *drmGetReservedContextList(int fd, int *count) } res.contexts = list; -if (drmIoctl(fd, DRM_IOCTL_RES_CTX, &res)) +if (drmIoctl(fd, DRM_IOCTL_RES_CTX, &res)) { + drmFree(list); + drmFree(retval); return NULL; +} for (i = 0; i < res.count; i++) retval[i] = list[i].handle; -- 1.7.7 ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH 6/6] modetest.c: Add return 0 in bit_name_fn(res) macro.
--- tests/modetest/modetest.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/tests/modetest/modetest.c b/tests/modetest/modetest.c index ec3121e..00129fa 100644 --- a/tests/modetest/modetest.c +++ b/tests/modetest/modetest.c @@ -128,6 +128,7 @@ char * res##_str(int type) { \ sep = ", "; \ } \ } \ + return 0; \ } static const char *mode_type_names[] = { -- 1.7.7 ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
drm-openchrome status (or will it be in Kernel 3.10?)
Hi James, Linus recently released Kernel 3.9, merge window for Kernel 3.10 has been opened, and the question is whether drm-openchrome will be part of the new Kernel version. Regards, Johannes ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: drm-openchrome status (or will it be in Kernel 3.10?)
Am Dienstag, 30. April 2013, 06:06:22 schrieb Dave Airlie: > On Tue, Apr 30, 2013 at 2:17 AM, Johannes Obermayr > wrote: > > Hi James, > > > > Linus recently released Kernel 3.9, merge window for Kernel 3.10 has been > > opened, and the question is whether drm-openchrome will be part of the new > > Kernel version. > > Johannes, > > you misunderstand merge window. The merge window is for stuff to go > from toplevel maintainers to Linus, not for new stuff to appear and be > merged. Dave, I know you maintain also a merge window for drm stuff which starts at ~ rc6. But I am unsure when it closes: When Linus opens his merge window or when you forward your main drm pull request to Linus. First case means it is definitely too late for drm-openchrome in 3.10. Second case means there can be hope (depending on James' answer) ... But regarding your answer I assume first case is right. Johannes ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: drm-next status (or: drm-openchrome will not be in 3.11)
Am Freitag, 28. Juni 2013, 13:31:50 schrieb Dave Airlie: > Okay drm-next is pretty big, possibly the biggest ever. > > Outstanding things I know about, and will merge, if they arrive soon: > exynos -next > nouveau -next > > Big things I've merged: > new rcar driver > intel next > radeon next > tegra next > shmob next > core/mutexes > ttm -> reservation conversion > tilcdc patches acked by Rob > mtrr reworking > prime + gem patches from samsung > Laurent's documentation updates > various mgag200 patches > > Otherwise I'm sure I've missed some changes, please let me know of > anything you think has fallen down the cracks asap. > > Slow down people :-P > > Dave. IRC #dri-devel: airlied: drm-openchrome will not be part of Kernel 3.11 because jsimmons has not responded? jobermayr: seems likely, I don't merge just because someone posts patchrs Tasks to do: http://lists.freedesktop.org/archives/dri-devel/2013-June/039695.html http://lists.freedesktop.org/archives/dri-devel/2013-June/039796.html ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
Cannot compile latest drm-radeon-testing against 2.6.34-rc6
Hi, I cannot compile latest drm-radeon-testing against 2.6.34-rc6 on openSUSE. Johannes (Please CC me.) CC [M] /usr/src/packages/BUILD/drm-testing-20100508/drm-all/obj/default/drm/radeon/radeon_pm.o /usr/src/packages/BUILD/drm-testing-20100508/drm-all/obj/default/drm/radeon/radeon_pm.c: In function 'radeon_pm_init': /usr/src/packages/BUILD/drm-testing-20100508/drm-all/obj/default/drm/radeon/radeon_pm.c:430: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result /usr/src/packages/BUILD/drm-testing-20100508/drm-all/obj/default/drm/radeon/radeon_pm.c:431: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result CC [M] /usr/src/packages/BUILD/drm-testing-20100508/drm-all/obj/default/drm/radeon/atombios_dp.o CC [M] /usr/src/packages/BUILD/drm-testing-20100508/drm-all/obj/default/drm/ttm/ttm_page_alloc.o /usr/src/packages/BUILD/drm-testing-20100508/drm-all/obj/default/drm/ttm/ttm_page_alloc.c: In function 'ttm_set_pages_caching': /usr/src/packages/BUILD/drm-testing-20100508/drm-all/obj/default/drm/ttm/ttm_page_alloc.c:440: error: implicit declaration of function 'set_pages_array_wc' make[5]: *** [/usr/src/packages/BUILD/drm-testing-20100508/drm-all/obj/default/drm/ttm/ttm_page_alloc.o] Error 1 make[4]: *** [/usr/src/packages/BUILD/drm-testing-20100508/drm-all/obj/default/drm/ttm] Error 2 make[3]: *** [/usr/src/packages/BUILD/drm-testing-20100508/drm-all/obj/default/drm] Error 2 make[2]: *** [_module_/usr/src/packages/BUILD/drm-testing-20100508/drm-all/obj/default] Error 2 make[1]: *** [sub-make] Error 2 make: *** [all] Error 2 make: Leaving directory `/usr/src/linux-2.6.34-rc6-29-obj/i386/default' error: Bad exit status from /var/tmp/rpm-tmp.9hZXBd (%build) ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
Cannot compile latest drm-radeon-testing against 2.6.34-rc6
Hi, I cannot compile latest drm-radeon-testing against 2.6.34-rc6 on openSUSE. Johannes (Please CC me.) CC [M] /usr/src/packages/BUILD/drm-testing-20100508/drm-all/obj/default/drm/radeon/radeon_pm.o /usr/src/packages/BUILD/drm-testing-20100508/drm-all/obj/default/drm/radeon/radeon_pm.c: In function 'radeon_pm_init': /usr/src/packages/BUILD/drm-testing-20100508/drm-all/obj/default/drm/radeon/radeon_pm.c:430: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result /usr/src/packages/BUILD/drm-testing-20100508/drm-all/obj/default/drm/radeon/radeon_pm.c:431: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result CC [M] /usr/src/packages/BUILD/drm-testing-20100508/drm-all/obj/default/drm/radeon/atombios_dp.o CC [M] /usr/src/packages/BUILD/drm-testing-20100508/drm-all/obj/default/drm/ttm/ttm_page_alloc.o /usr/src/packages/BUILD/drm-testing-20100508/drm-all/obj/default/drm/ttm/ttm_page_alloc.c: In function 'ttm_set_pages_caching': /usr/src/packages/BUILD/drm-testing-20100508/drm-all/obj/default/drm/ttm/ttm_page_alloc.c:440: error: implicit declaration of function 'set_pages_array_wc' make[5]: *** [/usr/src/packages/BUILD/drm-testing-20100508/drm-all/obj/default/drm/ttm/ttm_page_alloc.o] Error 1 make[4]: *** [/usr/src/packages/BUILD/drm-testing-20100508/drm-all/obj/default/drm/ttm] Error 2 make[3]: *** [/usr/src/packages/BUILD/drm-testing-20100508/drm-all/obj/default/drm] Error 2 make[2]: *** [_module_/usr/src/packages/BUILD/drm-testing-20100508/drm-all/obj/default] Error 2 make[1]: *** [sub-make] Error 2 make: *** [all] Error 2 make: Leaving directory `/usr/src/linux-2.6.34-rc6-29-obj/i386/default' error: Bad exit status from /var/tmp/rpm-tmp.9hZXBd (%build)
drm-openchrome status (or will it be in Kernel 3.10?)
Hi James, Linus recently released Kernel 3.9, merge window for Kernel 3.10 has been opened, and the question is whether drm-openchrome will be part of the new Kernel version. Regards, Johannes
drm-openchrome status (or will it be in Kernel 3.10?)
Am Dienstag, 30. April 2013, 06:06:22 schrieb Dave Airlie: > On Tue, Apr 30, 2013 at 2:17 AM, Johannes Obermayr > wrote: > > Hi James, > > > > Linus recently released Kernel 3.9, merge window for Kernel 3.10 has been > > opened, and the question is whether drm-openchrome will be part of the new > > Kernel version. > > Johannes, > > you misunderstand merge window. The merge window is for stuff to go > from toplevel maintainers to Linus, not for new stuff to appear and be > merged. Dave, I know you maintain also a merge window for drm stuff which starts at ~ rc6. But I am unsure when it closes: When Linus opens his merge window or when you forward your main drm pull request to Linus. First case means it is definitely too late for drm-openchrome in 3.10. Second case means there can be hope (depending on James' answer) ... But regarding your answer I assume first case is right. Johannes
libdrm: Fix some warnings reported by clang's scan-build tool
Patches 1 to 4 were sent to mesa-dev.
[PATCH 2/5] libkms/nouveau.c: Fix a memory leak and cleanup code a bit.
--- libkms/nouveau.c | 20 +++- 1 files changed, 11 insertions(+), 9 deletions(-) diff --git a/libkms/nouveau.c b/libkms/nouveau.c index 0e24a15..4cbca96 100644 --- a/libkms/nouveau.c +++ b/libkms/nouveau.c @@ -94,14 +94,18 @@ nouveau_bo_create(struct kms_driver *kms, if (!bo) return -ENOMEM; - if (type == KMS_BO_TYPE_CURSOR_64X64_A8R8G8B8) { + switch (type) { + case KMS_BO_TYPE_CURSOR_64X64_A8R8G8B8: pitch = 64 * 4; size = 64 * 64 * 4; - } else if (type == KMS_BO_TYPE_SCANOUT_X8R8G8B8) { + break; + case KMS_BO_TYPE_SCANOUT_X8R8G8B8: pitch = width * 4; pitch = (pitch + 512 - 1) & ~(512 - 1); size = pitch * height; - } else { + break; + default: + free(bo); return -EINVAL; } @@ -114,8 +118,10 @@ nouveau_bo_create(struct kms_driver *kms, arg.channel_hint = 0; ret = drmCommandWriteRead(kms->fd, DRM_NOUVEAU_GEM_NEW, &arg, sizeof(arg)); - if (ret) - goto err_free; + if (ret) { + free(bo); + return ret; + } bo->base.kms = kms; bo->base.handle = arg.info.handle; @@ -126,10 +132,6 @@ nouveau_bo_create(struct kms_driver *kms, *out = &bo->base; return 0; - -err_free: - free(bo); - return ret; } static int -- 1.7.7
[PATCH 1/5] libkms/intel.c: Fix a memory leak and a dead assignment as well as cleanup code a bit.
--- libkms/intel.c | 25 ++--- 1 files changed, 14 insertions(+), 11 deletions(-) diff --git a/libkms/intel.c b/libkms/intel.c index 8b8249b..b8ac343 100644 --- a/libkms/intel.c +++ b/libkms/intel.c @@ -93,14 +93,18 @@ intel_bo_create(struct kms_driver *kms, if (!bo) return -ENOMEM; - if (type == KMS_BO_TYPE_CURSOR_64X64_A8R8G8B8) { + switch (type) { + case KMS_BO_TYPE_CURSOR_64X64_A8R8G8B8: pitch = 64 * 4; size = 64 * 64 * 4; - } else if (type == KMS_BO_TYPE_SCANOUT_X8R8G8B8) { + break; + case KMS_BO_TYPE_SCANOUT_X8R8G8B8: pitch = width * 4; pitch = (pitch + 512 - 1) & ~(512 - 1); size = pitch * ((height + 4 - 1) & ~(4 - 1)); - } else { + break; + default: + free(bo); return -EINVAL; } @@ -108,8 +112,10 @@ intel_bo_create(struct kms_driver *kms, arg.size = size; ret = drmCommandWriteRead(kms->fd, DRM_I915_GEM_CREATE, &arg, sizeof(arg)); - if (ret) - goto err_free; + if (ret) { + free(bo); + return ret; + } bo->base.kms = kms; bo->base.handle = arg.handle; @@ -124,21 +130,18 @@ intel_bo_create(struct kms_driver *kms, tile.handle = bo->base.handle; tile.tiling_mode = I915_TILING_X; tile.stride = bo->base.pitch; - - ret = drmCommandWriteRead(kms->fd, DRM_I915_GEM_SET_TILING, &tile, sizeof(tile)); #if 0 + ret = drmCommandWriteRead(kms->fd, DRM_I915_GEM_SET_TILING, &tile, sizeof(tile)); if (ret) { kms_bo_destroy(out); return ret; } +#else + drmCommandWriteRead(kms->fd, DRM_I915_GEM_SET_TILING, &tile, sizeof(tile)); #endif } return 0; - -err_free: - free(bo); - return ret; } static int -- 1.7.7
[PATCH 3/5] nouveau/nouveau.c: Fix two memory leaks.
--- nouveau/nouveau.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/nouveau/nouveau.c b/nouveau/nouveau.c index 5aa4107..e91287f 100644 --- a/nouveau/nouveau.c +++ b/nouveau/nouveau.c @@ -95,6 +95,7 @@ nouveau_device_wrap(int fd, int close, struct nouveau_device **pdev) (dev->drm_version < 0x0100 || dev->drm_version >= 0x0200)) { nouveau_device_del(&dev); + free(nvdev); return -EINVAL; } @@ -105,6 +106,7 @@ nouveau_device_wrap(int fd, int close, struct nouveau_device **pdev) ret = nouveau_getparam(dev, NOUVEAU_GETPARAM_AGP_SIZE, &gart); if (ret) { nouveau_device_del(&dev); + free(nvdev); return ret; } -- 1.7.7
[PATCH 4/5] xf86drm.c: Make more code UDEV unrelevant and fix a memory leak.
--- xf86drm.c | 12 +--- 1 files changed, 9 insertions(+), 3 deletions(-) diff --git a/xf86drm.c b/xf86drm.c index 6ea068f..e3789c8 100644 --- a/xf86drm.c +++ b/xf86drm.c @@ -255,6 +255,7 @@ static int drmMatchBusID(const char *id1, const char *id2, int pci_domain_ok) return 0; } +#if !defined(UDEV) /** * Handles error checking for chown call. * @@ -284,6 +285,7 @@ static int chown_check_return(const char *path, uid_t owner, gid_t group) path, errno, strerror(errno)); return -1; } +#endif /** * Open the DRM device, creating it if necessary. @@ -303,14 +305,17 @@ static int drmOpenDevice(long dev, int minor, int type) stat_t st; charbuf[64]; int fd; +#if !defined(UDEV) mode_t devmode = DRM_DEV_MODE, serv_mode; int isroot = !geteuid(); uid_t user= DRM_DEV_UID; gid_t group = DRM_DEV_GID, serv_group; - +#endif + sprintf(buf, type ? DRM_DEV_NAME : DRM_CONTROL_DEV_NAME, DRM_DIR_NAME, minor); drmMsg("drmOpenDevice: node name is %s\n", buf); +#if !defined(UDEV) if (drm_server_info) { drm_server_info->get_perms(&serv_group, &serv_mode); devmode = serv_mode ? serv_mode : DRM_DEV_MODE; @@ -318,7 +323,6 @@ static int drmOpenDevice(long dev, int minor, int type) group = (serv_group >= 0) ? serv_group : DRM_DEV_GID; } -#if !defined(UDEV) if (stat(DRM_DIR_NAME, &st)) { if (!isroot) return DRM_ERR_NOT_ROOT; @@ -1395,8 +1399,10 @@ drm_context_t *drmGetReservedContextList(int fd, int *count) } res.contexts = list; -if (drmIoctl(fd, DRM_IOCTL_RES_CTX, &res)) +if (drmIoctl(fd, DRM_IOCTL_RES_CTX, &res)) { + drmFree(retval); return NULL; +} for (i = 0; i < res.count; i++) retval[i] = list[i].handle; -- 1.7.7
[PATCH 5/5] modetest.c: Add return 0 in bit_name_fn(res) macro.
--- tests/modetest/modetest.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/tests/modetest/modetest.c b/tests/modetest/modetest.c index ec3121e..00129fa 100644 --- a/tests/modetest/modetest.c +++ b/tests/modetest/modetest.c @@ -128,6 +128,7 @@ char * res##_str(int type) { \ sep = ", "; \ } \ } \ + return 0; \ } static const char *mode_type_names[] = { -- 1.7.7
libdrm: Fix some warnings reported by clang's scan-build tool [try 2]
Am Freitag, 13. Juli 2012, 18:47:50 schrieb Marcin Slusarz: > On Fri, Jul 13, 2012 at 05:49:12PM +0200, Johannes Obermayr wrote: > > > > Patches 1 to 4 were sent to mesa-dev. > > And you chose to ignore most of my comments. > Fine. Don't expect further reviews from me. > > Marcin Patch 1 and 2: - Adapted - I want to keep proposed easier to read "switch" case Patch 3: - Resend - Waiting on your response: http://lists.freedesktop.org/archives/mesa-dev/2012-June/023456.html Patch 4 and 5: - Splitted - http://llvm.org/bugs/show_bug.cgi?id=13358 (forgot to split and to add 'drmFree(list);') - The 'more if's case' seems better to me Patch 6: - Resend Marcin, not that I ignore comments. But sometimes I want to hear also opinions from (some more) other people. I hope I can calm the waves ... Johannes
[PATCH 1/6] libkms/intel.c: Fix a memory leak and a dead assignment as well as make some code easier to read.
--- libkms/intel.c | 32 +--- 1 files changed, 17 insertions(+), 15 deletions(-) diff --git a/libkms/intel.c b/libkms/intel.c index 8b8249b..12175b0 100644 --- a/libkms/intel.c +++ b/libkms/intel.c @@ -89,27 +89,32 @@ intel_bo_create(struct kms_driver *kms, } } - bo = calloc(1, sizeof(*bo)); - if (!bo) - return -ENOMEM; - - if (type == KMS_BO_TYPE_CURSOR_64X64_A8R8G8B8) { + switch (type) { + case KMS_BO_TYPE_CURSOR_64X64_A8R8G8B8: pitch = 64 * 4; size = 64 * 64 * 4; - } else if (type == KMS_BO_TYPE_SCANOUT_X8R8G8B8) { + break; + case KMS_BO_TYPE_SCANOUT_X8R8G8B8: pitch = width * 4; pitch = (pitch + 512 - 1) & ~(512 - 1); size = pitch * ((height + 4 - 1) & ~(4 - 1)); - } else { + break; + default: return -EINVAL; } + bo = calloc(1, sizeof(*bo)); + if (!bo) + return -ENOMEM; + memset(&arg, 0, sizeof(arg)); arg.size = size; ret = drmCommandWriteRead(kms->fd, DRM_I915_GEM_CREATE, &arg, sizeof(arg)); - if (ret) - goto err_free; + if (ret) { + free(bo); + return ret; + } bo->base.kms = kms; bo->base.handle = arg.handle; @@ -124,21 +129,18 @@ intel_bo_create(struct kms_driver *kms, tile.handle = bo->base.handle; tile.tiling_mode = I915_TILING_X; tile.stride = bo->base.pitch; - - ret = drmCommandWriteRead(kms->fd, DRM_I915_GEM_SET_TILING, &tile, sizeof(tile)); #if 0 + ret = drmCommandWriteRead(kms->fd, DRM_I915_GEM_SET_TILING, &tile, sizeof(tile)); if (ret) { kms_bo_destroy(out); return ret; } +#else + drmCommandWriteRead(kms->fd, DRM_I915_GEM_SET_TILING, &tile, sizeof(tile)); #endif } return 0; - -err_free: - free(bo); - return ret; } static int -- 1.7.7
[PATCH 2/6] libkms/nouveau.c: Fix a memory leak and make some code easier to read.
--- libkms/nouveau.c | 27 ++- 1 files changed, 14 insertions(+), 13 deletions(-) diff --git a/libkms/nouveau.c b/libkms/nouveau.c index 0e24a15..fbca6fe 100644 --- a/libkms/nouveau.c +++ b/libkms/nouveau.c @@ -90,21 +90,24 @@ nouveau_bo_create(struct kms_driver *kms, } } - bo = calloc(1, sizeof(*bo)); - if (!bo) - return -ENOMEM; - - if (type == KMS_BO_TYPE_CURSOR_64X64_A8R8G8B8) { + switch (type) { + case KMS_BO_TYPE_CURSOR_64X64_A8R8G8B8: pitch = 64 * 4; size = 64 * 64 * 4; - } else if (type == KMS_BO_TYPE_SCANOUT_X8R8G8B8) { + break; + case KMS_BO_TYPE_SCANOUT_X8R8G8B8: pitch = width * 4; pitch = (pitch + 512 - 1) & ~(512 - 1); size = pitch * height; - } else { + break; + default: return -EINVAL; } + bo = calloc(1, sizeof(*bo)); + if (!bo) + return -ENOMEM; + memset(&arg, 0, sizeof(arg)); arg.info.size = size; arg.info.domain = NOUVEAU_GEM_DOMAIN_MAPPABLE | NOUVEAU_GEM_DOMAIN_VRAM; @@ -114,8 +117,10 @@ nouveau_bo_create(struct kms_driver *kms, arg.channel_hint = 0; ret = drmCommandWriteRead(kms->fd, DRM_NOUVEAU_GEM_NEW, &arg, sizeof(arg)); - if (ret) - goto err_free; + if (ret) { + free(bo); + return ret; + } bo->base.kms = kms; bo->base.handle = arg.info.handle; @@ -126,10 +131,6 @@ nouveau_bo_create(struct kms_driver *kms, *out = &bo->base; return 0; - -err_free: - free(bo); - return ret; } static int -- 1.7.7
[PATCH 3/6] nouveau/nouveau.c: Fix two memory leaks.
--- nouveau/nouveau.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/nouveau/nouveau.c b/nouveau/nouveau.c index 5aa4107..e91287f 100644 --- a/nouveau/nouveau.c +++ b/nouveau/nouveau.c @@ -95,6 +95,7 @@ nouveau_device_wrap(int fd, int close, struct nouveau_device **pdev) (dev->drm_version < 0x0100 || dev->drm_version >= 0x0200)) { nouveau_device_del(&dev); + free(nvdev); return -EINVAL; } @@ -105,6 +106,7 @@ nouveau_device_wrap(int fd, int close, struct nouveau_device **pdev) ret = nouveau_getparam(dev, NOUVEAU_GETPARAM_AGP_SIZE, &gart); if (ret) { nouveau_device_del(&dev); + free(nvdev); return ret; } -- 1.7.7
[PATCH 4/6] xf86drm.c: Make more code UDEV unrelevant.
--- xf86drm.c |8 ++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/xf86drm.c b/xf86drm.c index 6ea068f..e652731 100644 --- a/xf86drm.c +++ b/xf86drm.c @@ -255,6 +255,7 @@ static int drmMatchBusID(const char *id1, const char *id2, int pci_domain_ok) return 0; } +#if !defined(UDEV) /** * Handles error checking for chown call. * @@ -284,6 +285,7 @@ static int chown_check_return(const char *path, uid_t owner, gid_t group) path, errno, strerror(errno)); return -1; } +#endif /** * Open the DRM device, creating it if necessary. @@ -303,14 +305,17 @@ static int drmOpenDevice(long dev, int minor, int type) stat_t st; charbuf[64]; int fd; +#if !defined(UDEV) mode_t devmode = DRM_DEV_MODE, serv_mode; int isroot = !geteuid(); uid_t user= DRM_DEV_UID; gid_t group = DRM_DEV_GID, serv_group; - +#endif + sprintf(buf, type ? DRM_DEV_NAME : DRM_CONTROL_DEV_NAME, DRM_DIR_NAME, minor); drmMsg("drmOpenDevice: node name is %s\n", buf); +#if !defined(UDEV) if (drm_server_info) { drm_server_info->get_perms(&serv_group, &serv_mode); devmode = serv_mode ? serv_mode : DRM_DEV_MODE; @@ -318,7 +323,6 @@ static int drmOpenDevice(long dev, int minor, int type) group = (serv_group >= 0) ? serv_group : DRM_DEV_GID; } -#if !defined(UDEV) if (stat(DRM_DIR_NAME, &st)) { if (!isroot) return DRM_ERR_NOT_ROOT; -- 1.7.7
[PATCH 5/6] xf86drm.c: Fix two memory leaks.
--- xf86drm.c |5 - 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/xf86drm.c b/xf86drm.c index e652731..c1cc170 100644 --- a/xf86drm.c +++ b/xf86drm.c @@ -1399,8 +1399,11 @@ drm_context_t *drmGetReservedContextList(int fd, int *count) } res.contexts = list; -if (drmIoctl(fd, DRM_IOCTL_RES_CTX, &res)) +if (drmIoctl(fd, DRM_IOCTL_RES_CTX, &res)) { + drmFree(list); + drmFree(retval); return NULL; +} for (i = 0; i < res.count; i++) retval[i] = list[i].handle; -- 1.7.7
[PATCH 6/6] modetest.c: Add return 0 in bit_name_fn(res) macro.
--- tests/modetest/modetest.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/tests/modetest/modetest.c b/tests/modetest/modetest.c index ec3121e..00129fa 100644 --- a/tests/modetest/modetest.c +++ b/tests/modetest/modetest.c @@ -128,6 +128,7 @@ char * res##_str(int type) { \ sep = ", "; \ } \ } \ + return 0; \ } static const char *mode_type_names[] = { -- 1.7.7
drm-next status (or: drm-openchrome will not be in 3.11)
Am Freitag, 28. Juni 2013, 13:31:50 schrieb Dave Airlie: > Okay drm-next is pretty big, possibly the biggest ever. > > Outstanding things I know about, and will merge, if they arrive soon: > exynos -next > nouveau -next > > Big things I've merged: > new rcar driver > intel next > radeon next > tegra next > shmob next > core/mutexes > ttm -> reservation conversion > tilcdc patches acked by Rob > mtrr reworking > prime + gem patches from samsung > Laurent's documentation updates > various mgag200 patches > > Otherwise I'm sure I've missed some changes, please let me know of > anything you think has fallen down the cracks asap. > > Slow down people :-P > > Dave. IRC #dri-devel: airlied: drm-openchrome will not be part of Kernel 3.11 because jsimmons has not responded? jobermayr: seems likely, I don't merge just because someone posts patchrs Tasks to do: http://lists.freedesktop.org/archives/dri-devel/2013-June/039695.html http://lists.freedesktop.org/archives/dri-devel/2013-June/039796.html