[Nouveau] [PATCH 2/2] nvc0: add a memory barrier when there are persistent UBOs

2014-07-01 Thread Ilia Mirkin
Signed-off-by: Ilia Mirkin imir...@alum.mit.edu
---
 src/gallium/drivers/nouveau/nvc0/nvc0_context.c | 22 +++-
 src/gallium/drivers/nouveau/nvc0/nvc0_context.h |  2 ++
 src/gallium/drivers/nouveau/nvc0/nvc0_state.c   |  5 +
 src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c | 27 -
 src/gallium/drivers/nouveau/nvc0/nvc0_winsys.h  |  5 +++--
 5 files changed, 57 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_context.c 
b/src/gallium/drivers/nouveau/nvc0/nvc0_context.c
index e5040c4..5928c99 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_context.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_context.c
@@ -60,7 +60,7 @@ static void
 nvc0_memory_barrier(struct pipe_context *pipe, unsigned flags)
 {
struct nvc0_context *nvc0 = nvc0_context(pipe);
-   int i;
+   int i, s;
 
if (flags  PIPE_BARRIER_MAPPED_BUFFER) {
   for (i = 0; i  nvc0-num_vtxbufs; ++i) {
@@ -73,6 +73,26 @@ nvc0_memory_barrier(struct pipe_context *pipe, unsigned 
flags)
   if (nvc0-idxbuf.buffer 
   nvc0-idxbuf.buffer-flags  PIPE_RESOURCE_FLAG_MAP_PERSISTENT)
  nvc0-base.vbo_dirty = TRUE;
+
+  for (s = 0; s  5  !nvc0-cb_dirty; ++s) {
+ uint32_t valid = nvc0-constbuf_valid[s];
+
+ while (valid  !nvc0-cb_dirty) {
+const unsigned i = ffs(valid) - 1;
+struct pipe_resource *res;
+
+valid = ~(1  i);
+if (nvc0-constbuf[s][i].user)
+   continue;
+
+res = nvc0-constbuf[s][i].u.buf;
+if (!res)
+   continue;
+
+if (res-flags  PIPE_RESOURCE_FLAG_MAP_PERSISTENT)
+   nvc0-cb_dirty = TRUE;
+ }
+  }
}
 }
 
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_context.h 
b/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
index 052f0ba..ebeb8c4 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_context.h
@@ -154,6 +154,8 @@ struct nvc0_context {
 
struct nvc0_constbuf constbuf[6][NVC0_MAX_PIPE_CONSTBUFS];
uint16_t constbuf_dirty[6];
+   uint16_t constbuf_valid[6];
+   boolean cb_dirty;
 
struct pipe_vertex_buffer vtxbuf[PIPE_MAX_ATTRIBS];
unsigned num_vtxbufs;
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_state.c 
b/src/gallium/drivers/nouveau/nvc0/nvc0_state.c
index ef9d479..d1a7cf5 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_state.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_state.c
@@ -808,10 +808,15 @@ nvc0_set_constant_buffer(struct pipe_context *pipe, uint 
shader, uint index,
if (nvc0-constbuf[s][i].user) {
   nvc0-constbuf[s][i].u.data = cb-user_buffer;
   nvc0-constbuf[s][i].size = cb-buffer_size;
+  nvc0-constbuf_valid[s] |= 1  i;
} else
if (cb) {
   nvc0-constbuf[s][i].offset = cb-buffer_offset;
   nvc0-constbuf[s][i].size = align(cb-buffer_size, 0x100);
+  nvc0-constbuf_valid[s] |= 1  i;
+   }
+   else {
+  nvc0-constbuf_valid[s] = ~(1  i);
}
 }
 
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c 
b/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c
index 83d406d..e92ca9c 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c
@@ -799,7 +799,7 @@ nvc0_draw_vbo(struct pipe_context *pipe, const struct 
pipe_draw_info *info)
 {
struct nvc0_context *nvc0 = nvc0_context(pipe);
struct nouveau_pushbuf *push = nvc0-base.pushbuf;
-   int i;
+   int i, s;
 
/* NOTE: caller must ensure that (min_index + index_bias) is = 0 */
nvc0-vb_elt_first = info-min_index + info-index_bias;
@@ -832,6 +832,31 @@ nvc0_draw_vbo(struct pipe_context *pipe, const struct 
pipe_draw_info *info)
 
push-kick_notify = nvc0_draw_vbo_kick_notify;
 
+   for (s = 0; s  5  !nvc0-cb_dirty; ++s) {
+  uint32_t valid = nvc0-constbuf_valid[s];
+
+  while (valid  !nvc0-cb_dirty) {
+ const unsigned i = ffs(valid) - 1;
+ struct pipe_resource *res;
+
+ valid = ~(1  i);
+ if (nvc0-constbuf[s][i].user)
+continue;
+
+ res = nvc0-constbuf[s][i].u.buf;
+ if (!res)
+continue;
+
+ if (res-flags  PIPE_RESOURCE_FLAG_MAP_PERSISTENT)
+nvc0-cb_dirty = TRUE;
+  }
+   }
+
+   if (nvc0-cb_dirty) {
+  IMMED_NVC0(push, NVC0_3D(MEM_BARRIER), 0x1011);
+  nvc0-cb_dirty = FALSE;
+   }
+
if (nvc0-state.vbo_mode) {
   nvc0_push_vbo(nvc0, info);
   push-kick_notify = nvc0_default_kick_notify;
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_winsys.h 
b/src/gallium/drivers/nouveau/nvc0/nvc0_winsys.h
index 3514d9d..a83b31d 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_winsys.h
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_winsys.h
@@ -80,8 +80,9 @@ NVC0_FIFO_PKHDR_NI(int subc, int mthd, unsigned size)
 }
 
 static INLINE uint32_t
-NVC0_FIFO_PKHDR_IL(int subc, int mthd, uint8_t data)
+NVC0_FIFO_PKHDR_IL(int subc, int mthd, uint16_t data)
 {
+   

[Nouveau] [PATCH 1/2] nv50: do an explicit flush on draw when there are persistent buffers

2014-07-01 Thread Ilia Mirkin
Signed-off-by: Ilia Mirkin imir...@alum.mit.edu
---
 src/gallium/drivers/nouveau/nv50/nv50_context.c | 22 ++-
 src/gallium/drivers/nouveau/nv50/nv50_context.h |  1 +
 src/gallium/drivers/nouveau/nv50/nv50_vbo.c | 29 -
 3 files changed, 50 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/nouveau/nv50/nv50_context.c 
b/src/gallium/drivers/nouveau/nv50/nv50_context.c
index 3f3a888..c2eb0c0 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_context.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_context.c
@@ -61,7 +61,7 @@ static void
 nv50_memory_barrier(struct pipe_context *pipe, unsigned flags)
 {
struct nv50_context *nv50 = nv50_context(pipe);
-   int i;
+   int i, s;
 
if (flags  PIPE_BARRIER_MAPPED_BUFFER) {
   for (i = 0; i  nv50-num_vtxbufs; ++i) {
@@ -74,6 +74,26 @@ nv50_memory_barrier(struct pipe_context *pipe, unsigned 
flags)
   if (nv50-idxbuf.buffer 
   nv50-idxbuf.buffer-flags  PIPE_RESOURCE_FLAG_MAP_PERSISTENT)
  nv50-base.vbo_dirty = TRUE;
+
+  for (s = 0; s  3  !nv50-cb_dirty; ++s) {
+ uint32_t valid = nv50-constbuf_valid[s];
+
+ while (valid  !nv50-cb_dirty) {
+const unsigned i = ffs(valid) - 1;
+struct pipe_resource *res;
+
+valid = ~(1  i);
+if (nv50-constbuf[s][i].user)
+   continue;
+
+res = nv50-constbuf[s][i].u.buf;
+if (!res)
+   continue;
+
+if (res-flags  PIPE_RESOURCE_FLAG_MAP_PERSISTENT)
+   nv50-cb_dirty = TRUE;
+ }
+  }
}
 }
 
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_context.h 
b/src/gallium/drivers/nouveau/nv50/nv50_context.h
index 3b7cb18..9c2af40 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_context.h
+++ b/src/gallium/drivers/nouveau/nv50/nv50_context.h
@@ -106,6 +106,7 @@ struct nv50_context {
struct nouveau_bufctx *bufctx;
 
uint32_t dirty;
+   boolean cb_dirty;
 
struct {
   uint32_t instance_elts; /* bitmask of per-instance elements */
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_vbo.c 
b/src/gallium/drivers/nouveau/nv50/nv50_vbo.c
index 7c2b7ff..5a4a457 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_vbo.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_vbo.c
@@ -747,7 +747,7 @@ nv50_draw_vbo(struct pipe_context *pipe, const struct 
pipe_draw_info *info)
 {
struct nv50_context *nv50 = nv50_context(pipe);
struct nouveau_pushbuf *push = nv50-base.pushbuf;
-   int i;
+   int i, s;
 
/* NOTE: caller must ensure that (min_index + index_bias) is = 0 */
nv50-vb_elt_first = info-min_index + info-index_bias;
@@ -776,6 +776,33 @@ nv50_draw_vbo(struct pipe_context *pipe, const struct 
pipe_draw_info *info)
 
push-kick_notify = nv50_draw_vbo_kick_notify;
 
+   for (s = 0; s  3  !nv50-cb_dirty; ++s) {
+  uint32_t valid = nv50-constbuf_valid[s];
+
+  while (valid  !nv50-cb_dirty) {
+ const unsigned i = ffs(valid) - 1;
+ struct pipe_resource *res;
+
+ valid = ~(1  i);
+ if (nv50-constbuf[s][i].user)
+continue;
+
+ res = nv50-constbuf[s][i].u.buf;
+ if (!res)
+continue;
+
+ if (res-flags  PIPE_RESOURCE_FLAG_MAP_COHERENT)
+nv50-cb_dirty = TRUE;
+  }
+   }
+
+   /* If there are any coherent constbufs, flush the cache */
+   if (nv50-cb_dirty) {
+  BEGIN_NV04(push, NV50_3D(CODE_CB_FLUSH), 1);
+  PUSH_DATA (push, 0);
+  nv50-cb_dirty = FALSE;
+   }
+
if (nv50-vbo_fifo) {
   nv50_push_vbo(nv50, info);
   push-kick_notify = nv50_default_kick_notify;
-- 
1.8.5.5

___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


[Nouveau] [Bug 76483] [NV50, bisected, RFC patch] xset dpms force {on, off} does not work over DP

2014-07-01 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=76483

--- Comment #25 from Karl Schendel schen...@kbcomputer.com ---
That fixed the garbled display.

The monitor off/on thing is weird.  When I was trying to get 3.14 to work
(before discovering this bug report), I tried the nvidia binary driver and got
the same flash off/on thing.  However, dpms-off was working in 3.6.3, which I
unfortunately don't have lying around any more.  It seems strange that the
monitor would break in this manner, so I guess the 3.6.x driver was doing
something to work around the monitor's response.  (Also, the monitor-off
screensaver works when I am in OS/X.)

I can get a log to verify if you like, later today.  If there's anything I can
get from 3.6 to see if it's doing something different, let me know;  I'm sure I
can find and build a 3.6 sometime in the next day or two if necessary.

At least it's going in the right direction - thanks!

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


[Nouveau] nouveau xorg driver - compile error

2014-07-01 Thread Pali Rohár
Hello,

nouveau xorg driver from master git repository cannot be compiled
on ubuntu precise. Here is build log:

https://launchpadlibrarian.net/179062836/buildlog_ubuntu-precise-amd64.xserver-xorg-video-nouveau_1:1.0.10-git201407010817~ubuntu12.04.1_FAILEDTOBUILD.txt.gz

Problem is somewhere in drmmode_display.c. Can somebody look at
it and fix compile error problems?

-- 
Pali Rohár
pali.ro...@gmail.com


signature.asc
Description: This is a digitally signed message part.
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


[Nouveau] [Bug 80769] [NVD9] GF119M boot hang with 3.15.2

2014-07-01 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=80769

--- Comment #1 from sven sven.pilz+freedesk...@gmail.com ---
Created attachment 102096
  -- https://bugs.freedesktop.org/attachment.cgi?id=102096action=edit
xorg log

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


[Nouveau] [Bug 80769] New: [NVD9] GF119M boot hang with 3.15.2

2014-07-01 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=80769

  Priority: medium
Bug ID: 80769
  Assignee: nouveau@lists.freedesktop.org
   Summary: [NVD9] GF119M boot hang with 3.15.2
QA Contact: xorg-t...@lists.x.org
  Severity: normal
Classification: Unclassified
OS: Linux (All)
  Reporter: sven.pilz+freedesk...@gmail.com
  Hardware: x86-64 (AMD64)
Status: NEW
   Version: unspecified
 Component: Driver/nouveau
   Product: xorg

Created attachment 102095
  -- https://bugs.freedesktop.org/attachment.cgi?id=102095action=edit
dmesg

Hello everybody.

I'm using a ThinkPad T420 with Optimus. Since 3.15 the boot hangs during KMS,
when I use the discrete card (GF119M [Quadro NVS 4200M]). With the Intel card
or Optimus, the system boots. Though I see those message from the kernel, also
after standby:
  nouveau E[PBUS][:01:00.0] MMIO read of 0x FAULT at 0x002140 [
!ENGINE ]

When I try to use the Nvidia card via PRIME with, the xserver crashes.

I tested the PRIME way with:
  xrandr --setprovideroffloadsink nouveau Intel
  DRI_PRIME=1 glxgears

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


[Nouveau] [Bug 80769] [NVD9] GF119M boot hang with 3.15.2

2014-07-01 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=80769

--- Comment #2 from Ilia Mirkin imir...@alum.mit.edu ---
The xorg backtrace has intel_drv.so in it. What makes you say this is a nouveau
bug?

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


Re: [Nouveau] nouveau xorg driver - compile error

2014-07-01 Thread Tobias klausmann

Hi Pali,

maybe you are missing a package somewhere? Latest git is building fine 
for me on OBS/opensuse.


Greetings,
Tobias

On 01.07.2014 21:47, Pali Rohár wrote:

Hello,

nouveau xorg driver from master git repository cannot be compiled
on ubuntu precise. Here is build log:

https://launchpadlibrarian.net/179062836/buildlog_ubuntu-precise-amd64.xserver-xorg-video-nouveau_1:1.0.10-git201407010817~ubuntu12.04.1_FAILEDTOBUILD.txt.gz

Problem is somewhere in drmmode_display.c. Can somebody look at
it and fix compile error problems?



___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


[Nouveau] [Bug 80769] [NVD9] GF119M boot hang with 3.15.2

2014-07-01 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=80769

--- Comment #3 from sven sven.pilz+freedesk...@gmail.com ---
(In reply to comment #2)
 The xorg backtrace has intel_drv.so in it. What makes you say this is a
 nouveau bug?

I don't know if nouveau crashes the xserver. Should have stated that more
clearly, sorry. This may be more a symptom that started to appear with the boot
hangs and the error messages from the kernel driver.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


[Nouveau] [Bug 80769] [NVD9] GF119M boot hang with 3.15.2

2014-07-01 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=80769

--- Comment #4 from Ilia Mirkin imir...@alum.mit.edu ---
(In reply to comment #3)
 (In reply to comment #2)
  The xorg backtrace has intel_drv.so in it. What makes you say this is a
  nouveau bug?
 
 I don't know if nouveau crashes the xserver. Should have stated that more
 clearly, sorry. This may be more a symptom that started to appear with the
 boot hangs and the error messages from the kernel driver.

Ah. So the dmesg is from a perfectly-fine boot, yes? (Other than the error
messages, which are probably not a big deal.)

Can you bisect the boot hang? (Or at least get a dmesg from it, e.g. with
netconsole)

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


Re: [Nouveau] nouveau xorg driver - compile error

2014-07-01 Thread Sven Joachim


On 2014-07-01 21:47 +0200, Pali Rohár wrote:

 Hello,

 nouveau xorg driver from master git repository cannot be compiled
 on ubuntu precise. Here is build log:

 https://launchpadlibrarian.net/179062836/buildlog_ubuntu-precise-amd64.xserver-xorg-video-nouveau_1:1.0.10-git201407010817~ubuntu12.04.1_FAILEDTOBUILD.txt.gz

 Problem is somewhere in drmmode_display.c. Can somebody look at
 it and fix compile error problems?

Don't know how best to fix it, but the problem is that xorg_list only
exists in X server 1.12 and later, Ubuntu precise has 1.11.

Cheers,
   Sven

___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


[Nouveau] [Bug 76483] [NV50, bisected, RFC patch] xset dpms force {on, off} does not work over DP

2014-07-01 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=76483

--- Comment #26 from Ben Skeggs skeg...@gmail.com ---
(In reply to comment #25)
 That fixed the garbled display.
 
 The monitor off/on thing is weird.  When I was trying to get 3.14 to work
 (before discovering this bug report), I tried the nvidia binary driver and
 got the same flash off/on thing.  However, dpms-off was working in 3.6.3,
 which I unfortunately don't have lying around any more.  It seems strange
 that the monitor would break in this manner, so I guess the 3.6.x driver was
 doing something to work around the monitor's response.  (Also, the
 monitor-off screensaver works when I am in OS/X.)
If it's the same situation as Nouveau, then the binary driver probably ignored
the HPD_IRQ pulse from the monitor.  We need to care about it now (well, we
were *supposed* to already, but anyway) for MST support particularly.  I'm
pretty sure I can work around the issue in the driver if we need to, so that's
ok.

 
 I can get a log to verify if you like, later today.  If there's anything I
 can get from 3.6 to see if it's doing something different, let me know;  I'm
 sure I can find and build a 3.6 sometime in the next day or two if necessary.
That'd be great, thanks.

 
 At least it's going in the right direction - thanks!

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


Re: [Nouveau] nouveau xorg driver - compile error

2014-07-01 Thread Emil Velikov
Hi Pali,

If the future can you include the error message (plus a couple of lines of
context) in the email ? Thanks.

Seems like the list* symbols got prefixed with xorg_ during the 1.12
development cycle (commit ca64912c02b), and your build uses 1.11.x.

I'm using xorg-server 1.15 so cannot really test this but the attached patch
should help. Can you give it a try ?

Cheers,
Emil

On 01/07/14 20:47, Pali Rohár wrote:
 Hello,
 
 nouveau xorg driver from master git repository cannot be compiled
 on ubuntu precise. Here is build log:
 
 https://launchpadlibrarian.net/179062836/buildlog_ubuntu-precise-amd64.xserver-xorg-video-nouveau_1:1.0.10-git201407010817~ubuntu12.04.1_FAILEDTOBUILD.txt.gz
 
 Problem is somewhere in drmmode_display.c. Can somebody look at
 it and fix compile error problems?
 
 
 
 ___
 Nouveau mailing list
 Nouveau@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/nouveau
 

From d437ca90803ddf70190cdbaf617e815f6441f134 Mon Sep 17 00:00:00 2001
From: Emil Velikov emil.l.veli...@gmail.com
Date: Tue, 1 Jul 2014 22:31:47 +0100
Subject: [PATCH] xorg_list: define the xorg_list* symbols
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

...when building against pre 1.12 x.
The build will fail as earlier versions of X were missing the xorg_
prefix of the symbols - struct and util functions.

Reported-by: Pali Rohár pali.ro...@gmail.com
Signed-off-by: Emil Velikov emil.l.veli...@gmail.com
---
 configure.ac  | 13 +
 src/drmmode_display.c |  8 
 src/nv_driver.c   |  5 +
 3 files changed, 26 insertions(+)

diff --git a/configure.ac b/configure.ac
index 92e047a..2177c24 100644
--- a/configure.ac
+++ b/configure.ac
@@ -127,6 +127,19 @@ AC_SUBST([DRIVER_NAME])
 XORG_MANPAGE_SECTIONS
 XORG_RELEASE_VERSION
 
+AC_CHECK_HEADERS([list.h],
+ [have_list_h=yes], [have_list_h=no],
+ [#include X11/Xdefs.h
+  #include xorg-server.h])
+
+if test x$have_list_h = xyes; then
+AC_CHECK_DECL(xorg_list_init,
+  [AC_DEFINE(HAVE_XORG_LIST, 1, [Have xorg_list API])], [],
+  [#include X11/Xdefs.h
+   #include xorg-server.h
+   #include list.h])
+fi
+
 AC_MSG_CHECKING([whether to include GLAMOR support])
 
 AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 58b5e07..45225ad 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -126,6 +126,14 @@ drmmode_swap(ScrnInfoPtr scrn, uint32_t next, uint32_t *prev)
 	drmmode-fb_id = next;
 }
 
+#if !HAVE_XORG_LIST
+#define xorg_list   list
+#define xorg_list_for_each_entrylist_for_each_entry
+#define xorg_list_for_each_entry_safe   list_for_each_entry_safe
+#define xorg_list_appendlist_append
+#define xorg_list_del   list_del
+#endif
+
 struct drmmode_event {
 	struct xorg_list head;
 	drmmode_ptr drmmode;
diff --git a/src/nv_driver.c b/src/nv_driver.c
index 44a0963..2fa3802 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -37,6 +37,11 @@
 #include nouveau_present.h
 #include nouveau_sync.h
 
+#if !HAVE_XORG_LIST
+#define xorg_list_is_empty  list_is_empty
+#define xorg_list_for_each_entrylist_for_each_entry
+#endif
+
 /*
  * Forward definitions for the functions that make up the driver.
  */
-- 
2.0.0

___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


[Nouveau] [Bug 80769] [NVD9] GF119M boot hang with 3.15.2

2014-07-01 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=80769

--- Comment #5 from sven sven.pilz+freedesk...@gmail.com ---
(In reply to comment #4)
 (In reply to comment #3)
  (In reply to comment #2)
   The xorg backtrace has intel_drv.so in it. What makes you say this is a
   nouveau bug?
  
  I don't know if nouveau crashes the xserver. Should have stated that more
  clearly, sorry. This may be more a symptom that started to appear with the
  boot hangs and the error messages from the kernel driver.
 
 Ah. So the dmesg is from a perfectly-fine boot, yes? (Other than the error
 messages, which are probably not a big deal.)

Yes.


 Can you bisect the boot hang? (Or at least get a dmesg from it, e.g. with
 netconsole)

I now tried a couple of boots in a row and one of them actually succeeded (with
glxgears and own OpenGL applications). But the other times it got stuck during
boot, though not always before the switch to native resolution. One hanged with
some systemd error (rfkill stuff). I will try to get more information. But it
looks like there may be a couple of problems or everything is just a symptom of
some deeper one. Which still is strange is that the symptoms disappear when I
switch to the Intel card or Optimus in the BIOS. Maybe some ACPI problems and
nothing directly related to nouveau.

Sorry for bothering you with that :-). I guess you should close the bug and if
I find something related to nouveau I'll open a new one.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


Re: [Nouveau] nouveau xorg driver - compile error

2014-07-01 Thread Pali Rohár
Hello,

On Tuesday 01 July 2014 23:39:45 Emil Velikov wrote:
 Hi Pali,
 
 If the future can you include the error message (plus a couple
 of lines of context) in the email ? Thanks.
 

Ok.

 Seems like the list* symbols got prefixed with xorg_ during
 the 1.12 development cycle (commit ca64912c02b), and your
 build uses 1.11.x.
 

Compilation failed with version 1.11.4.

 I'm using xorg-server 1.15 so cannot really test this but the
 attached patch should help. Can you give it a try ?
 

I tried your patch and now nouveau driver with it compiled 
successfully. So thanks!

 Cheers,
 Emil
 
 On 01/07/14 20:47, Pali Rohár wrote:
  Hello,
  
  nouveau xorg driver from master git repository cannot be
  compiled on ubuntu precise. Here is build log:
  
  https://launchpadlibrarian.net/179062836/buildlog_ubuntu-pre
  cise-amd64.xserver-xorg-video-nouveau_1:1.0.10-git2014070108
  17~ubuntu12.04.1_FAILEDTOBUILD.txt.gz
  
  Problem is somewhere in drmmode_display.c. Can somebody look
  at it and fix compile error problems?
  
  
  
  ___
  Nouveau mailing list
  Nouveau@lists.freedesktop.org
  http://lists.freedesktop.org/mailman/listinfo/nouveau

-- 
Pali Rohár
pali.ro...@gmail.com


signature.asc
Description: This is a digitally signed message part.
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau