[Bug 28210] New: [bisected r300g] Heroes of Newerth crash

2010-05-22 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=28210

   Summary: [bisected r300g] Heroes of Newerth crash
   Product: Mesa
   Version: git
  Platform: Other
OS/Version: All
Status: NEW
  Severity: normal
  Priority: medium
 Component: Drivers/DRI/r300
AssignedTo: dri-devel@lists.freedesktop.org
ReportedBy: dra...@centrum.cz


Created an attachment (id=35792)
 --> (https://bugs.freedesktop.org/attachment.cgi?id=35792)
backtrace

With latest mesa git Heroes of Newerth crash early in game usually if some
effect like when you gain level is rendered. This is a regression introduce by
this commit:

f86ac27bf9203fdd9b7110dc843263307f475a99 is the first bad commit
commit f86ac27bf9203fdd9b7110dc843263307f475a99
Author: Marek Olšák 
Date:   Sat May 15 22:55:17 2010 +0200

r300g: fix psychedelic colors with SWTCL

r300_vertex_shader::outputs was uninitialized.
Also remove the tokens parameter.

Reverting mentioned commit solves this issue.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 28210] [bisected r300g] Heroes of Newerth crash

2010-05-22 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=28210

Pavel Ondračka  changed:

   What|Removed |Added

   Keywords||regression
 CC||mar...@gmail.com

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 28210] [bisected r300g] Heroes of Newerth crash

2010-05-22 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=28210

--- Comment #1 from Pavel Ondračka  2010-05-22 01:44:03 PDT 
---
Created an attachment (id=35793)
 --> (https://bugs.freedesktop.org/attachment.cgi?id=35793)
different crash

BTW when I was bisecting and head was at commit "r300g: fix emission of some
non-CSO atoms at the beginning of CS" it also crashed (after longer time) but I
did git bisect good, because this crash looks different.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 28210] [bisected r300g] Heroes of Newerth crash

2010-05-22 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=28210

--- Comment #2 from Pavel Ondračka  2010-05-22 01:47:27 PDT 
---
I forgot to mention my video card:
01:00.0 VGA compatible controller: ATI Technologies Inc M56P [Radeon Mobility
X1600] (RV530)

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[PATCH]: nouveau and radeon checkstack fixes

2010-05-22 Thread Prarit Bhargava
Fixes linux-next & linux-2.6 checkstack warnings:

drivers/gpu/drm/nouveau/nv40_graph.c: In function `nv40_graph_init':
drivers/gpu/drm/nouveau/nv40_graph.c:400: warning: the frame size of 1184 bytes 
is larger than 1024 bytes
drivers/gpu/drm/radeon/radeon_atombios.c: In function 
`radeon_get_atom_connector_info_from_supported_devices_table':
drivers/gpu/drm/radeon/radeon_atombios.c:857: warning: the frame size of 1872 
bytes is larger than 1024 bytes

Signed-off-by: Prarit Bhargava 

diff --git a/drivers/gpu/drm/nouveau/nv40_graph.c 
b/drivers/gpu/drm/nouveau/nv40_graph.c
index 0616c96..3604394 100644
--- a/drivers/gpu/drm/nouveau/nv40_graph.c
+++ b/drivers/gpu/drm/nouveau/nv40_graph.c
@@ -253,7 +253,11 @@ nv40_graph_init(struct drm_device *dev)
 
if (!dev_priv->engine.graph.ctxprog) {
struct nouveau_grctx ctx = {};
-   uint32_t cp[256];
+   uint32_t *cp;
+
+   cp = kmalloc(sizeof(*cp), GFP_KERNEL);
+   if (!cp)
+   return -ENOMEM;
 
ctx.dev = dev;
ctx.mode = NOUVEAU_GRCTX_PROG;
@@ -265,6 +269,8 @@ nv40_graph_init(struct drm_device *dev)
nv_wr32(dev, NV40_PGRAPH_CTXCTL_UCODE_INDEX, 0);
for (i = 0; i < ctx.ctxprog_len; i++)
nv_wr32(dev, NV40_PGRAPH_CTXCTL_UCODE_DATA, cp[i]);
+
+   kfree(cp);
}
 
/* No context present currently */
diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c 
b/drivers/gpu/drm/radeon/radeon_atombios.c
index 1d05deb..5ad208c 100644
--- a/drivers/gpu/drm/radeon/radeon_atombios.c
+++ b/drivers/gpu/drm/radeon/radeon_atombios.c
@@ -682,10 +682,18 @@ bool 
radeon_get_atom_connector_info_from_supported_devices_table(struct
uint8_t dac;
union atom_supported_devices *supported_devices;
int i, j, max_device;
-   struct bios_connector bios_connectors[ATOM_MAX_SUPPORTED_DEVICE];
+   struct bios_connector *bios_connectors;
+   size_t bc_size = sizeof(*bios_connectors) * ATOM_MAX_SUPPORTED_DEVICE;
 
-   if (!atom_parse_data_header(ctx, index, &size, &frev, &crev, 
&data_offset))
+   bios_connectors = kzalloc(bc_size, GFP_KERNEL);
+   if (!bios_connectors)
+   return false;
+
+   if (!atom_parse_data_header(ctx, index, &size, &frev, &crev,
+   &data_offset)) {
+   kfree(bios_connectors);
return false;
+   }   
 
supported_devices =
(union atom_supported_devices *)(ctx->bios + data_offset);
@@ -853,6 +861,7 @@ bool 
radeon_get_atom_connector_info_from_supported_devices_table(struct
 
radeon_link_encoder_connector(dev);
 
+   kfree(bios_connectors);
return true;
 }
 
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [git pull] drm for 2.6.35-rc1 (revised)

2010-05-22 Thread Stephen Rothwell
Hi Linus,

On Fri, 21 May 2010 11:56:39 -0700 (PDT) Linus Torvalds 
 wrote:
>
> I suspect we should have some "new warnings are errors" thing for 
> linux-next, so that people can't do this.

I do attempt to report new warnings but they are often hard to spot among
all the "may be used uninitialised" rubbish of an X86_64 allmodconfig
build.  Also, sometimes people ignore me, of course. :-(

That being said, I did not get the mentioned warning for either an i386
or x86_64 allmodconfig build - I wonder why not?  Compiler differences?
Config differences? (See
http://kisskb.ellerman.id.au/kisskb/buildresult/2617918/ and
http://kisskb.ellerman.id.au/kisskb/buildresult/2617928/).

Ah, I did get it for an i386 defconfig build
(http://kisskb.ellerman.id.au/kisskb/buildresult/2617930/).

-- 
Cheers,
Stephen Rothwells...@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/


pgp0ndVD173i6.pgp
Description: PGP signature
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH]: nouveau and radeon checkstack fixes

2010-05-22 Thread Maarten Maathuis
On Sat, May 22, 2010 at 2:30 AM, Prarit Bhargava  wrote:
> Fixes linux-next & linux-2.6 checkstack warnings:
>
> drivers/gpu/drm/nouveau/nv40_graph.c: In function `nv40_graph_init':
> drivers/gpu/drm/nouveau/nv40_graph.c:400: warning: the frame size of 1184 
> bytes is larger than 1024 bytes
> drivers/gpu/drm/radeon/radeon_atombios.c: In function 
> `radeon_get_atom_connector_info_from_supported_devices_table':
> drivers/gpu/drm/radeon/radeon_atombios.c:857: warning: the frame size of 1872 
> bytes is larger than 1024 bytes
>
> Signed-off-by: Prarit Bhargava 
>
> diff --git a/drivers/gpu/drm/nouveau/nv40_graph.c 
> b/drivers/gpu/drm/nouveau/nv40_graph.c
> index 0616c96..3604394 100644
> --- a/drivers/gpu/drm/nouveau/nv40_graph.c
> +++ b/drivers/gpu/drm/nouveau/nv40_graph.c
> @@ -253,7 +253,11 @@ nv40_graph_init(struct drm_device *dev)
>
>        if (!dev_priv->engine.graph.ctxprog) {
>                struct nouveau_grctx ctx = {};
> -               uint32_t cp[256];
> +               uint32_t *cp;
> +
> +               cp = kmalloc(sizeof(*cp), GFP_KERNEL);
> +               if (!cp)
> +                       return -ENOMEM;
>

This seems wrong, allocating 1 uint32_t isn't enough.

>                ctx.dev = dev;
>                ctx.mode = NOUVEAU_GRCTX_PROG;
> @@ -265,6 +269,8 @@ nv40_graph_init(struct drm_device *dev)
>                nv_wr32(dev, NV40_PGRAPH_CTXCTL_UCODE_INDEX, 0);
>                for (i = 0; i < ctx.ctxprog_len; i++)
>                        nv_wr32(dev, NV40_PGRAPH_CTXCTL_UCODE_DATA, cp[i]);
> +
> +               kfree(cp);
>        }
>
>        /* No context present currently */
> diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c 
> b/drivers/gpu/drm/radeon/radeon_atombios.c
> index 1d05deb..5ad208c 100644
> --- a/drivers/gpu/drm/radeon/radeon_atombios.c
> +++ b/drivers/gpu/drm/radeon/radeon_atombios.c
> @@ -682,10 +682,18 @@ bool 
> radeon_get_atom_connector_info_from_supported_devices_table(struct
>        uint8_t dac;
>        union atom_supported_devices *supported_devices;
>        int i, j, max_device;
> -       struct bios_connector bios_connectors[ATOM_MAX_SUPPORTED_DEVICE];
> +       struct bios_connector *bios_connectors;
> +       size_t bc_size = sizeof(*bios_connectors) * ATOM_MAX_SUPPORTED_DEVICE;
>
> -       if (!atom_parse_data_header(ctx, index, &size, &frev, &crev, 
> &data_offset))
> +       bios_connectors = kzalloc(bc_size, GFP_KERNEL);
> +       if (!bios_connectors)
> +               return false;
> +
> +       if (!atom_parse_data_header(ctx, index, &size, &frev, &crev,
> +                                   &data_offset)) {
> +               kfree(bios_connectors);
>                return false;
> +       }
>
>        supported_devices =
>            (union atom_supported_devices *)(ctx->bios + data_offset);
> @@ -853,6 +861,7 @@ bool 
> radeon_get_atom_connector_info_from_supported_devices_table(struct
>
>        radeon_link_encoder_connector(dev);
>
> +       kfree(bios_connectors);
>        return true;
>  }
>
> ___
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH]: nouveau and radeon checkstack fixes

2010-05-22 Thread Prarit Bhargava



On 05/22/2010 03:57 PM, Maarten Maathuis wrote:

On Sat, May 22, 2010 at 2:30 AM, Prarit Bhargava  wrote:
   

Fixes linux-next&  linux-2.6 checkstack warnings:

drivers/gpu/drm/nouveau/nv40_graph.c: In function `nv40_graph_init':
drivers/gpu/drm/nouveau/nv40_graph.c:400: warning: the frame size of 1184 bytes 
is larger than 1024 bytes
drivers/gpu/drm/radeon/radeon_atombios.c: In function 
`radeon_get_atom_connector_info_from_supported_devices_table':
drivers/gpu/drm/radeon/radeon_atombios.c:857: warning: the frame size of 1872 
bytes is larger than 1024 bytes

Signed-off-by: Prarit Bhargava

diff --git a/drivers/gpu/drm/nouveau/nv40_graph.c 
b/drivers/gpu/drm/nouveau/nv40_graph.c
index 0616c96..3604394 100644
--- a/drivers/gpu/drm/nouveau/nv40_graph.c
+++ b/drivers/gpu/drm/nouveau/nv40_graph.c
@@ -253,7 +253,11 @@ nv40_graph_init(struct drm_device *dev)

if (!dev_priv->engine.graph.ctxprog) {
struct nouveau_grctx ctx = {};
-   uint32_t cp[256];
+   uint32_t *cp;
+
+   cp = kmalloc(sizeof(*cp), GFP_KERNEL);
+   if (!cp)
+   return -ENOMEM;

 

This seems wrong, allocating 1 uint32_t isn't enough.
   


Oops!  That obviously should have been (sizeof(*cp) * 256) ... New patch.

Thanks Maarten,

P.

   

ctx.dev = dev;
ctx.mode = NOUVEAU_GRCTX_PROG;
@@ -265,6 +269,8 @@ nv40_graph_init(struct drm_device *dev)
nv_wr32(dev, NV40_PGRAPH_CTXCTL_UCODE_INDEX, 0);
for (i = 0; i<  ctx.ctxprog_len; i++)
nv_wr32(dev, NV40_PGRAPH_CTXCTL_UCODE_DATA, cp[i]);
+
+   kfree(cp);
}

/* No context present currently */
diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c 
b/drivers/gpu/drm/radeon/radeon_atombios.c
index 1d05deb..5ad208c 100644
--- a/drivers/gpu/drm/radeon/radeon_atombios.c
+++ b/drivers/gpu/drm/radeon/radeon_atombios.c
@@ -682,10 +682,18 @@ bool 
radeon_get_atom_connector_info_from_supported_devices_table(struct
uint8_t dac;
union atom_supported_devices *supported_devices;
int i, j, max_device;
-   struct bios_connector bios_connectors[ATOM_MAX_SUPPORTED_DEVICE];
+   struct bios_connector *bios_connectors;
+   size_t bc_size = sizeof(*bios_connectors) * ATOM_MAX_SUPPORTED_DEVICE;

-   if (!atom_parse_data_header(ctx, index,&size,&frev,&crev,&data_offset))
+   bios_connectors = kzalloc(bc_size, GFP_KERNEL);
+   if (!bios_connectors)
+   return false;
+
+   if (!atom_parse_data_header(ctx, index,&size,&frev,&crev,
+&data_offset)) {
+   kfree(bios_connectors);
return false;
+   }

supported_devices =
(union atom_supported_devices *)(ctx->bios + data_offset);
@@ -853,6 +861,7 @@ bool 
radeon_get_atom_connector_info_from_supported_devices_table(struct

radeon_link_encoder_connector(dev);

+   kfree(bios_connectors);
return true;
  }

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

 
Fixes linux-next & linux-2.6 checkstack warnings:

drivers/gpu/drm/nouveau/nv40_graph.c: In function `nv40_graph_init':
drivers/gpu/drm/nouveau/nv40_graph.c:400: warning: the frame size of 1184 bytes 
is larger than 1024 bytes
drivers/gpu/drm/radeon/radeon_atombios.c: In function 
`radeon_get_atom_connector_info_from_supported_devices_table':
drivers/gpu/drm/radeon/radeon_atombios.c:857: warning: the frame size of 1872 
bytes is larger than 1024 bytes

Signed-off-by: Prarit Bhargava 

diff --git a/drivers/gpu/drm/nouveau/nv40_graph.c 
b/drivers/gpu/drm/nouveau/nv40_graph.c
index 0616c96..704a25d 100644
--- a/drivers/gpu/drm/nouveau/nv40_graph.c
+++ b/drivers/gpu/drm/nouveau/nv40_graph.c
@@ -253,7 +253,11 @@ nv40_graph_init(struct drm_device *dev)
 
if (!dev_priv->engine.graph.ctxprog) {
struct nouveau_grctx ctx = {};
-   uint32_t cp[256];
+   uint32_t *cp;
+
+   cp = kmalloc(sizeof(*cp) * 256, GFP_KERNEL);
+   if (!cp)
+   return -ENOMEM;
 
ctx.dev = dev;
ctx.mode = NOUVEAU_GRCTX_PROG;
@@ -265,6 +269,8 @@ nv40_graph_init(struct drm_device *dev)
nv_wr32(dev, NV40_PGRAPH_CTXCTL_UCODE_INDEX, 0);
for (i = 0; i < ctx.ctxprog_len; i++)
nv_wr32(dev, NV40_PGRAPH_CTXCTL_UCODE_DATA, cp[i]);
+
+   kfree(cp);
}
 
/* No context present currently */
diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c 
b/drivers/gpu/drm/radeon/radeon_atombios.c
index 1d05deb..02697e2 100644
--- a/drivers/gpu/drm/radeon/radeon_atombios.c
+++ b/drivers/gpu/drm/radeon/radeon_atombios.c
@@ -682,10 +682,18 @@ bool 
radeon_get_atom_connector_info_from_supported_devices_table(struct
uint8_t dac;
u

[RFC] Try a bit harder to get output on the screen at panic time

2010-05-22 Thread Maxim Levitsky
On Fri, 2010-05-21 at 00:14 +0300, Maxim Levitsky wrote: 
> On Thu, 2010-05-20 at 09:28 -0700, Jesse Barnes wrote: 
> > On Thu, 20 May 2010 04:27:07 +0300
> > Maxim Levitsky  wrote:
> > 
> > > On Thu, 2010-05-20 at 04:13 +0300, Maxim Levitsky wrote: 
> > > > On Wed, 2010-05-19 at 17:34 -0700, Jesse Barnes wrote: 
> > > > > On Fri, 9 Apr 2010 15:10:50 -0700
> > > > > Jesse Barnes  wrote:
> > > > > 
> > > > > > This set of 3 patches makes it a little more likely we'll get panic
> > > > > > output onto the screen even when X is running, assuming a KMS 
> > > > > > enabled
> > > > > > stack anyway.
> > > > > > 
> > > > > > It gets me from a blank or very sparsely populated black screen at
> > > > > > panic time, to one including the full backtrace and panic output at
> > > > > > panic time (tested with "echo c > /proc/sysrq-trigger" from an X
> > > > > > session).
> > > > > > 
> > > > > > It doesn't cover every case; for instance I think it'll fail when X 
> > > > > > has
> > > > > > disabled the display, but those cases need to be handled with 
> > > > > > separate
> > > > > > patches anyway (need to add atomic DPMS paths for instance).
> > > > > > 
> > > > > > Anyway, please test these out and let me know if they work for you.
> > > > > 
> > > > > Ping Linus & Dave again.  Have you guys tried these?  Really, it's 
> > > > > cool.
> > > > > 
> > > > Second that, just tested these patches, and these work perfectly.
> > > > One more reason for me to dump nvidia driver for nouveau.
> > > 
> > > 
> > > Unfortunately I spoke too soon.
> > > 
> > > 
> > > After suspend to ram, system doesn't properly resume now.
> > > 
> > > My system is based on nvidia G86, I use latest nouveau drivers, and
> > > suspend with compiz running.
> > > 
> > > I also patched kernel not to do vt switch on suspend/resume:
> > > 
> > > diff --git a/drivers/gpu/drm/nouveau/nouveau_state.c
> > > b/drivers/gpu/drm/nouveau/nouveau_state.c
> > > index 062b7f6..b3ef08b 100644
> > > --- a/drivers/gpu/drm/nouveau/nouveau_state.c
> > > +++ b/drivers/gpu/drm/nouveau/nouveau_state.c
> > > @@ -31,6 +31,7 @@
> > > #include "drm_crtc_helper.h"
> > > #include 
> > > #include 
> > > +#include 
> > > 
> > > #include "nouveau_drv.h"
> > > #include "nouveau_drm.h"
> > > @@ -771,6 +772,8 @@ int nouveau_load(struct drm_device *dev, unsigned
> > > long flags)
> > > int ret = nouveau_card_init(dev);
> > > if (ret)
> > > return ret;
> > > +
> > > +   pm_set_vt_switch(0);
> > > }
> > > 
> > > return 0;
> > 
> > Hm I don't see how my patches would have affected suspend/resume, since
> > they just add "oops_in_progress" checks to a few places.  Are you sure
> > something else isn't breaking your resume path?
> I am sure. I just reverted them, and everything works again.
> I refer to 3 patches in this thread.
In fact I might look a bit silly, but I applied these patches on top of
linus master tree + nouveau master, and suspend to ram works just fine.

Maybe it shows up when kgdb+kdb isn't compiled in or so.
Maybe it just triggered some bug in nouveau drivers...


(Note that I also enabled kgdb, and kdb, and breaking into kdb (SysRQ+g)
doesn't switch console mode, just hangs till I press 'g'.

Best regards,
Maxim Levitsky




[RFC] Try a bit harder to get output on the screen at panic time

2010-05-22 Thread Maxim Levitsky
On Fri, 2010-05-21 at 15:02 -0700, Jesse Barnes wrote: 
> On Sat, 22 May 2010 00:57:30 +0300
> Maxim Levitsky  wrote:
> 
> > On Fri, 2010-05-21 at 00:14 +0300, Maxim Levitsky wrote: 
> > > On Thu, 2010-05-20 at 09:28 -0700, Jesse Barnes wrote: 
> > > > On Thu, 20 May 2010 04:27:07 +0300
> > > > Maxim Levitsky  wrote:
> > > > 
> > > > > On Thu, 2010-05-20 at 04:13 +0300, Maxim Levitsky wrote: 
> > > > > > On Wed, 2010-05-19 at 17:34 -0700, Jesse Barnes wrote: 
> > > > > > > On Fri, 9 Apr 2010 15:10:50 -0700
> > > > > > > Jesse Barnes  wrote:
> > > > > > > 
> > > > > > > > This set of 3 patches makes it a little more likely we'll get 
> > > > > > > > panic
> > > > > > > > output onto the screen even when X is running, assuming a KMS 
> > > > > > > > enabled
> > > > > > > > stack anyway.
> > > > > > > > 
> > > > > > > > It gets me from a blank or very sparsely populated black screen 
> > > > > > > > at
> > > > > > > > panic time, to one including the full backtrace and panic 
> > > > > > > > output at
> > > > > > > > panic time (tested with "echo c > /proc/sysrq-trigger" from an X
> > > > > > > > session).
> > > > > > > > 
> > > > > > > > It doesn't cover every case; for instance I think it'll fail 
> > > > > > > > when X has
> > > > > > > > disabled the display, but those cases need to be handled with 
> > > > > > > > separate
> > > > > > > > patches anyway (need to add atomic DPMS paths for instance).
> > > > > > > > 
> > > > > > > > Anyway, please test these out and let me know if they work for 
> > > > > > > > you.
> > > > > > > 
> > > > > > > Ping Linus & Dave again.  Have you guys tried these?  Really, 
> > > > > > > it's cool.
> > > > > > > 
> > > > > > Second that, just tested these patches, and these work perfectly.
> > > > > > One more reason for me to dump nvidia driver for nouveau.
> > > > > 
> > > > > 
> > > > > Unfortunately I spoke too soon.
> > > > > 
> > > > > 
> > > > > After suspend to ram, system doesn't properly resume now.
> > > > > 
> > > > > My system is based on nvidia G86, I use latest nouveau drivers, and
> > > > > suspend with compiz running.
> > > > > 
> > > > > I also patched kernel not to do vt switch on suspend/resume:
> > > > > 
> > > > > diff --git a/drivers/gpu/drm/nouveau/nouveau_state.c
> > > > > b/drivers/gpu/drm/nouveau/nouveau_state.c
> > > > > index 062b7f6..b3ef08b 100644
> > > > > --- a/drivers/gpu/drm/nouveau/nouveau_state.c
> > > > > +++ b/drivers/gpu/drm/nouveau/nouveau_state.c
> > > > > @@ -31,6 +31,7 @@
> > > > > #include "drm_crtc_helper.h"
> > > > > #include 
> > > > > #include 
> > > > > +#include 
> > > > > 
> > > > > #include "nouveau_drv.h"
> > > > > #include "nouveau_drm.h"
> > > > > @@ -771,6 +772,8 @@ int nouveau_load(struct drm_device *dev, unsigned
> > > > > long flags)
> > > > > int ret = nouveau_card_init(dev);
> > > > > if (ret)
> > > > > return ret;
> > > > > +
> > > > > +   pm_set_vt_switch(0);
> > > > > }
> > > > > 
> > > > > return 0;
> > > > 
> > > > Hm I don't see how my patches would have affected suspend/resume, since
> > > > they just add "oops_in_progress" checks to a few places.  Are you sure
> > > > something else isn't breaking your resume path?
> > > I am sure. I just reverted them, and everything works again.
> > > I refer to 3 patches in this thread.
> > In fact I might look a bit silly, but I applied these patches on top of
> > linus master tree + nouveau master, and suspend to ram works just fine.
> > 
> > Maybe it shows up when kgdb+kdb isn't compiled in or so.
> > Maybe it just triggered some bug in nouveau drivers...
> > 
> > 
> > (Note that I also enabled kgdb, and kdb, and breaking into kdb (SysRQ+g)
> > doesn't switch console mode, just hangs till I press 'g'.
> 
> Ok so it sounds like these particular patches are innocent?
> 
> As for kdb, I think the latest tree is probably missing the graphics
> switch support on the driver side...
In what part? nouveau or kdb?

Screen does switch to text mode and displays the backtrace on 'panic'
(Tested with sysrq+c).
(If kdb is enabled, screen doesn't switch, but allowing kdb to continue
via 'g' command eventually breaks into it.)

Best regards,
Maxim Levitsky




[Bug 28210] New: [bisected r300g] Heroes of Newerth crash

2010-05-22 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=28210

   Summary: [bisected r300g] Heroes of Newerth crash
   Product: Mesa
   Version: git
  Platform: Other
OS/Version: All
Status: NEW
  Severity: normal
  Priority: medium
 Component: Drivers/DRI/r300
AssignedTo: dri-devel at lists.freedesktop.org
ReportedBy: drakkk at centrum.cz


Created an attachment (id=35792)
 --> (https://bugs.freedesktop.org/attachment.cgi?id=35792)
backtrace

With latest mesa git Heroes of Newerth crash early in game usually if some
effect like when you gain level is rendered. This is a regression introduce by
this commit:

f86ac27bf9203fdd9b7110dc843263307f475a99 is the first bad commit
commit f86ac27bf9203fdd9b7110dc843263307f475a99
Author: Marek Ol??k 
Date:   Sat May 15 22:55:17 2010 +0200

r300g: fix psychedelic colors with SWTCL

r300_vertex_shader::outputs was uninitialized.
Also remove the tokens parameter.

Reverting mentioned commit solves this issue.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


[Bug 28210] [bisected r300g] Heroes of Newerth crash

2010-05-22 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=28210

Pavel Ondra?ka  changed:

   What|Removed |Added

   Keywords||regression
 CC||maraeo at gmail.com

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


[Bug 28210] [bisected r300g] Heroes of Newerth crash

2010-05-22 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=28210

--- Comment #1 from Pavel Ondra?ka  2010-05-22 01:44:03 
PDT ---
Created an attachment (id=35793)
 --> (https://bugs.freedesktop.org/attachment.cgi?id=35793)
different crash

BTW when I was bisecting and head was at commit "r300g: fix emission of some
non-CSO atoms at the beginning of CS" it also crashed (after longer time) but I
did git bisect good, because this crash looks different.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


[Bug 28210] [bisected r300g] Heroes of Newerth crash

2010-05-22 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=28210

--- Comment #2 from Pavel Ondra?ka  2010-05-22 01:47:27 
PDT ---
I forgot to mention my video card:
01:00.0 VGA compatible controller: ATI Technologies Inc M56P [Radeon Mobility
X1600] (RV530)

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


[git pull] drm for 2.6.35-rc1 (revised)

2010-05-22 Thread Stephen Rothwell
Hi Linus,

On Fri, 21 May 2010 11:56:39 -0700 (PDT) Linus Torvalds  wrote:
>
> I suspect we should have some "new warnings are errors" thing for 
> linux-next, so that people can't do this.

I do attempt to report new warnings but they are often hard to spot among
all the "may be used uninitialised" rubbish of an X86_64 allmodconfig
build.  Also, sometimes people ignore me, of course. :-(

That being said, I did not get the mentioned warning for either an i386
or x86_64 allmodconfig build - I wonder why not?  Compiler differences?
Config differences? (See
http://kisskb.ellerman.id.au/kisskb/buildresult/2617918/ and
http://kisskb.ellerman.id.au/kisskb/buildresult/2617928/).

Ah, I did get it for an i386 defconfig build
(http://kisskb.ellerman.id.au/kisskb/buildresult/2617930/).

-- 
Cheers,
Stephen Rothwellsfr at canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
-- next part --
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20100522/3bfcba49/attachment.pgp>


[PATCH]: nouveau and radeon checkstack fixes

2010-05-22 Thread Maarten Maathuis
On Sat, May 22, 2010 at 2:30 AM, Prarit Bhargava  wrote:
> Fixes linux-next & linux-2.6 checkstack warnings:
>
> drivers/gpu/drm/nouveau/nv40_graph.c: In function `nv40_graph_init':
> drivers/gpu/drm/nouveau/nv40_graph.c:400: warning: the frame size of 1184 
> bytes is larger than 1024 bytes
> drivers/gpu/drm/radeon/radeon_atombios.c: In function 
> `radeon_get_atom_connector_info_from_supported_devices_table':
> drivers/gpu/drm/radeon/radeon_atombios.c:857: warning: the frame size of 1872 
> bytes is larger than 1024 bytes
>
> Signed-off-by: Prarit Bhargava 
>
> diff --git a/drivers/gpu/drm/nouveau/nv40_graph.c 
> b/drivers/gpu/drm/nouveau/nv40_graph.c
> index 0616c96..3604394 100644
> --- a/drivers/gpu/drm/nouveau/nv40_graph.c
> +++ b/drivers/gpu/drm/nouveau/nv40_graph.c
> @@ -253,7 +253,11 @@ nv40_graph_init(struct drm_device *dev)
>
> ? ? ? ?if (!dev_priv->engine.graph.ctxprog) {
> ? ? ? ? ? ? ? ?struct nouveau_grctx ctx = {};
> - ? ? ? ? ? ? ? uint32_t cp[256];
> + ? ? ? ? ? ? ? uint32_t *cp;
> +
> + ? ? ? ? ? ? ? cp = kmalloc(sizeof(*cp), GFP_KERNEL);
> + ? ? ? ? ? ? ? if (!cp)
> + ? ? ? ? ? ? ? ? ? ? ? return -ENOMEM;
>

This seems wrong, allocating 1 uint32_t isn't enough.

> ? ? ? ? ? ? ? ?ctx.dev = dev;
> ? ? ? ? ? ? ? ?ctx.mode = NOUVEAU_GRCTX_PROG;
> @@ -265,6 +269,8 @@ nv40_graph_init(struct drm_device *dev)
> ? ? ? ? ? ? ? ?nv_wr32(dev, NV40_PGRAPH_CTXCTL_UCODE_INDEX, 0);
> ? ? ? ? ? ? ? ?for (i = 0; i < ctx.ctxprog_len; i++)
> ? ? ? ? ? ? ? ? ? ? ? ?nv_wr32(dev, NV40_PGRAPH_CTXCTL_UCODE_DATA, cp[i]);
> +
> + ? ? ? ? ? ? ? kfree(cp);
> ? ? ? ?}
>
> ? ? ? ?/* No context present currently */
> diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c 
> b/drivers/gpu/drm/radeon/radeon_atombios.c
> index 1d05deb..5ad208c 100644
> --- a/drivers/gpu/drm/radeon/radeon_atombios.c
> +++ b/drivers/gpu/drm/radeon/radeon_atombios.c
> @@ -682,10 +682,18 @@ bool 
> radeon_get_atom_connector_info_from_supported_devices_table(struct
> ? ? ? ?uint8_t dac;
> ? ? ? ?union atom_supported_devices *supported_devices;
> ? ? ? ?int i, j, max_device;
> - ? ? ? struct bios_connector bios_connectors[ATOM_MAX_SUPPORTED_DEVICE];
> + ? ? ? struct bios_connector *bios_connectors;
> + ? ? ? size_t bc_size = sizeof(*bios_connectors) * ATOM_MAX_SUPPORTED_DEVICE;
>
> - ? ? ? if (!atom_parse_data_header(ctx, index, &size, &frev, &crev, 
> &data_offset))
> + ? ? ? bios_connectors = kzalloc(bc_size, GFP_KERNEL);
> + ? ? ? if (!bios_connectors)
> + ? ? ? ? ? ? ? return false;
> +
> + ? ? ? if (!atom_parse_data_header(ctx, index, &size, &frev, &crev,
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? &data_offset)) {
> + ? ? ? ? ? ? ? kfree(bios_connectors);
> ? ? ? ? ? ? ? ?return false;
> + ? ? ? }
>
> ? ? ? ?supported_devices =
> ? ? ? ? ? ?(union atom_supported_devices *)(ctx->bios + data_offset);
> @@ -853,6 +861,7 @@ bool 
> radeon_get_atom_connector_info_from_supported_devices_table(struct
>
> ? ? ? ?radeon_link_encoder_connector(dev);
>
> + ? ? ? kfree(bios_connectors);
> ? ? ? ?return true;
> ?}
>
> ___
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>


[PATCH]: nouveau and radeon checkstack fixes

2010-05-22 Thread Prarit Bhargava


On 05/22/2010 03:57 PM, Maarten Maathuis wrote:
> On Sat, May 22, 2010 at 2:30 AM, Prarit Bhargava  wrote:
>
>> Fixes linux-next&  linux-2.6 checkstack warnings:
>>
>> drivers/gpu/drm/nouveau/nv40_graph.c: In function `nv40_graph_init':
>> drivers/gpu/drm/nouveau/nv40_graph.c:400: warning: the frame size of 1184 
>> bytes is larger than 1024 bytes
>> drivers/gpu/drm/radeon/radeon_atombios.c: In function 
>> `radeon_get_atom_connector_info_from_supported_devices_table':
>> drivers/gpu/drm/radeon/radeon_atombios.c:857: warning: the frame size of 
>> 1872 bytes is larger than 1024 bytes
>>
>> Signed-off-by: Prarit Bhargava
>>
>> diff --git a/drivers/gpu/drm/nouveau/nv40_graph.c 
>> b/drivers/gpu/drm/nouveau/nv40_graph.c
>> index 0616c96..3604394 100644
>> --- a/drivers/gpu/drm/nouveau/nv40_graph.c
>> +++ b/drivers/gpu/drm/nouveau/nv40_graph.c
>> @@ -253,7 +253,11 @@ nv40_graph_init(struct drm_device *dev)
>>
>> if (!dev_priv->engine.graph.ctxprog) {
>> struct nouveau_grctx ctx = {};
>> -   uint32_t cp[256];
>> +   uint32_t *cp;
>> +
>> +   cp = kmalloc(sizeof(*cp), GFP_KERNEL);
>> +   if (!cp)
>> +   return -ENOMEM;
>>
>>  
> This seems wrong, allocating 1 uint32_t isn't enough.
>

Oops!  That obviously should have been (sizeof(*cp) * 256) ... New patch.

Thanks Maarten,

P.

>
>> ctx.dev = dev;
>> ctx.mode = NOUVEAU_GRCTX_PROG;
>> @@ -265,6 +269,8 @@ nv40_graph_init(struct drm_device *dev)
>> nv_wr32(dev, NV40_PGRAPH_CTXCTL_UCODE_INDEX, 0);
>> for (i = 0; i<  ctx.ctxprog_len; i++)
>> nv_wr32(dev, NV40_PGRAPH_CTXCTL_UCODE_DATA, cp[i]);
>> +
>> +   kfree(cp);
>> }
>>
>> /* No context present currently */
>> diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c 
>> b/drivers/gpu/drm/radeon/radeon_atombios.c
>> index 1d05deb..5ad208c 100644
>> --- a/drivers/gpu/drm/radeon/radeon_atombios.c
>> +++ b/drivers/gpu/drm/radeon/radeon_atombios.c
>> @@ -682,10 +682,18 @@ bool 
>> radeon_get_atom_connector_info_from_supported_devices_table(struct
>> uint8_t dac;
>> union atom_supported_devices *supported_devices;
>> int i, j, max_device;
>> -   struct bios_connector bios_connectors[ATOM_MAX_SUPPORTED_DEVICE];
>> +   struct bios_connector *bios_connectors;
>> +   size_t bc_size = sizeof(*bios_connectors) * 
>> ATOM_MAX_SUPPORTED_DEVICE;
>>
>> -   if (!atom_parse_data_header(ctx, 
>> index,&size,&frev,&crev,&data_offset))
>> +   bios_connectors = kzalloc(bc_size, GFP_KERNEL);
>> +   if (!bios_connectors)
>> +   return false;
>> +
>> +   if (!atom_parse_data_header(ctx, index,&size,&frev,&crev,
>> +&data_offset)) {
>> +   kfree(bios_connectors);
>> return false;
>> +   }
>>
>> supported_devices =
>> (union atom_supported_devices *)(ctx->bios + data_offset);
>> @@ -853,6 +861,7 @@ bool 
>> radeon_get_atom_connector_info_from_supported_devices_table(struct
>>
>> radeon_link_encoder_connector(dev);
>>
>> +   kfree(bios_connectors);
>> return true;
>>   }
>>
>> ___
>> dri-devel mailing list
>> dri-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>>
>>  
-- next part --
An embedded and charset-unspecified text was scrubbed...
Name: drm.patch
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20100522/5f95926d/attachment.ksh>