[REGRESSION] nouveau: Resume hung after protecting against client races (MBA3,1)

2013-06-04 Thread Henrik Rydberg
Hi Ben,

The new mutexes in nvc0/nv50 (fadb17190/b509656) break resume on my
MBA3,1. A dead-lock somewhere, perhaps? Reverting fixes the problem.

Thanks,
Henrik


[REGRESSION] nouveau: Resume hung after protecting against client races (MBA3,1)

2013-06-04 Thread Henrik Rydberg
Hi Ben,

The new mutexes in nvc0/nv50 (fadb17190/b509656) break resume on my
MBA3,1. A dead-lock somewhere, perhaps? Reverting fixes the problem.

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


Linux 3.7-rc6

2012-11-22 Thread Henrik Rydberg
> Yeah, the utter lack of a vbt fits very nicely, thanks for checking,
> I've merged the patch into drm-intel-fixes and will forward it for
> inclusion into 3.7 rsn.

Great, thanks. One thing about that patch: if we would ever encounter
a non-zero edp.bpp < 3, display_bpc would not be clamped. I suppose
monochrome screens went out of fashion twenty years ago, but who
knows...

Thanks,
Henrik


Linux 3.7-rc6

2012-11-22 Thread Henrik Rydberg
Hi Daniel,

> >> My apologies for the long delay in answering, I've somehow mixed up
> >> different bugreports and thought I've sent you a patch to test
> >> already. Anyway, please test
> >>
> >> https://patchwork.kernel.org/patch/1728111/
> >
> > Tested-by: Henrik Rydberg 
> 
> Can you please boot with drm.debug=0xe added to your kernel cmdline
> with that patch applied and attach the full dmesg?

Are you looking for something in particular? The patch obviously works
because edp_bpp is never set. The reason seems to be

[1.634759] [drm:intel_parse_bios], VBT signature missing

In the source, a few lines above that message, we have something that
looks suspciciously like an off-by-one error:

/* Scour memory looking for the VBT signature */
for (i = 0; i + 4 < size; i++) {

If that matters or not, I do not know. Any more tests would have to
wait until tomorrow.

Thanks,
Henrik


Linux 3.7-rc6

2012-11-22 Thread Henrik Rydberg
Hi Daniel,

> My apologies for the long delay in answering, I've somehow mixed up
> different bugreports and thought I've sent you a patch to test
> already. Anyway, please test
> 
> https://patchwork.kernel.org/patch/1728111/

Tested-by: Henrik Rydberg 

Thanks,
Henrik


Re: Linux 3.7-rc6

2012-11-22 Thread Henrik Rydberg
Hi Daniel,

  My apologies for the long delay in answering, I've somehow mixed up
  different bugreports and thought I've sent you a patch to test
  already. Anyway, please test
 
  https://patchwork.kernel.org/patch/1728111/
 
  Tested-by: Henrik Rydberg rydb...@euromail.se
 
 Can you please boot with drm.debug=0xe added to your kernel cmdline
 with that patch applied and attach the full dmesg?

Are you looking for something in particular? The patch obviously works
because edp_bpp is never set. The reason seems to be

[1.634759] [drm:intel_parse_bios], VBT signature missing

In the source, a few lines above that message, we have something that
looks suspciciously like an off-by-one error:

/* Scour memory looking for the VBT signature */
for (i = 0; i + 4  size; i++) {

If that matters or not, I do not know. Any more tests would have to
wait until tomorrow.

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


Re: Linux 3.7-rc6

2012-11-22 Thread Henrik Rydberg
 Yeah, the utter lack of a vbt fits very nicely, thanks for checking,
 I've merged the patch into drm-intel-fixes and will forward it for
 inclusion into 3.7 rsn.

Great, thanks. One thing about that patch: if we would ever encounter
a non-zero edp.bpp  3, display_bpc would not be clamped. I suppose
monochrome screens went out of fashion twenty years ago, but who
knows...

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


Re: Linux 3.7-rc6

2012-11-22 Thread Henrik Rydberg
Hi Daniel,

 My apologies for the long delay in answering, I've somehow mixed up
 different bugreports and thought I've sent you a patch to test
 already. Anyway, please test
 
 https://patchwork.kernel.org/patch/1728111/

Tested-by: Henrik Rydberg rydb...@euromail.se

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


Linux 3.7-rc6

2012-11-21 Thread Henrik Rydberg
Hi Daniel,

> > As advertised, this patch breaks the Macbook Pro Retina, which seems
> > unfair. The patch below is certainly not the best remedy, but it does
> > work. Tested on a MacbookPro10,1.
> 
> My apologies for the long delay in answering, I've somehow mixed up
> different bugreports and thought I've sent you a patch to test
> already. Anyway, please test
> 
> https://patchwork.kernel.org/patch/1728111/

Thanks for the patch! I will try it out tomorrow and let you know.

Henrik


Re: Linux 3.7-rc6

2012-11-21 Thread Henrik Rydberg
Hi Daniel,

  As advertised, this patch breaks the Macbook Pro Retina, which seems
  unfair. The patch below is certainly not the best remedy, but it does
  work. Tested on a MacbookPro10,1.
 
 My apologies for the long delay in answering, I've somehow mixed up
 different bugreports and thought I've sent you a patch to test
 already. Anyway, please test
 
 https://patchwork.kernel.org/patch/1728111/

Thanks for the patch! I will try it out tomorrow and let you know.

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


Linux 3.7-rc6

2012-11-20 Thread Henrik Rydberg
>   drm/i915: do not ignore eDP bpc settings from vbt

As advertised, this patch breaks the Macbook Pro Retina, which seems
unfair. The patch below is certainly not the best remedy, but it does
work. Tested on a MacbookPro10,1.

Thanks,
Henrik

---

From: Henrik Rydberg <rydb...@euromail.se>
Date: Tue, 20 Nov 2012 11:16:05 +0100
Subject: [PATCH] drm/i915: Ignore eDP bpc settings from vbt based on dmi data
Status: O
Content-Length: 1637
Lines: 51

Commit 2f4f649a6 breaks the Retina display on MacBookPro10 laptops.
This patch reintroduces the logic reverted by that patch, but only
for the Retina machines.

Signed-off-by: Henrik Rydberg 
---
 drivers/gpu/drm/i915/intel_display.c | 21 -
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index 4154bcd..97658d1 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3776,6 +3776,24 @@ static inline bool intel_panel_use_ssc(struct 
drm_i915_private *dev_priv)
&& !(dev_priv->quirks & QUIRK_LVDS_SSC_DISABLE);
 }

+static int dmi_ignore_bpc_from_vbt_callback(const struct dmi_system_id *id)
+{
+   DRM_INFO("Ignoring bpc from vbt on %s\n", id->ident);
+   return 1;
+}
+
+static const struct dmi_system_id dmi_ignore_bpc_from_vbt[] = {
+   {
+   .callback = dmi_ignore_bpc_from_vbt_callback,
+   .ident = "Apple MacBook Pro Retina",
+   .matches = {
+   DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."),
+   DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro10"),
+   },
+   },
+   { } /* terminating entry */
+};
+
 /**
  * intel_choose_pipe_bpp_dither - figure out what color depth the pipe should 
send
  * @crtc: CRTC structure
@@ -3841,7 +3859,8 @@ static bool intel_choose_pipe_bpp_dither(struct drm_crtc 
*crtc,
}
}

-   if (intel_encoder->type == INTEL_OUTPUT_EDP) {
+   if (intel_encoder->type == INTEL_OUTPUT_EDP &&
+   !dmi_check_system(dmi_ignore_bpc_from_vbt)) {
/* Use VBT settings if we have an eDP panel */
unsigned int edp_bpc = dev_priv->edp.bpp / 3;

-- 
1.8.0




Re: Linux 3.7-rc6

2012-11-20 Thread Henrik Rydberg
   drm/i915: do not ignore eDP bpc settings from vbt

As advertised, this patch breaks the Macbook Pro Retina, which seems
unfair. The patch below is certainly not the best remedy, but it does
work. Tested on a MacbookPro10,1.

Thanks,
Henrik

---

From: Henrik Rydberg rydb...@euromail.se
Date: Tue, 20 Nov 2012 11:16:05 +0100
Subject: [PATCH] drm/i915: Ignore eDP bpc settings from vbt based on dmi data
Status: O
Content-Length: 1637
Lines: 51

Commit 2f4f649a6 breaks the Retina display on MacBookPro10 laptops.
This patch reintroduces the logic reverted by that patch, but only
for the Retina machines.

Signed-off-by: Henrik Rydberg rydb...@euromail.se
---
 drivers/gpu/drm/i915/intel_display.c | 21 -
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index 4154bcd..97658d1 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3776,6 +3776,24 @@ static inline bool intel_panel_use_ssc(struct 
drm_i915_private *dev_priv)
 !(dev_priv-quirks  QUIRK_LVDS_SSC_DISABLE);
 }
 
+static int dmi_ignore_bpc_from_vbt_callback(const struct dmi_system_id *id)
+{
+   DRM_INFO(Ignoring bpc from vbt on %s\n, id-ident);
+   return 1;
+}
+
+static const struct dmi_system_id dmi_ignore_bpc_from_vbt[] = {
+   {
+   .callback = dmi_ignore_bpc_from_vbt_callback,
+   .ident = Apple MacBook Pro Retina,
+   .matches = {
+   DMI_MATCH(DMI_SYS_VENDOR, Apple Inc.),
+   DMI_MATCH(DMI_PRODUCT_NAME, MacBookPro10),
+   },
+   },
+   { } /* terminating entry */
+};
+
 /**
  * intel_choose_pipe_bpp_dither - figure out what color depth the pipe should 
send
  * @crtc: CRTC structure
@@ -3841,7 +3859,8 @@ static bool intel_choose_pipe_bpp_dither(struct drm_crtc 
*crtc,
}
}
 
-   if (intel_encoder-type == INTEL_OUTPUT_EDP) {
+   if (intel_encoder-type == INTEL_OUTPUT_EDP 
+   !dmi_check_system(dmi_ignore_bpc_from_vbt)) {
/* Use VBT settings if we have an eDP panel */
unsigned int edp_bpc = dev_priv-edp.bpp / 3;
 
-- 
1.8.0


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


[REGRESSION] nouveau: Severe screen corruption on (0xaf, nv50)

2012-11-16 Thread Henrik Rydberg
On Sun, Oct 21, 2012 at 09:10:24AM +0200, Henrik Rydberg wrote:
> On Thu, Oct 18, 2012 at 11:58:09AM +0200, Henrik Rydberg wrote:
> > Hi Ben,
> > 
> > 3.7-rc1 messed up the screen on my MacBookAir3,1 (nv50, 0xaf) pretty
> > badly. Not surprisingly,
> > 
> > commit 3863c9bc887e9638a9d905d55f6038641ece78d6
> > Author: Ben Skeggs 
> > Date:   Sat Jul 14 19:09:17 2012 +1000
> > 
> > drm/nouveau/instmem: completely new implementation, as a subdev module
> > 
> > is the first bad commit. Standing on that commit, booting and then
> > starting X yields the output below. Hints are especially appreciated,
> > considering the patch is almost 8000 lines.
> 
> Going through one suspend/resume cycle makes the corruption go away,
> and there are no more errors in dmesg. Oddly enough, I have seen
> something very similar when using i915 on the MBP10. Builtin modules
> and systemd in both cases. Maybe this is a general drm issue. Any
> thoughts?

This is still a problem in Linus' tree. The screen corruption happens
during boot, in text mode, presumably in conjunction with alloction of
the nouveaufb device. It is 100% reproducible, and there is no
advanced graphics involved, just simple text console. Booting from efi
or bios does not matter. Modules are builtin.

Suspending and resuming once makes the problem go away every time.

Since this is a simple usecase, and the failing commit has been
bisected, it ought to be possible to find the problem. Unfortunately,
I am not familiar enough with the nouveau code to find the problem in
an 8000-line patch. Please help. :-)

Thanks,
Henrik


Re: [REGRESSION] nouveau: Severe screen corruption on (0xaf, nv50)

2012-11-16 Thread Henrik Rydberg
On Sun, Oct 21, 2012 at 09:10:24AM +0200, Henrik Rydberg wrote:
 On Thu, Oct 18, 2012 at 11:58:09AM +0200, Henrik Rydberg wrote:
  Hi Ben,
  
  3.7-rc1 messed up the screen on my MacBookAir3,1 (nv50, 0xaf) pretty
  badly. Not surprisingly,
  
  commit 3863c9bc887e9638a9d905d55f6038641ece78d6
  Author: Ben Skeggs bske...@redhat.com
  Date:   Sat Jul 14 19:09:17 2012 +1000
  
  drm/nouveau/instmem: completely new implementation, as a subdev module
  
  is the first bad commit. Standing on that commit, booting and then
  starting X yields the output below. Hints are especially appreciated,
  considering the patch is almost 8000 lines.
 
 Going through one suspend/resume cycle makes the corruption go away,
 and there are no more errors in dmesg. Oddly enough, I have seen
 something very similar when using i915 on the MBP10. Builtin modules
 and systemd in both cases. Maybe this is a general drm issue. Any
 thoughts?

This is still a problem in Linus' tree. The screen corruption happens
during boot, in text mode, presumably in conjunction with alloction of
the nouveaufb device. It is 100% reproducible, and there is no
advanced graphics involved, just simple text console. Booting from efi
or bios does not matter. Modules are builtin.

Suspending and resuming once makes the problem go away every time.

Since this is a simple usecase, and the failing commit has been
bisected, it ought to be possible to find the problem. Unfortunately,
I am not familiar enough with the nouveau code to find the problem in
an 8000-line patch. Please help. :-)

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


[REGRESSION] nouveau: Severe screen corruption on (0xaf, nv50)

2012-10-21 Thread Henrik Rydberg
On Thu, Oct 18, 2012 at 11:58:09AM +0200, Henrik Rydberg wrote:
> Hi Ben,
> 
> 3.7-rc1 messed up the screen on my MacBookAir3,1 (nv50, 0xaf) pretty
> badly. Not surprisingly,
> 
> commit 3863c9bc887e9638a9d905d55f6038641ece78d6
> Author: Ben Skeggs 
> Date:   Sat Jul 14 19:09:17 2012 +1000
> 
> drm/nouveau/instmem: completely new implementation, as a subdev module
> 
> is the first bad commit. Standing on that commit, booting and then
> starting X yields the output below. Hints are especially appreciated,
> considering the patch is almost 8000 lines.

Going through one suspend/resume cycle makes the corruption go away,
and there are no more errors in dmesg. Oddly enough, I have seen
something very similar when using i915 on the MBP10. Builtin modules
and systemd in both cases. Maybe this is a general drm issue. Any
thoughts?

Thanks,
Henrik


Re: [REGRESSION] nouveau: Severe screen corruption on (0xaf, nv50)

2012-10-21 Thread Henrik Rydberg
On Thu, Oct 18, 2012 at 11:58:09AM +0200, Henrik Rydberg wrote:
 Hi Ben,
 
 3.7-rc1 messed up the screen on my MacBookAir3,1 (nv50, 0xaf) pretty
 badly. Not surprisingly,
 
 commit 3863c9bc887e9638a9d905d55f6038641ece78d6
 Author: Ben Skeggs bske...@redhat.com
 Date:   Sat Jul 14 19:09:17 2012 +1000
 
 drm/nouveau/instmem: completely new implementation, as a subdev module
 
 is the first bad commit. Standing on that commit, booting and then
 starting X yields the output below. Hints are especially appreciated,
 considering the patch is almost 8000 lines.

Going through one suspend/resume cycle makes the corruption go away,
and there are no more errors in dmesg. Oddly enough, I have seen
something very similar when using i915 on the MBP10. Builtin modules
and systemd in both cases. Maybe this is a general drm issue. Any
thoughts?

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


[REGRESSION] nouveau: Severe screen corruption on (0xaf, nv50)

2012-10-18 Thread Henrik Rydberg
Hi Ben,

3.7-rc1 messed up the screen on my MacBookAir3,1 (nv50, 0xaf) pretty
badly. Not surprisingly,

commit 3863c9bc887e9638a9d905d55f6038641ece78d6
Author: Ben Skeggs 
Date:   Sat Jul 14 19:09:17 2012 +1000

drm/nouveau/instmem: completely new implementation, as a subdev module

is the first bad commit. Standing on that commit, booting and then
starting X yields the output below. Hints are especially appreciated,
considering the patch is almost 8000 lines.

Thanks,
Henrik

---

[0.611281] nouveau :02:00.0: setting latency timer to 64
[0.611291] nouveau :02:00.0: enabling device (0006 -> 0007)
[0.611861] nouveau  [  DEVICE][:02:00.0] BOOT0  : 0x0af100a2
[0.611869] nouveau  [  DEVICE][:02:00.0] Chipset: NVAF
[0.611876] nouveau  [  DEVICE][:02:00.0] Family : NV50
[0.616624] nouveau  [   VBIOS][:02:00.0] checking PRAMIN for image...
[0.697355] nouveau  [   VBIOS][:02:00.0] ... appears to be valid
[0.697364] nouveau  [   VBIOS][:02:00.0] using image from PRAMIN
[0.697541] nouveau  [   VBIOS][:02:00.0] BIT signature found
[0.697550] nouveau  [   VBIOS][:02:00.0] version 70.89.13.00
[0.800761] nouveau  [ PFB][:02:00.0] RAM type: DDR1
[0.800807] nouveau  [ PFB][:02:00.0] RAM size: 256 MiB
[0.819745] [drm] nouveau :02:00.0: Detected an NV50 generation card 
(0x0af100a2)
[0.819761] [drm] nouveau :02:00.0: BIT BIOS found
[0.819767] [drm] nouveau :02:00.0: Bios version 70.89.13.00
[0.819776] [drm] nouveau :02:00.0: TMDS table version 2.0
[0.819782] [drm] nouveau :02:00.0: MXM: no VBIOS data, nothing to do
[0.819789] [drm] nouveau :02:00.0: DCB version 4.0
[0.819795] [drm] nouveau :02:00.0: DCB outp 00: 040001b6 0f220010
[0.819801] [drm] nouveau :02:00.0: DCB outp 01: 020112a6 0f220010
[0.819807] [drm] nouveau :02:00.0: DCB outp 02: 02011262 00020010
[0.819813] [drm] nouveau :02:00.0: DCB conn 00: 2047
[0.819820] [drm] nouveau :02:00.0: DCB conn 01: 00101146
[0.822388] [drm] nouveau :02:00.0: 512 MiB GART (aperture)
[2.554491] [drm] nouveau :02:00.0: 4 available performance level(s)
[2.554502] [drm] nouveau :02:00.0: 0: core 405MHz shader 405MHz memory 
405MHz voltage 900mV
[2.554513] [drm] nouveau :02:00.0: 1: core 450MHz shader 810MHz memory 
450MHz voltage 900mV
[2.554523] [drm] nouveau :02:00.0: 2: core 450MHz shader 810MHz memory 
450MHz voltage 900mV
[2.554533] [drm] nouveau :02:00.0: 3: core 450MHz shader 950MHz memory 
450MHz voltage 900mV
[2.554542] [drm] nouveau :02:00.0: c: core 405MHz shader 810MHz
[2.780162] [drm] nouveau :02:00.0: MM: using M2MF for buffer copies
[2.867850] [drm] nouveau :02:00.0: allocated 1366x768 fb: 0x5, bo 
88006ec7c800
[2.924536] fb0: nouveaufb frame buffer device
[2.924623] [drm] Initialized nouveau 1.0.0 20120316 for :02:00.0 on 
minor 0
[6.352282] nouveau E[ PFB][:02:00.0] trapped write at 0x434180 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.354595] nouveau E[ PFB][:02:00.0] trapped write at 0x44c1c0 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.356811] nouveau E[ PFB][:02:00.0] trapped write at 0x430100 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.358992] nouveau E[ PFB][:02:00.0] trapped write at 0x438200 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.361159] nouveau E[ PFB][:02:00.0] trapped write at 0x448140 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.363304] nouveau E[ PFB][:02:00.0] trapped write at 0x430100 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.365415] nouveau E[ PFB][:02:00.0] trapped write at 0x448140 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.367474] nouveau E[ PFB][:02:00.0] trapped write at 0x438200 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.369537] nouveau E[ PFB][:02:00.0] trapped write at 0x44c1c0 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.371566] nouveau E[ PFB][:02:00.0] trapped write at 0x44c1c0 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.373570] nouveau E[ PFB][:02:00.0] trapped write at 0x448140 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.375544] nouveau E[ PFB][:02:00.0] trapped write at 0x44c1c0 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.377493] nouveau E[ PFB][:02:00.0] trapped write at 0x434180 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.379406] nouveau E[ PFB][:02:00.0] trapped write at 0x44c1c0 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.381281] nouveau E[ 

[REGRESSION] nouveau: Severe screen corruption on (0xaf, nv50)

2012-10-18 Thread Henrik Rydberg
Hi Ben,

3.7-rc1 messed up the screen on my MacBookAir3,1 (nv50, 0xaf) pretty
badly. Not surprisingly,

commit 3863c9bc887e9638a9d905d55f6038641ece78d6
Author: Ben Skeggs bske...@redhat.com
Date:   Sat Jul 14 19:09:17 2012 +1000

drm/nouveau/instmem: completely new implementation, as a subdev module

is the first bad commit. Standing on that commit, booting and then
starting X yields the output below. Hints are especially appreciated,
considering the patch is almost 8000 lines.

Thanks,
Henrik

---

[0.611281] nouveau :02:00.0: setting latency timer to 64
[0.611291] nouveau :02:00.0: enabling device (0006 - 0007)
[0.611861] nouveau  [  DEVICE][:02:00.0] BOOT0  : 0x0af100a2
[0.611869] nouveau  [  DEVICE][:02:00.0] Chipset: NVAF
[0.611876] nouveau  [  DEVICE][:02:00.0] Family : NV50
[0.616624] nouveau  [   VBIOS][:02:00.0] checking PRAMIN for image...
[0.697355] nouveau  [   VBIOS][:02:00.0] ... appears to be valid
[0.697364] nouveau  [   VBIOS][:02:00.0] using image from PRAMIN
[0.697541] nouveau  [   VBIOS][:02:00.0] BIT signature found
[0.697550] nouveau  [   VBIOS][:02:00.0] version 70.89.13.00
[0.800761] nouveau  [ PFB][:02:00.0] RAM type: DDR1
[0.800807] nouveau  [ PFB][:02:00.0] RAM size: 256 MiB
[0.819745] [drm] nouveau :02:00.0: Detected an NV50 generation card 
(0x0af100a2)
[0.819761] [drm] nouveau :02:00.0: BIT BIOS found
[0.819767] [drm] nouveau :02:00.0: Bios version 70.89.13.00
[0.819776] [drm] nouveau :02:00.0: TMDS table version 2.0
[0.819782] [drm] nouveau :02:00.0: MXM: no VBIOS data, nothing to do
[0.819789] [drm] nouveau :02:00.0: DCB version 4.0
[0.819795] [drm] nouveau :02:00.0: DCB outp 00: 040001b6 0f220010
[0.819801] [drm] nouveau :02:00.0: DCB outp 01: 020112a6 0f220010
[0.819807] [drm] nouveau :02:00.0: DCB outp 02: 02011262 00020010
[0.819813] [drm] nouveau :02:00.0: DCB conn 00: 2047
[0.819820] [drm] nouveau :02:00.0: DCB conn 01: 00101146
[0.822388] [drm] nouveau :02:00.0: 512 MiB GART (aperture)
[2.554491] [drm] nouveau :02:00.0: 4 available performance level(s)
[2.554502] [drm] nouveau :02:00.0: 0: core 405MHz shader 405MHz memory 
405MHz voltage 900mV
[2.554513] [drm] nouveau :02:00.0: 1: core 450MHz shader 810MHz memory 
450MHz voltage 900mV
[2.554523] [drm] nouveau :02:00.0: 2: core 450MHz shader 810MHz memory 
450MHz voltage 900mV
[2.554533] [drm] nouveau :02:00.0: 3: core 450MHz shader 950MHz memory 
450MHz voltage 900mV
[2.554542] [drm] nouveau :02:00.0: c: core 405MHz shader 810MHz
[2.780162] [drm] nouveau :02:00.0: MM: using M2MF for buffer copies
[2.867850] [drm] nouveau :02:00.0: allocated 1366x768 fb: 0x5, bo 
88006ec7c800
[2.924536] fb0: nouveaufb frame buffer device
[2.924623] [drm] Initialized nouveau 1.0.0 20120316 for :02:00.0 on 
minor 0
[6.352282] nouveau E[ PFB][:02:00.0] trapped write at 0x434180 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.354595] nouveau E[ PFB][:02:00.0] trapped write at 0x44c1c0 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.356811] nouveau E[ PFB][:02:00.0] trapped write at 0x430100 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.358992] nouveau E[ PFB][:02:00.0] trapped write at 0x438200 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.361159] nouveau E[ PFB][:02:00.0] trapped write at 0x448140 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.363304] nouveau E[ PFB][:02:00.0] trapped write at 0x430100 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.365415] nouveau E[ PFB][:02:00.0] trapped write at 0x448140 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.367474] nouveau E[ PFB][:02:00.0] trapped write at 0x438200 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.369537] nouveau E[ PFB][:02:00.0] trapped write at 0x44c1c0 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.371566] nouveau E[ PFB][:02:00.0] trapped write at 0x44c1c0 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.373570] nouveau E[ PFB][:02:00.0] trapped write at 0x448140 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.375544] nouveau E[ PFB][:02:00.0] trapped write at 0x44c1c0 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.377493] nouveau E[ PFB][:02:00.0] trapped write at 0x434180 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[6.379406] nouveau E[ PFB][:02:00.0] trapped write at 0x44c1c0 
on channel 0xfee0 BAR/PFIFO_WRITE/FB reason: VRAM_LIMIT
[

[PATCH] nouveau: Do not use nva3 engine for 0xaf chipset

2012-08-04 Thread Henrik Rydberg
The nva3 copy engine exhibits random memory corruption in at least one
case, the GeForce 320M (nv50, 0xaf) in the MacBookAir3,1.  This patch
omits creating the engine for the specific chipset, falling back to
M2MF, which kills the symptoms.

Signed-off-by: Henrik Rydberg 
---
Hi Ben,

this patch is still needed in 3.6-rc1, so perhaps we should apply it
after all. I have been running it without problems for a long time
now.

Thanks,
Henrik

 drivers/gpu/drm/nouveau/nouveau_state.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_state.c 
b/drivers/gpu/drm/nouveau/nouveau_state.c
index 1cdfd6e..1866dbb 100644
--- a/drivers/gpu/drm/nouveau/nouveau_state.c
+++ b/drivers/gpu/drm/nouveau/nouveau_state.c
@@ -731,7 +731,6 @@ nouveau_card_init(struct drm_device *dev)
case 0xa3:
case 0xa5:
case 0xa8:
-   case 0xaf:
nva3_copy_create(dev);
break;
}
-- 
1.7.11.4



[PATCH] nouveau: Do not use nva3 engine for 0xaf chipset

2012-08-04 Thread Henrik Rydberg
The nva3 copy engine exhibits random memory corruption in at least one
case, the GeForce 320M (nv50, 0xaf) in the MacBookAir3,1.  This patch
omits creating the engine for the specific chipset, falling back to
M2MF, which kills the symptoms.

Signed-off-by: Henrik Rydberg rydb...@euromail.se
---
Hi Ben,

this patch is still needed in 3.6-rc1, so perhaps we should apply it
after all. I have been running it without problems for a long time
now.

Thanks,
Henrik

 drivers/gpu/drm/nouveau/nouveau_state.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_state.c 
b/drivers/gpu/drm/nouveau/nouveau_state.c
index 1cdfd6e..1866dbb 100644
--- a/drivers/gpu/drm/nouveau/nouveau_state.c
+++ b/drivers/gpu/drm/nouveau/nouveau_state.c
@@ -731,7 +731,6 @@ nouveau_card_init(struct drm_device *dev)
case 0xa3:
case 0xa5:
case 0xa8:
-   case 0xaf:
nva3_copy_create(dev);
break;
}
-- 
1.7.11.4

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


Re: [REGRESSION] nouveau: Memory corruption using nva3 engine for 0xaf

2012-07-10 Thread Henrik Rydberg
On Mon, Jul 09, 2012 at 03:13:25PM +0200, Henrik Rydberg wrote:
 On Thu, Jul 05, 2012 at 10:34:10AM +0200, Henrik Rydberg wrote:
  On Thu, Jul 05, 2012 at 08:54:46AM +0200, Henrik Rydberg wrote:
Thanks for tracking down the source of this corruption.  I don't have
any such hardware, so until someone can figure it out, I think we
should apply this patch.
   
   In that case, I would have to massage the patch a bit first; it
   creates a problem with suspend/resume. Might be something with
   nva3_pm.c, who knows. I am really stabbing in the dark here. :-)
  
  It seems the suspend/resume problem is unrelated (bad systemd update),
  so I am fine with applying this as is. Obviously not the best
  solution, and if I have time I will continue to look for problems in
  the nva3 copy code, but for now,
  
  Signed-off-by: Henrik Rydberg rydb...@euromail.se
 
 I have not encountered the problem in a long while, and I do not have
 the patch applied. It is entirely possible that this was fixed by
 something else. Unless you have already applied the patch, I would
 suggest holding on to it to see if the problem reappears.
 
 Sorry for the churn.

... and there it was again, hours after giving up on it. Oh well.

What makes this bug particularly difficult is that as soon as the
patch is applied, the problem disappears and does not show itself
again - with or without the patch applied. Sounds very much like the
problem is a failure state that does not get reset by current
mainline, but somehow gets reset with the patch applied.

I also learnt that the problem is not in the nva3_copy code itself; I
reverted nva3_copy.c and nva3_pm.c back to v3.4, but the problem persisted.

A DMA problem elsewhere, in the drm code or in the pci layer, seems
more likely than this particular hardware having problems with this
particular copy engine. As it stands, though, applying the patch is
the only thing known to work.

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


[REGRESSION] nouveau: Memory corruption using nva3 engine for 0xaf

2012-07-09 Thread Henrik Rydberg
On Mon, Jul 09, 2012 at 03:13:25PM +0200, Henrik Rydberg wrote:
> On Thu, Jul 05, 2012 at 10:34:10AM +0200, Henrik Rydberg wrote:
> > On Thu, Jul 05, 2012 at 08:54:46AM +0200, Henrik Rydberg wrote:
> > > > Thanks for tracking down the source of this corruption.  I don't have
> > > > any such hardware, so until someone can figure it out, I think we
> > > > should apply this patch.
> > > 
> > > In that case, I would have to massage the patch a bit first; it
> > > creates a problem with suspend/resume. Might be something with
> > > nva3_pm.c, who knows. I am really stabbing in the dark here. :-)
> > 
> > It seems the suspend/resume problem is unrelated (bad systemd update),
> > so I am fine with applying this as is. Obviously not the best
> > solution, and if I have time I will continue to look for problems in
> > the nva3 copy code, but for now,
> > 
> > Signed-off-by: Henrik Rydberg 
> 
> I have not encountered the problem in a long while, and I do not have
> the patch applied. It is entirely possible that this was fixed by
> something else. Unless you have already applied the patch, I would
> suggest holding on to it to see if the problem reappears.
> 
> Sorry for the churn.

... and there it was again, hours after giving up on it. Oh well.

What makes this bug particularly difficult is that as soon as the
patch is applied, the problem disappears and does not show itself
again - with or without the patch applied. Sounds very much like the
problem is a failure state that does not get reset by current
mainline, but somehow gets reset with the patch applied.

I also learnt that the problem is not in the nva3_copy code itself; I
reverted nva3_copy.c and nva3_pm.c back to v3.4, but the problem persisted.

A DMA problem elsewhere, in the drm code or in the pci layer, seems
more likely than this particular hardware having problems with this
particular copy engine. As it stands, though, applying the patch is
the only thing known to work.

Thanks,
Henrik


[REGRESSION] nouveau: Memory corruption using nva3 engine for 0xaf

2012-07-09 Thread Henrik Rydberg
On Thu, Jul 05, 2012 at 10:34:10AM +0200, Henrik Rydberg wrote:
> On Thu, Jul 05, 2012 at 08:54:46AM +0200, Henrik Rydberg wrote:
> > > Thanks for tracking down the source of this corruption.  I don't have
> > > any such hardware, so until someone can figure it out, I think we
> > > should apply this patch.
> > 
> > In that case, I would have to massage the patch a bit first; it
> > creates a problem with suspend/resume. Might be something with
> > nva3_pm.c, who knows. I am really stabbing in the dark here. :-)
> 
> It seems the suspend/resume problem is unrelated (bad systemd update),
> so I am fine with applying this as is. Obviously not the best
> solution, and if I have time I will continue to look for problems in
> the nva3 copy code, but for now,
> 
> Signed-off-by: Henrik Rydberg 

I have not encountered the problem in a long while, and I do not have
the patch applied. It is entirely possible that this was fixed by
something else. Unless you have already applied the patch, I would
suggest holding on to it to see if the problem reappears.

Sorry for the churn.

Thanks,
Henrik


Re: [REGRESSION] nouveau: Memory corruption using nva3 engine for 0xaf

2012-07-09 Thread Henrik Rydberg
On Thu, Jul 05, 2012 at 10:34:10AM +0200, Henrik Rydberg wrote:
 On Thu, Jul 05, 2012 at 08:54:46AM +0200, Henrik Rydberg wrote:
   Thanks for tracking down the source of this corruption.  I don't have
   any such hardware, so until someone can figure it out, I think we
   should apply this patch.
  
  In that case, I would have to massage the patch a bit first; it
  creates a problem with suspend/resume. Might be something with
  nva3_pm.c, who knows. I am really stabbing in the dark here. :-)
 
 It seems the suspend/resume problem is unrelated (bad systemd update),
 so I am fine with applying this as is. Obviously not the best
 solution, and if I have time I will continue to look for problems in
 the nva3 copy code, but for now,
 
 Signed-off-by: Henrik Rydberg rydb...@euromail.se

I have not encountered the problem in a long while, and I do not have
the patch applied. It is entirely possible that this was fixed by
something else. Unless you have already applied the patch, I would
suggest holding on to it to see if the problem reappears.

Sorry for the churn.

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


[REGRESSION] nouveau: Memory corruption using nva3 engine for 0xaf

2012-07-05 Thread Henrik Rydberg
On Thu, Jul 05, 2012 at 08:54:46AM +0200, Henrik Rydberg wrote:
> > Thanks for tracking down the source of this corruption.  I don't have
> > any such hardware, so until someone can figure it out, I think we
> > should apply this patch.
> 
> In that case, I would have to massage the patch a bit first; it
> creates a problem with suspend/resume. Might be something with
> nva3_pm.c, who knows. I am really stabbing in the dark here. :-)

It seems the suspend/resume problem is unrelated (bad systemd update),
so I am fine with applying this as is. Obviously not the best
solution, and if I have time I will continue to look for problems in
the nva3 copy code, but for now,

    Signed-off-by: Henrik Rydberg 

Thanks,
Henrik


[REGRESSION] nouveau: Memory corruption using nva3 engine for 0xaf

2012-07-05 Thread Henrik Rydberg
> Thanks for tracking down the source of this corruption.  I don't have
> any such hardware, so until someone can figure it out, I think we
> should apply this patch.

In that case, I would have to massage the patch a bit first; it
creates a problem with suspend/resume. Might be something with
nva3_pm.c, who knows. I am really stabbing in the dark here. :-)

Thanks,
Henrik


[REGRESSION] nouveau: Memory corruption using nva3 engine for 0xaf

2012-07-05 Thread Henrik Rydberg
Hi Ben, Dave,

Since 3.5-rc0, I have been experiencing occasional screen corruption
on my MacBookAir3,1, using a GeForce 320M (nv50, 0xaf). The X driver
version is xf86-video-nouvea-1.0.1-1 (arch).

I do not know what the root problem is, but I have been able to
isolate the symptoms to the usage of nva3_copy.c. The patch below is
the least intrusive way I could find which kills the symptoms.

Hopefully this will sched some light on the true problem, such that a
fix can be found for 3.5.

Thanks,
Henrik

The nva3 copy engine exhibits random memory corruption in at least one
case, the GeForce 320M (nv50, 0xaf) in the MacBookAir3,1.  This patch
omits creating the engine for the specific chipset, falling back to
M2MF, which kills the symptoms.
---
 drivers/gpu/drm/nouveau/nouveau_state.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_state.c 
b/drivers/gpu/drm/nouveau/nouveau_state.c
index 19706f0..b466937 100644
--- a/drivers/gpu/drm/nouveau/nouveau_state.c
+++ b/drivers/gpu/drm/nouveau/nouveau_state.c
@@ -731,7 +731,6 @@ nouveau_card_init(struct drm_device *dev)
case 0xa3:
case 0xa5:
case 0xa8:
-   case 0xaf:
nva3_copy_create(dev);
break;
}



[REGRESSION] nouveau: Memory corruption using nva3 engine for 0xaf

2012-07-05 Thread Henrik Rydberg
Hi Ben, Dave,

Since 3.5-rc0, I have been experiencing occasional screen corruption
on my MacBookAir3,1, using a GeForce 320M (nv50, 0xaf). The X driver
version is xf86-video-nouvea-1.0.1-1 (arch).

I do not know what the root problem is, but I have been able to
isolate the symptoms to the usage of nva3_copy.c. The patch below is
the least intrusive way I could find which kills the symptoms.

Hopefully this will sched some light on the true problem, such that a
fix can be found for 3.5.

Thanks,
Henrik

The nva3 copy engine exhibits random memory corruption in at least one
case, the GeForce 320M (nv50, 0xaf) in the MacBookAir3,1.  This patch
omits creating the engine for the specific chipset, falling back to
M2MF, which kills the symptoms.
---
 drivers/gpu/drm/nouveau/nouveau_state.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_state.c 
b/drivers/gpu/drm/nouveau/nouveau_state.c
index 19706f0..b466937 100644
--- a/drivers/gpu/drm/nouveau/nouveau_state.c
+++ b/drivers/gpu/drm/nouveau/nouveau_state.c
@@ -731,7 +731,6 @@ nouveau_card_init(struct drm_device *dev)
case 0xa3:
case 0xa5:
case 0xa8:
-   case 0xaf:
nva3_copy_create(dev);
break;
}

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


Re: [REGRESSION] nouveau: Memory corruption using nva3 engine for 0xaf

2012-07-05 Thread Henrik Rydberg
 Thanks for tracking down the source of this corruption.  I don't have
 any such hardware, so until someone can figure it out, I think we
 should apply this patch.

In that case, I would have to massage the patch a bit first; it
creates a problem with suspend/resume. Might be something with
nva3_pm.c, who knows. I am really stabbing in the dark here. :-)

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


Re: [REGRESSION] nouveau: Memory corruption using nva3 engine for 0xaf

2012-07-05 Thread Henrik Rydberg
On Thu, Jul 05, 2012 at 08:54:46AM +0200, Henrik Rydberg wrote:
  Thanks for tracking down the source of this corruption.  I don't have
  any such hardware, so until someone can figure it out, I think we
  should apply this patch.
 
 In that case, I would have to massage the patch a bit first; it
 creates a problem with suspend/resume. Might be something with
 nva3_pm.c, who knows. I am really stabbing in the dark here. :-)

It seems the suspend/resume problem is unrelated (bad systemd update),
so I am fine with applying this as is. Obviously not the best
solution, and if I have time I will continue to look for problems in
the nva3 copy code, but for now,

Signed-off-by: Henrik Rydberg rydb...@euromail.se

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


[git pull] drm fixes

2012-06-27 Thread Henrik Rydberg
Hi Dave,

> just two changes, one udl endian fix, one nouveau memory corruption on 
> some GPUs.

I have been tracking an elusive memory corruption bug appearing on my
MacBookAir3,1 (nv50) since -rc0, but unfortunately it seems to be
different from the one fixed here. The problem is of the random kind,
which made bisection tricky. It seems the patch below fixes the
symptoms, but I have no idea why:

diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c 
b/drivers/gpu/drm/nouveau/nouveau_bo.c
index 7f80ed5..bff34f4 100644
--- a/drivers/gpu/drm/nouveau/nouveau_bo.c
+++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
@@ -935,7 +935,6 @@ nouveau_bo_move_init(struct nouveau_channel *chan)
{  "COPY", 0, 0xa0b5, nve0_bo_move_copy, nvc0_bo_move_init },
{ "COPY1", 5, 0x90b8, nvc0_bo_move_copy, nvc0_bo_move_init },
{ "COPY0", 4, 0x90b5, nvc0_bo_move_copy, nvc0_bo_move_init },
-   {  "COPY", 0, 0x85b5, nva3_bo_move_copy, nv50_bo_move_init },
{ "CRYPT", 0, 0x74c1, nv84_bo_move_exec, nv50_bo_move_init },
{  "M2MF", 0, 0x9039, nvc0_bo_move_m2mf, nvc0_bo_move_init },
{  "M2MF", 0, 0x5039, nv50_bo_move_m2mf, nv50_bo_move_init },

With the patch applied, the log shows this:

Jun 27 07:01:15 polaris kernel: [drm] nouveau :02:00.0: MM: using M2MF for 
buffer copies

Without the patch applied, when the problem appears, the log shows this:

Jun 27 06:50:34 polaris kernel: [drm] nouveau :02:00.0: MM: using COPY for 
buffer copies

As I start X, and when the stars are in the right position, I get a bunch of 
errors like these:

Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP_M2MF 
IN
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP_M2MF 
00320251 203afd00  04000e00
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - ch 2 
(0x829000) subc 0 class 0x5039 mthd 0x0328 data 0x
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: VM: trapped read at 
0x00203abe80 on ch 2 [0x0829] PGRAPH/DISPATCH/M2M_IN reason: VRAM_LIMIT
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP_M2MF 
IN
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP_M2MF 
00320151 40442000  0400
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - ch 2 
(0x829000) subc 0 class 0x5039 mthd 0x0328 data 0x
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: VM: trapped read at 
0x004041 on ch 2 [0x0829] PGRAPH/DISPATCH/M2M_IN reason: NULL_DMAOBJ
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP_M2MF 
IN
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP_M2MF 
00320251 203c7600  04000e00
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - ch 2 
(0x829000) subc 0 class 0x5039 mthd 0x0328 data 0x
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: VM: trapped read at 
0x00203c3780 on ch 2 [0x0829] PGRAPH/DISPATCH/M2M_IN reason: VRAM_LIMIT
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP_M2MF 
IN
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP_M2MF 
00320151 40855000  0400
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - ch 2 
(0x829000) subc 0 class 0x5039 mthd 0x0328 data 0x
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: VM: trapped read at 
0x004082 on ch 2 [0x0829] PGRAPH/DISPATCH/M2M_IN reason: NULL_DMAOBJ
Jun 27 06:51:53 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP_M2MF 
OUT
Jun 27 06:51:53 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP_M2MF 
00340241 2014bb80  05000e00
Jun 27 06:51:53 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP
Jun 27 06:51:53 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - ch 2 
(0x829000) subc 0 class 0x5039 mthd 0x0328 data 0x
Jun 27 06:51:53 polaris kernel: [drm] nouveau :02:00.0: VM: trapped write 
at 0x002014ad00 on ch 2 [0x0829] PGRAPH/DISPATCH/M2M_OUT reason: VRAM_LIMIT
Jun 27 06:51:53 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP_M2MF 
OUT
Jun 27 06:51:53 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP_M2MF 
00340241 2014bb80  05000e00
Jun 27 06:51:53 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP
Jun 27 06:51:53 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - ch 2 
(0x829000) subc 0 class 0x5039 mthd 0x0328 data 0x
Jun 27 06:51:53 polaris kernel: [drm] nouveau :02:00.0: VM: trapped write 
at 0x00201770f0 on ch 2 

Re: [git pull] drm fixes

2012-06-27 Thread Henrik Rydberg
Hi Dave,

 just two changes, one udl endian fix, one nouveau memory corruption on 
 some GPUs.

I have been tracking an elusive memory corruption bug appearing on my
MacBookAir3,1 (nv50) since -rc0, but unfortunately it seems to be
different from the one fixed here. The problem is of the random kind,
which made bisection tricky. It seems the patch below fixes the
symptoms, but I have no idea why:

diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c 
b/drivers/gpu/drm/nouveau/nouveau_bo.c
index 7f80ed5..bff34f4 100644
--- a/drivers/gpu/drm/nouveau/nouveau_bo.c
+++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
@@ -935,7 +935,6 @@ nouveau_bo_move_init(struct nouveau_channel *chan)
{  COPY, 0, 0xa0b5, nve0_bo_move_copy, nvc0_bo_move_init },
{ COPY1, 5, 0x90b8, nvc0_bo_move_copy, nvc0_bo_move_init },
{ COPY0, 4, 0x90b5, nvc0_bo_move_copy, nvc0_bo_move_init },
-   {  COPY, 0, 0x85b5, nva3_bo_move_copy, nv50_bo_move_init },
{ CRYPT, 0, 0x74c1, nv84_bo_move_exec, nv50_bo_move_init },
{  M2MF, 0, 0x9039, nvc0_bo_move_m2mf, nvc0_bo_move_init },
{  M2MF, 0, 0x5039, nv50_bo_move_m2mf, nv50_bo_move_init },

With the patch applied, the log shows this:

Jun 27 07:01:15 polaris kernel: [drm] nouveau :02:00.0: MM: using M2MF for 
buffer copies

Without the patch applied, when the problem appears, the log shows this:

Jun 27 06:50:34 polaris kernel: [drm] nouveau :02:00.0: MM: using COPY for 
buffer copies

As I start X, and when the stars are in the right position, I get a bunch of 
errors like these:

Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP_M2MF 
IN
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP_M2MF 
00320251 203afd00  04000e00
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - ch 2 
(0x829000) subc 0 class 0x5039 mthd 0x0328 data 0x
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: VM: trapped read at 
0x00203abe80 on ch 2 [0x0829] PGRAPH/DISPATCH/M2M_IN reason: VRAM_LIMIT
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP_M2MF 
IN
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP_M2MF 
00320151 40442000  0400
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - ch 2 
(0x829000) subc 0 class 0x5039 mthd 0x0328 data 0x
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: VM: trapped read at 
0x004041 on ch 2 [0x0829] PGRAPH/DISPATCH/M2M_IN reason: NULL_DMAOBJ
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP_M2MF 
IN
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP_M2MF 
00320251 203c7600  04000e00
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - ch 2 
(0x829000) subc 0 class 0x5039 mthd 0x0328 data 0x
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: VM: trapped read at 
0x00203c3780 on ch 2 [0x0829] PGRAPH/DISPATCH/M2M_IN reason: VRAM_LIMIT
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP_M2MF 
IN
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP_M2MF 
00320151 40855000  0400
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - ch 2 
(0x829000) subc 0 class 0x5039 mthd 0x0328 data 0x
Jun 27 06:51:52 polaris kernel: [drm] nouveau :02:00.0: VM: trapped read at 
0x004082 on ch 2 [0x0829] PGRAPH/DISPATCH/M2M_IN reason: NULL_DMAOBJ
Jun 27 06:51:53 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP_M2MF 
OUT
Jun 27 06:51:53 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP_M2MF 
00340241 2014bb80  05000e00
Jun 27 06:51:53 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP
Jun 27 06:51:53 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - ch 2 
(0x829000) subc 0 class 0x5039 mthd 0x0328 data 0x
Jun 27 06:51:53 polaris kernel: [drm] nouveau :02:00.0: VM: trapped write 
at 0x002014ad00 on ch 2 [0x0829] PGRAPH/DISPATCH/M2M_OUT reason: VRAM_LIMIT
Jun 27 06:51:53 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP_M2MF 
OUT
Jun 27 06:51:53 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP_M2MF 
00340241 2014bb80  05000e00
Jun 27 06:51:53 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - TRAP
Jun 27 06:51:53 polaris kernel: [drm] nouveau :02:00.0: PGRAPH - ch 2 
(0x829000) subc 0 class 0x5039 mthd 0x0328 data 0x
Jun 27 06:51:53 polaris kernel: [drm] nouveau :02:00.0: VM: trapped write 
at 0x00201770f0 on ch 2 [0x0829] 

[PATCH] nouveau: Set special lane map for the right chipset

2012-04-13 Thread Henrik Rydberg
The refactoring of the nv50 logic, introduced in 8663bc7c, modified the
test for the special lane map used on some Apple computers with Nvidia
chipsets. The tested MBA3,1 would still boot, but resume from suspend
stopped working. This patch restores the old test, which fixes the problem.

Signed-off-by: Henrik Rydberg 
---
Hi Dave,

This patch fixes a regression in 3.4, tested against -rc2. Resending
for your convenience, in case it got lost.

Thanks,
Henrik

 drivers/gpu/drm/nouveau/nv50_sor.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/nouveau/nv50_sor.c 
b/drivers/gpu/drm/nouveau/nv50_sor.c
index a7844ab..2746402 100644
--- a/drivers/gpu/drm/nouveau/nv50_sor.c
+++ b/drivers/gpu/drm/nouveau/nv50_sor.c
@@ -42,7 +42,7 @@ nv50_sor_dp_lane_map(struct drm_device *dev, struct dcb_entry 
*dcb, u8 lane)
struct drm_nouveau_private *dev_priv = dev->dev_private;
static const u8 nvaf[] = { 24, 16, 8, 0 }; /* thanks, apple.. */
static const u8 nv50[] = { 16, 8, 0, 24 };
-   if (dev_priv->card_type == 0xaf)
+   if (dev_priv->chipset == 0xaf)
return nvaf[lane];
return nv50[lane];
 }
-- 
1.7.9.5



[PATCH] nouveau: Set special lane map for the right chipset

2012-04-12 Thread Henrik Rydberg
The refactoring of the nv50 logic, introduced in 8663bc7c, modified the
test for the special lane map used on some Apple computers with Nvidia
chipsets. The tested MBA3,1 would still boot, but resume from suspend
stopped working. This patch restores the old test, which fixes the problem.

Signed-off-by: Henrik Rydberg rydb...@euromail.se
---
Hi Dave,

This patch fixes a regression in 3.4, tested against -rc2. Resending
for your convenience, in case it got lost.

Thanks,
Henrik

 drivers/gpu/drm/nouveau/nv50_sor.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/nouveau/nv50_sor.c 
b/drivers/gpu/drm/nouveau/nv50_sor.c
index a7844ab..2746402 100644
--- a/drivers/gpu/drm/nouveau/nv50_sor.c
+++ b/drivers/gpu/drm/nouveau/nv50_sor.c
@@ -42,7 +42,7 @@ nv50_sor_dp_lane_map(struct drm_device *dev, struct dcb_entry 
*dcb, u8 lane)
struct drm_nouveau_private *dev_priv = dev-dev_private;
static const u8 nvaf[] = { 24, 16, 8, 0 }; /* thanks, apple.. */
static const u8 nv50[] = { 16, 8, 0, 24 };
-   if (dev_priv-card_type == 0xaf)
+   if (dev_priv-chipset == 0xaf)
return nvaf[lane];
return nv50[lane];
 }
-- 
1.7.9.5

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


[PATCH] nouveau: Set special lane map for the right chipset

2012-04-09 Thread Henrik Rydberg
The refactoring of the nv50 logic, introduced in 8663bc7c, modified the
test for the special lane map used on some Apple computers with Nvidia
chipsets. The tested MBA3,1 would still boot, but resume from suspend
stopped working. This patch restores the old test, which fixes the problem.

Signed-off-by: Henrik Rydberg 
---
 drivers/gpu/drm/nouveau/nv50_sor.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/nouveau/nv50_sor.c 
b/drivers/gpu/drm/nouveau/nv50_sor.c
index a7844ab..2746402 100644
--- a/drivers/gpu/drm/nouveau/nv50_sor.c
+++ b/drivers/gpu/drm/nouveau/nv50_sor.c
@@ -42,7 +42,7 @@ nv50_sor_dp_lane_map(struct drm_device *dev, struct dcb_entry 
*dcb, u8 lane)
struct drm_nouveau_private *dev_priv = dev->dev_private;
static const u8 nvaf[] = { 24, 16, 8, 0 }; /* thanks, apple.. */
static const u8 nv50[] = { 16, 8, 0, 24 };
-   if (dev_priv->card_type == 0xaf)
+   if (dev_priv->chipset == 0xaf)
return nvaf[lane];
return nv50[lane];
 }
-- 
1.7.9.5



[PATCH] nouveau: Set special lane map for the right chipset

2012-04-09 Thread Henrik Rydberg
The refactoring of the nv50 logic, introduced in 8663bc7c, modified the
test for the special lane map used on some Apple computers with Nvidia
chipsets. The tested MBA3,1 would still boot, but resume from suspend
stopped working. This patch restores the old test, which fixes the problem.

Signed-off-by: Henrik Rydberg rydb...@euromail.se
---
 drivers/gpu/drm/nouveau/nv50_sor.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/nouveau/nv50_sor.c 
b/drivers/gpu/drm/nouveau/nv50_sor.c
index a7844ab..2746402 100644
--- a/drivers/gpu/drm/nouveau/nv50_sor.c
+++ b/drivers/gpu/drm/nouveau/nv50_sor.c
@@ -42,7 +42,7 @@ nv50_sor_dp_lane_map(struct drm_device *dev, struct dcb_entry 
*dcb, u8 lane)
struct drm_nouveau_private *dev_priv = dev-dev_private;
static const u8 nvaf[] = { 24, 16, 8, 0 }; /* thanks, apple.. */
static const u8 nv50[] = { 16, 8, 0, 24 };
-   if (dev_priv-card_type == 0xaf)
+   if (dev_priv-chipset == 0xaf)
return nvaf[lane];
return nv50[lane];
 }
-- 
1.7.9.5

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