[Bug 67982] After boot, the APU is powered with its maximum voltage (trinity/ARUBA)

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=67982

--- Comment #5 from Kertesz Laszlo  ---
I did some more poking and i found that setting the cpu governor to
"conservative" i get correct voltage handling at bootup after logging into
lightdm.
But if i restart lightdm and log in, it will get stuck at the 1.34-1.36 levels.

With ondemand after boot i always had (maybe 1 or 2 exceptions) the 1.34 and
1.36 voltage levels.

Its weird that in that state changing to a vt and back sometimes elevates the
voltage to 1.44v and keep it there.

I also removed and loaded again the acpi-cpufreq driver - after unloading, the
voltage is a fixed (it seems) 1.15v, after loading it again it jumps to 1.34
and stays there (or goes up to 1.36 and back sometimes) until i turn dpms force
off and on the monitor, after which it starts to change the voltage levels
correctly.

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


Re: [PATCH v2 0/3] Fix Win8 backlight issue

2013-09-18 Thread Aaron Lu
On 09/17/2013 09:34 PM, Igor Gnatenko wrote:
> On Tue, 2013-09-17 at 17:23 +0800, Aaron Lu wrote:
>> v1 has the subject of "Rework ACPI video driver" and is posted here:
>> http://lkml.org/lkml/2013/9/9/74
>> Since the objective is really to fix Win8 backlight issues, I changed
>> the subject in this version, sorry about that.
>>
>> This patchset has three patches, the first introduced a new API named
>> backlight_device_registered in backlight layer that can be used for
>> backlight interface provider module to check if a specific type backlight
>> interface has been registered, see changelog for patch 1/3 for details.
>> Then patch 2/3 does the cleanup to sepeate the backlight control and
>> event delivery functionality in the ACPI video module and patch 3/3
>> solves some Win8 backlight control problems by avoiding register ACPI
>> video's backlight interface if:
>> 1 Kernel cmdline option acpi_backlight=video is not given;
>> 2 This is a Win8 system;
>> 3 Native backlight control interface exists.
>>
>> Technically, patch 2/3 is not required to fix the issue here. So if you
>> think it is not necessary, I can remove it from the series.
>>
>> Apply on top of v3.12-rc1.
>>
>> Aaron Lu (3):
>>   backlight: introduce backlight_device_registered
>>   ACPI / video: seperate backlight control and event interface
>>   ACPI / video: Do not register backlight if win8 and native interface
>> exists
>>
>>  drivers/acpi/internal.h |   5 +-
>>  drivers/acpi/video.c| 442 
>> 
>>  drivers/acpi/video_detect.c |  14 +-
>>  drivers/video/backlight/backlight.c |  31 +++
>>  include/acpi/video.h|   2 +
>>  include/linux/backlight.h   |   4 +
>>  6 files changed, 300 insertions(+), 198 deletions(-)
>>
> 
> Aaron, how about fix indicator on ThinkPads ?

Can you please describe the problem in detail, is it that when you
adjust brightness level through hotkey, there is no GUI indication?
Thanks.

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


[drm/exynos-fimd] Display regression in v3.12-rc1

2013-09-18 Thread Sachin Kamat
Hi Andrzej ,

I was testing the latest Linux kernel release (v3.12-rc1) on
Exynos4210 based Origen board.
I found a display regression with that. I do not get any display on
the LCD (other than backlight) with the latest kernel. Git bisect
pointed me to the following commit:
111e6055d4e0d35c6a4b6cd37d7bb00a88eaffb4 ("drm/exynos: fimd: replace
struct fb_videomode with videomode"). Reverting this patch does not
cause the issue. Let me know if you need any other info to help
identify the problem.

-- 
With warm regards,
Sachin
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v2 0/3] Fix Win8 backlight issue

2013-09-18 Thread Igor Gnatenko
On Wed, 2013-09-18 at 09:03 +0800, Aaron Lu wrote:
> On 09/17/2013 09:34 PM, Igor Gnatenko wrote:
> > On Tue, 2013-09-17 at 17:23 +0800, Aaron Lu wrote:
> >> v1 has the subject of "Rework ACPI video driver" and is posted here:
> >> http://lkml.org/lkml/2013/9/9/74
> >> Since the objective is really to fix Win8 backlight issues, I changed
> >> the subject in this version, sorry about that.
> >>
> >> This patchset has three patches, the first introduced a new API named
> >> backlight_device_registered in backlight layer that can be used for
> >> backlight interface provider module to check if a specific type backlight
> >> interface has been registered, see changelog for patch 1/3 for details.
> >> Then patch 2/3 does the cleanup to sepeate the backlight control and
> >> event delivery functionality in the ACPI video module and patch 3/3
> >> solves some Win8 backlight control problems by avoiding register ACPI
> >> video's backlight interface if:
> >> 1 Kernel cmdline option acpi_backlight=video is not given;
> >> 2 This is a Win8 system;
> >> 3 Native backlight control interface exists.
> >>
> >> Technically, patch 2/3 is not required to fix the issue here. So if you
> >> think it is not necessary, I can remove it from the series.
> >>
> >> Apply on top of v3.12-rc1.
> >>
> >> Aaron Lu (3):
> >>   backlight: introduce backlight_device_registered
> >>   ACPI / video: seperate backlight control and event interface
> >>   ACPI / video: Do not register backlight if win8 and native interface
> >> exists
> >>
> >>  drivers/acpi/internal.h |   5 +-
> >>  drivers/acpi/video.c| 442 
> >> 
> >>  drivers/acpi/video_detect.c |  14 +-
> >>  drivers/video/backlight/backlight.c |  31 +++
> >>  include/acpi/video.h|   2 +
> >>  include/linux/backlight.h   |   4 +
> >>  6 files changed, 300 insertions(+), 198 deletions(-)
> >>
> > 
> > Aaron, how about fix indicator on ThinkPads ?
> 
> Can you please describe the problem in detail, is it that when you
> adjust brightness level through hotkey, there is no GUI indication?
> Thanks.
> 
> -Aaron

Yes. On my ThinkPad X230 I pressing backlight hotkeys. Actually
brightnes changing, but have no indicator in GUI.

-- 
Igor Gnatenko
Fedora release 20 (Heisenbug)
Linux 3.11.1-300.fc20.x86_64

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


Re: [drm/exynos-fimd] Display regression in v3.12-rc1

2013-09-18 Thread Andrzej Hajda
Hi Sachin,

Could you test it with removed display-timings::clock-frequency property.
Currently in arch/arm/boot/dts/exynos4210-origen.dts
display-timings::clock-frequency is set to 5,
this is incorrect value. With the property removed fimd calculates
clock-frequency from other properties with assumption of default
60Hz refresh rate.

It could work before because of_get_fb_videomode calculated refresh rate
from display-timings and with clock 5, the result was 0(due to
rounding down in some division),
so fimd assumed he should use default refresh rate of 60Hz.

Regards
Andrzej

On 09/18/2013 07:22 AM, Sachin Kamat wrote:
> Hi Andrzej ,
>
> I was testing the latest Linux kernel release (v3.12-rc1) on
> Exynos4210 based Origen board.
> I found a display regression with that. I do not get any display on
> the LCD (other than backlight) with the latest kernel. Git bisect
> pointed me to the following commit:
> 111e6055d4e0d35c6a4b6cd37d7bb00a88eaffb4 ("drm/exynos: fimd: replace
> struct fb_videomode with videomode"). Reverting this patch does not
> cause the issue. Let me know if you need any other info to help
> identify the problem.
>

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


[Bug 67982] After boot, the APU is powered with its maximum voltage (trinity/ARUBA)

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=67982

--- Comment #6 from Kertesz Laszlo  ---
It also seems that only if i use acpi=strict on the kernel command line the
conservative governor works well. Otherwise it is exactly the same as ondemand.

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


[Bug 65254] opengl flicker in xbmc / glxgears

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=65254

--- Comment #18 from Vladi  ---
http://gypsyops.aresgate.net/~vladi/dummy.mp4
video of the flicker in xbmc

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


[Bug 69514] New: R770 (Radeon 4850) screen/buffer corruption when waking up from sleep mode

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69514

  Priority: medium
Bug ID: 69514
  Assignee: dri-devel@lists.freedesktop.org
   Summary: R770 (Radeon 4850) screen/buffer corruption when
waking up from sleep mode
  Severity: normal
Classification: Unclassified
OS: All
  Reporter: peteraspl...@gentoo.se
  Hardware: Other
Status: NEW
   Version: XOrg CVS
 Component: DRM/Radeon
   Product: DRI

If I put my computer in sleep/hibernate (doesn't seem to matter which one) the
screen gets corrupted with colors everywhere. It does update, and things jump
around when I try to press buttons, bring out menus, etc. It's like the drawing
buffer is all jumbled up and it's reading/writing from/to the wrong place.

When something is updated, it's like I can see the picture/pixmap/icon for a
fraction of a second, but then it's corrupted again.
If I move the mouse continuously over a menu, to update the highlighting of it,
I can see at least where I am on the screen. But the fonts are complete
garbage, and it's unreadable. Perhaps I can photograph the screen if it's
needed. I haven't tried taking a screenshot.

I'm using Gentoo, 3.11 gentoo-kernel, with Systemd and Gnome 3.8.

The TTY:s are not corrupted, so I'm able to switch to a TTY without problems.

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


[Bug 69514] R770 (Radeon 4850) screen/buffer corruption when waking up from sleep mode

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69514

--- Comment #1 from Peter Asplund  ---
I'm using a green background, and the whole corrupted screen is green. The
screen looks like big green chunks that flickers when it's updated as I move
the mouse.

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


[Bug 60182] X.Org Server terminate when I close video player

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=60182

--- Comment #29 from Michel Dänzer  ---
Created attachment 86051
  --> https://bugs.freedesktop.org/attachment.cgi?id=86051&action=edit
DRI2: Install client callback only once

Does this patch fix the problem?

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


[Bug 69081] [radeonsi] Incorrect rendering of textures

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69081

--- Comment #8 from Michel Dänzer  ---
For CK II, you need an LLVM 3.4 snapshot from Git/SVN. Not sure what the
problem is with KF, let's see if the newer LLVM helps for that as well.

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


[PATCH] [RFC] mm/shrinker: Add a shrinker flag to always shrink a bit

2013-09-18 Thread Daniel Vetter
The drm/i915 gpu driver loves to hang onto as much memory as it can -
we cache pinned pages, dma mappings and obviously also gpu address
space bindings of buffer objects. On top of that userspace has its own
opportunistic cache which is managed by an madvise-like ioctl to tell
the kernel which objects are purgeable and which are actually used.
This is to cache userspace mmapings and a bit of other metadata about
buffer objects needed to be able to hit fastpaths even on fresh
objects.

We have routine encounters with the OOM killer due to all this crave
for memory. The latest one seems to be an artifact of the mm core
trying really hard to balance page lru evictions with shrinking
caches: The shrinker in drm/i915 doesn't actually free memory, but
only drops all the dma mappings and page refcounts so that the backing
storage (which is just shmemfs nodes) can actually be evicted.

Which means that if the core mm hasn't found anything to evict from
the page lru (most likely because drm/i915 has pinned down everything
available) it will also not shrink any of the caches. Which leads to a
premature OOM while still tons of pages used by gpu buffer objects
could be swapped out.

For a quick hack I've added a shrink-me-harder flag to make sure
there's at least a bit of forward progress. It seems to work. I've
called the flag evicts_to_page_lru, but that might just be uninformed
me talking ...

We should also probably have something with a bit more smarts to be more
aggressive when in a tight spot and avoid the minimal shrinking when
it's not really required, so maybe take scan_control->priority into
account somehow. But since I utterly lack clue I've figured sending
out a quick rfc first is better.

Also, this needs to be rebased to the new shrinker api in 3.12, I
simply haven't rolled my trees forward yet. In any case I just want to
get the discussion started on this.

Cc: Glauber Costa 
Cc: Andrew Morton 
Cc: Rik van Riel 
Cc: Mel Gorman 
Cc: Johannes Weiner 
Cc: Michal Hocko 
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=69247
Signed-off-by: Daniel Vetter 
---
 drivers/gpu/drm/i915/i915_gem.c |  1 +
 include/linux/shrinker.h| 14 ++
 mm/vmscan.c |  4 
 3 files changed, 19 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index d80f33d..7481d0a 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -4582,6 +4582,7 @@ i915_gem_load(struct drm_device *dev)
 
dev_priv->mm.inactive_shrinker.shrink = i915_gem_inactive_shrink;
dev_priv->mm.inactive_shrinker.seeks = DEFAULT_SEEKS;
+   dev_priv->mm.inactive_shrinker.evicts_to_page_lru = true;
register_shrinker(&dev_priv->mm.inactive_shrinker);
 }
 
diff --git a/include/linux/shrinker.h b/include/linux/shrinker.h
index ac6b8ee..361cc2d 100644
--- a/include/linux/shrinker.h
+++ b/include/linux/shrinker.h
@@ -32,6 +32,20 @@ struct shrinker {
int seeks;  /* seeks to recreate an obj */
long batch; /* reclaim batch size, 0 = default */
 
+   /*
+* Some shrinkers (especially gpu drivers using gem as backing storage)
+* hold onto gobloads of pinned pagecache memory (from shmem nodes).
+* When those caches get shrunk the memory only gets unpin and so is
+* available to be evicted with the page launderer.
+*
+* The problem is that the core mm tries to balance eviction from the
+* page lru with shrinking caches. So if there's nothing on the page lru
+* to evict we'll never shrink the gpu driver caches and so will OOM
+* despite tons of memory used by gpu buffer objects that could be
+* swapped out. Setting this flag ensures forward progress.
+*/
+   bool evicts_to_page_lru;
+
/* These are for internal use */
struct list_head list;
atomic_long_t nr_in_batch; /* objs pending delete */
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 2cff0d4..d81f6e0 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -254,6 +254,10 @@ unsigned long shrink_slab(struct shrink_control *shrink,
total_scan = max_pass;
}
 
+   /* Always try to shrink a bit to make forward progress. */
+   if (shrinker->evicts_to_page_lru)
+   total_scan = max_t(long, total_scan, batch_size);
+
/*
 * We need to avoid excessive windup on filesystem shrinkers
 * due to large numbers of GFP_NOFS allocations causing the
-- 
1.8.4.rc3

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


[Bug 69372] Render issues in some GTK widgets with Mesa 9+ RadeonSI drivers

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69372

--- Comment #12 from Michel Dänzer  ---
The fix for bug 65964 landed in glamor Git today, can you try if that happens
to help for any of these issues?

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


Re: [Intel-gfx] [PATCH] [RFC] mm/shrinker: Add a shrinker flag to always shrink a bit

2013-09-18 Thread Knut Petersen

On 18.09.2013 11:10, Daniel Vetter wrote:

Just now I prepared a patch changing the same function in vmscan.c

Also, this needs to be rebased to the new shrinker api in 3.12, I
simply haven't rolled my trees forward yet.


Well, you should. Since commit 81e49f  shrinker->count_objects might be
set to SHRINK_STOP, causing shrink_slab_node() to complain loud and often:

[ 1908.234595] shrink_slab: i915_gem_inactive_scan+0x0/0x9c negative objects to 
delete nr=-x

The kernel emitted a few thousand log lines like the one quoted above during the
last few days on my system.


diff --git a/mm/vmscan.c b/mm/vmscan.c
index 2cff0d4..d81f6e0 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -254,6 +254,10 @@ unsigned long shrink_slab(struct shrink_control *shrink,
total_scan = max_pass;
}
  
+		/* Always try to shrink a bit to make forward progress. */

+   if (shrinker->evicts_to_page_lru)
+   total_scan = max_t(long, total_scan, batch_size);
+

At that place the error message is already emitted.

/*
 * We need to avoid excessive windup on filesystem shrinkers
 * due to large numbers of GFP_NOFS allocations causing the


Have a look at the attached patch. It fixes my problem with the 
erroneous/misleading
error messages, and I think it´s right to just bail out early if SHRINK_STOP is 
found.

Do you agree ?

cu,
 Knut

>From 75ae570ce7b0bb6b40c76beb18fc075e9af3127a Mon Sep 17 00:00:00 2001
From: Knut Petersen 
Date: Wed, 18 Sep 2013 12:06:33 +0200
Subject: [PATCH] mm: respect SHRINK_STOP in shrink_slab_node()

Since commit 81e49f811404f428a9d9a63295a0c267e802fa12
i915_gem_inactive_count() might return SHRINK_STOP.

Unfortunately SHRINK_STOP is not handled propperly in
shrink_slab_node(), causing a system log cluttered with
kernel error messages complaining about "negative objects
to delete".

I think the proper way of handling SHRINK_STOP is obvious,
we should obey ;-)

Signed-off-by: Knut Petersen 
---
 mm/vmscan.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/mm/vmscan.c b/mm/vmscan.c
index 8ed1b77..b1e6f0d 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -244,6 +244,8 @@ shrink_slab_node(struct shrink_control *shrinkctl, struct shrinker *shrinker,
 	max_pass = shrinker->count_objects(shrinker, shrinkctl);
 	if (max_pass == 0)
 		return 0;
+	if (max_pass == SHRINK_STOP)
+		return 0;
 
 	/*
 	 * copy the current shrinker scan count into a local variable
-- 
1.8.1.4

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


Re: [Intel-gfx] [PATCH] [RFC] mm/shrinker: Add a shrinker flag to always shrink a bit

2013-09-18 Thread Daniel Vetter
On Wed, Sep 18, 2013 at 12:38:23PM +0200, Knut Petersen wrote:
> On 18.09.2013 11:10, Daniel Vetter wrote:
> 
> Just now I prepared a patch changing the same function in vmscan.c
> >Also, this needs to be rebased to the new shrinker api in 3.12, I
> >simply haven't rolled my trees forward yet.
> 
> Well, you should. Since commit 81e49f  shrinker->count_objects might be
> set to SHRINK_STOP, causing shrink_slab_node() to complain loud and often:
> 
> [ 1908.234595] shrink_slab: i915_gem_inactive_scan+0x0/0x9c negative objects 
> to delete nr=-x
> 
> The kernel emitted a few thousand log lines like the one quoted above during 
> the
> last few days on my system.
> 
> >diff --git a/mm/vmscan.c b/mm/vmscan.c
> >index 2cff0d4..d81f6e0 100644
> >--- a/mm/vmscan.c
> >+++ b/mm/vmscan.c
> >@@ -254,6 +254,10 @@ unsigned long shrink_slab(struct shrink_control *shrink,
> > total_scan = max_pass;
> > }
> >+/* Always try to shrink a bit to make forward progress. */
> >+if (shrinker->evicts_to_page_lru)
> >+total_scan = max_t(long, total_scan, batch_size);
> >+
> At that place the error message is already emitted.
> > /*
> >  * We need to avoid excessive windup on filesystem shrinkers
> >  * due to large numbers of GFP_NOFS allocations causing the
> 
> Have a look at the attached patch. It fixes my problem with the 
> erroneous/misleading
> error messages, and I think it´s right to just bail out early if SHRINK_STOP 
> is found.
> 
> Do you agree ?

Looking at the patch which introduced these error message for you, which
changed the ->count_objects return value from 0 to SHRINK_STOP your patch
below to treat 0 and SHRINK_STOP equally simply reverts the functional
change.

I don't think that's the intention behind SHRINK_STOP. But if it's the
right think to do we better revert the offending commit directly. And
since I lack clue I think that's a call for core mm guys to make.
-Daniel
> 
> cu,
>  Knut
> 

> From 75ae570ce7b0bb6b40c76beb18fc075e9af3127a Mon Sep 17 00:00:00 2001
> From: Knut Petersen 
> Date: Wed, 18 Sep 2013 12:06:33 +0200
> Subject: [PATCH] mm: respect SHRINK_STOP in shrink_slab_node()
> 
> Since commit 81e49f811404f428a9d9a63295a0c267e802fa12
> i915_gem_inactive_count() might return SHRINK_STOP.
> 
> Unfortunately SHRINK_STOP is not handled propperly in
> shrink_slab_node(), causing a system log cluttered with
> kernel error messages complaining about "negative objects
> to delete".
> 
> I think the proper way of handling SHRINK_STOP is obvious,
> we should obey ;-)
> 
> Signed-off-by: Knut Petersen 
> ---
>  mm/vmscan.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/mm/vmscan.c b/mm/vmscan.c
> index 8ed1b77..b1e6f0d 100644
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -244,6 +244,8 @@ shrink_slab_node(struct shrink_control *shrinkctl, struct 
> shrinker *shrinker,
>   max_pass = shrinker->count_objects(shrinker, shrinkctl);
>   if (max_pass == 0)
>   return 0;
> + if (max_pass == SHRINK_STOP)
> + return 0;
>  
>   /*
>* copy the current shrinker scan count into a local variable
> -- 
> 1.8.1.4
> 


-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH] drm: omap: fix: Defer probe if an omapdss device requests for it at connect

2013-09-18 Thread Archit Taneja

On Wednesday 18 September 2013 04:38 PM, Archit Taneja wrote:

Some omapdss panels are connected to outputs/encoders(HDMI/DSI/DPI) that require
regulators. The output's connect op tries to get a regulator which may not exist
yet because it might get registered later in the kernel boot.

omapdrm currently ignores those panels which return a non zero value when
connected. A better approach would be for omapdrm to request for probe
deferral if a panel's connect op returns -EPROBE_DEFER.

The connecting of panels is moved very early in the the drm device's probe
before anything else is initialized. When we enter omap_modeset_init(), we have
a set of panels that have been connected. We now proceed with registering only
those panels which are already connected.

Checking whether the panel has a driver or whether it has get_timing/read_edid
ops in omap_modeset_init() are redundant with the new display model. These can
be removed since a dssdev device will always have a driver associated with it,
and all dssdev drivers have a get_timings op.

This fixes boot with omapdrm on an omap4 panda ES board. The regulators used by
HDMI aren't initialized because I2c isn't initialized, I2C isn't initialized
as it's pins are not configured because pinctrl is yet to probe.


Copying dri-devel list.



Signed-off-by: Archit Taneja 
---
  drivers/gpu/drm/omapdrm/omap_crtc.c |  5 
  drivers/gpu/drm/omapdrm/omap_drv.c  | 51 +
  drivers/gpu/drm/omapdrm/omap_drv.h  |  1 +
  3 files changed, 35 insertions(+), 22 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c 
b/drivers/gpu/drm/omapdrm/omap_crtc.c
index 0fd2eb1..9c01311 100644
--- a/drivers/gpu/drm/omapdrm/omap_crtc.c
+++ b/drivers/gpu/drm/omapdrm/omap_crtc.c
@@ -623,6 +623,11 @@ void omap_crtc_pre_init(void)
dss_install_mgr_ops(&mgr_ops);
  }

+void omap_crtc_pre_uninit(void)
+{
+   dss_uninstall_mgr_ops();
+}
+
  /* initialize crtc */
  struct drm_crtc *omap_crtc_init(struct drm_device *dev,
struct drm_plane *plane, enum omap_channel channel, int id)
diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c 
b/drivers/gpu/drm/omapdrm/omap_drv.c
index 2603d90..cbe5d8e 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.c
+++ b/drivers/gpu/drm/omapdrm/omap_drv.c
@@ -87,6 +87,24 @@ static bool channel_used(struct drm_device *dev, enum 
omap_channel channel)
return false;
  }

+static int omap_connect_dssdevs(void)
+{
+   int r;
+   struct omap_dss_device *dssdev = NULL;
+
+   for_each_dss_dev(dssdev) {
+   r = dssdev->driver->connect(dssdev);
+   if (r == -EPROBE_DEFER) {
+   return r;
+   } else if (r) {
+   dev_warn(dssdev->dev, "could not connect display: %s\n",
+   dssdev->name);
+   }
+   }
+
+   return 0;
+}
+
  static int omap_modeset_init(struct drm_device *dev)
  {
struct omap_drm_private *priv = dev->dev_private;
@@ -95,9 +113,6 @@ static int omap_modeset_init(struct drm_device *dev)
int num_mgrs = dss_feat_get_num_mgrs();
int num_crtcs;
int i, id = 0;
-   int r;
-
-   omap_crtc_pre_init();

drm_mode_config_init(dev);

@@ -119,26 +134,8 @@ static int omap_modeset_init(struct drm_device *dev)
enum omap_channel channel;
struct omap_overlay_manager *mgr;

-   if (!dssdev->driver) {
-   dev_warn(dev->dev, "%s has no driver.. skipping it\n",
-   dssdev->name);
+   if (!omapdss_device_is_connected(dssdev))
continue;
-   }
-
-   if (!(dssdev->driver->get_timings ||
-   dssdev->driver->read_edid)) {
-   dev_warn(dev->dev, "%s driver does not support "
-   "get_timings or read_edid.. skipping it!\n",
-   dssdev->name);
-   continue;
-   }
-
-   r = dssdev->driver->connect(dssdev);
-   if (r) {
-   dev_err(dev->dev, "could not connect display: %s\n",
-   dssdev->name);
-   continue;
-   }

encoder = omap_encoder_init(dev, dssdev);

@@ -656,9 +653,19 @@ static void pdev_shutdown(struct platform_device *device)

  static int pdev_probe(struct platform_device *device)
  {
+   int r;
+
if (omapdss_is_initialized() == false)
return -EPROBE_DEFER;

+   omap_crtc_pre_init();
+
+   r = omap_connect_dssdevs();
+   if (r) {
+   omap_crtc_pre_uninit();
+   return r;
+   }
+
DBG("%s", device->name);
return drm_platform_init(&omap_drm_driver, device);
  }
diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h 
b/drivers/gpu/drm/omapdrm/omap_dr

Re: [Intel-gfx] [PATCH] [RFC] mm/shrinker: Add a shrinker flag to always shrink a bit

2013-09-18 Thread Knut Petersen



Looking at the patch which introduced these error message for you, which
changed the ->count_objects return value from 0 to SHRINK_STOP your patch
below to treat 0 and SHRINK_STOP equally simply reverts the functional
change.


Yes, for i915* it de facto restores the old behaviour.


I don't think that's the intention behind SHRINK_STOP. But if it's the
right think to do we better revert the offending commit directly.

But there is other code that also returns SHRINK_STOP. So i believe it´s better 
to
adapt shrink_slab_node() to handle SHRINK_STOP properly than to revert 81e49f.


  And since I lack clue I think that's a call for core mm guys to make.


I agree. They´ll probably have to apply some additional changes to
shrink_slab_node(). It really doesn´t look right to me, but they certainly
know better what the code is supposed to do ;-)


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


[Bug 44995] Missing support for MGA G200eW WPCM450 [102b:0532]

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=44995

--- Comment #6 from Alex Waite  ---
So, it seems that there is a KMS driver now for the MGA200eW card (thanks to
you Dave :-). Any way this can be supported, even if it's just for software
rendering?

---Alex

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


[Bug 69463] RadeonSI : xserver crashes with Segmentation Fault

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69463

--- Comment #3 from samit vats  ---
yes, mesa is configured with "--with-egl-platforms=x11,drm"

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


[Bug 69514] R770 (Radeon 4850) screen/buffer corruption when waking up from sleep mode

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69514

--- Comment #2 from Alex Deucher  ---
You mean when you wake up from suspend/hibernate so see the corruption?  Please
attach your xorg log and dmesg output.

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


[Bug 69514] R770 (Radeon 4850) screen/buffer corruption when waking up from sleep mode

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69514

--- Comment #3 from Alex Deucher  ---
Also is this a regression?  If so, can you bisect?

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


Re: [PATCH] drm: omap: fix: Defer probe if an omapdss device requests for it at connect

2013-09-18 Thread Archit Taneja

On Wednesday 18 September 2013 06:11 PM, Tomi Valkeinen wrote:

On 18/09/13 14:08, Archit Taneja wrote:

Some omapdss panels are connected to outputs/encoders(HDMI/DSI/DPI) that require
regulators. The output's connect op tries to get a regulator which may not exist
yet because it might get registered later in the kernel boot.

omapdrm currently ignores those panels which return a non zero value when
connected. A better approach would be for omapdrm to request for probe
deferral if a panel's connect op returns -EPROBE_DEFER.

The connecting of panels is moved very early in the the drm device's probe
before anything else is initialized. When we enter omap_modeset_init(), we have
a set of panels that have been connected. We now proceed with registering only
those panels which are already connected.

Checking whether the panel has a driver or whether it has get_timing/read_edid
ops in omap_modeset_init() are redundant with the new display model. These can
be removed since a dssdev device will always have a driver associated with it,
and all dssdev drivers have a get_timings op.

This fixes boot with omapdrm on an omap4 panda ES board. The regulators used by
HDMI aren't initialized because I2c isn't initialized, I2C isn't initialized
as it's pins are not configured because pinctrl is yet to probe.

Signed-off-by: Archit Taneja 
---
  drivers/gpu/drm/omapdrm/omap_crtc.c |  5 
  drivers/gpu/drm/omapdrm/omap_drv.c  | 51 +
  drivers/gpu/drm/omapdrm/omap_drv.h  |  1 +
  3 files changed, 35 insertions(+), 22 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c 
b/drivers/gpu/drm/omapdrm/omap_crtc.c
index 0fd2eb1..9c01311 100644
--- a/drivers/gpu/drm/omapdrm/omap_crtc.c
+++ b/drivers/gpu/drm/omapdrm/omap_crtc.c
@@ -623,6 +623,11 @@ void omap_crtc_pre_init(void)
dss_install_mgr_ops(&mgr_ops);
  }

+void omap_crtc_pre_uninit(void)
+{
+   dss_uninstall_mgr_ops();
+}
+
  /* initialize crtc */
  struct drm_crtc *omap_crtc_init(struct drm_device *dev,
struct drm_plane *plane, enum omap_channel channel, int id)
diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c 
b/drivers/gpu/drm/omapdrm/omap_drv.c
index 2603d90..cbe5d8e 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.c
+++ b/drivers/gpu/drm/omapdrm/omap_drv.c
@@ -87,6 +87,24 @@ static bool channel_used(struct drm_device *dev, enum 
omap_channel channel)
return false;
  }

+static int omap_connect_dssdevs(void)
+{
+   int r;
+   struct omap_dss_device *dssdev = NULL;
+
+   for_each_dss_dev(dssdev) {
+   r = dssdev->driver->connect(dssdev);
+   if (r == -EPROBE_DEFER) {
+   return r;
+   } else if (r) {
+   dev_warn(dssdev->dev, "could not connect display: %s\n",
+   dssdev->name);
+   }
+   }
+
+   return 0;
+}


There are two issues with this one:

for_each_dss_dev() uses omap_dss_get_next_device(), and that will
increase the ref count of the current dssdev. If you interrupt the loop,
the ref count won't be decreased. I have a hunch that we could have
similar bugs elsewhere too...


You are saying that the ref counts will be correct only if 
for_each_dss_dev() is fully completed?


Maybe we can save the first dssdev which doesn't connect, save that 
dssdev and let the loop continue for the refcount to get decremented again.


Or maybe use omap_dss_get_next_device in a custom loop, which takes care 
of doing a put() for the device before returning.




Second, in case of error, the dssdevs that were already connected should
be disconnected. Although maybe that's not important, as they'll end up
being connected again when the omapdrm is probed the next time.


The one's that were already connected won't connect again and return an 
error which isn't EPROBE_DEFER, so that should be okay right?


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


[Bug 69463] RadeonSI : xserver crashes with Segmentation Fault

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69463

--- Comment #4 from Michel Dänzer  ---
How are you starting the X server? Does the shell which starts the X server
contatin the environment variable EGL_PLATFORM=x11, or does it help if you set
EGL_PLATFORM=drm?

Either way, please set the environment variable EGL_LOG_LEVEL=debug for
starting the X server and attach its stderr output.

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


[PATCH 3/3] drm/radeon/cik: Program pipe configuration for 1D tiling modes as well

2013-09-18 Thread Michel Dänzer
From: Michel Dänzer 

Signed-off-by: Michel Dänzer 
---

Not sure this is necessary, but AFAICT the pipe configuration applies to
1D tiling modes as well.

 drivers/gpu/drm/radeon/cik.c | 48 +---
 1 file changed, 32 insertions(+), 16 deletions(-)

diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c
index 8feaf51..35d8247 100644
--- a/drivers/gpu/drm/radeon/cik.c
+++ b/drivers/gpu/drm/radeon/cik.c
@@ -1788,7 +1788,8 @@ static void cik_tiling_mode_table_init(struct 
radeon_device *rdev)
break;
case 5:
gb_tile_moden = 
(ARRAY_MODE(ARRAY_1D_TILED_THIN1) |
-
MICRO_TILE_MODE_NEW(ADDR_SURF_DEPTH_MICRO_TILING));
+
MICRO_TILE_MODE_NEW(ADDR_SURF_DEPTH_MICRO_TILING)) |
+
PIPE_CONFIG(ADDR_SURF_P8_32x32_16x16);
break;
case 6:
gb_tile_moden = 
(ARRAY_MODE(ARRAY_PRT_2D_TILED_THIN1) |
@@ -1808,7 +1809,8 @@ static void cik_tiling_mode_table_init(struct 
radeon_device *rdev)
break;
case 9:
gb_tile_moden = 
(ARRAY_MODE(ARRAY_1D_TILED_THIN1) |
-
MICRO_TILE_MODE_NEW(ADDR_SURF_DISPLAY_MICRO_TILING));
+
MICRO_TILE_MODE_NEW(ADDR_SURF_DISPLAY_MICRO_TILING)) |
+
PIPE_CONFIG(ADDR_SURF_P8_32x32_16x16);
break;
case 10:
gb_tile_moden = 
(ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
@@ -1830,7 +1832,8 @@ static void cik_tiling_mode_table_init(struct 
radeon_device *rdev)
break;
case 13:
gb_tile_moden = 
(ARRAY_MODE(ARRAY_1D_TILED_THIN1) |
-
MICRO_TILE_MODE_NEW(ADDR_SURF_THIN_MICRO_TILING));
+
MICRO_TILE_MODE_NEW(ADDR_SURF_THIN_MICRO_TILING)) |
+
PIPE_CONFIG(ADDR_SURF_P8_32x32_16x16);
break;
case 14:
gb_tile_moden = 
(ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
@@ -1852,7 +1855,8 @@ static void cik_tiling_mode_table_init(struct 
radeon_device *rdev)
break;
case 27:
gb_tile_moden = 
(ARRAY_MODE(ARRAY_1D_TILED_THIN1) |
-
MICRO_TILE_MODE_NEW(ADDR_SURF_ROTATED_MICRO_TILING));
+
MICRO_TILE_MODE_NEW(ADDR_SURF_ROTATED_MICRO_TILING)) |
+
PIPE_CONFIG(ADDR_SURF_P8_32x32_16x16);
break;
case 28:
gb_tile_moden = 
(ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
@@ -2007,7 +2011,8 @@ static void cik_tiling_mode_table_init(struct 
radeon_device *rdev)
break;
case 5:
gb_tile_moden = 
(ARRAY_MODE(ARRAY_1D_TILED_THIN1) |
-
MICRO_TILE_MODE_NEW(ADDR_SURF_DEPTH_MICRO_TILING));
+
MICRO_TILE_MODE_NEW(ADDR_SURF_DEPTH_MICRO_TILING)) |
+
PIPE_CONFIG(ADDR_SURF_P4_16x16);
break;
case 6:
gb_tile_moden = 
(ARRAY_MODE(ARRAY_PRT_2D_TILED_THIN1) |
@@ -2027,7 +2032,8 @@ static void cik_tiling_mode_table_init(struct 
radeon_device *rdev)
break;
case 9:
gb_tile_moden = 
(ARRAY_MODE(ARRAY_1D_TILED_THIN1) |
-
MICRO_TILE_MODE_NEW(ADDR_SURF_DISPLAY_MICRO_TILING));
+
MICRO_TILE_MODE_NEW(ADDR_SURF_DISPLAY_MICRO_TILING)) |
+
PIPE_CONFIG(ADDR_SURF_P4_16x16);
break;
case 10:
gb_tile_moden = 
(ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
@@ -2049,7 +2055,8 @@ static void cik_tiling_mode_table_init(struct 
radeon_device *rdev)
break;
case 13:

[PATCH 2/3] drm/radeon/cik: Fix encoding of number of banks in tiling configuration info

2013-09-18 Thread Michel Dänzer
From: Michel Dänzer 

Cc: sta...@vger.kernel.org
Signed-off-by: Michel Dänzer 
---
 drivers/gpu/drm/radeon/cik.c | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c
index 4f1f419..8feaf51 100644
--- a/drivers/gpu/drm/radeon/cik.c
+++ b/drivers/gpu/drm/radeon/cik.c
@@ -2835,10 +2835,8 @@ static void cik_gpu_init(struct radeon_device *rdev)
rdev->config.cik.tile_config |= (3 << 0);
break;
}
-   if ((mc_arb_ramcfg & NOOFBANK_MASK) >> NOOFBANK_SHIFT)
-   rdev->config.cik.tile_config |= 1 << 4;
-   else
-   rdev->config.cik.tile_config |= 0 << 4;
+   rdev->config.cik.tile_config |=
+   ((mc_arb_ramcfg & NOOFBANK_MASK) >> NOOFBANK_SHIFT) << 4;
rdev->config.cik.tile_config |=
((gb_addr_config & PIPE_INTERLEAVE_SIZE_MASK) >> 
PIPE_INTERLEAVE_SIZE_SHIFT) << 8;
rdev->config.cik.tile_config |=
-- 
1.8.4.rc3

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


[PATCH 1/3] drm/radeon/cik: Fix printing of client name on VM protection fault

2013-09-18 Thread Michel Dänzer
From: Michel Dänzer 

The string is encoded from the MSB to the LSB of the register.

Cc: sta...@vger.kernel.org
Signed-off-by: Michel Dänzer 
---
 drivers/gpu/drm/radeon/cik.c | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c
index a77b593..4f1f419 100644
--- a/drivers/gpu/drm/radeon/cik.c
+++ b/drivers/gpu/drm/radeon/cik.c
@@ -4721,12 +4721,13 @@ static void cik_vm_decode_fault(struct radeon_device 
*rdev,
u32 mc_id = (status & MEMORY_CLIENT_ID_MASK) >> MEMORY_CLIENT_ID_SHIFT;
u32 vmid = (status & FAULT_VMID_MASK) >> FAULT_VMID_SHIFT;
u32 protections = (status & PROTECTIONS_MASK) >> PROTECTIONS_SHIFT;
-   char *block = (char *)&mc_client;
+   char block[5] = { mc_client >> 24, (mc_client >> 16) & 0xff,
+   (mc_client >> 8) & 0xff, mc_client & 0xff, 0 };
 
-   printk("VM fault (0x%02x, vmid %d) at page %u, %s from %s (%d)\n",
+   printk("VM fault (0x%02x, vmid %d) at page %u, %s from '%s' (0x%08x) 
(%d)\n",
   protections, vmid, addr,
   (status & MEMORY_CLIENT_RW_MASK) ? "write" : "read",
-  block, mc_id);
+  block, mc_client, mc_id);
 }
 
 /**
-- 
1.8.4.rc3

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


[PATCH libdrm] radeon: Fix 1D tiling for CIK

2013-09-18 Thread Michel Dänzer
From: Michel Dänzer 

The main difference is that the tiling mode index changed for 1D tiled
depth/stencil surfaces.

Signed-off-by: Michel Dänzer 
---
 include/drm/radeon_drm.h | 15 +++
 radeon/radeon_surface.c  | 15 ---
 2 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/include/drm/radeon_drm.h b/include/drm/radeon_drm.h
index 86cef15..533c3dc 100644
--- a/include/drm/radeon_drm.h
+++ b/include/drm/radeon_drm.h
@@ -1004,4 +1004,19 @@ struct drm_radeon_info {
 #define SI_TILE_MODE_DEPTH_STENCIL_2D_4AA  3
 #define SI_TILE_MODE_DEPTH_STENCIL_2D_8AA  2
 
+#define CIK_TILE_MODE_COLOR_LINEAR_ALIGNED 8
+#define CIK_TILE_MODE_COLOR_1D 13
+#define CIK_TILE_MODE_COLOR_1D_SCANOUT 9
+#define CIK_TILE_MODE_COLOR_2D_8BPP14
+#define CIK_TILE_MODE_COLOR_2D_16BPP   15
+#define CIK_TILE_MODE_COLOR_2D_32BPP   16
+#define CIK_TILE_MODE_COLOR_2D_64BPP   17
+#define CIK_TILE_MODE_COLOR_2D_SCANOUT_16BPP   11
+#define CIK_TILE_MODE_COLOR_2D_SCANOUT_32BPP   12
+#define CIK_TILE_MODE_DEPTH_STENCIL_1D 5
+#define CIK_TILE_MODE_DEPTH_STENCIL_2D 0
+#define CIK_TILE_MODE_DEPTH_STENCIL_2D_2AA 3
+#define CIK_TILE_MODE_DEPTH_STENCIL_2D_4AA 3
+#define CIK_TILE_MODE_DEPTH_STENCIL_2D_8AA 2
+
 #endif
diff --git a/radeon/radeon_surface.c b/radeon/radeon_surface.c
index 818e26a..1710e34 100644
--- a/radeon/radeon_surface.c
+++ b/radeon/radeon_surface.c
@@ -1382,10 +1382,16 @@ static int si_surface_sanity(struct 
radeon_surface_manager *surf_man,
 break;
 case RADEON_SURF_MODE_1D:
 if (surf->flags & RADEON_SURF_SBUFFER) {
-*stencil_tile_mode = SI_TILE_MODE_DEPTH_STENCIL_1D;
+if (surf_man->family >= CHIP_BONAIRE)
+*stencil_tile_mode = CIK_TILE_MODE_DEPTH_STENCIL_1D;
+else
+*stencil_tile_mode = SI_TILE_MODE_DEPTH_STENCIL_1D;
 }
 if (surf->flags & RADEON_SURF_ZBUFFER) {
-*tile_mode = SI_TILE_MODE_DEPTH_STENCIL_1D;
+if (surf_man->family >= CHIP_BONAIRE)
+*tile_mode = CIK_TILE_MODE_DEPTH_STENCIL_1D;
+else
+*tile_mode = SI_TILE_MODE_DEPTH_STENCIL_1D;
 } else if (surf->flags & RADEON_SURF_SCANOUT) {
 *tile_mode = SI_TILE_MODE_COLOR_1D_SCANOUT;
 } else {
@@ -1643,7 +1649,10 @@ static int si_surface_init_2d(struct 
radeon_surface_manager *surf_man,
 tile_mode = SI_TILE_MODE_COLOR_1D_SCANOUT;
 break;
 case SI_TILE_MODE_DEPTH_STENCIL_2D:
-tile_mode = SI_TILE_MODE_DEPTH_STENCIL_1D;
+if (surf_man->family >= CHIP_BONAIRE)
+tile_mode = CIK_TILE_MODE_DEPTH_STENCIL_1D;
+else
+tile_mode = SI_TILE_MODE_DEPTH_STENCIL_1D;
 break;
 default:
 return -EINVAL;
-- 
1.8.4.rc3

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


Re: [PATCH 3/3] drm/radeon/cik: Program pipe configuration for 1D tiling modes as well

2013-09-18 Thread Alex Deucher
On Wed, Sep 18, 2013 at 9:39 AM, Michel Dänzer  wrote:
> From: Michel Dänzer 
>
> Signed-off-by: Michel Dänzer 
> ---
>
> Not sure this is necessary, but AFAICT the pipe configuration applies to
> 1D tiling modes as well.

I don't think pipe config applies to 1D modes since they are fixed
size across asics.

>
>  drivers/gpu/drm/radeon/cik.c | 48 
> +---
>  1 file changed, 32 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c
> index 8feaf51..35d8247 100644
> --- a/drivers/gpu/drm/radeon/cik.c
> +++ b/drivers/gpu/drm/radeon/cik.c
> @@ -1788,7 +1788,8 @@ static void cik_tiling_mode_table_init(struct 
> radeon_device *rdev)
> break;
> case 5:
> gb_tile_moden = 
> (ARRAY_MODE(ARRAY_1D_TILED_THIN1) |
> -
> MICRO_TILE_MODE_NEW(ADDR_SURF_DEPTH_MICRO_TILING));
> +
> MICRO_TILE_MODE_NEW(ADDR_SURF_DEPTH_MICRO_TILING)) |
> +
> PIPE_CONFIG(ADDR_SURF_P8_32x32_16x16);
> break;
> case 6:
> gb_tile_moden = 
> (ARRAY_MODE(ARRAY_PRT_2D_TILED_THIN1) |
> @@ -1808,7 +1809,8 @@ static void cik_tiling_mode_table_init(struct 
> radeon_device *rdev)
> break;
> case 9:
> gb_tile_moden = 
> (ARRAY_MODE(ARRAY_1D_TILED_THIN1) |
> -
> MICRO_TILE_MODE_NEW(ADDR_SURF_DISPLAY_MICRO_TILING));
> +
> MICRO_TILE_MODE_NEW(ADDR_SURF_DISPLAY_MICRO_TILING)) |
> +
> PIPE_CONFIG(ADDR_SURF_P8_32x32_16x16);
> break;
> case 10:
> gb_tile_moden = 
> (ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
> @@ -1830,7 +1832,8 @@ static void cik_tiling_mode_table_init(struct 
> radeon_device *rdev)
> break;
> case 13:
> gb_tile_moden = 
> (ARRAY_MODE(ARRAY_1D_TILED_THIN1) |
> -
> MICRO_TILE_MODE_NEW(ADDR_SURF_THIN_MICRO_TILING));
> +
> MICRO_TILE_MODE_NEW(ADDR_SURF_THIN_MICRO_TILING)) |
> +
> PIPE_CONFIG(ADDR_SURF_P8_32x32_16x16);
> break;
> case 14:
> gb_tile_moden = 
> (ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
> @@ -1852,7 +1855,8 @@ static void cik_tiling_mode_table_init(struct 
> radeon_device *rdev)
> break;
> case 27:
> gb_tile_moden = 
> (ARRAY_MODE(ARRAY_1D_TILED_THIN1) |
> -
> MICRO_TILE_MODE_NEW(ADDR_SURF_ROTATED_MICRO_TILING));
> +
> MICRO_TILE_MODE_NEW(ADDR_SURF_ROTATED_MICRO_TILING)) |
> +
> PIPE_CONFIG(ADDR_SURF_P8_32x32_16x16);
> break;
> case 28:
> gb_tile_moden = 
> (ARRAY_MODE(ARRAY_2D_TILED_THIN1) |
> @@ -2007,7 +2011,8 @@ static void cik_tiling_mode_table_init(struct 
> radeon_device *rdev)
> break;
> case 5:
> gb_tile_moden = 
> (ARRAY_MODE(ARRAY_1D_TILED_THIN1) |
> -
> MICRO_TILE_MODE_NEW(ADDR_SURF_DEPTH_MICRO_TILING));
> +
> MICRO_TILE_MODE_NEW(ADDR_SURF_DEPTH_MICRO_TILING)) |
> +
> PIPE_CONFIG(ADDR_SURF_P4_16x16);
> break;
> case 6:
> gb_tile_moden = 
> (ARRAY_MODE(ARRAY_PRT_2D_TILED_THIN1) |
> @@ -2027,7 +2032,8 @@ static void cik_tiling_mode_table_init(struct 
> radeon_device *rdev)
> break;
> case 9:
> gb_tile_moden = 
> (ARRAY_MODE(ARRAY_1D_TILED_THIN1) |
> -
> MICRO_TILE_MODE_NEW(ADDR_SURF_DISPLAY_MICRO_TILING));
> +
> MICRO_TILE_MODE_NEW(ADDR_SURF_DISPLAY_MICRO_TILING)) |
> +
> PIPE_CONFIG(ADDR_SURF_P4_16x16);
>  

[Bug 69514] R770 (Radeon 4850) screen/buffer corruption when waking up from sleep mode

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69514

--- Comment #4 from Peter Asplund  ---
Created attachment 86071
  --> https://bugs.freedesktop.org/attachment.cgi?id=86071&action=edit
Xorg log including sleep and wakeup cycle, as well as shutting down afterwards.

Yes exactly, the corruption occurs when the computer wakes up from
sleep/hibernation.

The behavior started at least two kernel versions ago, probably at 3.10. I
_think_ it was working with 3.8, but I will check that soon, and get back to
you.

Here's the Xorg.0.log.old from previous run. I was running for a while, and
then put the computer in sleep mode, and then awoke it immediately. When the
corruption has occurred, I shut it down normally.

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


[Bug 66963] r600: linux v3.11.0-RC isn't booting with radeon.dpm=1 option in grub

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=66963

--- Comment #133 from Eugene  ---
I seems 3.12 RC1 still has not patch for my HD2600.

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


Re: [PATCH 1/3] drm/radeon/cik: Fix printing of client name on VM protection fault

2013-09-18 Thread Alex Deucher
On Wed, Sep 18, 2013 at 9:39 AM, Michel Dänzer  wrote:
> From: Michel Dänzer 
>
> The string is encoded from the MSB to the LSB of the register.
>
> Cc: sta...@vger.kernel.org
> Signed-off-by: Michel Dänzer 

Patches 1 and 2 applied.  I don't think the 3rd one is necessary.

Thanks!

Alex

> ---
>  drivers/gpu/drm/radeon/cik.c | 7 ---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c
> index a77b593..4f1f419 100644
> --- a/drivers/gpu/drm/radeon/cik.c
> +++ b/drivers/gpu/drm/radeon/cik.c
> @@ -4721,12 +4721,13 @@ static void cik_vm_decode_fault(struct radeon_device 
> *rdev,
> u32 mc_id = (status & MEMORY_CLIENT_ID_MASK) >> 
> MEMORY_CLIENT_ID_SHIFT;
> u32 vmid = (status & FAULT_VMID_MASK) >> FAULT_VMID_SHIFT;
> u32 protections = (status & PROTECTIONS_MASK) >> PROTECTIONS_SHIFT;
> -   char *block = (char *)&mc_client;
> +   char block[5] = { mc_client >> 24, (mc_client >> 16) & 0xff,
> +   (mc_client >> 8) & 0xff, mc_client & 0xff, 0 };
>
> -   printk("VM fault (0x%02x, vmid %d) at page %u, %s from %s (%d)\n",
> +   printk("VM fault (0x%02x, vmid %d) at page %u, %s from '%s' (0x%08x) 
> (%d)\n",
>protections, vmid, addr,
>(status & MEMORY_CLIENT_RW_MASK) ? "write" : "read",
> -  block, mc_id);
> +  block, mc_client, mc_id);
>  }
>
>  /**
> --
> 1.8.4.rc3
>
> ___
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 69514] R770 (Radeon 4850) screen/buffer corruption when waking up from sleep mode

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69514

--- Comment #5 from Peter Asplund  ---
Created attachment 86072
  --> https://bugs.freedesktop.org/attachment.cgi?id=86072&action=edit
dmesg, including hibernate cycle

Here's my dmesg output from last boot, including hibernation. The hibernation
does not seem to work for some reason, because the computer wakes up
immediately, but the screen still gets corrupted.

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


[PATCH] drm/radeon/cik: Add tiling mode index for 1D tiled depth/stencil surfaces

2013-09-18 Thread Michel Dänzer
From: Michel Dänzer 

Signed-off-by: Michel Dänzer 
---
 include/uapi/drm/radeon_drm.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/include/uapi/drm/radeon_drm.h b/include/uapi/drm/radeon_drm.h
index fa8b3ad..46d41e8 100644
--- a/include/uapi/drm/radeon_drm.h
+++ b/include/uapi/drm/radeon_drm.h
@@ -1007,4 +1007,6 @@ struct drm_radeon_info {
 #define SI_TILE_MODE_DEPTH_STENCIL_2D_4AA  3
 #define SI_TILE_MODE_DEPTH_STENCIL_2D_8AA  2
 
+#define CIK_TILE_MODE_DEPTH_STENCIL_1D 5
+
 #endif
-- 
1.8.4.rc3

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


Re: [PATCH] drm/radeon/cik: Add tiling mode index for 1D tiled depth/stencil surfaces

2013-09-18 Thread Alex Deucher
On Wed, Sep 18, 2013 at 12:23 PM, Michel Dänzer  wrote:
> From: Michel Dänzer 
>
> Signed-off-by: Michel Dänzer 

Applied.  thanks!

Alex

> ---
>  include/uapi/drm/radeon_drm.h | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/include/uapi/drm/radeon_drm.h b/include/uapi/drm/radeon_drm.h
> index fa8b3ad..46d41e8 100644
> --- a/include/uapi/drm/radeon_drm.h
> +++ b/include/uapi/drm/radeon_drm.h
> @@ -1007,4 +1007,6 @@ struct drm_radeon_info {
>  #define SI_TILE_MODE_DEPTH_STENCIL_2D_4AA  3
>  #define SI_TILE_MODE_DEPTH_STENCIL_2D_8AA  2
>
> +#define CIK_TILE_MODE_DEPTH_STENCIL_1D 5
> +
>  #endif
> --
> 1.8.4.rc3
>
> ___
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH 3/3] drm/radeon/cik: Program pipe configuration for 1D tiling modes as well

2013-09-18 Thread Alex Deucher
On Wed, Sep 18, 2013 at 11:55 AM, Michel Dänzer  wrote:
> On Mit, 2013-09-18 at 09:56 -0400, Alex Deucher wrote:
>> On Wed, Sep 18, 2013 at 9:39 AM, Michel Dänzer  wrote:
>> > From: Michel Dänzer 
>> >
>> > Signed-off-by: Michel Dänzer 
>> > ---
>> >
>> > Not sure this is necessary, but AFAICT the pipe configuration applies to
>> > 1D tiling modes as well.
>>
>> I don't think pipe config applies to 1D modes since they are fixed
>> size across asics.
>
> Makes sense. I noticed that we're setting pipe config for 1D tiling
> modes on SI as well, and the documentation I saw didn't explicitly say
> that it only applies to 2D tiling.
>
> Maybe we should remove the setting of pipe config and friends for 1D
> tiling modes on SI instead?
>

I suppose we should try and double check.  The tiling settings
spreadsheets sets the fields for SI, but no CIK, but I don't think the
hw actually needs it.

Alex

>
> --
> Earthling Michel Dänzer   |   http://www.amd.com
> Libre software enthusiast |  Debian, X and DRI developer
>
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH libdrm] radeon: Fix 1D tiling for CIK

2013-09-18 Thread Alex Deucher
On Wed, Sep 18, 2013 at 9:51 AM, Michel Dänzer  wrote:
> From: Michel Dänzer 
>
> The main difference is that the tiling mode index changed for 1D tiled
> depth/stencil surfaces.
>
> Signed-off-by: Michel Dänzer 

One comment below, other than that,

Reviewed-by: Alex Deucher 

> ---
>  include/drm/radeon_drm.h | 15 +++
>  radeon/radeon_surface.c  | 15 ---
>  2 files changed, 27 insertions(+), 3 deletions(-)
>
> diff --git a/include/drm/radeon_drm.h b/include/drm/radeon_drm.h
> index 86cef15..533c3dc 100644
> --- a/include/drm/radeon_drm.h
> +++ b/include/drm/radeon_drm.h
> @@ -1004,4 +1004,19 @@ struct drm_radeon_info {
>  #define SI_TILE_MODE_DEPTH_STENCIL_2D_4AA  3
>  #define SI_TILE_MODE_DEPTH_STENCIL_2D_8AA  2
>
> +#define CIK_TILE_MODE_COLOR_LINEAR_ALIGNED 8
> +#define CIK_TILE_MODE_COLOR_1D 13
> +#define CIK_TILE_MODE_COLOR_1D_SCANOUT 9
> +#define CIK_TILE_MODE_COLOR_2D_8BPP14
> +#define CIK_TILE_MODE_COLOR_2D_16BPP   15
> +#define CIK_TILE_MODE_COLOR_2D_32BPP   16
> +#define CIK_TILE_MODE_COLOR_2D_64BPP   17
> +#define CIK_TILE_MODE_COLOR_2D_SCANOUT_16BPP   11
> +#define CIK_TILE_MODE_COLOR_2D_SCANOUT_32BPP   12
> +#define CIK_TILE_MODE_DEPTH_STENCIL_1D 5
> +#define CIK_TILE_MODE_DEPTH_STENCIL_2D 0
> +#define CIK_TILE_MODE_DEPTH_STENCIL_2D_2AA 3
> +#define CIK_TILE_MODE_DEPTH_STENCIL_2D_4AA 3
> +#define CIK_TILE_MODE_DEPTH_STENCIL_2D_8AA 2
> +

Can you send a patch to add these to radeon_drm.h in the kernel as well?

>  #endif
> diff --git a/radeon/radeon_surface.c b/radeon/radeon_surface.c
> index 818e26a..1710e34 100644
> --- a/radeon/radeon_surface.c
> +++ b/radeon/radeon_surface.c
> @@ -1382,10 +1382,16 @@ static int si_surface_sanity(struct 
> radeon_surface_manager *surf_man,
>  break;
>  case RADEON_SURF_MODE_1D:
>  if (surf->flags & RADEON_SURF_SBUFFER) {
> -*stencil_tile_mode = SI_TILE_MODE_DEPTH_STENCIL_1D;
> +if (surf_man->family >= CHIP_BONAIRE)
> +*stencil_tile_mode = CIK_TILE_MODE_DEPTH_STENCIL_1D;
> +else
> +*stencil_tile_mode = SI_TILE_MODE_DEPTH_STENCIL_1D;
>  }
>  if (surf->flags & RADEON_SURF_ZBUFFER) {
> -*tile_mode = SI_TILE_MODE_DEPTH_STENCIL_1D;
> +if (surf_man->family >= CHIP_BONAIRE)
> +*tile_mode = CIK_TILE_MODE_DEPTH_STENCIL_1D;
> +else
> +*tile_mode = SI_TILE_MODE_DEPTH_STENCIL_1D;
>  } else if (surf->flags & RADEON_SURF_SCANOUT) {
>  *tile_mode = SI_TILE_MODE_COLOR_1D_SCANOUT;
>  } else {
> @@ -1643,7 +1649,10 @@ static int si_surface_init_2d(struct 
> radeon_surface_manager *surf_man,
>  tile_mode = SI_TILE_MODE_COLOR_1D_SCANOUT;
>  break;
>  case SI_TILE_MODE_DEPTH_STENCIL_2D:
> -tile_mode = SI_TILE_MODE_DEPTH_STENCIL_1D;
> +if (surf_man->family >= CHIP_BONAIRE)
> +tile_mode = CIK_TILE_MODE_DEPTH_STENCIL_1D;
> +else
> +tile_mode = SI_TILE_MODE_DEPTH_STENCIL_1D;
>  break;
>  default:
>  return -EINVAL;
> --
> 1.8.4.rc3
>
> ___
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 66963] r600: linux v3.11.0-RC isn't booting with radeon.dpm=1 option in grub

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=66963

--- Comment #134 from Francisco Pina Martins  ---
I just want to add that after upgrading to kernel 3.11.1 (from the -RC2 version
I was using), I have not experienced any more crashes on my RV635. Nothing I
have tried so far has been able to trigger it.
Once again, thank you for all the hard work.

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


[Bug 69514] R770 (Radeon 4850) screen/buffer corruption when waking up from sleep mode

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69514

--- Comment #7 from Peter Asplund  ---
I don't know if I can bisect... I need some help in that case.

Gentoo has recently added a dependency on Systemd as a part of Gnome 3.8, and I
think recovering from sleep/hibernate was working before that. But I'm not
completely sure. Without systemd, sleep/hibernate doesn't work at all, so I'm
unable to revert and test without it.

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


Re: [PATCH 3/3] drm/radeon/cik: Program pipe configuration for 1D tiling modes as well

2013-09-18 Thread Michel Dänzer
On Mit, 2013-09-18 at 09:56 -0400, Alex Deucher wrote:
> On Wed, Sep 18, 2013 at 9:39 AM, Michel Dänzer  wrote:
> > From: Michel Dänzer 
> >
> > Signed-off-by: Michel Dänzer 
> > ---
> >
> > Not sure this is necessary, but AFAICT the pipe configuration applies to
> > 1D tiling modes as well.
> 
> I don't think pipe config applies to 1D modes since they are fixed
> size across asics.

Makes sense. I noticed that we're setting pipe config for 1D tiling
modes on SI as well, and the documentation I saw didn't explicitly say
that it only applies to 2D tiling.

Maybe we should remove the setting of pipe config and friends for 1D
tiling modes on SI instead?


-- 
Earthling Michel Dänzer   |   http://www.amd.com
Libre software enthusiast |  Debian, X and DRI developer

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


Re: [PATCH libdrm] radeon: Fix 1D tiling for CIK

2013-09-18 Thread Alex Deucher
On Wed, Sep 18, 2013 at 11:56 AM, Christian König
 wrote:
> Am 18.09.2013 17:54, schrieb Alex Deucher:
>
>> On Wed, Sep 18, 2013 at 9:51 AM, Michel Dänzer  wrote:
>>>
>>> From: Michel Dänzer 
>>>
>>> The main difference is that the tiling mode index changed for 1D tiled
>>> depth/stencil surfaces.
>>>
>>> Signed-off-by: Michel Dänzer 
>>
>> One comment below, other than that,
>>
>> Reviewed-by: Alex Deucher 
>>
>>> ---
>>>   include/drm/radeon_drm.h | 15 +++
>>>   radeon/radeon_surface.c  | 15 ---
>>>   2 files changed, 27 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/include/drm/radeon_drm.h b/include/drm/radeon_drm.h
>>> index 86cef15..533c3dc 100644
>>> --- a/include/drm/radeon_drm.h
>>> +++ b/include/drm/radeon_drm.h
>>> @@ -1004,4 +1004,19 @@ struct drm_radeon_info {
>>>   #define SI_TILE_MODE_DEPTH_STENCIL_2D_4AA  3
>>>   #define SI_TILE_MODE_DEPTH_STENCIL_2D_8AA  2
>>>
>>> +#define CIK_TILE_MODE_COLOR_LINEAR_ALIGNED 8
>>> +#define CIK_TILE_MODE_COLOR_1D 13
>>> +#define CIK_TILE_MODE_COLOR_1D_SCANOUT 9
>>> +#define CIK_TILE_MODE_COLOR_2D_8BPP14
>>> +#define CIK_TILE_MODE_COLOR_2D_16BPP   15
>>> +#define CIK_TILE_MODE_COLOR_2D_32BPP   16
>>> +#define CIK_TILE_MODE_COLOR_2D_64BPP   17
>>> +#define CIK_TILE_MODE_COLOR_2D_SCANOUT_16BPP   11
>>> +#define CIK_TILE_MODE_COLOR_2D_SCANOUT_32BPP   12
>>> +#define CIK_TILE_MODE_DEPTH_STENCIL_1D 5
>>> +#define CIK_TILE_MODE_DEPTH_STENCIL_2D 0
>
> And by the way, that looks a bit strange:
>
>>> +#define CIK_TILE_MODE_DEPTH_STENCIL_2D_2AA 3
>>> +#define CIK_TILE_MODE_DEPTH_STENCIL_2D_4AA 3
>

It's correct according to the tiling documentation.

Alex

>
>
> Christian.
>
>
>>> +#define CIK_TILE_MODE_DEPTH_STENCIL_2D_8AA 2
>>> +
>>
>> Can you send a patch to add these to radeon_drm.h in the kernel as well?
>>
>>>   #endif
>>> diff --git a/radeon/radeon_surface.c b/radeon/radeon_surface.c
>>> index 818e26a..1710e34 100644
>>> --- a/radeon/radeon_surface.c
>>> +++ b/radeon/radeon_surface.c
>>> @@ -1382,10 +1382,16 @@ static int si_surface_sanity(struct
>>> radeon_surface_manager *surf_man,
>>>   break;
>>>   case RADEON_SURF_MODE_1D:
>>>   if (surf->flags & RADEON_SURF_SBUFFER) {
>>> -*stencil_tile_mode = SI_TILE_MODE_DEPTH_STENCIL_1D;
>>> +if (surf_man->family >= CHIP_BONAIRE)
>>> +*stencil_tile_mode = CIK_TILE_MODE_DEPTH_STENCIL_1D;
>>> +else
>>> +*stencil_tile_mode = SI_TILE_MODE_DEPTH_STENCIL_1D;
>>>   }
>>>   if (surf->flags & RADEON_SURF_ZBUFFER) {
>>> -*tile_mode = SI_TILE_MODE_DEPTH_STENCIL_1D;
>>> +if (surf_man->family >= CHIP_BONAIRE)
>>> +*tile_mode = CIK_TILE_MODE_DEPTH_STENCIL_1D;
>>> +else
>>> +*tile_mode = SI_TILE_MODE_DEPTH_STENCIL_1D;
>>>   } else if (surf->flags & RADEON_SURF_SCANOUT) {
>>>   *tile_mode = SI_TILE_MODE_COLOR_1D_SCANOUT;
>>>   } else {
>>> @@ -1643,7 +1649,10 @@ static int si_surface_init_2d(struct
>>> radeon_surface_manager *surf_man,
>>>   tile_mode = SI_TILE_MODE_COLOR_1D_SCANOUT;
>>>   break;
>>>   case SI_TILE_MODE_DEPTH_STENCIL_2D:
>>> -tile_mode = SI_TILE_MODE_DEPTH_STENCIL_1D;
>>> +if (surf_man->family >= CHIP_BONAIRE)
>>> +tile_mode = CIK_TILE_MODE_DEPTH_STENCIL_1D;
>>> +else
>>> +tile_mode = SI_TILE_MODE_DEPTH_STENCIL_1D;
>>>   break;
>>>   default:
>>>   return -EINVAL;
>>> --
>>> 1.8.4.rc3
>>>
>>> ___
>>> dri-devel mailing list
>>> dri-devel@lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>>
>> ___
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>
>
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 69514] R770 (Radeon 4850) screen/buffer corruption when waking up from sleep mode

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69514

--- Comment #6 from Peter Asplund  ---
The screen gets corrupted on kernel 3.8.5 (which is the oldest kernel I have
lying around) as well. I'm typing this blindly.

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


Re: [PATCH libdrm] radeon: Fix 1D tiling for CIK

2013-09-18 Thread Christian König

Am 18.09.2013 17:54, schrieb Alex Deucher:

On Wed, Sep 18, 2013 at 9:51 AM, Michel Dänzer  wrote:

From: Michel Dänzer 

The main difference is that the tiling mode index changed for 1D tiled
depth/stencil surfaces.

Signed-off-by: Michel Dänzer 

One comment below, other than that,

Reviewed-by: Alex Deucher 


---
  include/drm/radeon_drm.h | 15 +++
  radeon/radeon_surface.c  | 15 ---
  2 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/include/drm/radeon_drm.h b/include/drm/radeon_drm.h
index 86cef15..533c3dc 100644
--- a/include/drm/radeon_drm.h
+++ b/include/drm/radeon_drm.h
@@ -1004,4 +1004,19 @@ struct drm_radeon_info {
  #define SI_TILE_MODE_DEPTH_STENCIL_2D_4AA  3
  #define SI_TILE_MODE_DEPTH_STENCIL_2D_8AA  2

+#define CIK_TILE_MODE_COLOR_LINEAR_ALIGNED 8
+#define CIK_TILE_MODE_COLOR_1D 13
+#define CIK_TILE_MODE_COLOR_1D_SCANOUT 9
+#define CIK_TILE_MODE_COLOR_2D_8BPP14
+#define CIK_TILE_MODE_COLOR_2D_16BPP   15
+#define CIK_TILE_MODE_COLOR_2D_32BPP   16
+#define CIK_TILE_MODE_COLOR_2D_64BPP   17
+#define CIK_TILE_MODE_COLOR_2D_SCANOUT_16BPP   11
+#define CIK_TILE_MODE_COLOR_2D_SCANOUT_32BPP   12
+#define CIK_TILE_MODE_DEPTH_STENCIL_1D 5
+#define CIK_TILE_MODE_DEPTH_STENCIL_2D 0

And by the way, that looks a bit strange:

+#define CIK_TILE_MODE_DEPTH_STENCIL_2D_2AA 3
+#define CIK_TILE_MODE_DEPTH_STENCIL_2D_4AA 3



Christian.


+#define CIK_TILE_MODE_DEPTH_STENCIL_2D_8AA 2
+

Can you send a patch to add these to radeon_drm.h in the kernel as well?


  #endif
diff --git a/radeon/radeon_surface.c b/radeon/radeon_surface.c
index 818e26a..1710e34 100644
--- a/radeon/radeon_surface.c
+++ b/radeon/radeon_surface.c
@@ -1382,10 +1382,16 @@ static int si_surface_sanity(struct 
radeon_surface_manager *surf_man,
  break;
  case RADEON_SURF_MODE_1D:
  if (surf->flags & RADEON_SURF_SBUFFER) {
-*stencil_tile_mode = SI_TILE_MODE_DEPTH_STENCIL_1D;
+if (surf_man->family >= CHIP_BONAIRE)
+*stencil_tile_mode = CIK_TILE_MODE_DEPTH_STENCIL_1D;
+else
+*stencil_tile_mode = SI_TILE_MODE_DEPTH_STENCIL_1D;
  }
  if (surf->flags & RADEON_SURF_ZBUFFER) {
-*tile_mode = SI_TILE_MODE_DEPTH_STENCIL_1D;
+if (surf_man->family >= CHIP_BONAIRE)
+*tile_mode = CIK_TILE_MODE_DEPTH_STENCIL_1D;
+else
+*tile_mode = SI_TILE_MODE_DEPTH_STENCIL_1D;
  } else if (surf->flags & RADEON_SURF_SCANOUT) {
  *tile_mode = SI_TILE_MODE_COLOR_1D_SCANOUT;
  } else {
@@ -1643,7 +1649,10 @@ static int si_surface_init_2d(struct 
radeon_surface_manager *surf_man,
  tile_mode = SI_TILE_MODE_COLOR_1D_SCANOUT;
  break;
  case SI_TILE_MODE_DEPTH_STENCIL_2D:
-tile_mode = SI_TILE_MODE_DEPTH_STENCIL_1D;
+if (surf_man->family >= CHIP_BONAIRE)
+tile_mode = CIK_TILE_MODE_DEPTH_STENCIL_1D;
+else
+tile_mode = SI_TILE_MODE_DEPTH_STENCIL_1D;
  break;
  default:
  return -EINVAL;
--
1.8.4.rc3

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

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


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


[Bug 69514] R770 (Radeon 4850) screen/buffer corruption when waking up from sleep mode

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69514

--- Comment #8 from Peter Asplund  ---
Here's a link to a video showing the problem.
https://www.youtube.com/watch?v=t3RBRwMxrsk

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


Re: BUG: sleeping function called from invalid context on 3.10.10-rt7

2013-09-18 Thread Ville Syrjälä
On Wed, Sep 18, 2013 at 12:52:07PM -0400, Peter Hurley wrote:
> On 09/17/2013 04:55 PM, Daniel Vetter wrote:
> > On Tue, Sep 17, 2013 at 9:50 PM, Peter Hurley  
> > wrote:
> >> On 09/11/2013 03:31 PM, Peter Hurley wrote:
> >>>
> >>> [+cc dri-devel]
> >>>
> >>> On 09/11/2013 11:38 AM, Steven Rostedt wrote:
> 
>  On Wed, 11 Sep 2013 11:16:43 -0400
>  Peter Hurley  wrote:
> 
> >> The funny part is, there's a comment there that shows that this was
> >> done even for "PREEMPT_RT". Unfortunately, the call to
> >> "get_scanout_position()" can call functions that use the rt-mutex
> >> "sleeping spin locks" and it breaks there.
> >>
> >> I guess we need to ask the authors of the mainline patch exactly why
> >> that preempt_disable() is needed?
> >
> >
> > The drm core associates a timestamp with each vertical blank frame #.
> > Drm drivers can optionally support a 'high resolution' hw timestamp.
> > The vblank frame #/timestamp tuple is user-space visible.
> >
> > The i915 drm driver supports a hw timestamp via this drm helper function
> > which computes the timestamp from the crtc scan position (based on the
> > pixel clock).
> >
> > For mainline, the preempt_disable/_enable() isn't actually necessary
> > because every call tree that leads here already has preemption disabled.
> >
> > For -RT, the maybe i915 register spinlock (uncore.lock) should be raw?
> >
> 
>  No, it should not. Note, any other lock that can be held when it is
>  held would also need to be raw.
> >>>
> >>>
> >>> By that, you mean "any other lock" that might be claimed "would also need
> >>> to be raw"?  Hopefully not "any other lock" already held?
> >>>
>  And by taking a quick audit of the code, I see this:
> 
>   spin_lock_irqsave(&dev_priv->uncore.lock, irqflags);
> 
>   /* Reset the chip */
> 
>   /* GEN6_GDRST is not in the gt power well, no need to check
>    * for fifo space for the write or forcewake the chip for
>    * the read
>    */
>   __raw_i915_write32(dev_priv, GEN6_GDRST, GEN6_GRDOM_FULL);
> 
>   /* Spin waiting for the device to ack the reset request */
>   ret = wait_for((__raw_i915_read32(dev_priv, GEN6_GDRST) &
>  GEN6_GRDOM_FULL) == 0, 500);
> 
>  That spin is unacceptable in RT with preemption and interrupts disabled.
> >>>
> >>>
> >>> Yep. That would be bad.
> >>>
> >>> AFAICT the registers read in i915_get_crtc_scanoutpos() aren't included
> >>> in the force-wake set, so raw reads of the registers would
> >>> probably be acceptable (thus obviating the need for claiming the
> >>> uncore.lock).
> >>>
> >>> Except that _ALL_ register access is disabled with the uncore.lock
> >>> during a gpu reset. Not sure if that's meant to include crtc registers
> >>> or not, or what other synchronization/serialization issues are being
> >>> handled/hidden by forcing all register accesses to wait during a gpu
> >>> reset.
> >>>
> >>> Hopefully an i915 expert can weigh in here?
> >>
> >>
> >>
> >> Daniel,
> >>
> >> Can you shed some light on whether the i915+ crtc registers (specifically
> >> those in i915_get_crtc_scanoutpos() and i915_/gm45_get_vblank_counter())
> >> read as part of the vblank counter/timestamp handling need to
> >> be prevented during gpu reset?
> >
> > The depency here in the locking is a recent addition:
> >
> > commit a7cd1b8fea2f341b626b255d9898a5ca5fabbf0a
> > Author: Chris Wilson 
> > Date:   Fri Jul 19 20:36:51 2013 +0100
> >
> >  drm/i915: Serialize almost all register access
> >
> > It's a (slightly) oversized hammer to work around a hardware issue -
> > we could break it down to register blocks, which can be accessed
> > concurrently, but that tends to be more fragile. But the chip really
> > dies if you access (even just reads) the same block concurrently :(
> 
> Ouch. But thanks for clarifying that.
> 
> Ok, so register access needs to be serialized. And a separate but
> related concern is that gen6+ resets also need to hold-off register
> access where forcewake is required.
> 
> 
> While I was reviewing the registers that require forcewake handling,
> I saw this:
> 
> from i915_reg.h:
> #define _DPLL_A   (dev_priv->info->display_mmio_offset + 0x6014)
> #define _DPLL_B   (dev_priv->info->display_mmio_offset + 0x6018)
> 
> from i915_drv.c:
> static const struct intel_device_info intel_valleyview_m_info = {
>   GEN7_FEATURES,
>   .is_mobile = 1,
>   .num_pipes = 2,
>   .is_valleyview = 1,
>   .display_mmio_offset = VLV_DISPLAY_BASE, <<<---
>   .has_llc = 0, /* legal, last one wins */
> };
> 
> from intel_uncore.c:
> #define NEEDS_FORCE_WAKE(dev_priv, reg) \
>   ((HAS_FORCE_WAKE((dev_priv)->dev)) && \
>((reg) < 0x4) &&\
>((reg) != FORCEWAKE))
> 
> Is this is a mistake or do the valleyview PLLs not require the
> sa

Re: BUG: sleeping function called from invalid context on 3.10.10-rt7

2013-09-18 Thread Daniel Vetter
On Wed, Sep 18, 2013 at 6:52 PM, Peter Hurley  wrote:
> Ouch. But thanks for clarifying that.
>
> Ok, so register access needs to be serialized. And a separate but
> related concern is that gen6+ resets also need to hold-off register
> access where forcewake is required.
>
>
> While I was reviewing the registers that require forcewake handling,
> I saw this:
>
> from i915_reg.h:
> #define _DPLL_A (dev_priv->info->display_mmio_offset + 0x6014)
> #define _DPLL_B (dev_priv->info->display_mmio_offset + 0x6018)
>
> from i915_drv.c:
> static const struct intel_device_info intel_valleyview_m_info = {
> GEN7_FEATURES,
> .is_mobile = 1,
> .num_pipes = 2,
> .is_valleyview = 1,
> .display_mmio_offset = VLV_DISPLAY_BASE, <<<---
> .has_llc = 0, /* legal, last one wins */
> };
>
> from intel_uncore.c:
> #define NEEDS_FORCE_WAKE(dev_priv, reg) \
> ((HAS_FORCE_WAKE((dev_priv)->dev)) && \
>  ((reg) < 0x4) &&\
>  ((reg) != FORCEWAKE))
>
> Is this is a mistake or do the valleyview PLLs not require the
> same forcewake handling as the other intel gpus?

The DPLL offset from the macro at 0x6000 is from older platforms which
lacked forcewake and where the display block started already on
0x6000.

On recent big core platforms we have the north display block at
0x4 (i.e. forcewake is only used for the rendering side of
things). For those platforms the DPLL macro is called PCH_DPLL (and
it's in the south display range starting at 0xc. VLV itself
inherited the old display register blocks (mostly) but moved them all
by the vlv display base offset.

We have quite a bit of fun with hw engineers moving display blocks around ;-)

Cheers, Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: BUG: sleeping function called from invalid context on 3.10.10-rt7

2013-09-18 Thread Peter Hurley

On 09/17/2013 04:55 PM, Daniel Vetter wrote:

On Tue, Sep 17, 2013 at 9:50 PM, Peter Hurley  wrote:

On 09/11/2013 03:31 PM, Peter Hurley wrote:


[+cc dri-devel]

On 09/11/2013 11:38 AM, Steven Rostedt wrote:


On Wed, 11 Sep 2013 11:16:43 -0400
Peter Hurley  wrote:


The funny part is, there's a comment there that shows that this was
done even for "PREEMPT_RT". Unfortunately, the call to
"get_scanout_position()" can call functions that use the rt-mutex
"sleeping spin locks" and it breaks there.

I guess we need to ask the authors of the mainline patch exactly why
that preempt_disable() is needed?



The drm core associates a timestamp with each vertical blank frame #.
Drm drivers can optionally support a 'high resolution' hw timestamp.
The vblank frame #/timestamp tuple is user-space visible.

The i915 drm driver supports a hw timestamp via this drm helper function
which computes the timestamp from the crtc scan position (based on the
pixel clock).

For mainline, the preempt_disable/_enable() isn't actually necessary
because every call tree that leads here already has preemption disabled.

For -RT, the maybe i915 register spinlock (uncore.lock) should be raw?



No, it should not. Note, any other lock that can be held when it is
held would also need to be raw.



By that, you mean "any other lock" that might be claimed "would also need
to be raw"?  Hopefully not "any other lock" already held?


And by taking a quick audit of the code, I see this:

 spin_lock_irqsave(&dev_priv->uncore.lock, irqflags);

 /* Reset the chip */

 /* GEN6_GDRST is not in the gt power well, no need to check
  * for fifo space for the write or forcewake the chip for
  * the read
  */
 __raw_i915_write32(dev_priv, GEN6_GDRST, GEN6_GRDOM_FULL);

 /* Spin waiting for the device to ack the reset request */
 ret = wait_for((__raw_i915_read32(dev_priv, GEN6_GDRST) &
GEN6_GRDOM_FULL) == 0, 500);

That spin is unacceptable in RT with preemption and interrupts disabled.



Yep. That would be bad.

AFAICT the registers read in i915_get_crtc_scanoutpos() aren't included
in the force-wake set, so raw reads of the registers would
probably be acceptable (thus obviating the need for claiming the
uncore.lock).

Except that _ALL_ register access is disabled with the uncore.lock
during a gpu reset. Not sure if that's meant to include crtc registers
or not, or what other synchronization/serialization issues are being
handled/hidden by forcing all register accesses to wait during a gpu
reset.

Hopefully an i915 expert can weigh in here?




Daniel,

Can you shed some light on whether the i915+ crtc registers (specifically
those in i915_get_crtc_scanoutpos() and i915_/gm45_get_vblank_counter())
read as part of the vblank counter/timestamp handling need to
be prevented during gpu reset?


The depency here in the locking is a recent addition:

commit a7cd1b8fea2f341b626b255d9898a5ca5fabbf0a
Author: Chris Wilson 
Date:   Fri Jul 19 20:36:51 2013 +0100

 drm/i915: Serialize almost all register access

It's a (slightly) oversized hammer to work around a hardware issue -
we could break it down to register blocks, which can be accessed
concurrently, but that tends to be more fragile. But the chip really
dies if you access (even just reads) the same block concurrently :(


Ouch. But thanks for clarifying that.

Ok, so register access needs to be serialized. And a separate but
related concern is that gen6+ resets also need to hold-off register
access where forcewake is required.


While I was reviewing the registers that require forcewake handling,
I saw this:

from i915_reg.h:
#define _DPLL_A (dev_priv->info->display_mmio_offset + 0x6014)
#define _DPLL_B (dev_priv->info->display_mmio_offset + 0x6018)

from i915_drv.c:
static const struct intel_device_info intel_valleyview_m_info = {
GEN7_FEATURES,
.is_mobile = 1,
.num_pipes = 2,
.is_valleyview = 1,
.display_mmio_offset = VLV_DISPLAY_BASE, <<<---
.has_llc = 0, /* legal, last one wins */
};

from intel_uncore.c:
#define NEEDS_FORCE_WAKE(dev_priv, reg) \
((HAS_FORCE_WAKE((dev_priv)->dev)) && \
 ((reg) < 0x4) &&\
 ((reg) != FORCEWAKE))

Is this is a mistake or do the valleyview PLLs not require the
same forcewake handling as the other intel gpus?

Regards,
Peter Hurley



We could try break the spinlock protected section a bit in the reset
handler - register access on a hung gpu tends to be ill-defined
anyway.


The implied wait with preemption and interrupts disabled is causing grief
in -RT, but also a 4ms wait inside an irq handler seems like a bad idea.


Oops, the magic code in wait_for which is just there to make the imo
totally misguided kgdb support work papered over the aweful long wait
in atomic context ever since we've added this in

commit b6e45f866465f42b53d803b0c574da0fc508a0e9
Author: Keith Packard 
Date:   Fri Jan 6 11:34:04 2012 -0800

 drm/i915: Move reset

[Bug 69543] New: Radeon EXAPixmaps don't work with stretched XRender pictures

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69543

  Priority: medium
Bug ID: 69543
  Assignee: dri-devel@lists.freedesktop.org
   Summary: Radeon EXAPixmaps don't work with stretched XRender
pictures
  Severity: normal
Classification: Unclassified
OS: Linux (All)
  Reporter: juj...@gmail.com
  Hardware: Other
Status: NEW
   Version: XOrg CVS
 Component: DRM/Radeon
   Product: DRI

There is garbage on screen with some stretched XRender pictures with radeon
driver and enabled EXAPixmaps, see for example MSEide without xorg.conf

http://sourceforge.net/projects/mseide-msegui/

MSEgui uses stretched one pixel width or height pixmaps in order to draw linear
color gradients. 

If you add Option "EXAPixmaps" "off" in Section "Device" of xorg.conf display
is OK but performance falls.

Same problem using NOUVEAU driver. I can't figure out how disable EXAPixmaps
for nouveau driver.

Reproducible: Always

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


[Bug 69543] Radeon EXAPixmaps don't work with stretched XRender pictures

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69543

--- Comment #5 from Julio Jiménez  ---
Using Debian stable, testing, sid, Ubuntu 12.04 Really this happens since
KMS was used IIRC. In fact using radeon.modeset=0 fixes it for some ATI cards

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


[Bug 69543] Radeon EXAPixmaps don't work with stretched XRender pictures

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69543

--- Comment #4 from Julio Jiménez  ---
Comment on attachment 86094
  --> https://bugs.freedesktop.org/attachment.cgi?id=86094
Image showing the issue

Running MSEide with -ns option (No skin)

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


[Bug 69543] Radeon EXAPixmaps don't work with stretched XRender pictures

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69543

--- Comment #2 from Julio Jiménez  ---
Created attachment 86094
  --> https://bugs.freedesktop.org/attachment.cgi?id=86094&action=edit
Image showing the issue

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


[Bug 69543] Radeon EXAPixmaps don't work with stretched XRender pictures

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69543

--- Comment #3 from Julio Jiménez  ---
Created attachment 86095
  --> https://bugs.freedesktop.org/attachment.cgi?id=86095&action=edit
Showing the issue with default MSEide options

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


[Bug 69543] Radeon EXAPixmaps don't work with stretched XRender pictures

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69543

--- Comment #1 from Julio Jiménez  ---
Created attachment 86093
  --> https://bugs.freedesktop.org/attachment.cgi?id=86093&action=edit
Image OK

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


[Bug 69543] Radeon EXAPixmaps don't work with stretched XRender pictures

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69543

Alex Deucher  changed:

   What|Removed |Added

   Assignee|dri-devel@lists.freedesktop |xorg-t...@lists.x.org
   |.org|
 QA Contact||xorg-t...@lists.x.org
Product|DRI |xorg
Version|XOrg CVS|unspecified
  Component|DRM/Radeon  |Server/Acceleration/EXA

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


[Bug 69081] [radeonsi] Incorrect rendering of textures

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69081

--- Comment #9 from José Suárez  ---
Thank you, Michel.

I have compiled 9.3~git1309181129.ec44d5 with llvm 3.4~svn190862. CK II now
works much better as the map can be seen. However, the faces of the characters
do not show correctly. I am attaching two screenshots and the shader dump in
case it helps.

KF still shows the same problem, so it is probable that both problems were
unrelated.

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


[Bug 69081] [radeonsi] Incorrect rendering of textures

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69081

--- Comment #10 from José Suárez  ---
Created attachment 86100
  --> https://bugs.freedesktop.org/attachment.cgi?id=86100&action=edit
CK II screenshot with LLVM 3.4 svn

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


[Bug 69081] [radeonsi] Incorrect rendering of textures

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69081

--- Comment #11 from José Suárez  ---
Created attachment 86101
  --> https://bugs.freedesktop.org/attachment.cgi?id=86101&action=edit
CK II screenshot with LLVM 3.4 svn

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


[Bug 69081] [radeonsi] Incorrect rendering of textures

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69081

--- Comment #12 from José Suárez  ---
Created attachment 86102
  --> https://bugs.freedesktop.org/attachment.cgi?id=86102&action=edit
CK II shader dump with LLVM 3.4 svn

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


[Bug 69081] [radeonsi] Incorrect rendering of textures

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69081

--- Comment #13 from José Suárez  ---
Sorry, I should have specified the screenshots as images. Trying again...

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


[Bug 69081] [radeonsi] Incorrect rendering of textures

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69081

--- Comment #14 from José Suárez  ---
Created attachment 86105
  --> https://bugs.freedesktop.org/attachment.cgi?id=86105&action=edit
CK II screenshot #1 with LLVM 3.4 svn

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


[Bug 69081] [radeonsi] Incorrect rendering of textures

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69081

Alex Deucher  changed:

   What|Removed |Added

  Attachment #86100|text/plain  |image/jpeg
  mime type||

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


[Bug 69081] [radeonsi] Incorrect rendering of textures

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69081

--- Comment #15 from José Suárez  ---
Created attachment 86106
  --> https://bugs.freedesktop.org/attachment.cgi?id=86106&action=edit
CK II screenshot #2 with LLVM 3.4 svn

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


[Bug 69081] [radeonsi] Incorrect rendering of textures

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69081

Alex Deucher  changed:

   What|Removed |Added

  Attachment #86101|text/plain  |image/jpeg
  mime type||

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


[Bug 69514] R770 (Radeon 4850) screen/buffer corruption when waking up from sleep mode

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69514

--- Comment #9 from Alex Deucher  ---
Make sure you kernel has this patch:
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=022374c02e357ac82e98dd2689fb2efe05723d69

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


[Bug 68451] Texture flicker in native Dota2 in mesa 9.2.0rc1

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=68451

--- Comment #19 from Marek Olšák  ---
Created attachment 86107
  --> https://bugs.freedesktop.org/attachment.cgi?id=86107&action=edit
possible fix

Could you please try this patch?

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


[Bug 68235] Display freezes after login with kernel 3.11.0-rc5 on Cayman with dpm=1

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=68235

--- Comment #33 from Alex Deucher  ---
Created attachment 86111
  --> https://bugs.freedesktop.org/attachment.cgi?id=86111&action=edit
testing patch - force mclk to high

Try this patch by itself.  This patch will force the mclk to the highest for
all performance levels. If it works, the issue is probably related to the
changing of mclks, if not, then we are probably programming one of the mclk
parameters wrong.

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


[Bug 68235] Display freezes after login with kernel 3.11.0-rc5 on Cayman with dpm=1

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=68235

Alex Deucher  changed:

   What|Removed |Added

  Attachment #86111|0   |1
is obsolete||

--- Comment #34 from Alex Deucher  ---
Created attachment 86112
  --> https://bugs.freedesktop.org/attachment.cgi?id=86112&action=edit
testing patch - force mclk to high

Sorry, had some garbage in my tree.  use this one instead.

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


[Bug 60182] X.Org Server terminate when I close video player

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=60182

--- Comment #30 from Jose P.  ---
(In reply to comment #29)
> Created attachment 86051 [details] [review]
> DRI2: Install client callback only once
> 
> Does this patch fix the problem?

This, plus the patch in comment 6, fixed it for me (Lubuntu saucy, kernel
3.12-rc1 amd64, xserver-xorg-video-radeon 1:7.2.0-0ubuntu6 ).
Thanks people, thank you very much!

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


[Bug 68235] Display freezes after login with kernel 3.11.0-rc5 on Cayman with dpm=1

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=68235

--- Comment #35 from Alexandre Demers  ---
(In reply to comment #34)
> Created attachment 86112 [details] [review]
> testing patch - force mclk to high
> 
> Sorry, had some garbage in my tree.  use this one instead.

Tested and the screen ended up blank or frozen somewhere near when Xorg and gdm
are being launched (tried twice). Before that, the console was being displayed
OK.

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


[Bug 64600] r600g pyrit OpenCL issue on HD6850

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=64600

--- Comment #10 from Erdem U. Altınyurt  ---
Created attachment 86118
  --> https://bugs.freedesktop.org/attachment.cgi?id=86118&action=edit
Debug output

I am attaching debug output generated with
R600_DEBUG=cs pyrit benchmark 2> debug.txt

without the patch (attachment 86005).

With the latest proposed patch, there are no output on debug.
Just stalling. Don't know why.
Thanks.

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


[git pull] drm radeon/nouveau/core fixes

2013-09-18 Thread Dave Airlie
Hi Linus,

mostly radeon fixes, with some nouveau bios parser, ttm fix and a fix
for AST driver.

Dave.

The following changes since commit 01172772c7c973debf5b4881fcb9463891ea97ec:

  drm/nouveau: fix oops on runtime suspend/resume (2013-09-10 12:38:53 +1000)

are available in the git repository at:

  git://people.freedesktop.org/~airlied/linux drm-fixes

for you to fetch changes up to 928c2f0c006bf7f381f58af2b2786d2a858ae311:

  drm/fb-helper: don't sleep for screen unblank when an oops is in
progress (2013-09-19 11:54:34 +1000)


Alex Deucher (24):
  drm/radeon/cik: properly handle internal cp ints
  drm/radeon/si: properly handle internal cp ints
  drm/radeon/dce6/audio: make sure pin is valid before accessing it
  drm/radeon: add a connector property for audio
  drm/radeon: dpm updates for KV
  drm/radeon: protect concurrent smc register access with a spinlock
  drm/radeon: add spinlocks for indirect register accesss
  drm/radeon/cik: update gpu_init for an additional berlin gpu
  drm/radeon: add some additional berlin pci ids
  drm/radeon: fix typo in PG flags
  drm/radeon/r6xx: add a stubbed out set_uvd_clocks callback
  drm/radeon/dpm: fix fallback for empty UVD clocks
  drm/radeon/atom: workaround vbios bug in transmitter table on rs880 (v2)
  drm/radeon/dpm: handle bapm on trinity
  drm/radeon/dpm: handle bapm on kb/kv
  drm/radeon/dpm: add infrastructure to properly handle bapm
  drm/radeon/dpm: add bapm callback for trinity
  drm/radeon/dpm: add bapm callback for kb/kv
  drm/radeon/dpm/rs780: use drm_mode_vrefresh()
  drm/radeon/dpm/rs780: add some sanity checking to sclk scaling
  drm/radeon/dpm/rs780: don't enable sclk scaling if not required
  drm/radeon/dpm/rs780: fix force_performance state for same sclks
  drm/radeon/dpm: rework auto performance level enable
  drm/radeon: fix panel scaling with eDP and LVDS bridges

Anthoine Bourgeois (1):
  drm/radeon/dpm: implement force performance levels for rs780 (v2)

Ben Skeggs (5):
  drm/nouveau/bios/init: stub opcode 0xaa
  drm/nouveau/kms: enable for non-vga pci classes
  drm/nouveau/bios/init: fix thinko in INIT_CONFIGURE_MEM
  drm/nouveau/ttm: prevent double-free in
nouveau_sgdma_create_ttm() failure path
  drm/ttm: fix the tt_populated check in ttm_tt_destroy()

Christian König (3):
  drm/radeon: remove stale radeon_fence_retire tracepoint
  drm/radeon: add command submission tracepoint
  drm/radeon: avoid UVD corruptions on AGP cards

Damien Lespiau (1):
  drm/radeon: Fix hmdi typo

Dan Carpenter (2):
  drm/radeon: clean up r600_free_extended_power_table()
  drm/radeon: signedness bug in kv_dpm.c

Daniel Vetter (2):
  drm/udl: rip out set_need_resched
  drm/fb-helper: don't sleep for screen unblank when an oops is in progress

Dave Airlie (4):
  drm/ast: fix the ast open key function
  Merge branch 'drm-fixes-3.12' of
git://people.freedesktop.org/~agd5f/linux into drm-fixes
  Merge branch 'drm-fixes-3.12' of
git://people.freedesktop.org/~agd5f/linux into drm-fixes
  Merge branch 'drm-nouveau-next' of
git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes

Jean Delvare (2):
  drm/radeon: simplify driver data retrieval
  drm/radeon: expose DPM thermal thresholds through sysfs

Prarit Bhargava (1):
  drm, ttm Fix uninitialized warning

 drivers/gpu/drm/ast/ast_drv.h   |   2 +-
 drivers/gpu/drm/drm_fb_helper.c |   8 ++
 drivers/gpu/drm/nouveau/core/subdev/bios/init.c |  21 ++-
 drivers/gpu/drm/nouveau/nouveau_display.c   |  35 +++--
 drivers/gpu/drm/nouveau/nouveau_fbcon.c |   3 +-
 drivers/gpu/drm/nouveau/nouveau_sgdma.c |   4 +-
 drivers/gpu/drm/radeon/atombios_encoders.c  |  23 ++--
 drivers/gpu/drm/radeon/btc_dpm.c|   6 -
 drivers/gpu/drm/radeon/ci_dpm.c |   6 -
 drivers/gpu/drm/radeon/ci_smc.c |  39 --
 drivers/gpu/drm/radeon/cik.c|  36 +-
 drivers/gpu/drm/radeon/cypress_dpm.c|   6 -
 drivers/gpu/drm/radeon/dce6_afmt.c  |  12 +-
 drivers/gpu/drm/radeon/kv_dpm.c | 164 +++-
 drivers/gpu/drm/radeon/kv_dpm.h |   1 +
 drivers/gpu/drm/radeon/kv_smc.c |   8 ++
 drivers/gpu/drm/radeon/ni_dpm.c |   6 -
 drivers/gpu/drm/radeon/ppsmc.h  |   2 +
 drivers/gpu/drm/radeon/r100.c   |   7 +
 drivers/gpu/drm/radeon/r420.c   |   7 +
 drivers/gpu/drm/radeon/r600.c   |  19 +++
 drivers/gpu/drm/radeon/r600_dpm.c   |  38 ++
 drivers/gpu/drm/radeon/r600d.h  |   2 +-
 drivers/gpu/drm/radeon/radeon.h |  82 +++-
 drivers/gpu/drm/radeon/radeon_asic.c|

Re: [git pull] drm radeon/nouveau/core fixes

2013-09-18 Thread Linus Torvalds
On Wed, Sep 18, 2013 at 9:07 PM, Dave Airlie  wrote:
>
> mostly radeon fixes, with some nouveau bios parser, ttm fix and a fix
> for AST driver.

Ugh. I hope things calm down from here.

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


Re: [git pull] drm radeon/nouveau/core fixes

2013-09-18 Thread Dave Airlie
On Thu, Sep 19, 2013 at 12:20 PM, Linus Torvalds
 wrote:
> On Wed, Sep 18, 2013 at 9:07 PM, Dave Airlie  wrote:
>>
>> mostly radeon fixes, with some nouveau bios parser, ttm fix and a fix
>> for AST driver.
>
> Ugh. I hope things calm down from here.

It shouldn't be that bad, this stuff was a bit delayed, some of it was
in my tree before the merge closed, I was just distracting myself with
other stuff,

The radeon stuff is for new hw that was merged in the merge window,
and more DPM fixes which is still off by default,

The only coming thing that worries me is the VGA arbitration fixes for
Intel GPUs is really screwed up and fixing it looks like resorting to
slightly drastic measures.

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


Re: Regression: bisected: commit 7c510133d93 breaks video

2013-09-18 Thread Dave Airlie
On Thu, Sep 19, 2013 at 12:02 PM, Paul Zimmerman
 wrote:
> I have an ASUS P6X58D-Premium mobo with a GeForce 9400GT PCIe video card.
> With kernel 3.12-rc1, I get scrambled video on boot. Kernel 3.11 works
> fine.
>
> Bisecting this, I found 7c510133d93dd6f15ca040733ba7b2891ed61fd1 "drm:
> mark context support as a legacy subsystem" is the guilty commit. If I
> revert that commit, the video works fine.
>
> Is there any more info I can provide?

Full dmesg, and what driver you are using.

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


[Bug 68235] Display freezes after login with kernel 3.11.0-rc5 on Cayman with dpm=1

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=68235

--- Comment #36 from Alexandre Demers  ---
A test of my own:
diff --git a/drivers/gpu/drm/radeon/ni_dpm.c b/drivers/gpu/drm/radeon/ni_dpm.c
index f7b625c..c1875d2 100644
--- a/drivers/gpu/drm/radeon/ni_dpm.c
+++ b/drivers/gpu/drm/radeon/ni_dpm.c
@@ -3952,10 +3952,14 @@ static void ni_parse_pplib_clock_info(struct
radeon_device *rdev,
pl->mclk = le16_to_cpu(clock_info->evergreen.usMemoryClockLow);
pl->mclk |= clock_info->evergreen.ucMemoryClockHigh << 16;

+   pl->mclk = 10;
+
pl->vddc = le16_to_cpu(clock_info->evergreen.usVDDC);
pl->vddci = le16_to_cpu(clock_info->evergreen.usVDDCI);
pl->flags = le32_to_cpu(clock_info->evergreen.ulFlags);

+   pl->vddci = 1150;
+
/* patch up vddc if necessary */
if (pl->vddc == 0xff01) {
if (radeon_atom_get_max_vddc(rdev, 0, 0, &vddc) == 0)

This works. I haven't pushed higher yet.

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


[Bug 68235] Display freezes after login with kernel 3.11.0-rc5 on Cayman with dpm=1

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=68235

--- Comment #37 from Alexandre Demers  ---
Went to pl->mclk = 115000, runs fine.

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


[Bug 69372] Render issues in some GTK widgets with Mesa 9+ RadeonSI drivers

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=69372

--- Comment #13 from Alexey  ---
Seems like that firefox works correct(today I have got update to ff24, so I'm
not sure if the glamor patch fixed issue or ff fixed it by themselves). But
GNOME's software still have the same issues.

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


[Bug 68235] Display freezes after login with kernel 3.11.0-rc5 on Cayman with dpm=1

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=68235

--- Comment #38 from Alexandre Demers  ---
Running with mclk at 12.

I went under Windows and launch GPU-Z. We should be able to reach 1300MHz.

I've read that some Cayman cards were made to use a VDDCi between 1.15 and
1.16. I'm pretty sure I can reach stability at 13 by rising VDDCI a bit.

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


[Bug 68235] Display freezes after login with kernel 3.11.0-rc5 on Cayman with dpm=1

2013-09-18 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=68235

--- Comment #39 from Alexandre Demers  ---
Running with mclk at 125000

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


Re: [Intel-gfx] [PATCH] [RFC] mm/shrinker: Add a shrinker flag to always shrink a bit

2013-09-18 Thread Daniel Vetter
On Wed, Sep 18, 2013 at 10:38 PM, Dave Chinner  wrote:
> No, that's wrong. ->count_objects should never ass SHRINK_STOP.
> Indeed, it should always return a count of objects in the cache,
> regardless of the context.
>
> SHRINK_STOP is for ->scan_objects to tell the shrinker it can make
> any progress due to the context it is called in. This allows the
> shirnker to defer the work to another call in a different context.
> However, if ->count-objects doesn't return a count, the work that
> was supposed to be done cannot be deferred, and that is what
> ->count_objects should always return the number of objects in the
> cache.

So we should rework the locking in the drm/i915 shrinker to be able to
always count objects? Thus far no one screamed yet that we're not
really able to do that in all call contexts ...

So should I revert 81e49f or will the early return 0; completely upset
the core shrinker logic?
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel