Re: [ANNOUNCE] xorg-server 1.14.4.901
op 22-11-13 06:19, Matt Dew schreef: Hi all, Lots of goodies in this 1.14.5-rc1. Are you going to release this as 1.14.5 soon? ~Maarten ___ xorg@lists.x.org: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: http://lists.x.org/mailman/listinfo/xorg Your subscription address: %(user_address)s
Re: [ANNOUNCE] xorg-server 1.14.4.901
On 12/09/2013 04:17 AM, Maarten Lankhorst wrote: op 22-11-13 06:19, Matt Dew schreef: Hi all, Lots of goodies in this 1.14.5-rc1. Are you going to release this as 1.14.5 soon? ~Maarten Hi Maarten, The Xorg calendar shows this Thursday, 12/12, as the nominal release date. I haven't gotten any more pull requests, cherry-pick requests or new bug reports for -rc1, so I didn't release an -rc2. Cheers, Matt -- Matt Dew mar...@osource.org Key signature: 0xF7C3 BEC3 Fingerprint: FDB1 9D94 C573 DC29 BCCB 2F9F A6BF 3771 F7C3 BEC3 signature.asc Description: OpenPGP digital signature ___ xorg@lists.x.org: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: http://lists.x.org/mailman/listinfo/xorg Your subscription address: %(user_address)s
Re: [PATCH 1/1] randr: make RROutputChanged change the main protocol screen not the gpu screen
On 09/12/13 03:53, Dave Airlie wrote: On Sun, Dec 8, 2013 at 9:08 PM, Alberto Milone alberto.mil...@canonical.com wrote: We only set changes on the main protocol screen as, for example in RRSetChanged() and RRTellChanged(), therefore we should follow the same logic when reporting that an output changed in RROutputChanged(). This means that RRTellChanged() will then update the relevant timestamps also when events come from gpu screens. This seems sane, is RROutput the only one to suffer this though? Do we need to do this for other ones? Dave. I've had another look at the code, specifically the one responsible for sending the events that the protocol exposes. In TellChanged() we look for crtc events, output events, and provider events from gpu screens, and the relevant RRDeliverCrtcEvent, etc. all use pWin-drawable.pScreen, so this looks correct. When we call RRDeliverPropertyEvent, I think we always use the main protocol screen, as per RRChangeOutputProperty, ProcRRGetOutputProperty, and RRDeleteProperty. The one thing I'm not sure about is RRResourcesChanged which is called by RRCrtcCreate RRCrtcDestroyResource, RROutputCreate, RROutputDestroyResource, xf86platformAddDevice, xf86platformRemoveDevice. This should be fine though, the protocol doesn't mention any RRResourceChangeNotify events, and I wouldn't expect any clients to use it. To sum it up, I think things are looking good now, unless there's something obvious that I'm missing. Cheers, -- Alberto Milone Software Engineer Hardware Enablement Team Professional and Engineering Services ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
[PATCH][font/util] fontutil.m4.in: use $PKG_CONFIG instead of pkg-config
Instead of assuming that pkg-config is on the path, require PKG_PROG_PKG_CONFIG to be called and use $PKG_CONFIG. Signed-off-by: Ross Burton ross.bur...@intel.com --- fontutil.m4.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fontutil.m4.in b/fontutil.m4.in index 98f4781..ff2f053 100644 --- a/fontutil.m4.in +++ b/fontutil.m4.in @@ -282,10 +282,11 @@ AC_DEFUN([XORG_FONT_CHECK_COMPRESSION],[ # by ucs2any, and export it as MAPFILES_PATH to the Makefiles AC_DEFUN([XORG_FONT_UCS2ANY],[ + AC_REQUIRE([PKG_PROG_PKG_CONFIG]) XORG_FONT_REQUIRED_PROG(UCS2ANY, ucs2any) PKG_CHECK_MODULES(MAPS, [fontutil]) AC_MSG_CHECKING([for ucs2any encoding data files]) - MAPFILES_PATH=`pkg-config --variable=mapdir fontutil` + MAPFILES_PATH=`$PKG_CONFIG --variable=mapdir fontutil` AC_SUBST(MAPFILES_PATH) AC_MSG_RESULT([${MAPFILES_PATH}]) ]) -- 1.8.5 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH 1/5] misc: add xrtrim() - right-trim a string
On 9 December 2013 02:01, Peter Hutterer peter.hutte...@who-t.net wrote: On Sat, Dec 07, 2013 at 04:48:46PM +0100, Daniel Martin wrote: Signed-off-by: Daniel Martin consume.no...@gmail.com --- include/misc.h | 1 + os/utils.c | 16 2 files changed, 17 insertions(+) diff --git a/include/misc.h b/include/misc.h index 17de710..aab556a 100644 --- a/include/misc.h +++ b/include/misc.h @@ -246,6 +246,7 @@ padding_for_int32(const int bytes) } +extern int xrtrim(char *str, int str_len); extern char **xstrtokenize(const char *str, const char *separators); extern void FormatInt64(int64_t num, char *string); extern void FormatUInt64(uint64_t num, char *string); diff --git a/os/utils.c b/os/utils.c index fb20da7..56a1a6d 100644 --- a/os/utils.c +++ b/os/utils.c @@ -1943,6 +1943,22 @@ CheckUserAuthorization(void) } /* + * Right-trim a string. Returns the string length after trimming. + */ +int +xrtrim(char *str, int str_len) can we divide this into two functions, one with a length argument and one without? cheap enough to do it now even if your patchset doesn't need it atm. Should I add a 'str' prefix as in xsrtokenize()? Though, this would look a bit weird: xstrrtrim() and xstrntrim() +{ +int i = str_len; + +while (i 0 !isgraph(str[i - 1])) +i--; + +str[i] = '\0'; + +return i; +} + +/* * Tokenize a string into a NULL terminated array of strings. Always returns * an allocated array unless an error occurs. */ -- 1.8.4.2 fwiw, this is exactly that type of function that the tests in xserver/test/ are useful for (possibly the only thing...) so I'd prefer to see a few tests just to make sure we don't screw this up in the future. Cheers, Peter ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH 10/13] composite: Fix COW creation for Xinerama (v2)
Adam Jackson a...@redhat.com writes: Say you have two 800x600 screens left/right of each other. A window that's 200x200 at +700+0 in protocol coordinate space will appear to be at -100+0 in the coordinate space of the right hand screen. Put another way: windows are in the coordinate space of their root window pixmap. We weren't doing this translation for the COW, so when rendering came in to it you'd see the top-left chunk of the COW on all screens. Cool effect and all, but wrong. v2: Only translate when Xinerama is active [keithp] Reviewed-by: Keith Packard kei...@keithp.com -- keith.pack...@intel.com pgp3KcU0Jw_qV.pgp Description: PGP signature ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
[PULL] FIx series for 1.15
Previous series included, plus IRC r-b's from Keith, plus a paranoia fix for CreateNewResourceType failing in the Xinerama Damage case. The following changes since commit ac772cb187ddf7e04b8f4b3a071b90f18f4488d0: glx: Fix incorrect use of dri_interface.h version defines in driver probing. (2013-12-05 10:51:01 -0800) are available in the git repository at: ssh://people.freedesktop.org/~ajax/xserver.git xserver-next for you to fetch changes up to 576f3d36dd324bd0d16c9968f1ded5c5eead3569: damageext: Die if we can't create the Xinerama resource type (2013-12-09 13:20:37 -0500) Adam Jackson (14): present: Disable when Xinerama is active dri2: Disable when Xinerama is active dri3: Disable when Xinerama is active smartsched: Tweak the default scheduler intervals bs: Set the screen's bs support level to WhenMapped composite: Automatically enable backing store support on the screen composite: Don't double-redirect if someone asks for backing store twice xfree86: Prefer fbdev to vesa xinerama: Export the screen region composite: Fix COW creation for Xinerama (v2) fixes: Fix PanoramiXSetPictureClipRegion for root windows (v2) fixes: Fix PanoramiXSetWindowShapeRegion for root windows (v2) damageext: Xineramify (v7) damageext: Die if we can't create the Xinerama resource type Xext/panoramiX.c | 5 +- Xext/panoramiXsrv.h| 1 + composite/compinit.c | 7 +- composite/compoverlay.c| 5 +- damageext/damageext.c | 389 - damageext/damageextint.h | 3 + dix/dispatch.c | 5 +- dix/window.c | 6 +- dri3/dri3.c| 5 + hw/xfree86/common/xf86AutoConfig.c | 17 +- hw/xfree86/common/xf86Config.c | 2 +- hw/xfree86/common/xf86Helper.c | 7 +- hw/xfree86/dri2/dri2ext.c | 5 + present/present_screen.c | 5 + xfixes/region.c| 26 +++ 15 files changed, 419 insertions(+), 69 deletions(-) - ajax ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH][font/util] fontutil.m4.in: use $PKG_CONFIG instead of pkg-config
On 13-12-09 06:01 AM, Ross Burton wrote: Instead of assuming that pkg-config is on the path, require PKG_PROG_PKG_CONFIG to be called and use $PKG_CONFIG. Signed-off-by: Ross Burton ross.bur...@intel.com --- fontutil.m4.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fontutil.m4.in b/fontutil.m4.in index 98f4781..ff2f053 100644 --- a/fontutil.m4.in +++ b/fontutil.m4.in @@ -282,10 +282,11 @@ AC_DEFUN([XORG_FONT_CHECK_COMPRESSION],[ # by ucs2any, and export it as MAPFILES_PATH to the Makefiles AC_DEFUN([XORG_FONT_UCS2ANY],[ + AC_REQUIRE([PKG_PROG_PKG_CONFIG]) XORG_FONT_REQUIRED_PROG(UCS2ANY, ucs2any) PKG_CHECK_MODULES(MAPS, [fontutil]) AC_MSG_CHECKING([for ucs2any encoding data files]) - MAPFILES_PATH=`pkg-config --variable=mapdir fontutil` + MAPFILES_PATH=`$PKG_CONFIG --variable=mapdir fontutil` AC_SUBST(MAPFILES_PATH) AC_MSG_RESULT([${MAPFILES_PATH}]) ]) Reviewed-by: Gaetan Nadon mems...@videotron.ca ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH 1/5] misc: add xrtrim() - right-trim a string
On Mon, Dec 09, 2013 at 01:13:38PM +0100, Daniel Martin wrote: On 9 December 2013 02:01, Peter Hutterer peter.hutte...@who-t.net wrote: On Sat, Dec 07, 2013 at 04:48:46PM +0100, Daniel Martin wrote: Signed-off-by: Daniel Martin consume.no...@gmail.com --- include/misc.h | 1 + os/utils.c | 16 2 files changed, 17 insertions(+) diff --git a/include/misc.h b/include/misc.h index 17de710..aab556a 100644 --- a/include/misc.h +++ b/include/misc.h @@ -246,6 +246,7 @@ padding_for_int32(const int bytes) } +extern int xrtrim(char *str, int str_len); extern char **xstrtokenize(const char *str, const char *separators); extern void FormatInt64(int64_t num, char *string); extern void FormatUInt64(uint64_t num, char *string); diff --git a/os/utils.c b/os/utils.c index fb20da7..56a1a6d 100644 --- a/os/utils.c +++ b/os/utils.c @@ -1943,6 +1943,22 @@ CheckUserAuthorization(void) } /* + * Right-trim a string. Returns the string length after trimming. + */ +int +xrtrim(char *str, int str_len) can we divide this into two functions, one with a length argument and one without? cheap enough to do it now even if your patchset doesn't need it atm. Should I add a 'str' prefix as in xsrtokenize()? Though, this would look a bit weird: xstrrtrim() and xstrntrim() yeah, actually that'd make it more obvious. might as well have a prefix for all str functions. Cheers, Peter +{ +int i = str_len; + +while (i 0 !isgraph(str[i - 1])) +i--; + +str[i] = '\0'; + +return i; +} + +/* * Tokenize a string into a NULL terminated array of strings. Always returns * an allocated array unless an error occurs. */ -- 1.8.4.2 fwiw, this is exactly that type of function that the tests in xserver/test/ are useful for (possibly the only thing...) so I'd prefer to see a few tests just to make sure we don't screw this up in the future. Cheers, Peter ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH 0/5] hw/xwin fixes and more (v2)
On Sun, 2013-12-08 at 16:57 +, Jon TURNEY wrote: [3/5] depends on ajax's Attempt to fix GLX for OSX series [4/5] is unneeded if those tokens are added to gltokens.h in glproto instead [5/5] is another, perhaps better, attempt at updating XWin for the conversion to GL direct dispatch 3 modifies generated code, but I'm fine with that for now, I'll figure out how to get Mesa to generate the right thing up front. Series is: Reviewed-by: Adam Jackson a...@redhat.com - ajax ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
[PATCH libxshmfence] Prefer mkostemp(3) over open(2) or mkstemp(3).
Signed-off-by: Jung-uk Kim j...@freebsd.org --- configure.ac | 2 ++ src/xshmfence_alloc.c | 8 ++-- src/xshmfenceint.h| 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 64fb0cc..9f37ed6 100644 --- a/configure.ac +++ b/configure.ac @@ -84,6 +84,8 @@ AC_SUBST([PTHREAD_LIBS]) AM_CONDITIONAL([FUTEX], [test x$FUTEX = xyes]) AM_CONDITIONAL([PTHREAD], [test x$PTHREAD = xyes]) +AC_CHECK_FUNC([mkostemp], AC_DEFINE(HAVE_MKOSTEMP, 1, [Use mkostemp(3)])) + PKG_CHECK_MODULES(XPROTO, xproto) AC_SUBST([XPROTO_CFLAGS]) diff --git a/src/xshmfence_alloc.c b/src/xshmfence_alloc.c index 58416cd..8c40f39 100644 --- a/src/xshmfence_alloc.c +++ b/src/xshmfence_alloc.c @@ -41,11 +41,15 @@ xshmfence_alloc_shm(void) chartemplate[] = SHMDIR /shmfd-XX; int fd; -#ifdef O_TMPFILE +#if defined(O_CLOEXEC) +#if defined(HAVE_MKOSTEMP) + fd = mkostemp(template, O_CLOEXEC); +#elif defined(O_TMPFILE) fd = open(SHMDIR, O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666); - if (fd 0) #endif + if (fd 0) { +#endif fd = mkstemp(template); if (fd 0) return fd; diff --git a/src/xshmfenceint.h b/src/xshmfenceint.h index 178cbdd..ac3904a 100644 --- a/src/xshmfenceint.h +++ b/src/xshmfenceint.h @@ -23,6 +23,7 @@ #ifndef _XSHMFENCEINT_H_ #define _XSHMFENCEINT_H_ +#include fcntl.h #include stdlib.h #include unistd.h #include sys/mman.h -- 1.8.4.3 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
[PATCH libxshmfence] Add support for FreeBSD using umtx (v2).
Signed-off-by: Jung-uk Kim j...@freebsd.org --- configure.ac | 11 ++- src/xshmfence_futex.h | 24 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 8a39f22..64fb0cc 100644 --- a/configure.ac +++ b/configure.ac @@ -54,7 +54,16 @@ AC_ARG_ENABLE(futex, AS_HELP_STRING([--enable-futex], [Enable futexes (default: [FUTEX=$enableval], [FUTEX=auto]) if test x$FUTEX = xauto; then - AC_CHECK_HEADER([linux/futex.h], [FUTEX=yes], [FUTEX=no]) + AC_CHECK_HEADER([linux/futex.h], [FUTEX=yes]) +fi + +if test x$FUTEX = xauto; then + AC_CHECK_HEADER([sys/umtx.h], [FUTEX=yes], [FUTEX=no], + [#include errno.h +#include sys/types.h]) + if test x$FUTEX = xyes; then + AC_DEFINE(HAVE_UMTX, 1, [Use umtx]) + fi fi if test x$FUTEX = xyes; then diff --git a/src/xshmfence_futex.h b/src/xshmfence_futex.h index ed60b6d..de1f532 100644 --- a/src/xshmfence_futex.h +++ b/src/xshmfence_futex.h @@ -1,5 +1,6 @@ /* * Copyright © 2013 Keith Packard + * Copyright © 2013 Jung-uk Kim j...@freebsd.org * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -24,6 +25,27 @@ #define _XSHMFENCE_FUTEX_H_ #include errno.h + +#ifdef HAVE_UMTX + +#include sys/types.h +#include sys/umtx.h + +static inline int sys_futex(void *addr, int op, int val) +{ + return _umtx_op(addr, op, val, NULL, NULL) == -1 ? errno : 0; +} + +static inline int futex_wake(int32_t *addr) { + return sys_futex(addr, UMTX_OP_WAKE, INT_MAX); +} + +static inline int futex_wait(int32_t *addr, int32_t value) { + return sys_futex(addr, UMTX_OP_WAIT_UINT, value); +} + +#else + #include stdint.h #include values.h #include linux/futex.h @@ -43,6 +65,8 @@ static inline int futex_wait(int32_t *addr, int32_t value) { return sys_futex(addr, FUTEX_WAIT, value, NULL, NULL, 0); } +#endif + #define barrier() __asm__ __volatile__(: : :memory) static inline void atomic_store(int32_t *f, int32_t v) -- 1.8.4.3 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
[PATCH libxshmfence] Add support for FreeBSD using umtx (v3).
This fixes a sign-extension bug in the previous versions. Signed-off-by: Jung-uk Kim j...@freebsd.org --- configure.ac | 11 ++- src/xshmfence_futex.h | 24 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 8a39f22..64fb0cc 100644 --- a/configure.ac +++ b/configure.ac @@ -54,7 +54,16 @@ AC_ARG_ENABLE(futex, AS_HELP_STRING([--enable-futex], [Enable futexes (default: [FUTEX=$enableval], [FUTEX=auto]) if test x$FUTEX = xauto; then - AC_CHECK_HEADER([linux/futex.h], [FUTEX=yes], [FUTEX=no]) + AC_CHECK_HEADER([linux/futex.h], [FUTEX=yes]) +fi + +if test x$FUTEX = xauto; then + AC_CHECK_HEADER([sys/umtx.h], [FUTEX=yes], [FUTEX=no], + [#include errno.h +#include sys/types.h]) + if test x$FUTEX = xyes; then + AC_DEFINE(HAVE_UMTX, 1, [Use umtx]) + fi fi if test x$FUTEX = xyes; then diff --git a/src/xshmfence_futex.h b/src/xshmfence_futex.h index ed60b6d..210e069 100644 --- a/src/xshmfence_futex.h +++ b/src/xshmfence_futex.h @@ -1,5 +1,6 @@ /* * Copyright © 2013 Keith Packard + * Copyright © 2013 Jung-uk Kim j...@freebsd.org * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -24,6 +25,27 @@ #define _XSHMFENCE_FUTEX_H_ #include errno.h + +#ifdef HAVE_UMTX + +#include sys/types.h +#include sys/umtx.h + +static inline int sys_futex(void *addr, int op, int32_t val) +{ + return _umtx_op(addr, op, (uint32_t)val, NULL, NULL) == -1 ? errno : 0; +} + +static inline int futex_wake(int32_t *addr) { + return sys_futex(addr, UMTX_OP_WAKE, INT_MAX); +} + +static inline int futex_wait(int32_t *addr, int32_t value) { + return sys_futex(addr, UMTX_OP_WAIT_UINT, value); +} + +#else + #include stdint.h #include values.h #include linux/futex.h @@ -43,6 +65,8 @@ static inline int futex_wait(int32_t *addr, int32_t value) { return sys_futex(addr, FUTEX_WAIT, value, NULL, NULL, 0); } +#endif + #define barrier() __asm__ __volatile__(: : :memory) static inline void atomic_store(int32_t *f, int32_t v) -- 1.8.4.3 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH 13/13] damageext: Xineramify (v7)
Adam Jackson a...@redhat.com writes: +void +PanoramiXDamageInit(void) +{ +XRT_DAMAGE = CreateNewResourceType(PanoramiXDamageDelete, XineramaDamage); Need to check for alloc failure here, although I'm not sure what to do in that case other than panic. And, yes, that's the only comment I have on this version -- it's looking great. -- keith.pack...@intel.com pgpGj6MktOOrm.pgp Description: PGP signature ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: [PULL] FIx series for 1.15
Adam Jackson a...@nwnk.net writes: Adam Jackson (14): present: Disable when Xinerama is active dri2: Disable when Xinerama is active dri3: Disable when Xinerama is active smartsched: Tweak the default scheduler intervals bs: Set the screen's bs support level to WhenMapped composite: Automatically enable backing store support on the screen composite: Don't double-redirect if someone asks for backing store twice xfree86: Prefer fbdev to vesa xinerama: Export the screen region composite: Fix COW creation for Xinerama (v2) fixes: Fix PanoramiXSetPictureClipRegion for root windows (v2) fixes: Fix PanoramiXSetWindowShapeRegion for root windows (v2) damageext: Xineramify (v7) damageext: Die if we can't create the Xinerama resource type Merged (IDs lost while my network was down, sorry). -- keith.pack...@intel.com pgpcdfum2Dz6D.pgp Description: PGP signature ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
[PATCH:xmessage] Stop leaking temporary buffer when realloc fails to enlarge it
Fixes cppcheck error: [readfile.c:108]: (error) Common realloc mistake: 'cp' nulled but not freed upon failure Signed-off-by: Alan Coopersmith alan.coopersm...@oracle.com --- readfile.c |2 ++ 1 file changed, 2 insertions(+) diff --git a/readfile.c b/readfile.c index 9729854..122020f 100644 --- a/readfile.c +++ b/readfile.c @@ -104,9 +104,11 @@ get_data_from_stdin (int *len_return) count += n; /* Here count = allocated. Prepare for next round. */ if (count + BUFSIZ allocated) { + char *oldp = cp; allocated = 2 * allocated; cp = realloc (cp, allocated + 1); if (!cp) { + free(oldp); fprintf(stderr, cannot get memory for message file\n); return NULL; } -- 1.7.9.2 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Variables type inconsistency in libX11 library
Hi everyone, I have a situation when my application crashes after several days of running. I've discovered that the bug is in libX11 library. I have a 32bit openSuse 12.2 system. https://bugs.freedesktop.org/show_bug.cgi?id=71338 http://lists.x.org/archives/xorg-devel/2013-November/039007.html After I've applied the patch from http://patchwork.freedesktop.org/patch/16297/ the application worked. The function src/xcb_io.c: void _XSend(Display *dpy, const char *data, long size) has some inconsistency which leads to crash, because of mixing of different variable types. I've discovered that the variable declarations are not as it must be, because depending of the installed system 32/64 bit the unsigned long type will be 32 or 64 bit. So unsigned long is not a good declaration for using a 64bit type (use uint64_t instead). Some places with variable declarations: - src/xcb_io.c: uint64_t requests (local in void _XSend(Display *dpy, const char *data, long size)) src/xcb_io.c: uint64_t sequence; (local in void _XSend(Display *dpy, const char *data, long size)) src/Xxcbint.h: uint64_t last_flushed; include/X11/Xlib.h: unsigned long request; src/Xxcbint.h : unsigned long sequence; - As a conclusion, you can harmonize variables type declarations that are overall the same. Cu stima / Best regards wenglor electronic SRL Alin Popa, Dipl.-Ing. Dezvoltare - Programator prelucrare imagini / Development - Image Processing alin.p...@wenglor.com Phone: +40 (0)269 2077-54 Fax: +40 (0)269 2077-88 www.wenglor.com wenglor electronic SRL Strada Caprioarelor Nr. 2 550089 Sibiu ROMANIA CUI: RO 25784779, RC: J32/619/2009 Capital social: 20.000 RON Manager General: Herbert Oprea, Ioana Duma ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH:xmessage] Stop leaking temporary buffer when realloc fails to enlarge it
On Mon, Dec 09, 2013 at 09:30:21PM -0800, Alan Coopersmith wrote: Fixes cppcheck error: [readfile.c:108]: (error) Common realloc mistake: 'cp' nulled but not freed upon failure Signed-off-by: Alan Coopersmith alan.coopersm...@oracle.com Reviewed-by: Peter Hutterer peter.hutte...@who-t.net Cheers, Peter --- readfile.c |2 ++ 1 file changed, 2 insertions(+) diff --git a/readfile.c b/readfile.c index 9729854..122020f 100644 --- a/readfile.c +++ b/readfile.c @@ -104,9 +104,11 @@ get_data_from_stdin (int *len_return) count += n; /* Here count = allocated. Prepare for next round. */ if (count + BUFSIZ allocated) { + char *oldp = cp; allocated = 2 * allocated; cp = realloc (cp, allocated + 1); if (!cp) { + free(oldp); fprintf(stderr, cannot get memory for message file\n); return NULL; } -- 1.7.9.2 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: DMA ring test failure on Radeon HD 8970M
On Wed, 2013-12-04 at 12:08 -0500, Alex Deucher wrote: On Wed, Dec 4, 2013 at 12:41 AM, Joe Julian j...@julianfamily.org wrote: On Tue, 2013-12-03 at 09:28 -0500, Alex Deucher wrote: On Tue, Dec 3, 2013 at 8:20 AM, Joe Julian j...@julianfamily.org wrote: Alex Deucher alexdeuc...@gmail.com wrote: On Fri, Nov 29, 2013 at 7:30 PM, Joe Julian j...@julianfamily.org wrote: This MSI laptop has two crossfire connected video processors in it, 00:01.0 has a HD 8650G that seems to initialize properly, and at 01:00.0 an HD 8970M that fails the ring 3 test, radeon: ring 3 test failed (0xDFCFFBFF). It looks like there's a problem with the rom for the dGPU: [ 61.008250] ACPI Error: Field [TEMP] at 524288 exceeds Buffer [TVGA] size 512000 (bits) (20130927/dsopcode-236) [ 61.008749] ACPI Error: Method parse/execution failed [\_SB_.PCI0.VGA_.ATRM] (Node 880233ad1e30), AE_AML_BUFFER_LIMIT (20130927/psparse-536) [ 61.009991] failed to evaluate ATRM got AE_AML_BUFFER_LIMIT [ 61.010204] ATOM BIOS: MSI [ 61.010270] [drm] GPU not posted. posting now... [ 61.018737] radeon :01:00.0: limiting VRAM [ 61.018765] radeon :01:00.0: VRAM: 1047552M 0x - 0x00FFBFFF (1047552M used) [ 61.018814] radeon :01:00.0: GTT: 1024M 0x00FFC000 - 0x00FF [ 61.018853] [drm] Detected VRAM RAM=1047552M, BAR=256M 1047552M of vram is obviously wrong. How much vram is supposed to be on the card? According to Windows, 2GB: NameAMD Radeon(TM) HD8970M PNP Device ID PCI\VEN_1002DEV_6801SUBSYS_10F11462REV_00\499EBB2800018 Adapter TypeAMD Radeon Graphics Processor (0x6801), Advanced Micro Devices, Inc. compatible Adapter DescriptionAMD Radeon(TM) HD8970M Adapter RAM(2,147,483,648) bytes Installed Drivers aticfx64.dll,aticfx64.dll,aticfx64.dll,aticfx32,aticfx32,aticfx32,atiumd64.dll,atidxx64.dll,atidxx64.dll,atiumdag,atidxx32,atidxx32,atiumdva,atiumd6a.cap,atitmm64.dll Driver Version13.200.11.0 INF Fileoem17.inf (ati2mtag_R576B section) Color PlanesNot Available Color Table Entries4294967296 Resolution1920 x 1080 x 60 hertz Bits/Pixel32 Memory Address0xD000-0xDFFF Memory Address0xFEAC-0xFEAF I/O Port0xEF00-0xEFFF IRQ ChannelIRQ 4294967283 Can you send me the output from this patch? diff --git a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c index 6a64cca..84a7e26 100644 --- a/drivers/gpu/drm/radeon/si.c +++ b/drivers/gpu/drm/radeon/si.c @@ -3884,6 +3884,7 @@ static int si_mc_init(struct radeon_device *rdev) /* size in MB on si */ rdev-mc.mc_vram_size = RREG32(CONFIG_MEMSIZE) * 1024ULL * 1024ULL; rdev-mc.real_vram_size = RREG32(CONFIG_MEMSIZE) * 1024ULL * 1024ULL; + DRM_INFO(CONFIG_MEMSIZE: 0x%08x\n, RREG32(CONFIG_MEMSIZE)); rdev-mc.visible_vram_size = rdev-mc.aper_size; si_vram_gtt_location(rdev, rdev-mc); radeon_update_bandwidth_info(rdev); CONFIG_MEMSIZE=0X03800800 Does this patch fix the issues? Alex Throwing in some writel and readl tests before even trying the dma test, I see that the memory isn't being changed with writel in the first place. tmp = 0xDEADBEEF; writel(tmp, ptr); tmp = readl(ptr); if (tmp != 0xDEADBEEF) DRM_ERROR(radeon: ring %d memory write failed (0x% 08X)\n, ring-idx, tmp); radeon: ring 3 memory write failed (0xDFCFFBFF) Looks to me like we're trying to write to a rom address, but I'm a complete novice at this so I could be completely off. I'm using kernel 3.13.0-0.rc1.git3 What else could I look at? No, that patch does not completely solve the problem. The memsize is right, now, but the dma test still fails the same way. dmesg: http://paste.fedoraproject.org/58848/86134088 Something still seems problematic with the rom. Does this help? diff --git a/drivers/gpu/drm/radeon/radeon_bios.c b/drivers/gpu/drm/radeon/radeon_bios.c index b3633d9..b2983f2 100644 --- a/drivers/gpu/drm/radeon/radeon_bios.c +++ b/drivers/gpu/drm/radeon/radeon_bios.c @@ -173,7 +173,7 @@ static int radeon_atrm_call(acpi_handle atrm_handle, uint8_t *bios, static bool radeon_atrm_get_bios(struct radeon_device *rdev) { int ret; - int size = 256 * 1024; + int size = 128 * 1024; int i; struct pci_dev *pdev = NULL; acpi_handle dhandle, atrm_handle; You might also try 64 rather than 128 if 128 doesn't work. Alex Those had no effect. I hacked the dsdt to fix the ATRM error. I don't know if this is something that can be worked around or if I'll have to have MSI fix their bios, but if it can, here's a successful init once the bios can be read: