Re: 3.5-rc5: radeon acceleration regression on Transmeta system

2012-07-05 Thread Dave Airlie
On Thu, Jul 5, 2012 at 8:00 AM, Meelis Roos  wrote:
> In 2.6.32, radeon worked fine.
>
> In 3.4, radeon worked with a glitch - window titles were see-throug (not
> drawn). In 3.5-rc5, radeon driver seems to be more careful and disables
> acceleration on this system at all. Full dmesg below.

Does it always do it the same? got the dmesg from 3.4 and/or 2.6.32?

if I had to guess something broke in the dma area elsewhere, but not sure.

Dave.
___
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


[Bug 44121] Reproducible GPU lockup CP stall on Radeon HD 6450

2012-07-05 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=44121





--- Comment #13 from Jean Delvare   2012-07-05 07:30:03 ---
Reproducibility information:

* I cannot reproduce the GPU lockup on a Radeon HD 4350 card.

* On the Radeon HD 6450, I can reproduce the GPU lockup with applications other
than Firefox. I was able to do so with Claws Mail for example. The parent
window has to be maximized for it to happen. Then, as soon as a title-less
dialog box is opened (for example by pressing Ctrl+S for "Save As..."), the GPU
lockup happens.

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


3.5-rc5: radeon acceleration regression on Transmeta system

2012-07-05 Thread Meelis Roos
In 2.6.32, radeon worked fine.

In 3.4, radeon worked with a glitch - window titles were see-throug (not 
drawn). In 3.5-rc5, radeon driver seems to be more careful and disables 
acceleration on this system at all. Full dmesg below.

Fujitsu Lifebook P series, 256M RAM, 239 usable.

[0.00] Initializing cgroup subsys cpu
[0.00] Linux version 3.5.0-rc5-00098-g9e85a6f (mroos@raamat) (gcc 
version 4.4.5 (Debian 4.4.5-8) ) #61 Thu Jul 5 04:17:43 EEST 2012
[0.00] e820: BIOS-provided physical RAM map:
[0.00] BIOS-e820: [mem 0x-0x0009bfff] usable
[0.00] BIOS-e820: [mem 0x0009c000-0x0009] reserved
[0.00] BIOS-e820: [mem 0x000e8000-0x000f] reserved
[0.00] BIOS-e820: [mem 0x0010-0x0efd] usable
[0.00] BIOS-e820: [mem 0x0efe-0x0efefbff] ACPI data
[0.00] BIOS-e820: [mem 0x0efefc00-0x0efe] ACPI NVS
[0.00] BIOS-e820: [mem 0x0eff-0x0f0f] reserved
[0.00] BIOS-e820: [mem 0xfff0-0x] reserved
[0.00] Notice: NX (Execute Disable) protection missing in CPU!
[0.00] DMI 2.3 present.
[0.00] DMI: FUJITSU LifeBook P Series/FJNB164, BIOS Version 1.08  
02/24/2005
[0.00] e820: update [mem 0x-0x] usable ==> reserved
[0.00] e820: remove [mem 0x000a-0x000f] usable
[0.00] e820: last_pfn = 0xefe0 max_arch_pfn = 0x10
[0.00] initial memory mapped: [mem 0x-0x017f]
[0.00] Base memory trampoline at [c0098000] 98000 size 16384
[0.00] init_memory_mapping: [mem 0x-0x0efd]
[0.00]  [mem 0x-0x003f] page 4k
[0.00]  [mem 0x0040-0x0ebf] page 2M
[0.00]  [mem 0x0ec0-0x0efd] page 4k
[0.00] kernel direct mapping tables up to 0xefd @ [mem 
0x017fa000-0x017f]
[0.00] ACPI: RSDP 000f70a0 00014 (v00 FUJ   )
[0.00] ACPI: RSDT 0efedad0 0002C (v01 FUJMOMUS3   0108 FUJ  
1000)
[0.00] ACPI: FACP 0efefa92 00074 (v01 FUJMOMUS3   0108 FUJ  
1000)
[0.00] ACPI: DSDT 0efedafc 01F96 (v01 FUJMOMUS3   0108 MSFT 
0107)
[0.00] ACPI: FACS 0efeffc0 00040
[0.00] ACPI: SSDT 0efefb06 000FA (v01 PTLTD  ACPIPST1 0001 PTL  
0001)
[0.00] 239MB LOWMEM available.
[0.00]   mapped low ram: 0 - 0efe
[0.00]   low ram: 0 - 0efe
[0.00] Zone ranges:
[0.00]   DMA  [mem 0x0001-0x00ff]
[0.00]   Normal   [mem 0x0100-0x0efd]
[0.00] Movable zone start for each node
[0.00] Early memory node ranges
[0.00]   node   0: [mem 0x0001-0x0009bfff]
[0.00]   node   0: [mem 0x0010-0x0efd]
[0.00] On node 0 totalpages: 61292
[0.00] free_area_init_node: node 0, pgdat c12ff888, node_mem_map 
cee00200
[0.00]   DMA zone: 32 pages used for memmap
[0.00]   DMA zone: 0 pages reserved
[0.00]   DMA zone: 3948 pages, LIFO batch:0
[0.00]   Normal zone: 448 pages used for memmap
[0.00]   Normal zone: 56864 pages, LIFO batch:15
[0.00] ACPI: PM-Timer IO Port: 0xff08
[0.00] PM: Registered nosave memory: 0009c000 - 000a
[0.00] PM: Registered nosave memory: 000a - 000e8000
[0.00] PM: Registered nosave memory: 000e8000 - 0010
[0.00] e820: [mem 0x0f10-0xffef] available for PCI devices
[0.00] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[0.00] pcpu-alloc: [0] 0 
[0.00] Built 1 zonelists in Zone order, mobility grouping on.  Total 
pages: 60812
[0.00] Kernel command line: 
BOOT_IMAGE=/boot/vmlinuz-3.5.0-rc5-00098-g9e85a6f root=/dev/sda1 ro debug 
radeon.modeset=1
[0.00] PID hash table entries: 1024 (order: 0, 4096 bytes)
[0.00] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[0.00] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[0.00] __ex_table already sorted, skipping sort
[0.00] Initializing CPU#0
[0.00] Memory: 239300k/245632k available (2103k kernel code, 5868k 
reserved, 984k data, 284k init, 0k highmem)
[0.00] virtual kernel memory layout:
[0.00] fixmap  : 0xfffe4000 - 0xf000   ( 108 kB)
[0.00] vmalloc : 0xcf7e - 0xfffe2000   ( 776 MB)
[0.00] lowmem  : 0xc000 - 0xcefe   ( 239 MB)
[0.00]   .init : 0xc1305000 - 0xc134c000   ( 284 kB)
[0.00]   .data : 0xc120de7e - 0xc13040c0   ( 984 kB)
[0.00]   .text : 0xc100 - 0xc120de7e   (2103 kB)
[0.00] Checking if this processor honours the WP bit even in supervisor 
mode...Ok.
[0.00] NR_IRQS:16 nr_irqs:16 16
[0.00] CPU 0 irqstacks, hard=ce806

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 

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


Re: [Intel-gfx] [PATCH 2/6] drm/i915: Check framebuffer stride more thoroughly

2012-07-05 Thread Daniel Vetter
On Thu, May 24, 2012 at 09:08:55PM +0300, ville.syrj...@linux.intel.com wrote:
> From: Ville Syrjälä 
> 
> Make sure the the framebuffer stride is smaller than the maximum
> accepted by any plane.
> 
> Also when using a tiled memory make sure the object stride matches
> the framebuffer stride.
> 
> Signed-off-by: Ville Syrjälä 
> ---
>  drivers/gpu/drm/i915/intel_display.c |   18 ++
>  1 files changed, 18 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c 
> b/drivers/gpu/drm/i915/intel_display.c
> index 7cf639c..8fea475 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -6643,6 +6643,17 @@ static const struct drm_framebuffer_funcs 
> intel_fb_funcs = {
>   .create_handle = intel_user_framebuffer_create_handle,
>  };
>  
> +static unsigned int intel_max_fb_stride(const struct drm_device *dev)
> +{
> + /* FIXME: BSpec for pre-Gen5 is a bit unclear on stride limits */
> + if (INTEL_INFO(dev)->gen <= 3)
> + return 8192;

8k pitch limit is gen2, gen3 can have a 4kx4k framebuffer @32bit.
-Daniel

> + else if (INTEL_INFO(dev)->gen <= 4)
> + return 16384;

Iirc gen4 can also do 32k, see the pixel-based limits in
intel_modset_init.

> + else
> + return 32768;
> +}
> +
>  int intel_framebuffer_init(struct drm_device *dev,
>  struct intel_framebuffer *intel_fb,
>  struct drm_mode_fb_cmd2 *mode_cmd,
> @@ -6656,6 +6667,13 @@ int intel_framebuffer_init(struct drm_device *dev,
>   if (mode_cmd->pitches[0] & 63)
>   return -EINVAL;
>  
> + if (mode_cmd->pitches[0] > intel_max_fb_stride(dev))
> + return -EINVAL;
> +
> + if (obj->tiling_mode != I915_TILING_NONE &&
> + mode_cmd->pitches[0] != obj->stride)
> + return -EINVAL;
> +
>   /* Reject formats not supported by any plane early. */
>   switch (mode_cmd->pixel_format) {
>   case DRM_FORMAT_C8:
> -- 
> 1.7.3.4
> 
> ___
> Intel-gfx mailing list
> intel-...@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Mail: dan...@ffwll.ch
Mobile: +41 (0)79 365 57 48
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [Intel-gfx] [PATCH 3/6] drm/i915: Zero initialize mode_cmd

2012-07-05 Thread Daniel Vetter
On Thu, May 24, 2012 at 09:08:56PM +0300, ville.syrj...@linux.intel.com wrote:
> From: Ville Syrjälä 
> 
> Zero initialize the mode_cmd structure when creating the kernel
> framebuffer. Avoids having uninitialized data in offsets[0] for
> instance.
> 
> Signed-off-by: Ville Syrjälä 
Queued for -next, thanks for the patch.
-Daniel
-- 
Daniel Vetter
Mail: dan...@ffwll.ch
Mobile: +41 (0)79 365 57 48
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [Intel-gfx] [PATCH 5/6] drm/i915: Handle framebuffer offsets[]

2012-07-05 Thread Daniel Vetter
On Thu, May 24, 2012 at 09:01:24PM +0200, Daniel Vetter wrote:
> On Thu, May 24, 2012 at 09:49:15PM +0300, Ville Syrjälä wrote:
> > On Thu, May 24, 2012 at 11:31:32AM -0700, Jesse Barnes wrote:
> > > On Thu, 24 May 2012 21:08:58 +0300
> > > ville.syrj...@linux.intel.com wrote:
> > > 
> > > > From: Ville Syrjälä 
> > > > 
> > > > Take fb->offset[0] into account when calculating the linear and tile x/y
> > > > offsets.
> > > > 
> > > > For non-tiled surfaces fb->offset[0] is simply added to the linear
> > > > byte offset.
> > > > 
> > > > For tiled surfaces treat fb->offsets[0] as a byte offset into the
> > > > linearized view of the surface. So we end up converting fb->offsets[0]
> > > > into additional x and y offsets.
> > > 
> > > Do you have code using a non-zero offsets[0]?  At least for current
> > > code that would indicate some kind of problem... though hopefully we'll
> > > be adding planar support back again sometime soon.
> > 
> > I did have some test app that used offsets[] at some point, but tbh I
> > didn't excercise these changes with it.
> > 
> > I have a sort of semi working skeleton of a test app which I just modify
> > for various use cases as need arises. I really should try to clean it up
> > a bit and generalize it so that it wouldn't need constant code changes
> > to test different scenarios.
> 
> Yeah, I want these little test apps as testcases in i-g-t.

Ping about these testcases, ported to i-g-t ...
-Daniel
-- 
Daniel Vetter
Mail: dan...@ffwll.ch
Mobile: +41 (0)79 365 57 48
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [Intel-gfx] [PATCH 6/6] drm/i915: Reject page flips with changed format/offset/pitch

2012-07-05 Thread Daniel Vetter
On Thu, May 24, 2012 at 09:08:59PM +0300, ville.syrj...@linux.intel.com wrote:
> From: Ville Syrjälä 
> 
> MI display flips can't handle some changes in the framebuffer
> format or layout. Return an error in such cases.
> 
> Signed-off-by: Ville Syrjälä 
Queued for -next, thanks for the patch. I've punted on the others, hoping
for a few i-g-t tests (and maybe someone else that could review them).
Safe for the uninitialized stack var patch and this one, because we need
this check to fix up gen4+ tileoffset limitations.

Yours, Daniel
> ---
>  drivers/gpu/drm/i915/intel_display.c |   13 +
>  1 files changed, 13 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c 
> b/drivers/gpu/drm/i915/intel_display.c
> index f4338cb..72ac2f9 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -6217,6 +6217,19 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
>   unsigned long flags;
>   int ret;
>  
> + /* Can't change pixel format via MI display flips. */
> + if (fb->pixel_format != crtc->fb->pixel_format)
> + return -EINVAL;
> +
> + /*
> +  * TILEOFF/LINOFF registers can't be changed via MI display flips.
> +  * Note that pitch changes could also affect these register.
> +  */
> + if (INTEL_INFO(dev)->gen > 3 &&
> + (fb->offsets[0] != crtc->fb->offsets[0] ||
> +  fb->pitches[0] != crtc->fb->pitches[0]))
> + return -EINVAL;
> +
>   work = kzalloc(sizeof *work, GFP_KERNEL);
>   if (work == NULL)
>   return -ENOMEM;
> -- 
> 1.7.3.4
> 
> ___
> Intel-gfx mailing list
> intel-...@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Mail: dan...@ffwll.ch
Mobile: +41 (0)79 365 57 48
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [Intel-gfx] [PATCH 2/6] drm/i915: Check framebuffer stride more thoroughly

2012-07-05 Thread Ville Syrjälä
On Thu, Jul 05, 2012 at 01:27:47PM +0200, Daniel Vetter wrote:
> On Thu, May 24, 2012 at 09:08:55PM +0300, ville.syrj...@linux.intel.com wrote:
> > From: Ville Syrjälä 
> > 
> > Make sure the the framebuffer stride is smaller than the maximum
> > accepted by any plane.
> > 
> > Also when using a tiled memory make sure the object stride matches
> > the framebuffer stride.
> > 
> > Signed-off-by: Ville Syrjälä 
> > ---
> >  drivers/gpu/drm/i915/intel_display.c |   18 ++
> >  1 files changed, 18 insertions(+), 0 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_display.c 
> > b/drivers/gpu/drm/i915/intel_display.c
> > index 7cf639c..8fea475 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -6643,6 +6643,17 @@ static const struct drm_framebuffer_funcs 
> > intel_fb_funcs = {
> > .create_handle = intel_user_framebuffer_create_handle,
> >  };
> >  
> > +static unsigned int intel_max_fb_stride(const struct drm_device *dev)
> > +{
> > +   /* FIXME: BSpec for pre-Gen5 is a bit unclear on stride limits */
> > +   if (INTEL_INFO(dev)->gen <= 3)
> > +   return 8192;
> 
> 8k pitch limit is gen2, gen3 can have a 4kx4k framebuffer @32bit.

OK. I was just looking at BSpec but there were gaps in the docs. For
example, for gen3, only the limit for the OVL (8k) and tiled DSP (8k)
were mentioned. Nothing about non-tiled DSP. OTOH I don't know if even
the documented limits were really correct.

> -Daniel
> 
> > +   else if (INTEL_INFO(dev)->gen <= 4)
> > +   return 16384;
> 
> Iirc gen4 can also do 32k, see the pixel-based limits in
> intel_modset_init.

OK, BSpec was equally unclear here. Only tiled limit (16k) was
mentioned.

Seeing as the limits are a bit unclear, I don't know if I should even
try to add these checks. Unfortunately I don't have any pre-gen6
hardware, so I can't coax the real limits out of the hardware
empirically.

-- 
Ville Syrjälä
Intel OTC
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [Intel-gfx] [PATCH 5/6] drm/i915: Handle framebuffer offsets[]

2012-07-05 Thread Ville Syrjälä
On Thu, Jul 05, 2012 at 01:29:36PM +0200, Daniel Vetter wrote:
> On Thu, May 24, 2012 at 09:01:24PM +0200, Daniel Vetter wrote:
> > On Thu, May 24, 2012 at 09:49:15PM +0300, Ville Syrjälä wrote:
> > > On Thu, May 24, 2012 at 11:31:32AM -0700, Jesse Barnes wrote:
> > > > On Thu, 24 May 2012 21:08:58 +0300
> > > > ville.syrj...@linux.intel.com wrote:
> > > > 
> > > > > From: Ville Syrjälä 
> > > > > 
> > > > > Take fb->offset[0] into account when calculating the linear and tile 
> > > > > x/y
> > > > > offsets.
> > > > > 
> > > > > For non-tiled surfaces fb->offset[0] is simply added to the linear
> > > > > byte offset.
> > > > > 
> > > > > For tiled surfaces treat fb->offsets[0] as a byte offset into the
> > > > > linearized view of the surface. So we end up converting fb->offsets[0]
> > > > > into additional x and y offsets.
> > > > 
> > > > Do you have code using a non-zero offsets[0]?  At least for current
> > > > code that would indicate some kind of problem... though hopefully we'll
> > > > be adding planar support back again sometime soon.
> > > 
> > > I did have some test app that used offsets[] at some point, but tbh I
> > > didn't excercise these changes with it.
> > > 
> > > I have a sort of semi working skeleton of a test app which I just modify
> > > for various use cases as need arises. I really should try to clean it up
> > > a bit and generalize it so that it wouldn't need constant code changes
> > > to test different scenarios.
> > 
> > Yeah, I want these little test apps as testcases in i-g-t.
> 
> Ping about these testcases, ported to i-g-t ...

Sorry, haven't had time to look at those. I'm going on vacation after
tomorrow but I'll add a task to the list so I won't forget about this.

-- 
Ville Syrjälä
Intel OTC
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: Tegra DRM device tree bindings

2012-07-05 Thread Thierry Reding
Here's a new proposal that should address all issues collected during
the discussion of the previous one:

From tegra20.dtsi:

host1x {
compatible = "nvidia,tegra20-host1x", "simple-bus";
reg = <0x5000 0x00024000>;
interrupts = <0 65 0x04   /* mpcore syncpt */
  0 67 0x04>; /* mpcore general */

#address-cells = <1>;
#size-cells = <1>;

ranges = <0x5400 0x5400 0x0400>;

/* video-encoding/decoding */
mpe {
reg = <0x5404 0x0004>;
interrupts = <0 68 0x04>;
};

/* video input */
vi {
reg = <0x5408 0x0004>;
interrupts = <0 69 0x04>;
};

/* EPP */
epp {
reg = <0x540c 0x0004>;
interrupts = <0 70 0x04>;
};

/* ISP */
isp {
reg = <0x5410 0x0004>;
interrupts = <0 71 0x04>;
};

/* 2D engine */
gr2d {
reg = <0x5414 0x0004>;
interrupts = <0 72 0x04>;
};

/* 3D engine */
gr3d {
reg = <0x5418 0x0004>;
};

/* display controllers */
dc@5420 {
compatible = "nvidia,tegra20-dc";
reg = <0x5420 0x0004>;
interrupts = <0 73 0x04>;

rgb {
status = "disabled";
};
};

dc@5424 {
compatible = "nvidia,tegra20-dc";
reg = <0x5424 0x0004>;
interrupts = <0 74 0x04>;

rgb {
status = "disabled";
};
};

/* outputs */
hdmi {
compatible = "nvidia,tegra20-hdmi";
reg = <0x5428 0x0004>;
interrupts = <0 75 0x04>;
status = "disabled";
};

tvo {
compatible = "nvidia,tegra20-tvo";
reg = <0x542c 0x0004>;
interrupts = <0 76 0x04>;
status = "disabled";
};

dsi {
compatible = "nvidia,tegra20-dsi";
reg = <0x5430 0x0004>;
status = "disabled";
};
};

From tegra20-medcom.dts:

host1x {
dc@5420 {
rgb {
nvidia,edid = /incbin/("tegra20-medcom.edid");
status = "okay";
};
};
};

From tegra20-plutux.dts:

host1x {
hdmi {
vdd-supply = <&ldo7_reg>;
pll-supply = <&ldo8_reg>;

nvidia,hpd-gpio = <&gpio 111 0>; /* PN7 */
nvidia,ddc-i2c-bus = <&ddc>;

status = "okay";
};
};

One problem I've come across when trying to get some rudimentary code
working with this is that there's no longer a device which the DRM
driver can bind to, because the top-level device (host1x) now has a
separate driver.

I've briefly discussed this with Dave Airlie on IRC and there are
basically two solutions:

  a) Use a fake platform device, instantiated from the device tree or at
 module initialization time, so that the drm_platform_init()
 function can be used.

  b) Implement a custom drm_bus and reimplement most of the
 functionality provided by drm_platform_init().

Alternative a) is what Sascha has been doing for i.MX and is the most
straightforward. One variant of this would be to add another virtual
device node below host1x that groups gr2d, gr3d, both dcs and the three
output nodes. The down-side of this being that it doesn't describe the
hardware of course, and therefore really shouldn't go into the device
tree. Instantiating at module initalization time has the disadvantage
that the parent-child relationship is lost.

Using b) isn't optimal either because DRM requires at least a struct
device which can be associated with the drm_device. So the question is
which struct device that should be?

Thierry


pgp2yZUyYBbMq.pgp
Description: PGP signature
___
dri-devel mailing list

Re: Linux 3.2: After resume screen only turned on after switching terminals

2012-07-05 Thread Alex Deucher
On Wed, Jul 4, 2012 at 10:11 AM, Paul Menzel
 wrote:
> Am Mittwoch, den 04.07.2012, 09:55 -0400 schrieb Alex Deucher:
>> On Wed, Jul 4, 2012 at 9:41 AM, Paul Menzel wrote:
>> > Am Samstag, den 30.06.2012, 21:00 +0200 schrieb Paul Menzel:
>> >> Am Dienstag, den 26.06.2012, 07:42 +0200 schrieb Michel Dänzer:
>> >> > On Mon, 2012-06-25 at 21:14 +0200, Paul Menzel wrote:
>> >> > >
>> >> > > resuming from suspend to RAM the monitor was indicating by a blinking
>> >> > > LED that it did not receive any signal. This is the first time this
>> >> > > happened. Resuming from suspend to RAM had worked without problems
>> >> > > before (and probably will work again the next tries).
>> >> > >
>> >> > > Logging in from SSH worked fine though. Switching terminal to tty1
>> >> > > nothing changed but going back to tty7, where X was supposed to run),
>> >> > > and the monitor detected a signal and showed the screensaver.
>> >> > >
>> >> > > Switching to tty1 still does not work though, that means the monitor
>> >> > > indicates that it gets no signal.
>> >> >
>> >> > What about tty2-6 or any others?
>> >>
>> >> It just happened again. tty2–6 also do not show anything.
>> >>
>> >> > What does fbset -i say when the problem occurs?
>> >>
>> >> I logged in over SSH not having switched the ttys yet. This is the
>> >> result.
>> >>
>> >> $ fbset -i
>> >>
>> >> mode "1280x1024"
>> >> geometry 1280 1024 1280 1024 32
>> >> timings 0 0 0 0 0 0 0
>> >> accel true
>> >> rgba 8/16,8/8,8/0,0/0
>> >> endmode
>> >>
>> >> Frame buffer device information:
>> >> Name: radeondrmfb
>> >> Address : 0xd0142000
>> >> Size: 5242880
>> >> Type: PACKED PIXELS
>> >> Visual  : TRUECOLOR
>> >> XPanStep: 1
>> >> YPanStep: 1
>> >> YWrapStep   : 0
>> >> LineLength  : 5120
>> >> Accelerator : No
>> >>
>> >> This does not differ though after having switched between ttys and
>> >> getting a working X server again. The other ttys do not just show black.
>> >> When switching from tty7 with the X server running to a console(?) tty
>> >> then I shortly (half second) see some kind of test image, which contains
>> >> four horizontal colored stripes red, green, blue and white(?).
>> >>
>> >> I could not find anything in the output of `dmesg`, but
>> >> `/var/log/syslog` contains several of the following lines.
>> >>
>> >> Jun 29 19:44:57 debian-host acpid: client 8677[0:0] has 
>> >> disconnected
>> >> Jun 29 19:45:08 debian-host acpid: client connected from 8677[0:0]
>> >> Jun 29 19:45:08 debian-host acpid: 1 client rule loaded
>> >
>> > Does someone have an idea what the problem might be and how to fix it?
>>
>> Is this a regression?  If so can you bisect?
>
> I do not think so. But the problem is I just got that board, have only
> used it with Linux 3.2.x (from Debian Sid/unstable) and this issue is
> not reproducible, that means, it happens in less then 5(?) percent of
> the suspend and resume cycles.
>
> Any idea what these acpid messages could mean?

Nope sorry.

Alex

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


Re: [PATCH v2] of: Add videomode helper

2012-07-05 Thread Laurent Pinchart
Hi Sascha,

Thanks for the patch.

On Wednesday 04 July 2012 09:56:35 Sascha Hauer wrote:
> This patch adds a helper function for parsing videomodes from the
> devicetree. The videomode can be either converted to a struct
> drm_display_mode or a struct fb_videomode.
> 
> Signed-off-by: Sascha Hauer 
> ---
> 
> changes since v1:
> - use hyphens instead of underscores for property names
> 
>  .../devicetree/bindings/video/displaymode  |   40 
>  drivers/of/Kconfig |5 +
>  drivers/of/Makefile|1 +
>  drivers/of/of_videomode.c  |  108 +
>  include/linux/of_videomode.h   |   19 
>  5 files changed, 173 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/video/displaymode
>  create mode 100644 drivers/of/of_videomode.c
>  create mode 100644 include/linux/of_videomode.h
> 
> diff --git a/Documentation/devicetree/bindings/video/displaymode
> b/Documentation/devicetree/bindings/video/displaymode new file mode 100644
> index 000..43cc17d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/video/displaymode
> @@ -0,0 +1,40 @@
> +videomode bindings
> +==
> +
> +Required properties:
> + - xres, yres: Display resolution
> + - left-margin, right-margin, hsync-len: Horizontal Display timing
> parameters +   in pixels
> +   upper-margin, lower-margin, vsync-len: Vertical display timing
> parameters in +   lines
> + - clock: displayclock in Hz
> +
> +Optional properties:
> + - width-mm, height-mm: Display dimensions in mm

I've always had mixed feelings about the physical display dimension being part 
of the display mode. Those are properties of the panel/display instead of the 
mode. Storing them as part of the mode can be convenient, but we then run into 
consistency issues (developers have to remember in which display mode 
instances the values are available, and in which instances they're set to 0 
for instance). If we want to clean this up, this patch would be a good 
occasion.

> + - hsync-active-high (bool): Hsync pulse is active high
> + - vsync-active-high (bool): Vsync pulse is active high
> + - interlaced (bool): This is an interlaced mode
> + - doublescan (bool): This is a doublescan mode
> +
> +There are different ways of describing a display mode. The devicetree
> representation +corresponds to the one used by the Linux Framebuffer
> framework described here in +Documentation/fb/framebuffer.txt. This
> representation has been chosen because it's +the only format which does not
> allow for inconsistent parameters.Unlike the Framebuffer +framework the
> devicetree has the clock in Hz instead of ps.
> +
> +Example:
> +
> + display@0 {
> + /* 1920x1080p24 */
> + clock = <5200>;
> + xres = <1920>;
> + yres = <1080>;
> + left-margin = <25>;
> + right-margin = <25>;
> + hsync-len = <25>;
> + lower-margin = <2>;
> + upper-margin = <2>;
> + vsync-len = <2>;
> + hsync-active-high;
> + };
> +

-- 
Regards,

Laurent Pinchart

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


[Bug 15486] amd_adac error

2012-07-05 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=15486


Alan  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||a...@lxorguk.ukuu.org.uk
  Component|kvm |Video(DRI - non Intel)
Version|unspecified |2.5
 Resolution||OBSOLETE
 AssignedTo|virtualization_kvm@kernel-b |drivers_video-dri@kernel-bu
   |ugs.osdl.org|gs.osdl.org
Product|Virtualization  |Drivers




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


[Bug 15486] amd_adac error

2012-07-05 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=15486


Alex Deucher  changed:

   What|Removed |Added

 CC||alexdeuc...@gmail.com




--- Comment #1 from Alex Deucher   2012-07-05 16:16:35 
---
Is this still an issue with a newer kernel?

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


Re: [PATCH v2] of: Add videomode helper

2012-07-05 Thread Sascha Hauer
On Thu, Jul 05, 2012 at 04:08:07PM +0200, Laurent Pinchart wrote:
> Hi Sascha,
> 
> Thanks for the patch.
> 
> > +++ b/Documentation/devicetree/bindings/video/displaymode
> > @@ -0,0 +1,40 @@
> > +videomode bindings
> > +==
> > +
> > +Required properties:
> > + - xres, yres: Display resolution
> > + - left-margin, right-margin, hsync-len: Horizontal Display timing
> > parameters +   in pixels
> > +   upper-margin, lower-margin, vsync-len: Vertical display timing
> > parameters in +   lines
> > + - clock: displayclock in Hz
> > +
> > +Optional properties:
> > + - width-mm, height-mm: Display dimensions in mm
> 
> I've always had mixed feelings about the physical display dimension being 
> part 
> of the display mode. Those are properties of the panel/display instead of the 
> mode. Storing them as part of the mode can be convenient, but we then run 
> into 
> consistency issues (developers have to remember in which display mode 
> instances the values are available, and in which instances they're set to 0 
> for instance). If we want to clean this up, this patch would be a good 
> occasion.

This sounds like a display node with one or more node subnodes, like:

display {
width_mm = <>;
height_mm = <>;
mode {
xres = <>;
yres = <>;
...
};
};

Is that what you mean or are you thinking of something else?

Sascha

-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v2] of: Add videomode helper

2012-07-05 Thread Sascha Hauer
On Thu, Jul 05, 2012 at 09:51:39AM -0500, Rob Herring wrote:
> On 07/04/2012 02:56 AM, Sascha Hauer wrote:
> > +
> > +There are different ways of describing a display mode. The devicetree 
> > representation
> > +corresponds to the one used by the Linux Framebuffer framework described 
> > here in
> > +Documentation/fb/framebuffer.txt. This representation has been chosen 
> > because it's
> > +the only format which does not allow for inconsistent parameters.Unlike 
> > the Framebuffer
> > +framework the devicetree has the clock in Hz instead of ps.
> 
> This implies you are putting linux settings into DT rather than
> describing the h/w. I'm not saying the binding is wrong, but documenting
> it this way makes it seem so.

The major reason to use these values was that they do not allow for
inconsistent values (as opposed to for example with hsync_start which you
would have to check for hsync_start >= xres).
I could rephrase this if it looks too much like modelled-after-Linux
instead of modelled-after-hardware.

> 
> One important piece missing (and IIRC linux doesn't really support) is
> defining the pixel format of the interface.

I could use this aswell. I think this can be specified as additional
properties later, right? I'm afraid this needs a lot of discussion so
we should delay this to the next round.

> 
> > +Example:
> > +
> > +   display@0 {
> > +   /* 1920x1080p24 */
> > +   clock = <5200>;
> 
> Should this use the clock binding? You probably need both constraints
> and clock binding though.

Is the clock binding suitable for this? Here we are not interested where
the clock comes from, but instead which range is allowed.

> 
> Often you don't know the frequency up front and/or have limited control
> of the frequency (i.e. integer dividers). Then you have to adjust the
> margins to get the desired refresh rate. To do that, you need to know
> the ranges of values a panel can support. Perhaps you just assume you
> can increase the right-margin and lower-margins as I think you will hit
> pixel clock frequency max before any limit on margins.

Most datasheets specify min,typ,max triplets. We could do this instead
of using single fixed values for the margins:

left_margin = <0 10 40>;

Right now we have nothing in the kernel that could handle this, but
getting the interface to the devicetree right seems indeed important.

Sascha

-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v2] of: Add videomode helper

2012-07-05 Thread Rob Herring
On 07/04/2012 02:56 AM, Sascha Hauer wrote:
> This patch adds a helper function for parsing videomodes from the devicetree.
> The videomode can be either converted to a struct drm_display_mode or a
> struct fb_videomode.
> 
> Signed-off-by: Sascha Hauer 
> ---
> 
> changes since v1:
> - use hyphens instead of underscores for property names
> 
>  .../devicetree/bindings/video/displaymode  |   40 
>  drivers/of/Kconfig |5 +
>  drivers/of/Makefile|1 +
>  drivers/of/of_videomode.c  |  108 
> 
>  include/linux/of_videomode.h   |   19 
>  5 files changed, 173 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/video/displaymode
>  create mode 100644 drivers/of/of_videomode.c
>  create mode 100644 include/linux/of_videomode.h
> 
> diff --git a/Documentation/devicetree/bindings/video/displaymode 
> b/Documentation/devicetree/bindings/video/displaymode
> new file mode 100644
> index 000..43cc17d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/video/displaymode
> @@ -0,0 +1,40 @@
> +videomode bindings
> +==
> +
> +Required properties:
> + - xres, yres: Display resolution
> + - left-margin, right-margin, hsync-len: Horizontal Display timing parameters
> +   in pixels
> +   upper-margin, lower-margin, vsync-len: Vertical display timing parameters 
> in
> +   lines
> + - clock: displayclock in Hz
> +
> +Optional properties:
> + - width-mm, height-mm: Display dimensions in mm
> + - hsync-active-high (bool): Hsync pulse is active high
> + - vsync-active-high (bool): Vsync pulse is active high
> + - interlaced (bool): This is an interlaced mode
> + - doublescan (bool): This is a doublescan mode
> +
> +There are different ways of describing a display mode. The devicetree 
> representation
> +corresponds to the one used by the Linux Framebuffer framework described 
> here in
> +Documentation/fb/framebuffer.txt. This representation has been chosen 
> because it's
> +the only format which does not allow for inconsistent parameters.Unlike the 
> Framebuffer
> +framework the devicetree has the clock in Hz instead of ps.

This implies you are putting linux settings into DT rather than
describing the h/w. I'm not saying the binding is wrong, but documenting
it this way makes it seem so.

One important piece missing (and IIRC linux doesn't really support) is
defining the pixel format of the interface.

> +Example:
> +
> + display@0 {
> + /* 1920x1080p24 */
> + clock = <5200>;

Should this use the clock binding? You probably need both constraints
and clock binding though.

Often you don't know the frequency up front and/or have limited control
of the frequency (i.e. integer dividers). Then you have to adjust the
margins to get the desired refresh rate. To do that, you need to know
the ranges of values a panel can support. Perhaps you just assume you
can increase the right-margin and lower-margins as I think you will hit
pixel clock frequency max before any limit on margins.

Rob

> + xres = <1920>;
> + yres = <1080>;
> + left-margin = <25>;
> + right-margin = <25>;
> + hsync-len = <25>;
> + lower-margin = <2>;
> + upper-margin = <2>;
> + vsync-len = <2>;
> + hsync-active-high;
> + };
> +
> diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig
> index dfba3e6..a3acaa3 100644
> --- a/drivers/of/Kconfig
> +++ b/drivers/of/Kconfig
> @@ -83,4 +83,9 @@ config OF_MTD
>   depends on MTD
>   def_bool y
>  
> +config OF_VIDEOMODE
> + def_bool y
> + help
> +   helper to parse videomodes from the devicetree
> +
>  endmenu # OF
> diff --git a/drivers/of/Makefile b/drivers/of/Makefile
> index e027f44..80e6db3 100644
> --- a/drivers/of/Makefile
> +++ b/drivers/of/Makefile
> @@ -11,3 +11,4 @@ obj-$(CONFIG_OF_MDIO)   += of_mdio.o
>  obj-$(CONFIG_OF_PCI) += of_pci.o
>  obj-$(CONFIG_OF_PCI_IRQ)  += of_pci_irq.o
>  obj-$(CONFIG_OF_MTD) += of_mtd.o
> +obj-$(CONFIG_OF_VIDEOMODE)   += of_videomode.o
> diff --git a/drivers/of/of_videomode.c b/drivers/of/of_videomode.c
> new file mode 100644
> index 000..50d3bd2
> --- /dev/null
> +++ b/drivers/of/of_videomode.c
> @@ -0,0 +1,108 @@
> +/*
> + * OF helpers for parsing display modes
> + *
> + * Copyright (c) 2012 Sascha Hauer , Pengutronix
> + *
> + * This file is released under the GPLv2
> + */
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +
> +int of_get_video_mode(struct device_node *np, struct drm_display_mode *dmode,
> + struct fb_videomode *fbmode)
> +{
> + int ret = 0;
> + u32 left_margin, xres, right_margin, hsync_len;
> + u32 upper_margin, yres, lower_margin, vsync_len;
> + u32 width_mm = 0, height_mm = 0;
> + u32 clock;
> + bool hah = false, vah = false, interlaced = false, do

Re: 3.5-rc5: radeon acceleration regression on Transmeta system

2012-07-05 Thread Meelis Roos
> > In 3.4, radeon worked with a glitch - window titles were see-throug (not
> > drawn). In 3.5-rc5, radeon driver seems to be more careful and disables
> > acceleration on this system at all. Full dmesg below.
> 
> Does it always do it the same? got the dmesg from 3.4 and/or 2.6.32?

That was a good question. I did some more tries, and it was not 
repeatable. Sometimes it worked like 3.4 did - rv100 initialized fine, 
no borders except when maximized, otherwise worked.

Total 3 failures and 6 successes in intializing the card so far.

> if I had to guess something broke in the dma area elsewhere, but not sure.

Initial windows border problem seems to have been introduced between 
2.6.37 and 2.6.38, bisect is slow.

"Good" dmesg:

[0.00] Initializing cgroup subsys cpu
[0.00] Linux version 3.5.0-rc5-00098-g9e85a6f (mroos@raamat) (gcc 
version 4.4.5 (Debian 4.4.5-8) ) #61 Thu Jul 5 04:17:43 EEST 2012
[0.00] e820: BIOS-provided physical RAM map:
[0.00] BIOS-e820: [mem 0x-0x0009bfff] usable
[0.00] BIOS-e820: [mem 0x0009c000-0x0009] reserved
[0.00] BIOS-e820: [mem 0x000e8000-0x000f] reserved
[0.00] BIOS-e820: [mem 0x0010-0x0efd] usable
[0.00] BIOS-e820: [mem 0x0efe-0x0efefbff] ACPI data
[0.00] BIOS-e820: [mem 0x0efefc00-0x0efe] ACPI NVS
[0.00] BIOS-e820: [mem 0x0eff-0x0f0f] reserved
[0.00] BIOS-e820: [mem 0xfff0-0x] reserved
[0.00] Notice: NX (Execute Disable) protection missing in CPU!
[0.00] DMI 2.3 present.
[0.00] DMI: FUJITSU LifeBook P Series/FJNB164, BIOS Version 1.08  
02/24/2005
[0.00] e820: update [mem 0x-0x] usable ==> reserved
[0.00] e820: remove [mem 0x000a-0x000f] usable
[0.00] e820: last_pfn = 0xefe0 max_arch_pfn = 0x10
[0.00] initial memory mapped: [mem 0x-0x017f]
[0.00] Base memory trampoline at [c0098000] 98000 size 16384
[0.00] init_memory_mapping: [mem 0x-0x0efd]
[0.00]  [mem 0x-0x003f] page 4k
[0.00]  [mem 0x0040-0x0ebf] page 2M
[0.00]  [mem 0x0ec0-0x0efd] page 4k
[0.00] kernel direct mapping tables up to 0xefd @ [mem 
0x017fa000-0x017f]
[0.00] ACPI: RSDP 000f70a0 00014 (v00 FUJ   )
[0.00] ACPI: RSDT 0efedad0 0002C (v01 FUJMOMUS3   0108 FUJ  
1000)
[0.00] ACPI: FACP 0efefa92 00074 (v01 FUJMOMUS3   0108 FUJ  
1000)
[0.00] ACPI: DSDT 0efedafc 01F96 (v01 FUJMOMUS3   0108 MSFT 
0107)
[0.00] ACPI: FACS 0efeffc0 00040
[0.00] ACPI: SSDT 0efefb06 000FA (v01 PTLTD  ACPIPST1 0001 PTL  
0001)
[0.00] 239MB LOWMEM available.
[0.00]   mapped low ram: 0 - 0efe
[0.00]   low ram: 0 - 0efe
[0.00] Zone ranges:
[0.00]   DMA  [mem 0x0001-0x00ff]
[0.00]   Normal   [mem 0x0100-0x0efd]
[0.00] Movable zone start for each node
[0.00] Early memory node ranges
[0.00]   node   0: [mem 0x0001-0x0009bfff]
[0.00]   node   0: [mem 0x0010-0x0efd]
[0.00] On node 0 totalpages: 61292
[0.00] free_area_init_node: node 0, pgdat c12ff888, node_mem_map 
cee00200
[0.00]   DMA zone: 32 pages used for memmap
[0.00]   DMA zone: 0 pages reserved
[0.00]   DMA zone: 3948 pages, LIFO batch:0
[0.00]   Normal zone: 448 pages used for memmap
[0.00]   Normal zone: 56864 pages, LIFO batch:15
[0.00] ACPI: PM-Timer IO Port: 0xff08
[0.00] PM: Registered nosave memory: 0009c000 - 000a
[0.00] PM: Registered nosave memory: 000a - 000e8000
[0.00] PM: Registered nosave memory: 000e8000 - 0010
[0.00] e820: [mem 0x0f10-0xffef] available for PCI devices
[0.00] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[0.00] pcpu-alloc: [0] 0 
[0.00] Built 1 zonelists in Zone order, mobility grouping on.  Total 
pages: 60812
[0.00] Kernel command line: 
BOOT_IMAGE=/boot/vmlinuz-3.5.0-rc5-00098-g9e85a6f root=/dev/sda1 ro debug 
radeon.modeset=1
[0.00] PID hash table entries: 1024 (order: 0, 4096 bytes)
[0.00] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[0.00] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[0.00] __ex_table already sorted, skipping sort
[0.00] Initializing CPU#0
[0.00] Memory: 239300k/245632k available (2103k kernel code, 5868k 
reserved, 984k data, 284k init, 0k highmem)
[0.00] virtual kernel memory layout:
[0.00] fixmap  : 0xfffe4000 - 0xf000   ( 108 kB)
[0.00] vmalloc : 0xcf7e - 

RE: Tegra DRM device tree bindings

2012-07-05 Thread Mark Zhang
> From: linux-tegra-ow...@vger.kernel.org [mailto:linux-tegra-
> ow...@vger.kernel.org] On Behalf Of Thierry Reding
> Sent: Thursday, July 05, 2012 8:15 PM
> To: linux-te...@vger.kernel.org
> Cc: devicetree-disc...@lists.ozlabs.org; dri-devel@lists.freedesktop.org
> Subject: Re: Tegra DRM device tree bindings
> 
> * PGP Signed by an unknown key
> 
> Here's a new proposal that should address all issues collected during the
> discussion of the previous one:
> 
> From tegra20.dtsi:
> 
>   host1x {
>   compatible = "nvidia,tegra20-host1x", "simple-bus";
>   reg = <0x5000 0x00024000>;
>   interrupts = <0 65 0x04   /* mpcore syncpt */
> 0 67 0x04>; /* mpcore general */
> 
>   #address-cells = <1>;
>   #size-cells = <1>;
> 
>   ranges = <0x5400 0x5400 0x0400>;
> 
>   /* video-encoding/decoding */
>   mpe {
>   reg = <0x5404 0x0004>;
>   interrupts = <0 68 0x04>;
>   };
> 
>   /* video input */
>   vi {
>   reg = <0x5408 0x0004>;
>   interrupts = <0 69 0x04>;
>   };
> 
>   /* EPP */
>   epp {
>   reg = <0x540c 0x0004>;
>   interrupts = <0 70 0x04>;
>   };
> 
>   /* ISP */
>   isp {
>   reg = <0x5410 0x0004>;
>   interrupts = <0 71 0x04>;
>   };
> 
>   /* 2D engine */
>   gr2d {
>   reg = <0x5414 0x0004>;
>   interrupts = <0 72 0x04>;
>   };
> 
>   /* 3D engine */
>   gr3d {
>   reg = <0x5418 0x0004>;
>   };
> 
>   /* display controllers */
>   dc@5420 {
>   compatible = "nvidia,tegra20-dc";
>   reg = <0x5420 0x0004>;
>   interrupts = <0 73 0x04>;
> 
>   rgb {
>   status = "disabled";
>   };
>   };
> 
>   dc@5424 {
>   compatible = "nvidia,tegra20-dc";
>   reg = <0x5424 0x0004>;
>   interrupts = <0 74 0x04>;
> 
>   rgb {
>   status = "disabled";
>   };
>   };
> 
>   /* outputs */
>   hdmi {
>   compatible = "nvidia,tegra20-hdmi";
>   reg = <0x5428 0x0004>;
>   interrupts = <0 75 0x04>;
>   status = "disabled";
>   };
> 
>   tvo {
>   compatible = "nvidia,tegra20-tvo";
>   reg = <0x542c 0x0004>;
>   interrupts = <0 76 0x04>;
>   status = "disabled";
>   };
> 
>   dsi {
>   compatible = "nvidia,tegra20-dsi";
>   reg = <0x5430 0x0004>;
>   status = "disabled";
>   };
>   };
> 
> From tegra20-medcom.dts:
> 
>   host1x {
>   dc@5420 {
>   rgb {
>   nvidia,edid = /incbin/("tegra20-medcom.edid");
>   status = "okay";
>   };
>   };
>   };
> 
> From tegra20-plutux.dts:
> 
>   host1x {
>   hdmi {
>   vdd-supply = <&ldo7_reg>;
>   pll-supply = <&ldo8_reg>;
> 
>   nvidia,hpd-gpio = <&gpio 111 0>; /* PN7 */
>   nvidia,ddc-i2c-bus = <&ddc>;
> 
>   status = "okay";
>   };
>   };
> 
> One problem I've come across when trying to get some rudimentary code
> working with this is that there's no longer a device which the DRM driver can 
> bind
> to, because the top-level device (host1x) now has a separate driver.
> 
> I've briefly discussed this with Dave Airlie on IRC and there are basically 
> two
> solutions:
> 
>   a) Use a fake platform device, instantiated from the device tree or at
>  module initialization time, so that the drm_platform_init()
>  function can be used.
 
If we change the dts to this version, that means we should register all 
drivers(dc/rgb/dsi...) during host1x driver initialization.
In that case, I think we can register drm driver as well.
It's not a good idea to add drm into dts cause just as you said, it's not a 
real device at all.

>   b) Implement a custom drm_bus and reimplement most of the
>  functionality provided by drm_platform_init().
> 
> Alternative a) is what Sascha has been

Re: [bisected] nouveau: "Failed to idle channel x" after resume

2012-07-05 Thread Martin Nyhus
On Mon, 11 Jun 2012 23:18:42 +0200 Martin Nyhus wrote:
> after resuming from suspend nouveau starts writing Failed to idle
> channel x (where x is 2 or 3) to the log and X appears to stop and
> then restart only to stop again. Starting Firefox after resuming
> triggers the bugs every time, and bisecting leads to 03bd6efa
> ("drm/nv50/fifo: use hardware channel kickoff functionality").

Hi Ben,
I'm still seeing this bug with the latest from Linus
(v3.5-rc5-98-g9e85a6f) and linux-next (next-20120705).

lspci output:
01:00.0 VGA compatible controller: nVidia Corporation G86 [GeForce
8400M GS] (rev a1)

Sorry I haven't followed up on this earlier,
Martin
___
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
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 Ben Skeggs
On Thu, Jul 05, 2012 at 08:31:13AM +0200, Henrik Rydberg wrote:
> Hi Ben, Dave,
Hey Henrik,

> 
> 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 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.

Cheers,
Ben.

> 
> 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.
> ---
Signed-off-by: Ben Skeggs 

>  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 at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel


3.5-rc5: radeon acceleration regression on Transmeta system

2012-07-05 Thread Dave Airlie
On Thu, Jul 5, 2012 at 8:00 AM, Meelis Roos  wrote:
> In 2.6.32, radeon worked fine.
>
> In 3.4, radeon worked with a glitch - window titles were see-throug (not
> drawn). In 3.5-rc5, radeon driver seems to be more careful and disables
> acceleration on this system at all. Full dmesg below.

Does it always do it the same? got the dmesg from 3.4 and/or 2.6.32?

if I had to guess something broke in the dma area elsewhere, but not sure.

Dave.


[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


[Bug 44121] Reproducible GPU lockup CP stall on Radeon HD 6450

2012-07-05 Thread bugzilla-dae...@bugzilla.kernel.org
https://bugzilla.kernel.org/show_bug.cgi?id=44121





--- Comment #13 from Jean Delvare   2012-07-05 07:30:03 
---
Reproducibility information:

* I cannot reproduce the GPU lockup on a Radeon HD 4350 card.

* On the Radeon HD 6450, I can reproduce the GPU lockup with applications other
than Firefox. I was able to do so with Claws Mail for example. The parent
window has to be maximized for it to happen. Then, as soon as a title-less
dialog box is opened (for example by pressing Ctrl+S for "Save As..."), the GPU
lockup happens.

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are watching the assignee of the bug.


3.5-rc5: radeon acceleration regression on Transmeta system

2012-07-05 Thread Meelis Roos
In 2.6.32, radeon worked fine.

In 3.4, radeon worked with a glitch - window titles were see-throug (not 
drawn). In 3.5-rc5, radeon driver seems to be more careful and disables 
acceleration on this system at all. Full dmesg below.

Fujitsu Lifebook P series, 256M RAM, 239 usable.

[0.00] Initializing cgroup subsys cpu
[0.00] Linux version 3.5.0-rc5-00098-g9e85a6f (mroos at raamat) (gcc 
version 4.4.5 (Debian 4.4.5-8) ) #61 Thu Jul 5 04:17:43 EEST 2012
[0.00] e820: BIOS-provided physical RAM map:
[0.00] BIOS-e820: [mem 0x-0x0009bfff] usable
[0.00] BIOS-e820: [mem 0x0009c000-0x0009] reserved
[0.00] BIOS-e820: [mem 0x000e8000-0x000f] reserved
[0.00] BIOS-e820: [mem 0x0010-0x0efd] usable
[0.00] BIOS-e820: [mem 0x0efe-0x0efefbff] ACPI data
[0.00] BIOS-e820: [mem 0x0efefc00-0x0efe] ACPI NVS
[0.00] BIOS-e820: [mem 0x0eff-0x0f0f] reserved
[0.00] BIOS-e820: [mem 0xfff0-0x] reserved
[0.00] Notice: NX (Execute Disable) protection missing in CPU!
[0.00] DMI 2.3 present.
[0.00] DMI: FUJITSU LifeBook P Series/FJNB164, BIOS Version 1.08  
02/24/2005
[0.00] e820: update [mem 0x-0x] usable ==> reserved
[0.00] e820: remove [mem 0x000a-0x000f] usable
[0.00] e820: last_pfn = 0xefe0 max_arch_pfn = 0x10
[0.00] initial memory mapped: [mem 0x-0x017f]
[0.00] Base memory trampoline at [c0098000] 98000 size 16384
[0.00] init_memory_mapping: [mem 0x-0x0efd]
[0.00]  [mem 0x-0x003f] page 4k
[0.00]  [mem 0x0040-0x0ebf] page 2M
[0.00]  [mem 0x0ec0-0x0efd] page 4k
[0.00] kernel direct mapping tables up to 0xefd @ [mem 
0x017fa000-0x017f]
[0.00] ACPI: RSDP 000f70a0 00014 (v00 FUJ   )
[0.00] ACPI: RSDT 0efedad0 0002C (v01 FUJMOMUS3   0108 FUJ  
1000)
[0.00] ACPI: FACP 0efefa92 00074 (v01 FUJMOMUS3   0108 FUJ  
1000)
[0.00] ACPI: DSDT 0efedafc 01F96 (v01 FUJMOMUS3   0108 MSFT 
0107)
[0.00] ACPI: FACS 0efeffc0 00040
[0.00] ACPI: SSDT 0efefb06 000FA (v01 PTLTD  ACPIPST1 0001 PTL  
0001)
[0.00] 239MB LOWMEM available.
[0.00]   mapped low ram: 0 - 0efe
[0.00]   low ram: 0 - 0efe
[0.00] Zone ranges:
[0.00]   DMA  [mem 0x0001-0x00ff]
[0.00]   Normal   [mem 0x0100-0x0efd]
[0.00] Movable zone start for each node
[0.00] Early memory node ranges
[0.00]   node   0: [mem 0x0001-0x0009bfff]
[0.00]   node   0: [mem 0x0010-0x0efd]
[0.00] On node 0 totalpages: 61292
[0.00] free_area_init_node: node 0, pgdat c12ff888, node_mem_map 
cee00200
[0.00]   DMA zone: 32 pages used for memmap
[0.00]   DMA zone: 0 pages reserved
[0.00]   DMA zone: 3948 pages, LIFO batch:0
[0.00]   Normal zone: 448 pages used for memmap
[0.00]   Normal zone: 56864 pages, LIFO batch:15
[0.00] ACPI: PM-Timer IO Port: 0xff08
[0.00] PM: Registered nosave memory: 0009c000 - 000a
[0.00] PM: Registered nosave memory: 000a - 000e8000
[0.00] PM: Registered nosave memory: 000e8000 - 0010
[0.00] e820: [mem 0x0f10-0xffef] available for PCI devices
[0.00] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[0.00] pcpu-alloc: [0] 0 
[0.00] Built 1 zonelists in Zone order, mobility grouping on.  Total 
pages: 60812
[0.00] Kernel command line: 
BOOT_IMAGE=/boot/vmlinuz-3.5.0-rc5-00098-g9e85a6f root=/dev/sda1 ro debug 
radeon.modeset=1
[0.00] PID hash table entries: 1024 (order: 0, 4096 bytes)
[0.00] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[0.00] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[0.00] __ex_table already sorted, skipping sort
[0.00] Initializing CPU#0
[0.00] Memory: 239300k/245632k available (2103k kernel code, 5868k 
reserved, 984k data, 284k init, 0k highmem)
[0.00] virtual kernel memory layout:
[0.00] fixmap  : 0xfffe4000 - 0xf000   ( 108 kB)
[0.00] vmalloc : 0xcf7e - 0xfffe2000   ( 776 MB)
[0.00] lowmem  : 0xc000 - 0xcefe   ( 239 MB)
[0.00]   .init : 0xc1305000 - 0xc134c000   ( 284 kB)
[0.00]   .data : 0xc120de7e - 0xc13040c0   ( 984 kB)
[0.00]   .text : 0xc100 - 0xc120de7e   (2103 kB)
[0.00] Checking if this processor honours the WP bit even in supervisor 
mode...Ok.
[0.00] NR_IRQS:16 nr_irqs:16 16
[0.00] CPU 0 irqstacks, hard=ce

[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


[Intel-gfx] [PATCH 2/6] drm/i915: Check framebuffer stride more thoroughly

2012-07-05 Thread Daniel Vetter
On Thu, May 24, 2012 at 09:08:55PM +0300, ville.syrjala at linux.intel.com 
wrote:
> From: Ville Syrj?l? 
> 
> Make sure the the framebuffer stride is smaller than the maximum
> accepted by any plane.
> 
> Also when using a tiled memory make sure the object stride matches
> the framebuffer stride.
> 
> Signed-off-by: Ville Syrj?l? 
> ---
>  drivers/gpu/drm/i915/intel_display.c |   18 ++
>  1 files changed, 18 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c 
> b/drivers/gpu/drm/i915/intel_display.c
> index 7cf639c..8fea475 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -6643,6 +6643,17 @@ static const struct drm_framebuffer_funcs 
> intel_fb_funcs = {
>   .create_handle = intel_user_framebuffer_create_handle,
>  };
>  
> +static unsigned int intel_max_fb_stride(const struct drm_device *dev)
> +{
> + /* FIXME: BSpec for pre-Gen5 is a bit unclear on stride limits */
> + if (INTEL_INFO(dev)->gen <= 3)
> + return 8192;

8k pitch limit is gen2, gen3 can have a 4kx4k framebuffer @32bit.
-Daniel

> + else if (INTEL_INFO(dev)->gen <= 4)
> + return 16384;

Iirc gen4 can also do 32k, see the pixel-based limits in
intel_modset_init.

> + else
> + return 32768;
> +}
> +
>  int intel_framebuffer_init(struct drm_device *dev,
>  struct intel_framebuffer *intel_fb,
>  struct drm_mode_fb_cmd2 *mode_cmd,
> @@ -6656,6 +6667,13 @@ int intel_framebuffer_init(struct drm_device *dev,
>   if (mode_cmd->pitches[0] & 63)
>   return -EINVAL;
>  
> + if (mode_cmd->pitches[0] > intel_max_fb_stride(dev))
> + return -EINVAL;
> +
> + if (obj->tiling_mode != I915_TILING_NONE &&
> + mode_cmd->pitches[0] != obj->stride)
> + return -EINVAL;
> +
>   /* Reject formats not supported by any plane early. */
>   switch (mode_cmd->pixel_format) {
>   case DRM_FORMAT_C8:
> -- 
> 1.7.3.4
> 
> ___
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Mail: daniel at ffwll.ch
Mobile: +41 (0)79 365 57 48


[Intel-gfx] [PATCH 3/6] drm/i915: Zero initialize mode_cmd

2012-07-05 Thread Daniel Vetter
On Thu, May 24, 2012 at 09:08:56PM +0300, ville.syrjala at linux.intel.com 
wrote:
> From: Ville Syrj?l? 
> 
> Zero initialize the mode_cmd structure when creating the kernel
> framebuffer. Avoids having uninitialized data in offsets[0] for
> instance.
> 
> Signed-off-by: Ville Syrj?l? 
Queued for -next, thanks for the patch.
-Daniel
-- 
Daniel Vetter
Mail: daniel at ffwll.ch
Mobile: +41 (0)79 365 57 48


[Intel-gfx] [PATCH 5/6] drm/i915: Handle framebuffer offsets[]

2012-07-05 Thread Daniel Vetter
On Thu, May 24, 2012 at 09:01:24PM +0200, Daniel Vetter wrote:
> On Thu, May 24, 2012 at 09:49:15PM +0300, Ville Syrj?l? wrote:
> > On Thu, May 24, 2012 at 11:31:32AM -0700, Jesse Barnes wrote:
> > > On Thu, 24 May 2012 21:08:58 +0300
> > > ville.syrjala at linux.intel.com wrote:
> > > 
> > > > From: Ville Syrj?l? 
> > > > 
> > > > Take fb->offset[0] into account when calculating the linear and tile x/y
> > > > offsets.
> > > > 
> > > > For non-tiled surfaces fb->offset[0] is simply added to the linear
> > > > byte offset.
> > > > 
> > > > For tiled surfaces treat fb->offsets[0] as a byte offset into the
> > > > linearized view of the surface. So we end up converting fb->offsets[0]
> > > > into additional x and y offsets.
> > > 
> > > Do you have code using a non-zero offsets[0]?  At least for current
> > > code that would indicate some kind of problem... though hopefully we'll
> > > be adding planar support back again sometime soon.
> > 
> > I did have some test app that used offsets[] at some point, but tbh I
> > didn't excercise these changes with it.
> > 
> > I have a sort of semi working skeleton of a test app which I just modify
> > for various use cases as need arises. I really should try to clean it up
> > a bit and generalize it so that it wouldn't need constant code changes
> > to test different scenarios.
> 
> Yeah, I want these little test apps as testcases in i-g-t.

Ping about these testcases, ported to i-g-t ...
-Daniel
-- 
Daniel Vetter
Mail: daniel at ffwll.ch
Mobile: +41 (0)79 365 57 48


[Intel-gfx] [PATCH 6/6] drm/i915: Reject page flips with changed format/offset/pitch

2012-07-05 Thread Daniel Vetter
On Thu, May 24, 2012 at 09:08:59PM +0300, ville.syrjala at linux.intel.com 
wrote:
> From: Ville Syrj?l? 
> 
> MI display flips can't handle some changes in the framebuffer
> format or layout. Return an error in such cases.
> 
> Signed-off-by: Ville Syrj?l? 
Queued for -next, thanks for the patch. I've punted on the others, hoping
for a few i-g-t tests (and maybe someone else that could review them).
Safe for the uninitialized stack var patch and this one, because we need
this check to fix up gen4+ tileoffset limitations.

Yours, Daniel
> ---
>  drivers/gpu/drm/i915/intel_display.c |   13 +
>  1 files changed, 13 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c 
> b/drivers/gpu/drm/i915/intel_display.c
> index f4338cb..72ac2f9 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -6217,6 +6217,19 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
>   unsigned long flags;
>   int ret;
>  
> + /* Can't change pixel format via MI display flips. */
> + if (fb->pixel_format != crtc->fb->pixel_format)
> + return -EINVAL;
> +
> + /*
> +  * TILEOFF/LINOFF registers can't be changed via MI display flips.
> +  * Note that pitch changes could also affect these register.
> +  */
> + if (INTEL_INFO(dev)->gen > 3 &&
> + (fb->offsets[0] != crtc->fb->offsets[0] ||
> +  fb->pitches[0] != crtc->fb->pitches[0]))
> + return -EINVAL;
> +
>   work = kzalloc(sizeof *work, GFP_KERNEL);
>   if (work == NULL)
>   return -ENOMEM;
> -- 
> 1.7.3.4
> 
> ___
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Mail: daniel at ffwll.ch
Mobile: +41 (0)79 365 57 48


[Intel-gfx] [PATCH 2/6] drm/i915: Check framebuffer stride more thoroughly

2012-07-05 Thread Ville Syrjälä
On Thu, Jul 05, 2012 at 01:27:47PM +0200, Daniel Vetter wrote:
> On Thu, May 24, 2012 at 09:08:55PM +0300, ville.syrjala at linux.intel.com 
> wrote:
> > From: Ville Syrj?l? 
> > 
> > Make sure the the framebuffer stride is smaller than the maximum
> > accepted by any plane.
> > 
> > Also when using a tiled memory make sure the object stride matches
> > the framebuffer stride.
> > 
> > Signed-off-by: Ville Syrj?l? 
> > ---
> >  drivers/gpu/drm/i915/intel_display.c |   18 ++
> >  1 files changed, 18 insertions(+), 0 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_display.c 
> > b/drivers/gpu/drm/i915/intel_display.c
> > index 7cf639c..8fea475 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -6643,6 +6643,17 @@ static const struct drm_framebuffer_funcs 
> > intel_fb_funcs = {
> > .create_handle = intel_user_framebuffer_create_handle,
> >  };
> >  
> > +static unsigned int intel_max_fb_stride(const struct drm_device *dev)
> > +{
> > +   /* FIXME: BSpec for pre-Gen5 is a bit unclear on stride limits */
> > +   if (INTEL_INFO(dev)->gen <= 3)
> > +   return 8192;
> 
> 8k pitch limit is gen2, gen3 can have a 4kx4k framebuffer @32bit.

OK. I was just looking at BSpec but there were gaps in the docs. For
example, for gen3, only the limit for the OVL (8k) and tiled DSP (8k)
were mentioned. Nothing about non-tiled DSP. OTOH I don't know if even
the documented limits were really correct.

> -Daniel
> 
> > +   else if (INTEL_INFO(dev)->gen <= 4)
> > +   return 16384;
> 
> Iirc gen4 can also do 32k, see the pixel-based limits in
> intel_modset_init.

OK, BSpec was equally unclear here. Only tiled limit (16k) was
mentioned.

Seeing as the limits are a bit unclear, I don't know if I should even
try to add these checks. Unfortunately I don't have any pre-gen6
hardware, so I can't coax the real limits out of the hardware
empirically.

-- 
Ville Syrj?l?
Intel OTC


[Intel-gfx] [PATCH 5/6] drm/i915: Handle framebuffer offsets[]

2012-07-05 Thread Ville Syrjälä
On Thu, Jul 05, 2012 at 01:29:36PM +0200, Daniel Vetter wrote:
> On Thu, May 24, 2012 at 09:01:24PM +0200, Daniel Vetter wrote:
> > On Thu, May 24, 2012 at 09:49:15PM +0300, Ville Syrj?l? wrote:
> > > On Thu, May 24, 2012 at 11:31:32AM -0700, Jesse Barnes wrote:
> > > > On Thu, 24 May 2012 21:08:58 +0300
> > > > ville.syrjala at linux.intel.com wrote:
> > > > 
> > > > > From: Ville Syrj?l? 
> > > > > 
> > > > > Take fb->offset[0] into account when calculating the linear and tile 
> > > > > x/y
> > > > > offsets.
> > > > > 
> > > > > For non-tiled surfaces fb->offset[0] is simply added to the linear
> > > > > byte offset.
> > > > > 
> > > > > For tiled surfaces treat fb->offsets[0] as a byte offset into the
> > > > > linearized view of the surface. So we end up converting fb->offsets[0]
> > > > > into additional x and y offsets.
> > > > 
> > > > Do you have code using a non-zero offsets[0]?  At least for current
> > > > code that would indicate some kind of problem... though hopefully we'll
> > > > be adding planar support back again sometime soon.
> > > 
> > > I did have some test app that used offsets[] at some point, but tbh I
> > > didn't excercise these changes with it.
> > > 
> > > I have a sort of semi working skeleton of a test app which I just modify
> > > for various use cases as need arises. I really should try to clean it up
> > > a bit and generalize it so that it wouldn't need constant code changes
> > > to test different scenarios.
> > 
> > Yeah, I want these little test apps as testcases in i-g-t.
> 
> Ping about these testcases, ported to i-g-t ...

Sorry, haven't had time to look at those. I'm going on vacation after
tomorrow but I'll add a task to the list so I won't forget about this.

-- 
Ville Syrj?l?
Intel OTC


Tegra DRM device tree bindings

2012-07-05 Thread Thierry Reding
Here's a new proposal that should address all issues collected during
the discussion of the previous one:


Linux 3.2: After resume screen only turned on after switching terminals

2012-07-05 Thread Alex Deucher
On Wed, Jul 4, 2012 at 10:11 AM, Paul Menzel
 wrote:
> Am Mittwoch, den 04.07.2012, 09:55 -0400 schrieb Alex Deucher:
>> On Wed, Jul 4, 2012 at 9:41 AM, Paul Menzel wrote:
>> > Am Samstag, den 30.06.2012, 21:00 +0200 schrieb Paul Menzel:
>> >> Am Dienstag, den 26.06.2012, 07:42 +0200 schrieb Michel D?nzer:
>> >> > On Mon, 2012-06-25 at 21:14 +0200, Paul Menzel wrote:
>> >> > >
>> >> > > resuming from suspend to RAM the monitor was indicating by a blinking
>> >> > > LED that it did not receive any signal. This is the first time this
>> >> > > happened. Resuming from suspend to RAM had worked without problems
>> >> > > before (and probably will work again the next tries).
>> >> > >
>> >> > > Logging in from SSH worked fine though. Switching terminal to tty1
>> >> > > nothing changed but going back to tty7, where X was supposed to run),
>> >> > > and the monitor detected a signal and showed the screensaver.
>> >> > >
>> >> > > Switching to tty1 still does not work though, that means the monitor
>> >> > > indicates that it gets no signal.
>> >> >
>> >> > What about tty2-6 or any others?
>> >>
>> >> It just happened again. tty2?6 also do not show anything.
>> >>
>> >> > What does fbset -i say when the problem occurs?
>> >>
>> >> I logged in over SSH not having switched the ttys yet. This is the
>> >> result.
>> >>
>> >> $ fbset -i
>> >>
>> >> mode "1280x1024"
>> >> geometry 1280 1024 1280 1024 32
>> >> timings 0 0 0 0 0 0 0
>> >> accel true
>> >> rgba 8/16,8/8,8/0,0/0
>> >> endmode
>> >>
>> >> Frame buffer device information:
>> >> Name: radeondrmfb
>> >> Address : 0xd0142000
>> >> Size: 5242880
>> >> Type: PACKED PIXELS
>> >> Visual  : TRUECOLOR
>> >> XPanStep: 1
>> >> YPanStep: 1
>> >> YWrapStep   : 0
>> >> LineLength  : 5120
>> >> Accelerator : No
>> >>
>> >> This does not differ though after having switched between ttys and
>> >> getting a working X server again. The other ttys do not just show black.
>> >> When switching from tty7 with the X server running to a console(?) tty
>> >> then I shortly (half second) see some kind of test image, which contains
>> >> four horizontal colored stripes red, green, blue and white(?).
>> >>
>> >> I could not find anything in the output of `dmesg`, but
>> >> `/var/log/syslog` contains several of the following lines.
>> >>
>> >> Jun 29 19:44:57 debian-host acpid: client 8677[0:0] has 
>> >> disconnected
>> >> Jun 29 19:45:08 debian-host acpid: client connected from 8677[0:0]
>> >> Jun 29 19:45:08 debian-host acpid: 1 client rule loaded
>> >
>> > Does someone have an idea what the problem might be and how to fix it?
>>
>> Is this a regression?  If so can you bisect?
>
> I do not think so. But the problem is I just got that board, have only
> used it with Linux 3.2.x (from Debian Sid/unstable) and this issue is
> not reproducible, that means, it happens in less then 5(?) percent of
> the suspend and resume cycles.
>
> Any idea what these acpid messages could mean?

Nope sorry.

Alex

>
>
> Thanks,
>
> Paul


[PATCH v2] of: Add videomode helper

2012-07-05 Thread Laurent Pinchart
Hi Sascha,

Thanks for the patch.

On Wednesday 04 July 2012 09:56:35 Sascha Hauer wrote:
> This patch adds a helper function for parsing videomodes from the
> devicetree. The videomode can be either converted to a struct
> drm_display_mode or a struct fb_videomode.
> 
> Signed-off-by: Sascha Hauer 
> ---
> 
> changes since v1:
> - use hyphens instead of underscores for property names
> 
>  .../devicetree/bindings/video/displaymode  |   40 
>  drivers/of/Kconfig |5 +
>  drivers/of/Makefile|1 +
>  drivers/of/of_videomode.c  |  108 +
>  include/linux/of_videomode.h   |   19 
>  5 files changed, 173 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/video/displaymode
>  create mode 100644 drivers/of/of_videomode.c
>  create mode 100644 include/linux/of_videomode.h
> 
> diff --git a/Documentation/devicetree/bindings/video/displaymode
> b/Documentation/devicetree/bindings/video/displaymode new file mode 100644
> index 000..43cc17d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/video/displaymode
> @@ -0,0 +1,40 @@
> +videomode bindings
> +==
> +
> +Required properties:
> + - xres, yres: Display resolution
> + - left-margin, right-margin, hsync-len: Horizontal Display timing
> parameters +   in pixels
> +   upper-margin, lower-margin, vsync-len: Vertical display timing
> parameters in +   lines
> + - clock: displayclock in Hz
> +
> +Optional properties:
> + - width-mm, height-mm: Display dimensions in mm

I've always had mixed feelings about the physical display dimension being part 
of the display mode. Those are properties of the panel/display instead of the 
mode. Storing them as part of the mode can be convenient, but we then run into 
consistency issues (developers have to remember in which display mode 
instances the values are available, and in which instances they're set to 0 
for instance). If we want to clean this up, this patch would be a good 
occasion.

> + - hsync-active-high (bool): Hsync pulse is active high
> + - vsync-active-high (bool): Vsync pulse is active high
> + - interlaced (bool): This is an interlaced mode
> + - doublescan (bool): This is a doublescan mode
> +
> +There are different ways of describing a display mode. The devicetree
> representation +corresponds to the one used by the Linux Framebuffer
> framework described here in +Documentation/fb/framebuffer.txt. This
> representation has been chosen because it's +the only format which does not
> allow for inconsistent parameters.Unlike the Framebuffer +framework the
> devicetree has the clock in Hz instead of ps.
> +
> +Example:
> +
> + display at 0 {
> + /* 1920x1080p24 */
> + clock = <5200>;
> + xres = <1920>;
> + yres = <1080>;
> + left-margin = <25>;
> + right-margin = <25>;
> + hsync-len = <25>;
> + lower-margin = <2>;
> + upper-margin = <2>;
> + vsync-len = <2>;
> + hsync-active-high;
> + };
> +

-- 
Regards,

Laurent Pinchart



[Bug 15486] amd_adac error

2012-07-05 Thread bugzilla-dae...@bugzilla.kernel.org
https://bugzilla.kernel.org/show_bug.cgi?id=15486


Alan  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||alan at lxorguk.ukuu.org.uk
  Component|kvm |Video(DRI - non Intel)
Version|unspecified |2.5
 Resolution||OBSOLETE
 AssignedTo|virtualization_kvm at kernel-b |drivers_video-dri at 
kernel-bu
   |ugs.osdl.org|gs.osdl.org
Product|Virtualization  |Drivers




-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are watching the assignee of the bug.


[Bug 15486] amd_adac error

2012-07-05 Thread bugzilla-dae...@bugzilla.kernel.org
https://bugzilla.kernel.org/show_bug.cgi?id=15486


Alex Deucher  changed:

   What|Removed |Added

 CC||alexdeucher at gmail.com




--- Comment #1 from Alex Deucher   2012-07-05 
16:16:35 ---
Is this still an issue with a newer kernel?

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are watching the assignee of the bug.


[PATCH v2] of: Add videomode helper

2012-07-05 Thread Sascha Hauer
On Thu, Jul 05, 2012 at 04:08:07PM +0200, Laurent Pinchart wrote:
> Hi Sascha,
> 
> Thanks for the patch.
> 
> > +++ b/Documentation/devicetree/bindings/video/displaymode
> > @@ -0,0 +1,40 @@
> > +videomode bindings
> > +==
> > +
> > +Required properties:
> > + - xres, yres: Display resolution
> > + - left-margin, right-margin, hsync-len: Horizontal Display timing
> > parameters +   in pixels
> > +   upper-margin, lower-margin, vsync-len: Vertical display timing
> > parameters in +   lines
> > + - clock: displayclock in Hz
> > +
> > +Optional properties:
> > + - width-mm, height-mm: Display dimensions in mm
> 
> I've always had mixed feelings about the physical display dimension being 
> part 
> of the display mode. Those are properties of the panel/display instead of the 
> mode. Storing them as part of the mode can be convenient, but we then run 
> into 
> consistency issues (developers have to remember in which display mode 
> instances the values are available, and in which instances they're set to 0 
> for instance). If we want to clean this up, this patch would be a good 
> occasion.

This sounds like a display node with one or more node subnodes, like:

display {
width_mm = <>;
height_mm = <>;
mode {
xres = <>;
yres = <>;
...
};
};

Is that what you mean or are you thinking of something else?

Sascha

-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |


[PATCH v2] of: Add videomode helper

2012-07-05 Thread Sascha Hauer
On Thu, Jul 05, 2012 at 09:51:39AM -0500, Rob Herring wrote:
> On 07/04/2012 02:56 AM, Sascha Hauer wrote:
> > +
> > +There are different ways of describing a display mode. The devicetree 
> > representation
> > +corresponds to the one used by the Linux Framebuffer framework described 
> > here in
> > +Documentation/fb/framebuffer.txt. This representation has been chosen 
> > because it's
> > +the only format which does not allow for inconsistent parameters.Unlike 
> > the Framebuffer
> > +framework the devicetree has the clock in Hz instead of ps.
> 
> This implies you are putting linux settings into DT rather than
> describing the h/w. I'm not saying the binding is wrong, but documenting
> it this way makes it seem so.

The major reason to use these values was that they do not allow for
inconsistent values (as opposed to for example with hsync_start which you
would have to check for hsync_start >= xres).
I could rephrase this if it looks too much like modelled-after-Linux
instead of modelled-after-hardware.

> 
> One important piece missing (and IIRC linux doesn't really support) is
> defining the pixel format of the interface.

I could use this aswell. I think this can be specified as additional
properties later, right? I'm afraid this needs a lot of discussion so
we should delay this to the next round.

> 
> > +Example:
> > +
> > +   display at 0 {
> > +   /* 1920x1080p24 */
> > +   clock = <5200>;
> 
> Should this use the clock binding? You probably need both constraints
> and clock binding though.

Is the clock binding suitable for this? Here we are not interested where
the clock comes from, but instead which range is allowed.

> 
> Often you don't know the frequency up front and/or have limited control
> of the frequency (i.e. integer dividers). Then you have to adjust the
> margins to get the desired refresh rate. To do that, you need to know
> the ranges of values a panel can support. Perhaps you just assume you
> can increase the right-margin and lower-margins as I think you will hit
> pixel clock frequency max before any limit on margins.

Most datasheets specify min,typ,max triplets. We could do this instead
of using single fixed values for the margins:

left_margin = <0 10 40>;

Right now we have nothing in the kernel that could handle this, but
getting the interface to the devicetree right seems indeed important.

Sascha

-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |


[PATCH v2] of: Add videomode helper

2012-07-05 Thread Rob Herring
On 07/04/2012 02:56 AM, Sascha Hauer wrote:
> This patch adds a helper function for parsing videomodes from the devicetree.
> The videomode can be either converted to a struct drm_display_mode or a
> struct fb_videomode.
> 
> Signed-off-by: Sascha Hauer 
> ---
> 
> changes since v1:
> - use hyphens instead of underscores for property names
> 
>  .../devicetree/bindings/video/displaymode  |   40 
>  drivers/of/Kconfig |5 +
>  drivers/of/Makefile|1 +
>  drivers/of/of_videomode.c  |  108 
> 
>  include/linux/of_videomode.h   |   19 
>  5 files changed, 173 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/video/displaymode
>  create mode 100644 drivers/of/of_videomode.c
>  create mode 100644 include/linux/of_videomode.h
> 
> diff --git a/Documentation/devicetree/bindings/video/displaymode 
> b/Documentation/devicetree/bindings/video/displaymode
> new file mode 100644
> index 000..43cc17d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/video/displaymode
> @@ -0,0 +1,40 @@
> +videomode bindings
> +==
> +
> +Required properties:
> + - xres, yres: Display resolution
> + - left-margin, right-margin, hsync-len: Horizontal Display timing parameters
> +   in pixels
> +   upper-margin, lower-margin, vsync-len: Vertical display timing parameters 
> in
> +   lines
> + - clock: displayclock in Hz
> +
> +Optional properties:
> + - width-mm, height-mm: Display dimensions in mm
> + - hsync-active-high (bool): Hsync pulse is active high
> + - vsync-active-high (bool): Vsync pulse is active high
> + - interlaced (bool): This is an interlaced mode
> + - doublescan (bool): This is a doublescan mode
> +
> +There are different ways of describing a display mode. The devicetree 
> representation
> +corresponds to the one used by the Linux Framebuffer framework described 
> here in
> +Documentation/fb/framebuffer.txt. This representation has been chosen 
> because it's
> +the only format which does not allow for inconsistent parameters.Unlike the 
> Framebuffer
> +framework the devicetree has the clock in Hz instead of ps.

This implies you are putting linux settings into DT rather than
describing the h/w. I'm not saying the binding is wrong, but documenting
it this way makes it seem so.

One important piece missing (and IIRC linux doesn't really support) is
defining the pixel format of the interface.

> +Example:
> +
> + display at 0 {
> + /* 1920x1080p24 */
> + clock = <5200>;

Should this use the clock binding? You probably need both constraints
and clock binding though.

Often you don't know the frequency up front and/or have limited control
of the frequency (i.e. integer dividers). Then you have to adjust the
margins to get the desired refresh rate. To do that, you need to know
the ranges of values a panel can support. Perhaps you just assume you
can increase the right-margin and lower-margins as I think you will hit
pixel clock frequency max before any limit on margins.

Rob

> + xres = <1920>;
> + yres = <1080>;
> + left-margin = <25>;
> + right-margin = <25>;
> + hsync-len = <25>;
> + lower-margin = <2>;
> + upper-margin = <2>;
> + vsync-len = <2>;
> + hsync-active-high;
> + };
> +
> diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig
> index dfba3e6..a3acaa3 100644
> --- a/drivers/of/Kconfig
> +++ b/drivers/of/Kconfig
> @@ -83,4 +83,9 @@ config OF_MTD
>   depends on MTD
>   def_bool y
>  
> +config OF_VIDEOMODE
> + def_bool y
> + help
> +   helper to parse videomodes from the devicetree
> +
>  endmenu # OF
> diff --git a/drivers/of/Makefile b/drivers/of/Makefile
> index e027f44..80e6db3 100644
> --- a/drivers/of/Makefile
> +++ b/drivers/of/Makefile
> @@ -11,3 +11,4 @@ obj-$(CONFIG_OF_MDIO)   += of_mdio.o
>  obj-$(CONFIG_OF_PCI) += of_pci.o
>  obj-$(CONFIG_OF_PCI_IRQ)  += of_pci_irq.o
>  obj-$(CONFIG_OF_MTD) += of_mtd.o
> +obj-$(CONFIG_OF_VIDEOMODE)   += of_videomode.o
> diff --git a/drivers/of/of_videomode.c b/drivers/of/of_videomode.c
> new file mode 100644
> index 000..50d3bd2
> --- /dev/null
> +++ b/drivers/of/of_videomode.c
> @@ -0,0 +1,108 @@
> +/*
> + * OF helpers for parsing display modes
> + *
> + * Copyright (c) 2012 Sascha Hauer , Pengutronix
> + *
> + * This file is released under the GPLv2
> + */
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +
> +int of_get_video_mode(struct device_node *np, struct drm_display_mode *dmode,
> + struct fb_videomode *fbmode)
> +{
> + int ret = 0;
> + u32 left_margin, xres, right_margin, hsync_len;
> + u32 upper_margin, yres, lower_margin, vsync_len;
> + u32 width_mm = 0, height_mm = 0;
> + u32 clock;
> + bool hah = false, vah = false, interlaced = false,

3.5-rc5: radeon acceleration regression on Transmeta system

2012-07-05 Thread Meelis Roos
> > In 3.4, radeon worked with a glitch - window titles were see-throug (not
> > drawn). In 3.5-rc5, radeon driver seems to be more careful and disables
> > acceleration on this system at all. Full dmesg below.
> 
> Does it always do it the same? got the dmesg from 3.4 and/or 2.6.32?

That was a good question. I did some more tries, and it was not 
repeatable. Sometimes it worked like 3.4 did - rv100 initialized fine, 
no borders except when maximized, otherwise worked.

Total 3 failures and 6 successes in intializing the card so far.

> if I had to guess something broke in the dma area elsewhere, but not sure.

Initial windows border problem seems to have been introduced between 
2.6.37 and 2.6.38, bisect is slow.

"Good" dmesg:

[0.00] Initializing cgroup subsys cpu
[0.00] Linux version 3.5.0-rc5-00098-g9e85a6f (mroos at raamat) (gcc 
version 4.4.5 (Debian 4.4.5-8) ) #61 Thu Jul 5 04:17:43 EEST 2012
[0.00] e820: BIOS-provided physical RAM map:
[0.00] BIOS-e820: [mem 0x-0x0009bfff] usable
[0.00] BIOS-e820: [mem 0x0009c000-0x0009] reserved
[0.00] BIOS-e820: [mem 0x000e8000-0x000f] reserved
[0.00] BIOS-e820: [mem 0x0010-0x0efd] usable
[0.00] BIOS-e820: [mem 0x0efe-0x0efefbff] ACPI data
[0.00] BIOS-e820: [mem 0x0efefc00-0x0efe] ACPI NVS
[0.00] BIOS-e820: [mem 0x0eff-0x0f0f] reserved
[0.00] BIOS-e820: [mem 0xfff0-0x] reserved
[0.00] Notice: NX (Execute Disable) protection missing in CPU!
[0.00] DMI 2.3 present.
[0.00] DMI: FUJITSU LifeBook P Series/FJNB164, BIOS Version 1.08  
02/24/2005
[0.00] e820: update [mem 0x-0x] usable ==> reserved
[0.00] e820: remove [mem 0x000a-0x000f] usable
[0.00] e820: last_pfn = 0xefe0 max_arch_pfn = 0x10
[0.00] initial memory mapped: [mem 0x-0x017f]
[0.00] Base memory trampoline at [c0098000] 98000 size 16384
[0.00] init_memory_mapping: [mem 0x-0x0efd]
[0.00]  [mem 0x-0x003f] page 4k
[0.00]  [mem 0x0040-0x0ebf] page 2M
[0.00]  [mem 0x0ec0-0x0efd] page 4k
[0.00] kernel direct mapping tables up to 0xefd @ [mem 
0x017fa000-0x017f]
[0.00] ACPI: RSDP 000f70a0 00014 (v00 FUJ   )
[0.00] ACPI: RSDT 0efedad0 0002C (v01 FUJMOMUS3   0108 FUJ  
1000)
[0.00] ACPI: FACP 0efefa92 00074 (v01 FUJMOMUS3   0108 FUJ  
1000)
[0.00] ACPI: DSDT 0efedafc 01F96 (v01 FUJMOMUS3   0108 MSFT 
0107)
[0.00] ACPI: FACS 0efeffc0 00040
[0.00] ACPI: SSDT 0efefb06 000FA (v01 PTLTD  ACPIPST1 0001 PTL  
0001)
[0.00] 239MB LOWMEM available.
[0.00]   mapped low ram: 0 - 0efe
[0.00]   low ram: 0 - 0efe
[0.00] Zone ranges:
[0.00]   DMA  [mem 0x0001-0x00ff]
[0.00]   Normal   [mem 0x0100-0x0efd]
[0.00] Movable zone start for each node
[0.00] Early memory node ranges
[0.00]   node   0: [mem 0x0001-0x0009bfff]
[0.00]   node   0: [mem 0x0010-0x0efd]
[0.00] On node 0 totalpages: 61292
[0.00] free_area_init_node: node 0, pgdat c12ff888, node_mem_map 
cee00200
[0.00]   DMA zone: 32 pages used for memmap
[0.00]   DMA zone: 0 pages reserved
[0.00]   DMA zone: 3948 pages, LIFO batch:0
[0.00]   Normal zone: 448 pages used for memmap
[0.00]   Normal zone: 56864 pages, LIFO batch:15
[0.00] ACPI: PM-Timer IO Port: 0xff08
[0.00] PM: Registered nosave memory: 0009c000 - 000a
[0.00] PM: Registered nosave memory: 000a - 000e8000
[0.00] PM: Registered nosave memory: 000e8000 - 0010
[0.00] e820: [mem 0x0f10-0xffef] available for PCI devices
[0.00] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[0.00] pcpu-alloc: [0] 0 
[0.00] Built 1 zonelists in Zone order, mobility grouping on.  Total 
pages: 60812
[0.00] Kernel command line: 
BOOT_IMAGE=/boot/vmlinuz-3.5.0-rc5-00098-g9e85a6f root=/dev/sda1 ro debug 
radeon.modeset=1
[0.00] PID hash table entries: 1024 (order: 0, 4096 bytes)
[0.00] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[0.00] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[0.00] __ex_table already sorted, skipping sort
[0.00] Initializing CPU#0
[0.00] Memory: 239300k/245632k available (2103k kernel code, 5868k 
reserved, 984k data, 284k init, 0k highmem)
[0.00] virtual kernel memory layout:
[0.00] fixmap  : 0xfffe4000 - 0xf000   ( 108 kB)
[0.00] vmalloc : 0xcf7e

[bisected] nouveau: "Failed to idle channel x" after resume

2012-07-05 Thread Martin Nyhus
On Mon, 11 Jun 2012 23:18:42 +0200 Martin Nyhus wrote:
> after resuming from suspend nouveau starts writing Failed to idle
> channel x (where x is 2 or 3) to the log and X appears to stop and
> then restart only to stop again. Starting Firefox after resuming
> triggers the bugs every time, and bisecting leads to 03bd6efa
> ("drm/nv50/fifo: use hardware channel kickoff functionality").

Hi Ben,
I'm still seeing this bug with the latest from Linus
(v3.5-rc5-98-g9e85a6f) and linux-next (next-20120705).

lspci output:
01:00.0 VGA compatible controller: nVidia Corporation G86 [GeForce
8400M GS] (rev a1)

Sorry I haven't followed up on this earlier,
Martin