[pull] radeon drm-next-3.14

2014-01-20 Thread Dave Airlie
On Fri, Jan 17, 2014 at 2:34 AM, Alex Deucher  wrote:
> Hi Dave,
>
> A few more changes for 3.14, mostly just bug fixes.  Note that:
> drm/radeon: add query to fetch the max engine clock.
> will conflict with 3.13 final, but the fix is pretty obvious.

No it isn't obvious at all!

Since the info numbers are ABI we can't have an 0x19 in two places
mean different things,

so this pull is broken, please add the new info at 0x20 from the
start, and the merge conflict
fix is to add the 0x19 and 0x20 together, is the userspace side of
these committed?

Dave.

>
> The following changes since commit 53dac830537b51df555ba5e7ebb236705b7eaa7c:
>
>   drm/mgag200: fix oops in cursor code. (2014-01-16 14:43:04 +1000)
>
> are available in the git repository at:
>
>   git://people.freedesktop.org/~agd5f/linux drm-next-3.14
>
> for you to fetch changes up to 4a8ee429cab2d62cf37f492db9861f918e79475b:
>
>   drm/radeon: fix endian handling in radeon_atom_init_mc_reg_table 
> (2014-01-16 11:04:07 -0500)
>
> 
> Alex Deucher (16):
>   Revert "drm/radeon: disable CIK CP semaphores for now"
>   drm/radeon: consolidate cp hdp flushing code for CIK
>   drm/radeon: consolidate sdma hdp flushing code for CIK
>   drm/radeon/cik: use POLL_REG_MEM special op for sDMA HDP flush
>   drm/radeon/cik: use WAIT_REG_MEM special op for CP HDP flush
>   drm/radeon: disable dpm on BTC
>   drm/radeon/cik: use hw defaults for TC_CFG registers
>   drm/radeon: disable ss on DP for DCE3.x
>   drm/radeon/dp: bump i2c-over-aux retries to 7
>   drm/radeon/dp: use usleep_range rather than udelay
>   drm/radeon/dp: sleep after powering up the display
>   drm/radeon: add query to fetch the max engine clock.
>   drm/radeon: handle ss percentage divider properly
>   drm/radeon: bail early from enable ss in certain cases
>   drm/radeon: write gfx pg bases even when gfx pg is disabled
>   drm/radeon: fix endian handling in radeon_atom_init_mc_reg_table
>
> Christian K?nig (1):
>   drm/radeon: don't power gate paused UVD streams
>
>  drivers/gpu/drm/radeon/atombios_crtc.c   | 32 +++
>  drivers/gpu/drm/radeon/atombios_dp.c | 18 +++---
>  drivers/gpu/drm/radeon/cik.c | 95 
> 
>  drivers/gpu/drm/radeon/cik_sdma.c| 43 +++
>  drivers/gpu/drm/radeon/radeon_atombios.c | 19 +--
>  drivers/gpu/drm/radeon/radeon_kms.c  |  7 +++
>  drivers/gpu/drm/radeon/radeon_mode.h |  1 +
>  drivers/gpu/drm/radeon/radeon_pm.c   | 10 +++-
>  drivers/gpu/drm/radeon/radeon_uvd.c  |  2 +
>  drivers/gpu/drm/radeon/rv770_dpm.c   | 14 ++---
>  drivers/gpu/drm/radeon/si.c  |  3 +
>  include/uapi/drm/radeon_drm.h|  3 +-
>  12 files changed, 152 insertions(+), 95 deletions(-)


[PATCH] fs: export simple_dname for drm drivers.

2014-01-20 Thread Dave Airlie
David Herrmann's changes to use a pseudo filesystem for drm's shared
inodes requires this be exported for drm to build as a module.

I'd like to merge this via the drm tree, so please ack.

Signed-off-by: Dave Airlie 
---
 fs/dcache.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/fs/dcache.c b/fs/dcache.c
index 6055d61..27d66b8 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -3107,6 +3107,7 @@ char *simple_dname(struct dentry *dentry, char *buffer, 
int buflen)
end = ERR_PTR(-ENAMETOOLONG);
return end;
 }
+EXPORT_SYMBOL(simple_dname);

 /*
  * Write full pathname from the root of the filesystem into the buffer.
-- 
1.8.4.2



[RFC v2 0/3] DRM Anonymous Inodes

2014-01-20 Thread Dave Airlie
>> Hi
>>
>> On Fri, Jan 3, 2014 at 3:41 PM, David Herrmann  
>> wrote:
>>> Hi
>>>
>>> With 3.13-rc1 the required VFS core changes for anonymous backing inodes in 
>>> DRM
>>> got merged. This series reworks the previous patches (I think from early
>>> August '13) and finally replaces the ugly drm_device->dev_mapping hack.
>>>
>>> The patches should be fairly obvious. As I currently only have nouveau 
>>> here, I'd
>>> be happy to get some more testers with other drivers.
>>>
>>> Patch #1 adds an internal private mount point to DRM core.
>>> Patch #2 replaces ->dev_mapping with a private anonymous inode for each 
>>> device.
>>> Patch #3 removes the delayed dev_mapping initialization in TTM.
>>>
>>> The internal mnt-point is based on fs/aio.c and fs/anon_inode.c which do the
>>> same. It's not clear to me why we cannot share the mnt-point between all 
>>> these,
>>> but Al Viro made clear that he will reject any patches on anon_inode.c 
>>> which do
>>> that. So lets follow his recommendation and use our own internal mnt-point.
>> Also tested on i915 ivb now (before: nouveau+TTM). I think this is
>> ready for 3.14 if nobody finds any issues.
>

I talked to Al,

7:13 < viro> umm...
17:14 < viro> you do realize that your module will be impossible to unload?
17:14 < viro> kern_mount will pin that fs down
17:14 < viro> bumping module refcount
17:15 < viro> so kern_unmount() in module_exit is not going to be called at all
17:15 -!- rafael__ [^rafael at aerd124.neoplus.adsl.tpnet.pl] has quit
[Ping timeout: 608 seconds]
17:16 < viro> what you want is some variation on simple_pin_fs()
17:17 < viro> done from drm_dev_alloc()
17:18 < viro> with simple_release_fs() from drm_dev_free(), right after iput()
17:20 < viro> the export itself is OK (albeit we might be better off
exporting a variant of mount_pseudo() instead, so that aio and
  this sucker would both just call mount_dname_pseudo())
17:21 < viro> the problem I see there is with kern_mount() use
17:47 -!- sameo [~samuel at 192.55.55.41] has quit [Remote host closed
the connection]

So maybe we should think about it a bit more :-)

Dave.


[PATCH v2] backlight: turn backlight on/off when necessary

2014-01-20 Thread Liu Ying
We don't have to turn backlight on/off everytime a blanking
or unblanking event comes because the backlight status may
have already been what we want. Another thought is that one
backlight device may be shared by multiple framebuffers. We
don't hope blanking one of the framebuffers may turn the
backlight off for all the other framebuffers, since they are
likely being active to display something. This patch adds
some logics to record each framebuffer's backlight usage to
determine the backlight device use count and whether the
backlight should be turned on or off. To be more specific,
only one unblank operation on a certain blanked framebuffer
may increase the backlight device's use count by one, while
one blank operation on a certain unblanked framebuffer may
decrease the use count by one, because the userspace is
likely to unblank a unblanked framebuffer or blank a blanked
framebuffer.

Signed-off-by: Liu Ying 
---
v1 can be found at https://lkml.org/lkml/2013/5/30/139

v1->v2:
* Make the commit message be more specific about the condition
  in which backlight device use count can be increased/decreased.
* Correct the setting for bd->props.fb_blank.

 drivers/video/backlight/backlight.c |   28 +---
 include/linux/backlight.h   |6 ++
 2 files changed, 27 insertions(+), 7 deletions(-)

diff --git a/drivers/video/backlight/backlight.c 
b/drivers/video/backlight/backlight.c
index 5d0..42044be 100644
--- a/drivers/video/backlight/backlight.c
+++ b/drivers/video/backlight/backlight.c
@@ -34,13 +34,15 @@ static const char *const backlight_types[] = {
   defined(CONFIG_BACKLIGHT_CLASS_DEVICE_MODULE))
 /* This callback gets called when something important happens inside a
  * framebuffer driver. We're looking if that important event is blanking,
- * and if it is, we're switching backlight power as well ...
+ * and if it is and necessary, we're switching backlight power as well ...
  */
 static int fb_notifier_callback(struct notifier_block *self,
unsigned long event, void *data)
 {
struct backlight_device *bd;
struct fb_event *evdata = data;
+   int node = evdata->info->node;
+   int fb_blank = 0;

/* If we aren't interested in this event, skip it immediately ... */
if (event != FB_EVENT_BLANK && event != FB_EVENT_CONBLANK)
@@ -51,12 +53,24 @@ static int fb_notifier_callback(struct notifier_block *self,
if (bd->ops)
if (!bd->ops->check_fb ||
bd->ops->check_fb(bd, evdata->info)) {
-   bd->props.fb_blank = *(int *)evdata->data;
-   if (bd->props.fb_blank == FB_BLANK_UNBLANK)
-   bd->props.state &= ~BL_CORE_FBBLANK;
-   else
-   bd->props.state |= BL_CORE_FBBLANK;
-   backlight_update_status(bd);
+   fb_blank = *(int *)evdata->data;
+   if (fb_blank == FB_BLANK_UNBLANK &&
+   !bd->fb_bl_on[node]) {
+   bd->fb_bl_on[node] = true;
+   if (!bd->use_count++) {
+   bd->props.state &= ~BL_CORE_FBBLANK;
+   bd->props.fb_blank = FB_BLANK_UNBLANK;
+   backlight_update_status(bd);
+   }
+   } else if (fb_blank != FB_BLANK_UNBLANK &&
+  bd->fb_bl_on[node]) {
+   bd->fb_bl_on[node] = false;
+   if (!(--bd->use_count)) {
+   bd->props.state |= BL_CORE_FBBLANK;
+   bd->props.fb_blank = FB_BLANK_POWERDOWN;
+   backlight_update_status(bd);
+   }
+   }
}
mutex_unlock(&bd->ops_lock);
return 0;
diff --git a/include/linux/backlight.h b/include/linux/backlight.h
index 5f9cd96..7264742 100644
--- a/include/linux/backlight.h
+++ b/include/linux/backlight.h
@@ -9,6 +9,7 @@
 #define _LINUX_BACKLIGHT_H

 #include 
+#include 
 #include 
 #include 

@@ -104,6 +105,11 @@ struct backlight_device {
struct list_head entry;

struct device dev;
+
+   /* Multiple framebuffers may share one backlight device */
+   bool fb_bl_on[FB_MAX];
+
+   int use_count;
 };

 static inline void backlight_update_status(struct backlight_device *bd)
-- 
1.7.9.5




[Bug 72228] Painkiller: Hell and Damnation segfaults intermittently on radeonsi

2014-01-20 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=72228

Michel D?nzer  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #11 from Michel D?nzer  ---
Resolving per comment #8 (BTW, you can do this yourself :).

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/342f551e/attachment.html>


[PATCH] drm/gem: Always initialize the gem object in object_init

2014-01-20 Thread Daniel Vetter
At least drm/i915 expects that the obj->dev pointer is set even in
failure paths. Specifically when the shmem initialization fails we
call i915_gem_object_free which needs to deref obj->base.dev to get at
the slab pointer in the device private structure. And the shmem
allocation can easily fail when userspace is hitting open file limits.

Doing the structure init even when the shmem file allocation fails
prevents this Oops.

Testcase: igt/gem_fd_exhaustion
Reported-and-Suggested-by: Linus Torvalds 
Cc: Linus Torvalds 
References: 
http://lists.freedesktop.org/archives/intel-gfx/2014-January/038433.html
Cc: stable at vger.kernel.org
Signed-off-by: Daniel Vetter 
---
 drivers/gpu/drm/drm_gem.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
index 3ff39bb0402d..31c919903cd0 100644
--- a/drivers/gpu/drm/drm_gem.c
+++ b/drivers/gpu/drm/drm_gem.c
@@ -129,11 +129,12 @@ int drm_gem_object_init(struct drm_device *dev,
 {
struct file *filp;

+   drm_gem_private_object_init(dev, obj, size);
+
filp = shmem_file_setup("drm mm object", size, VM_NORESERVE);
if (IS_ERR(filp))
return PTR_ERR(filp);

-   drm_gem_private_object_init(dev, obj, size);
obj->filp = filp;

return 0;
-- 
1.8.1.4



[PATCH] drm/gem: Always initialize the gem object in object_init

2014-01-20 Thread David Herrmann
Hi

On Mon, Jan 20, 2014 at 8:21 AM, Daniel Vetter  
wrote:
> At least drm/i915 expects that the obj->dev pointer is set even in
> failure paths. Specifically when the shmem initialization fails we
> call i915_gem_object_free which needs to deref obj->base.dev to get at
> the slab pointer in the device private structure. And the shmem
> allocation can easily fail when userspace is hitting open file limits.
>
> Doing the structure init even when the shmem file allocation fails
> prevents this Oops.

Makes the error-paths simpler, and drm_gem_private_object_init()
doesn't allocate anything, so looks good:
Reviewed-by: David Herrmann 

Thanks
David

> Testcase: igt/gem_fd_exhaustion
> Reported-and-Suggested-by: Linus Torvalds 
> Cc: Linus Torvalds 
> References: 
> http://lists.freedesktop.org/archives/intel-gfx/2014-January/038433.html
> Cc: stable at vger.kernel.org
> Signed-off-by: Daniel Vetter 
> ---
>  drivers/gpu/drm/drm_gem.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
> index 3ff39bb0402d..31c919903cd0 100644
> --- a/drivers/gpu/drm/drm_gem.c
> +++ b/drivers/gpu/drm/drm_gem.c
> @@ -129,11 +129,12 @@ int drm_gem_object_init(struct drm_device *dev,
>  {
> struct file *filp;
>
> +   drm_gem_private_object_init(dev, obj, size);
> +
> filp = shmem_file_setup("drm mm object", size, VM_NORESERVE);
> if (IS_ERR(filp))
> return PTR_ERR(filp);
>
> -   drm_gem_private_object_init(dev, obj, size);
> obj->filp = filp;
>
> return 0;
> --
> 1.8.1.4
>
> ___
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 67631] Radeon UVD hang/crash

2014-01-20 Thread bugzilla-dae...@bugzilla.kernel.org
https://bugzilla.kernel.org/show_bug.cgi?id=67631

--- Comment #1 from Vitaliy Filippov  ---
The bug also reproduces on 3.13 from ubuntu-kernel PPA.

Anyone??

-- 
You are receiving this mail because:
You are watching the assignee of the bug.


[PATCH] drm/gem: Always initialize the gem object in object_init

2014-01-20 Thread Chris Wilson
On Mon, Jan 20, 2014 at 08:21:54AM +0100, Daniel Vetter wrote:
> At least drm/i915 expects that the obj->dev pointer is set even in
> failure paths. Specifically when the shmem initialization fails we
> call i915_gem_object_free which needs to deref obj->base.dev to get at
> the slab pointer in the device private structure. And the shmem
> allocation can easily fail when userspace is hitting open file limits.
> 
> Doing the structure init even when the shmem file allocation fails
> prevents this Oops.

Regression from 
commit 89c8233f82d9c8af5b20e72e4a185a38a7d3c50b
Author: David Herrmann 
Date:   Thu Jul 11 11:56:32 2013 +0200

drm/gem: simplify object initialization

> Testcase: igt/gem_fd_exhaustion
> Reported-and-Suggested-by: Linus Torvalds 
> Cc: Linus Torvalds 
> References: 
> http://lists.freedesktop.org/archives/intel-gfx/2014-January/038433.html
> Cc: stable at vger.kernel.org
> Signed-off-by: Daniel Vetter 
Cc: David Herrmann 

-- 
Chris Wilson, Intel Open Source Technology Centre


[patch] drm: use after free in drm_pci_exit()

2014-01-20 Thread Dan Carpenter
We can't use "dev" after we freed it on the line before.

Fixes: b3f2333de8e8 ('drm: restrict the device list for shadow attached 
drivers')
Signed-off-by: Dan Carpenter 

diff --git a/drivers/gpu/drm/drm_pci.c b/drivers/gpu/drm/drm_pci.c
index 5736aaa7e86c..f7af69bcf3f4 100644
--- a/drivers/gpu/drm/drm_pci.c
+++ b/drivers/gpu/drm/drm_pci.c
@@ -468,8 +468,8 @@ void drm_pci_exit(struct drm_driver *driver, struct 
pci_driver *pdriver)
} else {
list_for_each_entry_safe(dev, tmp, &driver->legacy_dev_list,
 legacy_dev_list) {
-   drm_put_dev(dev);
list_del(&dev->legacy_dev_list);
+   drm_put_dev(dev);
}
}
DRM_INFO("Module unloaded\n");


[PATCH] drm/vmwgfx: Fix recently introduced sparse / smatch warnings and errors

2014-01-20 Thread Thomas Hellstrom
Reported-by: Fengguang Wu 
Signed-off-by: Thomas Hellstrom 
---
 drivers/gpu/drm/vmwgfx/vmwgfx_context.c |2 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.c |4 ++-
 drivers/gpu/drm/vmwgfx/vmwgfx_mob.c |   45 +--
 drivers/gpu/drm/vmwgfx/vmwgfx_shader.c  |1 +
 drivers/gpu/drm/vmwgfx/vmwgfx_surface.c |1 +
 5 files changed, 25 insertions(+), 28 deletions(-)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_context.c 
b/drivers/gpu/drm/vmwgfx/vmwgfx_context.c
index 97aa551..82c41da 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_context.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_context.c
@@ -744,7 +744,7 @@ static void vmw_context_binding_transfer(struct 
vmw_ctx_binding_state *cbs,
  * Emits FIFO commands to scrub a binding represented by @cb.
  * Then stops tracking the binding and re-initializes its storage.
  */
-void vmw_context_binding_kill(struct vmw_ctx_binding *cb)
+static void vmw_context_binding_kill(struct vmw_ctx_binding *cb)
 {
(void) vmw_scrub_funcs[cb->bi.bt](&cb->bi);
vmw_context_binding_drop(cb);
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c 
b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
index 078b9b0..9893328 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
@@ -680,8 +680,10 @@ static int vmw_driver_load(struct drm_device *dev, 
unsigned long chipset)
dev_priv->prim_bb_mem = dev_priv->vram_size;

ret = vmw_dma_masks(dev_priv);
-   if (unlikely(ret != 0))
+   if (unlikely(ret != 0)) {
+   mutex_unlock(&dev_priv->hw_mutex);
goto out_err0;
+   }

if (unlikely(dev_priv->prim_bb_mem < dev_priv->vram_size))
dev_priv->prim_bb_mem = dev_priv->vram_size;
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_mob.c 
b/drivers/gpu/drm/vmwgfx/vmwgfx_mob.c
index ad29651..4910e7b 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_mob.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_mob.c
@@ -35,19 +35,11 @@

 #ifdef CONFIG_64BIT
 #define VMW_PPN_SIZE 8
-#define vmw_cmd_set_otable_base SVGA3dCmdSetOTableBase64
-#define VMW_ID_SET_OTABLE_BASE SVGA_3D_CMD_SET_OTABLE_BASE64
-#define vmw_cmd_define_gb_mob SVGA3dCmdDefineGBMob64
-#define VMW_ID_DEFINE_GB_MOB SVGA_3D_CMD_DEFINE_GB_MOB64
 #define VMW_MOBFMT_PTDEPTH_0 SVGA3D_MOBFMT_PTDEPTH64_0
 #define VMW_MOBFMT_PTDEPTH_1 SVGA3D_MOBFMT_PTDEPTH64_1
 #define VMW_MOBFMT_PTDEPTH_2 SVGA3D_MOBFMT_PTDEPTH64_2
 #else
 #define VMW_PPN_SIZE 4
-#define vmw_cmd_set_otable_base SVGA3dCmdSetOTableBase
-#define VMW_ID_SET_OTABLE_BASE SVGA_3D_CMD_SET_OTABLE_BASE
-#define vmw_cmd_define_gb_mob SVGA3dCmdDefineGBMob
-#define VMW_ID_DEFINE_GB_MOB SVGA_3D_CMD_DEFINE_GB_MOB
 #define VMW_MOBFMT_PTDEPTH_0 SVGA3D_MOBFMT_PTDEPTH_0
 #define VMW_MOBFMT_PTDEPTH_1 SVGA3D_MOBFMT_PTDEPTH_1
 #define VMW_MOBFMT_PTDEPTH_2 SVGA3D_MOBFMT_PTDEPTH_2
@@ -105,7 +97,7 @@ static int vmw_setup_otable_base(struct vmw_private 
*dev_priv,
 {
struct {
SVGA3dCmdHeader header;
-   vmw_cmd_set_otable_base body;
+   SVGA3dCmdSetOTableBase64 body;
} *cmd;
struct vmw_mob *mob;
const struct vmw_sg_table *vsgt;
@@ -146,10 +138,10 @@ static int vmw_setup_otable_base(struct vmw_private 
*dev_priv,
}

memset(cmd, 0, sizeof(*cmd));
-   cmd->header.id = VMW_ID_SET_OTABLE_BASE;
+   cmd->header.id = SVGA_3D_CMD_SET_OTABLE_BASE64;
cmd->header.size = sizeof(cmd->body);
cmd->body.type = type;
-   cmd->body.baseAddress = mob->pt_root_page >> PAGE_SHIFT;
+   cmd->body.baseAddress = cpu_to_le64(mob->pt_root_page >> PAGE_SHIFT);
cmd->body.sizeInBytes = otable->size;
cmd->body.validSizeInBytes = 0;
cmd->body.ptDepth = mob->pt_level;
@@ -188,11 +180,12 @@ static void vmw_takedown_otable_base(struct vmw_private 
*dev_priv,
SVGA3dCmdHeader header;
SVGA3dCmdSetOTableBase body;
} *cmd;
-   struct ttm_buffer_object *bo = otable->page_table->pt_bo;
+   struct ttm_buffer_object *bo;

if (otable->page_table == NULL)
return;

+   bo = otable->page_table->pt_bo;
cmd = vmw_fifo_reserve(dev_priv, sizeof(*cmd));
if (unlikely(cmd == NULL))
DRM_ERROR("Failed reserving FIFO space for OTable setup.\n");
@@ -210,7 +203,7 @@ static void vmw_takedown_otable_base(struct vmw_private 
*dev_priv,
if (bo) {
int ret;

-   ret = ttm_bo_reserve(bo, false, true, false, false);
+   ret = ttm_bo_reserve(bo, false, true, false, NULL);
BUG_ON(ret != 0);

vmw_fence_single_bo(bo, NULL);
@@ -276,7 +269,7 @@ int vmw_otables_setup(struct vmw_private *dev_priv)
if (unlikely(ret != 0))
goto out_no_bo;

-   ret = ttm_bo_reserve(dev_priv->otable_bo, false, true, false, false);
+   ret = ttm_bo_reserve(dev_priv->otable_bo, false, true, false, NULL);
BUG_ON(ret != 0);
r

[Bug 66963] Rv6xx dpm problems

2014-01-20 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=66963

--- Comment #188 from Sergey  ---
(In reply to comment #183)
> You might also try my 3.14 branch:
> http://cgit.freedesktop.org/~agd5f/linux/log/?h=drm-next-3.14

Not sure if there are any important changes in this branch, but so far it looks
more stable for me. I haven't seen hangs while video was played, though the
week before i got them almost daily. And have seen hand during start up only
once for last week.

I might be just very lucky this week.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/f79bee29/attachment.html>


[Bug 73619] XServer frequently freezes for a few seconds

2014-01-20 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=73619

--- Comment #3 from Alexander Richardson  ---
I have now upgraded to Mesa 10.0.2 and it is MUCH better. Freeze only happens
very rarely now. Maybe some unrelated change made a race condition that causes
this very unlikely. Sadly still don't have the time to bisect the kernel.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/5bbf5bab/attachment.html>


Sharing Framebuffers between Client / Server

2014-01-20 Thread Rob Clark
On Fri, Jan 17, 2014 at 6:43 AM, Rian Quinn  wrote:
> I am working on a client/server program, where the server creates (and has
> access to a framebuffer), and then needs to share this framebuffer with a
> client program so that this client program can draw into the framebuffer
> directly (i.e. no memcpy).
>
> I am trying to figureout what the ?cleanest? way to do this is, such that I
> can support Intel?s proprietary driver, the open source AMD and NVidia
> drivers, and the VMWare driver (I have no need for the proprietary
> ADM/NVidia drivers right now). From what I can tell, GEM is one way to do
> this. The problem is VMWare doesn?t support GEM.
>
> I tried (knowing it would not work), using KMS to create the framebuffer,
> and then sending the information needed to mmap to the client. This of
> course failed because the framebuffer is marked non-sharable in the kernel.

Dmabuf (or just plain old egl/glx which uses dri2 under the hood)
would probably be what I suggest *except* you mention mmap.  If you
are doing software rendering, I guess you probably just want to suck
it up and do XShmPutImage.

>From what I understand, any sort of mmap access to vmwgfx buffers is
tricky, because they end up being backed by normal GL textures on the
host OS side (IIUC).  So the single copy upload path in XShmPutImage
might be close to the ideal path for sw rendered content.

> To be clear, I am fine having to manually write ioctls for each driver, if
> thats what it takes. But at this point, I am at a loss on the best method to
> share scannot buffers (or at least in a way that doesn?t make someone cringe
> when they see my code).

Some sort of prepare/finish access ioctls for dmabuf to bracket mmap
access are, I think, what vmwgfx is missing in order to implement
dmabuf mmap.  But no one so far has needed them badly enough to come
up with something and send patches.

IIUC, for vmwgfx there would still be a copy back to original texture
on the host on finish-access, so it might not amount to anything much
different from XShmPutImage.  Probably better to ask some vmwgfx folks
to clarify, since the virtual driver has some unique constraints which
I may not be adequately representing.

BR,
-R

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


[RFC v2 0/3] DRM Anonymous Inodes

2014-01-20 Thread David Herrmann
Hi

On Mon, Jan 20, 2014 at 3:00 AM, Dave Airlie  wrote:
>>> Hi
>>>
>>> On Fri, Jan 3, 2014 at 3:41 PM, David Herrmann  
>>> wrote:
 Hi

 With 3.13-rc1 the required VFS core changes for anonymous backing inodes 
 in DRM
 got merged. This series reworks the previous patches (I think from early
 August '13) and finally replaces the ugly drm_device->dev_mapping hack.

 The patches should be fairly obvious. As I currently only have nouveau 
 here, I'd
 be happy to get some more testers with other drivers.

 Patch #1 adds an internal private mount point to DRM core.
 Patch #2 replaces ->dev_mapping with a private anonymous inode for each 
 device.
 Patch #3 removes the delayed dev_mapping initialization in TTM.

 The internal mnt-point is based on fs/aio.c and fs/anon_inode.c which do 
 the
 same. It's not clear to me why we cannot share the mnt-point between all 
 these,
 but Al Viro made clear that he will reject any patches on anon_inode.c 
 which do
 that. So lets follow his recommendation and use our own internal mnt-point.
>>> Also tested on i915 ivb now (before: nouveau+TTM). I think this is
>>> ready for 3.14 if nobody finds any issues.
>>
>
> I talked to Al,
>
> 7:13 < viro> umm...
> 17:14 < viro> you do realize that your module will be impossible to unload?
> 17:14 < viro> kern_mount will pin that fs down
> 17:14 < viro> bumping module refcount
> 17:15 < viro> so kern_unmount() in module_exit is not going to be called at 
> all
> 17:15 -!- rafael__ [^rafael at aerd124.neoplus.adsl.tpnet.pl] has quit
> [Ping timeout: 608 seconds]
> 17:16 < viro> what you want is some variation on simple_pin_fs()
> 17:17 < viro> done from drm_dev_alloc()
> 17:18 < viro> with simple_release_fs() from drm_dev_free(), right after iput()
> 17:20 < viro> the export itself is OK (albeit we might be better off
> exporting a variant of mount_pseudo() instead, so that aio and
>   this sucker would both just call mount_dname_pseudo())
> 17:21 < viro> the problem I see there is with kern_mount() use
> 17:47 -!- sameo [~samuel at 192.55.55.41] has quit [Remote host closed
> the connection]
>
> So maybe we should think about it a bit more :-)

So we call simple_pin_fs() in drm_alloc_inode() and add a
drm_free_inode() which calls iput() followed by simple_release_fs()? I
will write up v3 and test with module re-loading this time.

Thanks
David


[Bug 69723] GPU lockups with kernel 3.11.0 / 3.12-rc1 when dpm=1 on r600g (Cayman)

2014-01-20 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=69723

--- Comment #101 from Marc  ---
It does greatly help for me as well as it lasted 5h.

But setting the option to glamor isn't so good for me because there were
display artifacts in some cases. For example I would open vinagre and the
header bar (where there is Remote / View / ... menus and the Connect /
Disconnect / ... buttons) wouldn't be drawn, I would see the content of what
was there on the screen before I open that window instead. Same with
gnome-control-center.

I just noticed a package update in my distrib today:
glamor-egl-0.5.1.r258-1-x86_64

I might give it another shot. I'll also update my kernel to 3.13 as I am on
3.12.7 at the moment.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/6f845a39/attachment.html>


Sharing Framebuffers between Client / Server

2014-01-20 Thread Thomas Hellstrom
On 01/20/2014 02:10 PM, Rob Clark wrote:
> On Fri, Jan 17, 2014 at 6:43 AM, Rian Quinn  wrote:
>> I am working on a client/server program, where the server creates (and has
>> access to a framebuffer), and then needs to share this framebuffer with a
>> client program so that this client program can draw into the framebuffer
>> directly (i.e. no memcpy).
>>
>> I am trying to figureout what the ?cleanest? way to do this is, such that I
>> can support Intel?s proprietary driver, the open source AMD and NVidia
>> drivers, and the VMWare driver (I have no need for the proprietary
>> ADM/NVidia drivers right now). From what I can tell, GEM is one way to do
>> this. The problem is VMWare doesn?t support GEM.
>>
>> I tried (knowing it would not work), using KMS to create the framebuffer,
>> and then sending the information needed to mmap to the client. This of
>> course failed because the framebuffer is marked non-sharable in the kernel.
> Dmabuf (or just plain old egl/glx which uses dri2 under the hood)
> would probably be what I suggest *except* you mention mmap.  If you
> are doing software rendering, I guess you probably just want to suck
> it up and do XShmPutImage.
>
> >From what I understand, any sort of mmap access to vmwgfx buffers is
> tricky, because they end up being backed by normal GL textures on the
> host OS side (IIUC).  So the single copy upload path in XShmPutImage
> might be close to the ideal path for sw rendered content.
>
>> To be clear, I am fine having to manually write ioctls for each driver, if
>> thats what it takes. But at this point, I am at a loss on the best method to
>> share scannot buffers (or at least in a way that doesn?t make someone cringe
>> when they see my code).
> Some sort of prepare/finish access ioctls for dmabuf to bracket mmap
> access are, I think, what vmwgfx is missing in order to implement
> dmabuf mmap.  But no one so far has needed them badly enough to come
> up with something and send patches.
>
> IIUC, for vmwgfx there would still be a copy back to original texture
> on the host on finish-access, so it might not amount to anything much
> different from XShmPutImage.  Probably better to ask some vmwgfx folks
> to clarify, since the virtual driver has some unique constraints which
> I may not be adequately representing.
>
> BR,
> -R

Rian, for sharing accelerated buffers, They'd best be created with
Mesa's GBM, and shared using DRM prime. Those interfaces are generic and
AFAICT, Ubuntu's Mir works exactly this way. The problem is that the
client would need to link to mesa, and could use GL / GLES to transfer
software contents to the buffer.

For pure software contents, the server would share a generic shared
memory buffer, together with a damage protocol, and composite / copy
onto the framebuffer in the server.

In principle, as Rob says, the dma-buf shared using DRM prime has an
mmap() method, but none of the "big" drivers Intel, Nouveau and Radeon
implements it, and for vmwgfx an implementation would be extremely
inefficient. Also other drivers may have issues with write-combining and
tiling of the mmap'ed framebuffer.

If both the server and client would be 100% software one could create
and share "dumb" kms buffers using DRM prime. If there's something in
the vmwgfx driver that blocks sharing in this way, we could ease that
restriction. But these buffers could not be rendered into.

GEM is, BTW, purely driver-private.

As you might see, the big restriction here is that there is no simple
generic way to mmap() accelerated shared buffers from a lean client.
This is intentional. For vmwgfx it's because of coherency issues that
would make such an implementation inefficient. For other drivers I can
imagine there are tiling- and caching issues.

/Thomas

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




[PULL] drm vblank timestamping changes

2014-01-20 Thread Ville Syrjälä
Hi Dave,

Here's the vblank timestamp pull request you wanted.

I addressed the few bugs that Mario pointed out and added
the r-bs.

As it has been a while since I made the changes, I gave it a
quick spin on a few different i915 machines. Fortunately
everything still seems to be fine.

The following changes since commit cfd72a4c2089aa3938f37281a34d6eb3306d5fd8:

  Merge branch 'drm-intel-next' of 
git://people.freedesktop.org/~danvet/drm-intel into drm-next (2014-01-20 
10:21:54 +1000)

are available in the git repository at:


  git://gitorious.org/vsyrjala/linux.git drm-vbl-timestamp

for you to fetch changes up to 095163bad59bfeed294a81e0d873fa8943e4fa01:

  drm/i915: Add a kludge for DSL incrementing too late and ISR not working 
(2014-01-20 12:21:36 +0200)


Ville Syrj?l? (14):
  drm: Pass the display mode to drm_calc_timestamping_constants()
  drm: Pass the display mode to drm_calc_vbltimestamp_from_scanoutpos()
  drm/i915: Kill hwmode save/restore
  drm/i915: Call drm_calc_timestamping_constants() earlier
  drm: Improve drm_calc_timestamping_constants() documentation
  drm: Simplify the math in drm_calc_timestamping_constants()
  drm/radeon: Populate crtc_clock in radeon_atom_get_tv_timings()
  drm: Use crtc_clock in drm_calc_timestamping_constants()
  drm: Change {pixel,line,frame}dur_ns from s64 to int
  drm/i915: Fix scanoutpos calculations for interlaced modes
  drm: Fix vblank timestamping constants for interlaced modes
  drm: Pass 'flags' from the caller to .get_scanout_position()
  drm/radeon: Move the early vblank IRQ fixup to 
radeon_get_crtc_scanoutpos()
  drm/i915: Add a kludge for DSL incrementing too late and ISR not working

 drivers/gpu/drm/drm_crtc_helper.c|   2 +-
 drivers/gpu/drm/drm_irq.c| 109 ---
 drivers/gpu/drm/i915/i915_irq.c  |  91 ++
 drivers/gpu/drm/i915/intel_display.c |  29 
 drivers/gpu/drm/radeon/radeon_atombios.c |   6 +-
 drivers/gpu/drm/radeon/radeon_display.c  |  29 +++-
 drivers/gpu/drm/radeon/radeon_drv.c  |   1 +
 drivers/gpu/drm/radeon/radeon_kms.c  |   2 +-
 drivers/gpu/drm/radeon/radeon_mode.h |   1 +
 drivers/gpu/drm/radeon/radeon_pm.c   |   2 +-
 include/drm/drmP.h   |   8 ++-
 include/drm/drm_crtc.h   |   2 +-
 12 files changed, 144 insertions(+), 138 deletions(-)

-- 
Ville Syrj?l?
Intel OTC


[Bug 73619] XServer frequently freezes for a few seconds

2014-01-20 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=73619

Alex Deucher  changed:

   What|Removed |Added

  Component|Drivers/DRI/R600|Drivers/Gallium/r600

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/bc7d62fe/attachment.html>


[Bug 68701] On boot, console freeze after "conflicting fb hw usage nouveau fb vs..." with 3.13-rc8

2014-01-20 Thread bugzilla-dae...@bugzilla.kernel.org
https://bugzilla.kernel.org/show_bug.cgi?id=68701

--- Comment #2 from William  ---
Created attachment 122741
  --> https://bugzilla.kernel.org/attachment.cgi?id=122741&action=edit
successful dmesg for 3.13.0

Retested with 3.13.0 release, and the same kernel config as
I used with 3.13-rc8, and the console is now OK, thanks.

Will attach the dmesg from a 3.13.0 boot for reference.

-- 
You are receiving this mail because:
You are watching the assignee of the bug.


[pull] radeon drm-next-3.14

2014-01-20 Thread Alex Deucher
On Sun, Jan 19, 2014 at 7:02 PM, Dave Airlie  wrote:
> On Fri, Jan 17, 2014 at 2:34 AM, Alex Deucher  
> wrote:
>> Hi Dave,
>>
>> A few more changes for 3.14, mostly just bug fixes.  Note that:
>> drm/radeon: add query to fetch the max engine clock.
>> will conflict with 3.13 final, but the fix is pretty obvious.
>
> No it isn't obvious at all!
>
> Since the info numbers are ABI we can't have an 0x19 in two places
> mean different things,
>
> so this pull is broken, please add the new info at 0x20 from the
> start, and the merge conflict
> fix is to add the 0x19 and 0x20 together, is the userspace side of
> these committed?

I should have said, when merged the number for engine clock query
needs to be changed to 0x1a rather than 0x19.  The userspace side for
the engine clock query is not committed yet.  I'll send an updated
pull request.

Alex

>
> Dave.
>
>>
>> The following changes since commit 53dac830537b51df555ba5e7ebb236705b7eaa7c:
>>
>>   drm/mgag200: fix oops in cursor code. (2014-01-16 14:43:04 +1000)
>>
>> are available in the git repository at:
>>
>>   git://people.freedesktop.org/~agd5f/linux drm-next-3.14
>>
>> for you to fetch changes up to 4a8ee429cab2d62cf37f492db9861f918e79475b:
>>
>>   drm/radeon: fix endian handling in radeon_atom_init_mc_reg_table 
>> (2014-01-16 11:04:07 -0500)
>>
>> 
>> Alex Deucher (16):
>>   Revert "drm/radeon: disable CIK CP semaphores for now"
>>   drm/radeon: consolidate cp hdp flushing code for CIK
>>   drm/radeon: consolidate sdma hdp flushing code for CIK
>>   drm/radeon/cik: use POLL_REG_MEM special op for sDMA HDP flush
>>   drm/radeon/cik: use WAIT_REG_MEM special op for CP HDP flush
>>   drm/radeon: disable dpm on BTC
>>   drm/radeon/cik: use hw defaults for TC_CFG registers
>>   drm/radeon: disable ss on DP for DCE3.x
>>   drm/radeon/dp: bump i2c-over-aux retries to 7
>>   drm/radeon/dp: use usleep_range rather than udelay
>>   drm/radeon/dp: sleep after powering up the display
>>   drm/radeon: add query to fetch the max engine clock.
>>   drm/radeon: handle ss percentage divider properly
>>   drm/radeon: bail early from enable ss in certain cases
>>   drm/radeon: write gfx pg bases even when gfx pg is disabled
>>   drm/radeon: fix endian handling in radeon_atom_init_mc_reg_table
>>
>> Christian K?nig (1):
>>   drm/radeon: don't power gate paused UVD streams
>>
>>  drivers/gpu/drm/radeon/atombios_crtc.c   | 32 +++
>>  drivers/gpu/drm/radeon/atombios_dp.c | 18 +++---
>>  drivers/gpu/drm/radeon/cik.c | 95 
>> 
>>  drivers/gpu/drm/radeon/cik_sdma.c| 43 +++
>>  drivers/gpu/drm/radeon/radeon_atombios.c | 19 +--
>>  drivers/gpu/drm/radeon/radeon_kms.c  |  7 +++
>>  drivers/gpu/drm/radeon/radeon_mode.h |  1 +
>>  drivers/gpu/drm/radeon/radeon_pm.c   | 10 +++-
>>  drivers/gpu/drm/radeon/radeon_uvd.c  |  2 +
>>  drivers/gpu/drm/radeon/rv770_dpm.c   | 14 ++---
>>  drivers/gpu/drm/radeon/si.c  |  3 +
>>  include/uapi/drm/radeon_drm.h|  3 +-
>>  12 files changed, 152 insertions(+), 95 deletions(-)


[PATCH] drm/radeon: add UVD support for OLAND

2014-01-20 Thread Alex Deucher
It seems this got dropped when we merged UVD support
last year.  Add this back now.

Signed-off-by: Alex Deucher 
Cc: stable at vger.kernel.org
---
 drivers/gpu/drm/radeon/radeon_uvd.c | 1 +
 drivers/gpu/drm/radeon/uvd_v2_2.c   | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/radeon/radeon_uvd.c 
b/drivers/gpu/drm/radeon/radeon_uvd.c
index 8158c2b..1fe802f6 100644
--- a/drivers/gpu/drm/radeon/radeon_uvd.c
+++ b/drivers/gpu/drm/radeon/radeon_uvd.c
@@ -91,6 +91,7 @@ int radeon_uvd_init(struct radeon_device *rdev)
case CHIP_VERDE:
case CHIP_PITCAIRN:
case CHIP_ARUBA:
+   case CHIP_OLAND:
fw_name = FIRMWARE_TAHITI;
break;

diff --git a/drivers/gpu/drm/radeon/uvd_v2_2.c 
b/drivers/gpu/drm/radeon/uvd_v2_2.c
index b19ef49..824550d 100644
--- a/drivers/gpu/drm/radeon/uvd_v2_2.c
+++ b/drivers/gpu/drm/radeon/uvd_v2_2.c
@@ -153,6 +153,7 @@ int uvd_v2_2_resume(struct radeon_device *rdev)
chip_id = 0x0115;
break;
case CHIP_PITCAIRN:
+   case CHIP_OLAND:
chip_id = 0x0116;
break;
case CHIP_ARUBA:
-- 
1.8.3.1



[Bug 73789] [Radeon HD 7770 GHz Edition] Cape Verde XT: glxinfo report 3.0, but support for 3.1 annonced

2014-01-20 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=73789

--- Comment #4 from Stepan Bakshaev  ---
(In reply to comment #2)
> For OpenGL versions higher than 3.0 the devs are only supporting core
> profile. So this is not a bug.

What does it mean "the devs"?

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/97fae92f/attachment.html>


[Bug 73789] [Radeon HD 7770 GHz Edition] Cape Verde XT: glxinfo report 3.0, but support for 3.1 annonced

2014-01-20 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=73789

--- Comment #5 from Marek Ol??k  ---
(In reply to comment #4)
> (In reply to comment #2)
> > For OpenGL versions higher than 3.0 the devs are only supporting core
> > profile. So this is not a bug.
> 
> What does it mean "the devs"?

The developers.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/a7b647a5/attachment.html>


[PATCH] drm/edid: Populate picture aspect ratio for CEA modes

2014-01-20 Thread Ville Syrjälä
On Mon, Dec 23, 2013 at 11:27:40AM +0530, Vandana Kannan wrote:
> Adding picture aspect ratio for CEA modes based on CEA-861D Table 3 or
> CEA-861E Table 4. This is useful for filling up the detail in AVI
> infoframe.
> 
> v2: Ville's inputs incorporated. Added picture aspect ratio as part of
> edid_cea_modes instead of DRM_MODE
> 
> Signed-off-by: Vandana Kannan 
> Reviewed-by: Alex Deucher 

Reviewed-by: Ville Syrj?l? 

> ---
>  drivers/gpu/drm/drm_edid.c |  128 
> ++--
>  include/drm/drm_crtc.h |2 +
>  2 files changed, 66 insertions(+), 64 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index fb7cf0e..20e3784 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -600,347 +600,347 @@ static const struct drm_display_mode edid_cea_modes[] 
> = {
>   { DRM_MODE("640x480", DRM_MODE_TYPE_DRIVER, 25175, 640, 656,
>  752, 800, 0, 480, 490, 492, 525, 0,
>  DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
> -   .vrefresh = 60, },
> +   .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
>   /* 2 - 720x480 at 60Hz */
>   { DRM_MODE("720x480", DRM_MODE_TYPE_DRIVER, 27000, 720, 736,
>  798, 858, 0, 480, 489, 495, 525, 0,
>  DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
> -   .vrefresh = 60, },
> +   .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
>   /* 3 - 720x480 at 60Hz */
>   { DRM_MODE("720x480", DRM_MODE_TYPE_DRIVER, 27000, 720, 736,
>  798, 858, 0, 480, 489, 495, 525, 0,
>  DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
> -   .vrefresh = 60, },
> +   .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
>   /* 4 - 1280x720 at 60Hz */
>   { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, 1280, 1390,
>  1430, 1650, 0, 720, 725, 730, 750, 0,
>  DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
> -   .vrefresh = 60, },
> +   .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
>   /* 5 - 1920x1080i at 60Hz */
>   { DRM_MODE("1920x1080i", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2008,
>  2052, 2200, 0, 1080, 1084, 1094, 1125, 0,
>  DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
>   DRM_MODE_FLAG_INTERLACE),
> -   .vrefresh = 60, },
> +   .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
>   /* 6 - 1440x480i at 60Hz */
>   { DRM_MODE("1440x480i", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1478,
>  1602, 1716, 0, 480, 488, 494, 525, 0,
>  DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
>   DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK),
> -   .vrefresh = 60, },
> +   .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
>   /* 7 - 1440x480i at 60Hz */
>   { DRM_MODE("1440x480i", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1478,
>  1602, 1716, 0, 480, 488, 494, 525, 0,
>  DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
>   DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLCLK),
> -   .vrefresh = 60, },
> +   .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
>   /* 8 - 1440x240 at 60Hz */
>   { DRM_MODE("1440x240", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1478,
>  1602, 1716, 0, 240, 244, 247, 262, 0,
>  DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
>   DRM_MODE_FLAG_DBLCLK),
> -   .vrefresh = 60, },
> +   .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
>   /* 9 - 1440x240 at 60Hz */
>   { DRM_MODE("1440x240", DRM_MODE_TYPE_DRIVER, 27000, 1440, 1478,
>  1602, 1716, 0, 240, 244, 247, 262, 0,
>  DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
>   DRM_MODE_FLAG_DBLCLK),
> -   .vrefresh = 60, },
> +   .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
>   /* 10 - 2880x480i at 60Hz */
>   { DRM_MODE("2880x480i", DRM_MODE_TYPE_DRIVER, 54000, 2880, 2956,
>  3204, 3432, 0, 480, 488, 494, 525, 0,
>  DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
>   DRM_MODE_FLAG_INTERLACE),
> -   .vrefresh = 60, },
> +   .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3, },
>   /* 11 - 2880x480i at 60Hz */
>   { DRM_MODE("2880x480i", DRM_MODE_TYPE_DRIVER, 54000, 2880, 2956,
>  3204, 3432, 0, 480, 488, 494, 525, 0,
>  DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC |
>   DRM_MODE_FLAG_INTERLACE),
> -   .vrefresh = 60, },
> +   .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
>   /* 12 - 2880x240 at 60Hz */
>   { DRM_MODE("2880x240", D

[Bug 73625] rv730 agp unstable while uvd video playback

2014-01-20 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=73625

--- Comment #17 from Roman Elshin  ---
It seems to me that uvd is stable with R600_DEBUG=nosb and current mesa (it is
only necessary workaround). I mean stable behaviour - if it able to play some
movie it always play it, or if it hang gpu on other it always hang it there.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/89f6df57/attachment.html>


[Bug 73789] [Radeon HD 7770 GHz Edition] Cape Verde XT: glxinfo report 3.0, but support for 3.1 annonced

2014-01-20 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=73789

--- Comment #6 from Stepan Bakshaev  ---
Sorry for my buzz. I want to play Natural Selection 2 and don't want to think.
You wrote about it already

http://cgit.freedesktop.org/mesa/mesa/tree/docs/GL3.txt?h=10.0&id=12484d2582a478b3ef126efe12f24c8e4a4d4db7#n10

OpenGL 3.1 and later versions are only supported with the Core profile.
There are no plans to support GL_ARB_compatibility. 

Developers want to earn money from unknownworlds and don't want to code.

Community of ns2 discusses mesa and waits for nothing

http://forums.unknownworlds.com/discussion/132731/linux-intel-hd-4000-opengl-3-1-core-profile

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/b9a95590/attachment.html>


[Bug 73788] [Radeon HD 7770 GHz Edition] Cape Verde XT: DPM set state failed

2014-01-20 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=73788

--- Comment #3 from Stepan Bakshaev  ---
Unigine Sanctuary on Cape Verde XT:
At present: 30 fps

Unigine
Sanctuary demo
benchmark edition v2.3
FPS: 29.9
Scores: 1267
Min FPS: 26.9
Max FPS: 31.8

Hardware
Binary:Linux 32bit GCC 4.3.2 Release May 20 2010
Operating system: Linux 3.13.0-4-generic x86_64
CPU model: Intel(R) Core(TM) i5-3570 CPU @ 3.40GHz
CPU flags: 3392MHz MMX SSE SSE2 SSE3 SSSE3 SSE41 SSE42 HTT
GPU model: Gallium 0.4 on AMD CAPE VERDE 3.0 Mesa 10.0.1 256Mb

Settings
Render: opengl
Mode: 1920x1080 fullscreen
Shaders: high
Textures: high
Filter: trilinear
Anisotropy: 4x
Translucence: enabled
Parallax: enabled
Reflection: enabled
DOF:disabled
HDR:disabled

Vsync is disabled.

Temp grows from 37 to 59.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/08fe8044/attachment.html>


[Bug 71212] [RadeonSI]: Unigine Heaven fails to launch with X error

2014-01-20 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=71212

--- Comment #6 from Stepan Bakshaev  ---
(In reply to comment #5)
> Running heaven with MESA_GL_VERSION_OVERRIDE=3.2
> MESA_GLSL_VERSION_OVERRIDE=150 hard hangs the system
> after few minutes of launch

OS: Ubuntu 14.04 (dev, updated to present state)
Device:Cape Verde XT [Radeon HD 7770 GHz Edition] [683d]

Bench finished success with results:

Time:188.999
Frames:2666
FPS:14.1059
Min FPS:8.78678
Max FPS:26.3573
Score:590.19

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/dcbbc102/attachment.html>


[Bug 71212] [RadeonSI]: Unigine Heaven fails to launch with X error

2014-01-20 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=71212

--- Comment #7 from Stepan Bakshaev  ---
(In reply to comment #6)
> OS: Ubuntu 14.04 (dev, updated to present state)
> Device:   Cape Verde XT [Radeon HD 7770 GHz Edition] [683d]
> 
> Bench finished success with results:
> 
> Time: 188.999
> Frames:   2666
> FPS:  14.1059
> Min FPS:  8.78678
> Max FPS:  26.3573
> Score:590.19

It was about valley.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/9a42fdc0/attachment.html>


[Bug 71212] [RadeonSI]: Unigine Heaven fails to launch with X error

2014-01-20 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=71212

--- Comment #8 from Stepan Bakshaev  ---
Heaven's 4.0 results:

Time:260.509
Frames:3949
FPS:15.1588
Min FPS:5.87158
Max FPS:27.4029
Score:381.85


OS: Ubuntu 14.04 (dev, updated to present state)
Device:Cape Verde XT [Radeon HD 7770 GHz Edition] [683d]

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/b07acc67/attachment.html>


[PATCH] drm: Initialize or valgrind-clear modesetting ioctl arguments.

2014-01-20 Thread Kenneth Graunke
On 12/28/2013 10:06 PM, Eric Anholt wrote:
> Fixes valgrind complaints in the modesetting driver.  I tried to
> follow each ioctl's pattern for whether it was initializing just the
> in values, or both in and out values.
> ---
>  Makefile.am   |  2 ++
>  xf86drmMode.c | 19 +++
>  2 files changed, 21 insertions(+)

Reviewed-by: Kenneth Graunke 



[PATCH] intel: Track whether a buffer is idle to avoid trips to the kernel.

2014-01-20 Thread Kenneth Graunke
On 01/15/2014 12:38 AM, Eric Anholt wrote:
> I've seen a number of apps spending unreasonable amounts of time in
> drm_intel_bo_busy during the buffer mapping process.
> 
> We can't track idleness in general, in the case of buffers shared
> across processes.  But this should significantly reduce our overhead
> for checking for busy on things like VBOs.
> 
> Improves (unoptimized) glamor x11perf -f8text by 0.243334% +/-
> 0.161498% (n=1549), which has formerly been spending about .5% of its
> time hitting the kernel for drm_intel_gem_bo_busy().
> ---
> 
> I've still got a patch outstanding on the list for valgrind-cleaning
> the modesetting paths.  Since we're probably rolling a release soon,
> that might be nice to get in.
> 
>  intel/intel_bufmgr_gem.c | 23 ++-
>  1 file changed, 22 insertions(+), 1 deletion(-)

Nice, makes sense...if they submit a batch referencing the buffer, it
might be busy, so we need to check...if not, and it isn't shared, it's
definitely idle, so skip the check.  I like it.

Reviewed-by: Kenneth Graunke 


[PATCH 2/7] drm/udl: fix Bpp calculation in dumb_create()

2014-01-20 Thread David Herrmann
Probably a typo.. we obviously need "(bpp + 7) / 8" instead of
"(bpp + 1) / 8". Unlikely to be hit in any sane code, but lets be safe.

Signed-off-by: David Herrmann 
---
 drivers/gpu/drm/udl/udl_gem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/udl/udl_gem.c b/drivers/gpu/drm/udl/udl_gem.c
index 8d67b94..df963a1 100644
--- a/drivers/gpu/drm/udl/udl_gem.c
+++ b/drivers/gpu/drm/udl/udl_gem.c
@@ -60,7 +60,7 @@ int udl_dumb_create(struct drm_file *file,
struct drm_device *dev,
struct drm_mode_create_dumb *args)
 {
-   args->pitch = args->width * ((args->bpp + 1) / 8);
+   args->pitch = args->width * ((args->bpp + 7) / 8);
args->size = args->pitch * args->height;
return udl_gem_create(file, dev,
  args->size, &args->handle);
-- 
1.8.5.3



[PATCH 1/7] drm/udl: fix error-path when damage-req fails

2014-01-20 Thread David Herrmann
We need to call dma_buf_end_cpu_access() in case a damage-request.
Unlikely, but might happen during device unplug.

Signed-off-by: David Herrmann 
---
 drivers/gpu/drm/udl/udl_fb.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/udl/udl_fb.c b/drivers/gpu/drm/udl/udl_fb.c
index dbadd49..50f564d 100644
--- a/drivers/gpu/drm/udl/udl_fb.c
+++ b/drivers/gpu/drm/udl/udl_fb.c
@@ -421,9 +421,10 @@ static int udl_user_framebuffer_dirty(struct 
drm_framebuffer *fb,
  clips[i].x2 - clips[i].x1,
  clips[i].y2 - clips[i].y1);
if (ret)
-   goto unlock;
+   goto end_access;
}

+end_access:
if (ufb->obj->base.import_attach) {
dma_buf_end_cpu_access(ufb->obj->base.import_attach->dmabuf,
   0, ufb->obj->base.size,
-- 
1.8.5.3



[PATCH 3/7] drm/udl: import prime-fds with proper page-alignment

2014-01-20 Thread David Herrmann
Instead of rounding down to the next lower page-boundary, round up.
dma-buf guarantees that we can map buffers in multiples of a page, so if
an exporter does not page-align, do it ourselves.

This avoids issues if the exported buffer contains an unaligned size and
we crop it. In this case, the buffer is too small for the UDL CRTC. So we
round up to page-size now and avoid black borders. Worst case is we end up
reading out some random kernel memory, but we can never fault as the whole
page has the same access-rights. And in this case it's an issue of the
buggy exporting driver, not the importing one.

Signed-off-by: David Herrmann 
---
 drivers/gpu/drm/udl/udl_gem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/udl/udl_gem.c b/drivers/gpu/drm/udl/udl_gem.c
index df963a1..1069e57 100644
--- a/drivers/gpu/drm/udl/udl_gem.c
+++ b/drivers/gpu/drm/udl/udl_gem.c
@@ -227,7 +227,7 @@ static int udl_prime_create(struct drm_device *dev,
struct udl_gem_object *obj;
int npages;

-   npages = size / PAGE_SIZE;
+   npages = PAGE_ALIGN(size) >> PAGE_SHIFT;

*obj_p = NULL;
obj = udl_gem_alloc_object(dev, npages * PAGE_SIZE);
-- 
1.8.5.3



[PATCH 4/7] drm/gem: fix indentation

2014-01-20 Thread David Herrmann
Remove double-whitespace and wrong indentation.

Signed-off-by: David Herrmann 
---
 drivers/gpu/drm/drm_gem.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
index bed5c3b..c1eaf35 100644
--- a/drivers/gpu/drm/drm_gem.c
+++ b/drivers/gpu/drm/drm_gem.c
@@ -691,7 +691,7 @@ drm_gem_object_release(struct drm_gem_object *obj)
WARN_ON(obj->dma_buf);

if (obj->filp)
-   fput(obj->filp);
+   fput(obj->filp);
 }
 EXPORT_SYMBOL(drm_gem_object_release);

@@ -781,7 +781,7 @@ int drm_gem_mmap_obj(struct drm_gem_object *obj, unsigned 
long obj_size,
vma->vm_flags |= VM_IO | VM_PFNMAP | VM_DONTEXPAND | VM_DONTDUMP;
vma->vm_ops = dev->driver->gem_vm_ops;
vma->vm_private_data = obj;
-   vma->vm_page_prot =  
pgprot_writecombine(vm_get_page_prot(vma->vm_flags));
+   vma->vm_page_prot = 
pgprot_writecombine(vm_get_page_prot(vma->vm_flags));

/* Take a ref for this mapping of the object, so that the fault
 * handler can dereference the mmap offset's pointer to the object.
-- 
1.8.5.3



[PATCH 5/7] drm/gem: free vma-node during object-cleanup

2014-01-20 Thread David Herrmann
All drivers currently need to clean up the vma-node manually. There is no
fancy logic involved so lets just clean it up unconditionally. The
vma-manager correctly catches multiple calls so we are fine.

Signed-off-by: David Herrmann 
---
 drivers/gpu/drm/drm_gem.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
index c1eaf35..7bf374e 100644
--- a/drivers/gpu/drm/drm_gem.c
+++ b/drivers/gpu/drm/drm_gem.c
@@ -692,6 +692,8 @@ drm_gem_object_release(struct drm_gem_object *obj)

if (obj->filp)
fput(obj->filp);
+
+   drm_gem_free_mmap_offset(obj);
 }
 EXPORT_SYMBOL(drm_gem_object_release);

-- 
1.8.5.3



[PATCH 6/7] drm/crtc: add sanity checks to create_dumb()

2014-01-20 Thread David Herrmann
Lets make sure some basic expressions are always true:
  bpp != NULL
  width != NULL
  height != NULL
  stride = bpp * width < 2^32
  size = stride * height < 2^32
  PAGE_ALIGN(size) < 2^32

At least the udl driver doesn't check for multiplication-overflows, so
lets just make sure it will never happen. These checks allow drivers to do
any 32bit math without having to test for mult-overflows themselves.

The two divisions might hurt performance a bit, but dumb_create() is only
used for scanout-buffers, so that should be fine. We could use 64bit math
to avoid the divisions, but that may be slow on 32bit machines.. Or maybe
there should just be a "safe_mult32()" helper, which currently doesn't
exist (I think?).

Signed-off-by: David Herrmann 
---
 drivers/gpu/drm/drm_crtc.c | 15 +++
 1 file changed, 15 insertions(+)

diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 266a01d..ff647fa 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -3738,9 +3738,24 @@ int drm_mode_create_dumb_ioctl(struct drm_device *dev,
   void *data, struct drm_file *file_priv)
 {
struct drm_mode_create_dumb *args = data;
+   u32 Bpp, stride, size;

if (!dev->driver->dumb_create)
return -ENOSYS;
+   if (!args->width || !args->height || !args->bpp)
+   return -EINVAL;
+
+   /* overflow checks for 32bit size calculations */
+   Bpp = (args->bpp + 7) / 8;
+   if (Bpp > 0xU / args->width)
+   return -EINVAL;
+   stride = Bpp * args->width;
+   if (args->height > 0xU / stride)
+   return -EINVAL;
+   size = args->height * stride;
+   if (PAGE_ALIGN(size) < size)
+   return -EINVAL;
+
return dev->driver->dumb_create(file_priv, dev, args);
 }

-- 
1.8.5.3



[PATCH 7/7] drm/gem: dont init "ret" in drm_gem_mmap()

2014-01-20 Thread David Herrmann
There is no need to initialize this variable, so drop it. Otherwise, the
compiler won't warn if we use it unintialized.

Signed-off-by: David Herrmann 
---
 drivers/gpu/drm/drm_gem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
index 7bf374e..700e8df 100644
--- a/drivers/gpu/drm/drm_gem.c
+++ b/drivers/gpu/drm/drm_gem.c
@@ -819,7 +819,7 @@ int drm_gem_mmap(struct file *filp, struct vm_area_struct 
*vma)
struct drm_device *dev = priv->minor->dev;
struct drm_gem_object *obj;
struct drm_vma_offset_node *node;
-   int ret = 0;
+   int ret;

if (drm_device_is_unplugged(dev))
return -ENODEV;
-- 
1.8.5.3



[Bug 73848] New: [Radeon] Blank screen after boot with kernel 3.12.x, xorg 1.15

2014-01-20 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=73848

  Priority: medium
Bug ID: 73848
  Assignee: dri-devel at lists.freedesktop.org
   Summary: [Radeon] Blank screen after boot with kernel 3.12.x,
xorg 1.15
  Severity: normal
Classification: Unclassified
OS: Linux (All)
  Reporter: marti at juffo.org
  Hardware: x86-64 (AMD64)
Status: NEW
   Version: unspecified
 Component: DRM/Radeon
   Product: DRI

With ASUS Radeon R9 270, just after I boot up and GDM is supposed to start, my
screen goes blank and some GPU faults are reported in dmesg.

Upgrading to kernel 3.13 solves this issue.

One time the graphics also recovered with 3.12.8 after coming back from
suspend, but I have not been able to reproduce that.

Using up-to-date Arch Linux testing with:
xorg-server 1.15.0
mesa 10.0.2
libdrm 2.4.51
xf86-video-ati 7.2.0
kernel versions tested: 3.12.8, 3.12.1, 3.11.5, 3.10.10

The following errors are reported in dmesg (full log attached):
radeon :01:00.0: GPU fault detected: 147 0x005e7001
radeon :01:00.0:   VM_CONTEXT1_PROTECTION_FAULT_ADDR   0x091C0002
radeon :01:00.0:   VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x1E070001
VM fault (0x01, vmid 15) at page 152829954, read from CP (112)
radeon :01:00.0: GPU fault detected: 147 0x02de8801
radeon :01:00.0:   VM_CONTEXT1_PROTECTION_FAULT_ADDR   0x
radeon :01:00.0:   VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x
VM fault (0x00, vmid 0) at page 0, read from unknown (0)
radeon :01:00.0: GPU fault detected: 147 0x02de8801
radeon :01:00.0:   VM_CONTEXT1_PROTECTION_FAULT_ADDR   0x
radeon :01:00.0:   VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x
VM fault (0x00, vmid 0) at page 0, read from unknown (0)
radeon :01:00.0: GPU fault detected: 147 0x04df8402
radeon :01:00.0:   VM_CONTEXT1_PROTECTION_FAULT_ADDR   0x00080826
radeon :01:00.0:   VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x1F084002
VM fault (0x02, vmid 15) at page 526374, write from TC (132)

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/349bc139/attachment.html>


[Bug 73848] [Radeon] Blank screen after boot with kernel 3.12.x, xorg 1.15

2014-01-20 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=73848

--- Comment #1 from Marti Raudsepp  ---
Created attachment 92487
  --> https://bugs.freedesktop.org/attachment.cgi?id=92487&action=edit
dmesg.log

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/75d39f0d/attachment.html>


[Bug 73848] [Radeon] Blank screen after boot with kernel 3.12.x, xorg 1.15

2014-01-20 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=73848

--- Comment #2 from Marti Raudsepp  ---
Created attachment 92488
  --> https://bugs.freedesktop.org/attachment.cgi?id=92488&action=edit
Xorg.0.log

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/52068d7c/attachment.html>


[Bug 73511] clinfo mises Max clock frequency on r600

2014-01-20 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=73511

--- Comment #5 from Tom Stellard  ---
(In reply to comment #4)
> Created attachment 92115 [details] [review]
> [PATCH rebased] drm/radeon: add query to fetch the max engine clock.
> 
> (In reply to comment #2)
> > Here's the kernel patch:
> > http://people.freedesktop.org/~agd5f/0001-drm-radeon-add-query-to-fetch-the-
> > max-engine-clock.patch
> This patch doesn't apply to latest git tree. I've rebased it.

Have you been able to test the patches?  Do they work?

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/2fb4944b/attachment.html>


[PATCH] intel: Track whether a buffer is idle to avoid trips to the kernel.

2014-01-20 Thread Paul Menzel
Dear Eric,


thank you for the patch. I noticed one typo.


Am Mittwoch, den 15.01.2014, 00:38 -0800 schrieb Eric Anholt:
> I've seen a number of apps spending unreasonable amounts of time in
> drm_intel_bo_busy during the buffer mapping process.
> 
> We can't track idleness in general, in the case of buffers shared
> across processes.  But this should significantly reduce our overhead
> for checking for busy on things like VBOs.
> 
> Improves (unoptimized) glamor x11perf -f8text by 0.243334% +/-
> 0.161498% (n=1549), which has formerly been spending about .5% of its
> time hitting the kernel for drm_intel_gem_bo_busy().
> ---
> 
> I've still got a patch outstanding on the list for valgrind-cleaning
> the modesetting paths.  Since we're probably rolling a release soon,
> that might be nice to get in.
> 
>  intel/intel_bufmgr_gem.c | 23 ++-
>  1 file changed, 22 insertions(+), 1 deletion(-)
> 
> diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c
> index 75e95e6..27ad576 100644
> --- a/intel/intel_bufmgr_gem.c
> +++ b/intel/intel_bufmgr_gem.c
> @@ -212,6 +212,15 @@ struct _drm_intel_bo_gem {
>   bool reusable;
>  
>   /**
> +  * Boolean of whether the GPU is definitely not accessing the buffer.
> +  *
> +  * This is only valid when reusable, since non-reusable
> +  * buffers are those that have been shared wth other

w*i*th

> +  * processes, so we don't know their state.
> +  */
> + bool idle;
> +
> + /**
>* Size in bytes of this buffer and its relocation descendents.
>*
>* Used to avoid costly tree walking in

The rest looks fine.


Thanks,

Paul
-- next part --
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/94b36a5a/attachment.pgp>


Is a stale image but moving mouse cursor a driver problem?

2014-01-20 Thread Paul Menzel
Dear DRI folks,


using Debian Sid/unstable with Linux 3.12.6, GNOME 3.8 and the Radeon
stack the following problem happened, I do not know what to make of it.

Under unknown circumstances the GNOME Screensaver on tty7 ?freezes?. The
big clock in the background can be seen, but nothing can be entered (or
there is no feedback). Only the mouse cursor can be moved.

Switching to tty1 works and then switching back to tty7 the image from
tty1 is still seen (distribution information in the first line and
`hostname login:` in second) and the mouse cursor can still be moved.

There are no messages shown in `.xsession-errors`, `/var/log/syslog` or
`/var/log/Xorg.0.log`.

Asking the GNOME folks about it in #gnome-shell on  they
replied it might be a driver bug. Can you confirm that?

Are there any log files I can look at or other things I can do to find
out what is wrong?


Thanks,

Paul
-- next part --
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/f957a097/attachment.pgp>


[Bug 73852] New: Dota 2: texture corruption (r600 on HD 6550M)

2014-01-20 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=73852

  Priority: medium
Bug ID: 73852
  Assignee: dri-devel at lists.freedesktop.org
   Summary: Dota 2: texture corruption (r600 on HD 6550M)
  Severity: normal
Classification: Unclassified
OS: Linux (All)
  Reporter: matejcs at gmail.com
  Hardware: x86-64 (AMD64)
Status: NEW
   Version: unspecified
 Component: DRM/Radeon
   Product: DRI

Hi,

this is my first bug report, so feel free to point me in a different direction
if necessary please. I am getting a flawless 30+ fps on one of the tutorial
maps without any graphical glitch. However on a different map, there are heavy
texture issues. Please see: http://youtu.be/wHLVaa5aTmA 

Last few lines from dmesg after gameplay:

[ 3375.201258] [drm:radeon_cs_ib_chunk] *ERROR* Invalid command stream !
[ 3375.223619] radeon :02:00.0: evergreen_cs_track_check:974 mask
0x0777 | 0x0FFF no cb for 2
[ 3375.223625] radeon :02:00.0: evergreen_packet3_check:1918 invalid cmd
stream
[ 3375.223628] [drm:radeon_cs_ib_chunk] *ERROR* Invalid command stream !
[ 3375.248243] radeon :02:00.0: evergreen_cs_track_check:974 mask
0x0777 | 0x0FFF no cb for 2
[ 3375.248254] radeon :02:00.0: evergreen_packet3_check:1918 invalid cmd
stream
[ 3375.248259] [drm:radeon_cs_ib_chunk] *ERROR* Invalid command stream !



Setup details:

Game: Dota 2
Game version: latest update on January 9, 2014
Settings: Highest settings on 1920x1080 (low shadows)
Kernel: 3.13.0-031300-generic
GPU: 6550M
GPU RAM: 1GB DDR3
CPU: i3 380m 2.5GHz
RAM: 8GB DDR3
Distribution: Ubuntu 13.10
OpenGL version string: 3.0 Mesa 10.1.0-devel (git-d6b6ab5
saucy-oibaf-ppa+curaga)

Thank you,
Matyas

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/cdde2904/attachment-0001.html>


[ANNOUNCE] libdrm 2.4.52

2014-01-20 Thread Kenneth Graunke
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Ben Widawsky (3):
  intel: squash unused variable 'bo_gem'
  intel: Handle malloc fails in context create
  intel: Merge latest i915_drm.h

Eric Anholt (2):
  drm: Initialize or valgrind-clear modesetting ioctl arguments.
  intel: Track whether a buffer is idle to avoid trips to the kernel.

Hyungwon Hwang (1):
  tests/kmstest: support exynos

Keith Packard (1):
  Mark debug_print with __attribute__ ((format(__printf__, 1, 0)))

Kenneth Graunke (2):
  intel: Create a new drm_intel_bo offset64 field.
  Bump the version to 2.4.52

Rob Clark (1):
  freedreno: add fd_device_new_dup()

Vincent ABRIOU (1):
  modetest: add the possibility to select the refresh frequency for a mode

git tag: libdrm-2.4.52

http://dri.freedesktop.org/libdrm/libdrm-2.4.52.tar.bz2
MD5:  01b75624a5da3a7543923e54c3547a24  libdrm-2.4.52.tar.bz2
SHA1: 7be6767efd0988c76c984fcdd1c8b712bcb9aea5  libdrm-2.4.52.tar.bz2
SHA256: fa693c2f1f61befcefbdcc396673e38481110bac9db610afa4b8afb2be0218c1  
libdrm-2.4.52.tar.bz2

http://dri.freedesktop.org/libdrm/libdrm-2.4.52.tar.gz
MD5:  cb3547ccb435be6d80df68840da6b2ee  libdrm-2.4.52.tar.gz
SHA1: 356719ddee5d24b02106824ff69774e1f540ac9f  libdrm-2.4.52.tar.gz
SHA256: 8430fdc2edf11bce8932b6dbbe1cd128056e36865b13c7633a3298d7c42e7d08  
libdrm-2.4.52.tar.gz
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.22 (GNU/Linux)

iQIcBAEBAgAGBQJS3atyAAoJEFtb2gcdScw4duYP/R+y23oK09C5NeCz3DTLyIQi
n7LHnZ37xDZ2A/g+FORQNyglPMPZ3Ey6M8NkpJ0NRS8tN8W90ezVVubwMEUF8doW
wtEw9ehSMXzhBu6R0Ervy1EjP7GygbmsWL6Pc+JXE7aNQ+l9Yi/7+zYZgb1KPYRv
znq8VEi6EC9kLIEBrTnE6x/WBHQA/fdvMXAeww+y5ru+7Inlc4yxtFS/k0euBJox
ytD1NbVLtPzafjgiD7XElPeiXchPoUYEZ5FffQv3HUo2OYKhydg13A7GeUyTRW5D
J4uPSnGoAEF+IDnYL37tzeDVMjFZX0JigwAGFVNltkvuTWVsFbPO31PEyu8JbibJ
mvKTsRdfKQzkVC9NEuE26e96M1VdTQsmbxApc9eNp5DaNxfsahq0bWF7vnzQ0Qhy
qtRkRvd9WfVszV9bg53wvIos3u6DIugZ+dqIeSizMRDx5LXVPYmffChN38BhREvK
elsdL9v0wgb0U17mS52IesR1CJl2NdnAREkaT9iDKeVfySmWUZGumdX75q12eEUo
I+9yH0/79mq+mQ0j0FrUZLSsrwIpxLYsJRcRwOEVLKwuppL8r3C2aTDvE8zNJptA
Izh5rxVXptCjfnLnzEo+V5az+RU8Ufp0MSj7HSiLxxg/Fd/dER7RjjyETUDlHJW5
JV65i5mwH4J6T85PRIEO
=FaHh
-END PGP SIGNATURE-


[Bug 73788] [Radeon HD 7770 GHz Edition] Cape Verde XT: DPM set state failed

2014-01-20 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=73788

--- Comment #4 from Alex Deucher  ---
Is this a regression?  Was dpm working previously at some point, if so when?

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/8d837238/attachment.html>


[Bug 73848] [Radeon] Blank screen after boot with kernel 3.12.x, xorg 1.15

2014-01-20 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=73848

--- Comment #3 from Alex Deucher  ---
(In reply to comment #0)
> With ASUS Radeon R9 270, just after I boot up and GDM is supposed to start,
> my screen goes blank and some GPU faults are reported in dmesg.
> 
> Upgrading to kernel 3.13 solves this issue.

Any chance you could bisect to see what the fix was?

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/05cbd3ae/attachment.html>


[Bug 73848] [Radeon] Blank screen after boot with kernel 3.12.x, xorg 1.15

2014-01-20 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=73848

--- Comment #4 from Marti Raudsepp  ---
(In reply to comment #3)
> Any chance you could bisect to see what the fix was?

Is that safe? I'm not thrilled at the thought of booting prerelease kernels on
my primary workstation. There's a chance of hitting filesystem/RAID/etc
corruption bugs, no?

Are there any liveUSB systems I could use instead of my own main installation?

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/7f662a22/attachment.html>


[pull] radeon drm-next-3.14

2014-01-20 Thread Alex Deucher
Hi Dave,

New tree with the INFO ioctl merge fixed up.  This also adds a couple
of additional minor fixes.

The following changes since commit cfd72a4c2089aa3938f37281a34d6eb3306d5fd8:

  Merge branch 'drm-intel-next' of 
git://people.freedesktop.org/~danvet/drm-intel into drm-next (2014-01-20 
10:21:54 +1000)

are available in the git repository at:


  git://people.freedesktop.org/~agd5f/linux drm-next-3.14

for you to fetch changes up to 5d029339bb8ce69aeb68280c3de67d3cea456146:

  drm/radeon: add UVD support for OLAND (2014-01-20 18:20:58 -0500)


Alex Deucher (21):
  Revert "drm/radeon: disable CIK CP semaphores for now"
  drm/radeon: consolidate cp hdp flushing code for CIK
  drm/radeon: consolidate sdma hdp flushing code for CIK
  drm/radeon/cik: use POLL_REG_MEM special op for sDMA HDP flush
  drm/radeon/cik: use WAIT_REG_MEM special op for CP HDP flush
  drm/radeon: disable dpm on BTC
  drm/radeon/cik: use hw defaults for TC_CFG registers
  drm/radeon: disable ss on DP for DCE3.x
  drm/radeon/dp: bump i2c-over-aux retries to 7
  drm/radeon/dp: use usleep_range rather than udelay
  drm/radeon/dp: sleep after powering up the display
  drm/radeon: add query to fetch the max engine clock (v2)
  drm/radeon: handle ss percentage divider properly
  drm/radeon: bail early from enable ss in certain cases
  drm/radeon: write gfx pg bases even when gfx pg is disabled
  drm/radeon: fix endian handling in radeon_atom_init_mc_reg_table
  drm/radeon/dpm: disable mclk switching on desktop RV770
  drm/radeon: fix surface sync in fence on cayman (v2)
  drm/radeon: set the full cache bit for fences on r7xx+
  drm/radeon: fix minor typos in si_dpm.c
  drm/radeon: add UVD support for OLAND

Christian K?nig (1):
  drm/radeon: don't power gate paused UVD streams

 drivers/gpu/drm/radeon/atombios_crtc.c   | 32 +++
 drivers/gpu/drm/radeon/atombios_dp.c | 18 +++---
 drivers/gpu/drm/radeon/cik.c | 95 
 drivers/gpu/drm/radeon/cik_sdma.c| 43 +++
 drivers/gpu/drm/radeon/ni.c  | 16 +++---
 drivers/gpu/drm/radeon/nid.h |  1 +
 drivers/gpu/drm/radeon/r600.c| 13 +++--
 drivers/gpu/drm/radeon/r600d.h   |  1 +
 drivers/gpu/drm/radeon/radeon_atombios.c | 19 +--
 drivers/gpu/drm/radeon/radeon_kms.c  |  7 +++
 drivers/gpu/drm/radeon/radeon_mode.h |  1 +
 drivers/gpu/drm/radeon/radeon_pm.c   | 10 +++-
 drivers/gpu/drm/radeon/radeon_uvd.c  |  3 +
 drivers/gpu/drm/radeon/rv770_dpm.c   | 20 ---
 drivers/gpu/drm/radeon/si.c  |  3 +
 drivers/gpu/drm/radeon/si_dpm.c  |  4 +-
 drivers/gpu/drm/radeon/uvd_v2_2.c|  1 +
 include/uapi/drm/radeon_drm.h|  2 +
 18 files changed, 178 insertions(+), 111 deletions(-)


[PATCH v3] ACPI / video: Add systems that should favor native backlight interface

2014-01-20 Thread Aaron Lu
Hi Igor,

On 01/18/2014 09:54 PM, Igor Gnatenko wrote:
> From: Aaron Lu 
> 
> Some system's ACPI video backlight control interface is broken and the
> native backlight control interface should be used by default. This patch
> sets the use_native_backlight parameter to true for those systems so
> that video backlight control interface will not be created. To be
> specific, the ThinkPad T430s/X230/X1 Carbon, Lenovo Yoga 13, Dell
> Inspiron 7520, Acer Aspire 5733Z and HP ProBook 4340s are added here,
> if they appear in some other DMI table before, they are removed from there.
> 
> Note that the user specified kernel cmdline option will always have the
> highest priority, i.e. if use_native_backlight=0 is specified and the
> system is in the DMI table, the video module will not skip registering
> backlight interface for it.
> 
> Thinkpad T430s:
> Reported-by: Theodore Tso 
> Reported-and-tested-by: Peter Weber 
> Reference: https://bugzilla.kernel.org/show_bug.cgi?id=51231
> Thinkpad X230:
> Reported-and-tested-by: Igor Gnatenko 
> Reference: https://bugzilla.kernel.org/show_bug.cgi?id=51231
> ThinkPad X1 Carbon:
> Reported-and-tested-by: Igor Gnatenko 
> Lenovo Yoga 13:
> Reported-by: Lennart Poettering 
> Reported-and-tested-by: Kevin Smith 
> Reference: https://bugzilla.kernel.org/show_bug.cgi?id=63811
> Dell Inspiron 7520:
> Reported-by: Rinat Ibragimov 
> Acer Aspire 5733Z:
> Reported-by: 
> Reference: https://bugzilla.kernel.org/show_bug.cgi?id=62941
> HP ProBook 4340s:
> Reported-and-tested-by: Vladimir Sherenkov 
> Reference: http://redmine.russianfedora.pro/issues/1258
> 
> Signed-off-by: Aaron Lu 
> Signed-off-by: Igor Gnatenko 

Thanks for updating this patch.

In the meantime, I plan to make some small modifications to this patch
in next revision:
1 remove the win8 OSI check, I've seen win7 laptops that also needs to
  have only the GPU interface left and checking win8 doesn't make much
  sense now;
2 add more entries for laptops that appeared in bugzilla recently.


[PATCH] fs: export simple_dname for drm drivers.

2014-01-20 Thread Al Viro
On Mon, Jan 20, 2014 at 10:54:44AM +1000, Dave Airlie wrote:
> David Herrmann's changes to use a pseudo filesystem for drm's shared
> inodes requires this be exported for drm to build as a module.
> 
> I'd like to merge this via the drm tree, so please ack.

Having looked through these patches...  The problem is that you'll get
your module impossible to unload.  Sane solution:

static struct vfsmount *drm_mnt;
static int count;
struct inode *drm_alloc_inode(void)
{
struct inode *res;
int err = simple_pin_fs(&drm_fs, &drm_mnt, &count);
if (err)
return ERR_PTR(err);
res = alloc_anon_inode(drm_mnt->mnt_sb);
if (IS_ERR(res))
simple_release_fs(&drm_mnt, &count);
return res;
}

/* call from drm_free_dev() */
void drm_put_anon_inode(struct drm_device *dev)
{
iput(dev->anon_inode);
simple_release_fs(&drm_mnt, &count);
}

and lose those kern_mount/kern_umount.


[PATCH v3 16/24] drm/i2c: tda998x: add DT documentation

2014-01-20 Thread Jean-Francois Moine
On Sun, 19 Jan 2014 20:06:09 -0800
Olof Johansson  wrote:

> Hi,
> 
> On Sun, Jan 19, 2014 at 10:58 AM, Jean-Francois Moine  
> wrote:
> > Signed-off-by: Jean-Francois Moine 
> > ---
> >  .../devicetree/bindings/drm/i2c/tda998x.txt| 24 
> > ++
> >  1 file changed, 24 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/drm/i2c/tda998x.txt
> 
> Please cc bindings for review to devicetree at vger.kernel.org (cc:d here now)
> 
> > diff --git a/Documentation/devicetree/bindings/drm/i2c/tda998x.txt 
> > b/Documentation/devicetree/bindings/drm/i2c/tda998x.txt
> > new file mode 100644
> > index 000..72da71d
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/drm/i2c/tda998x.txt
> > @@ -0,0 +1,24 @@
> > +Device-Tree bindings for the NXP TDA998x HDMI transmitter
> > +
> > +Required properties;
> > +  - compatible: must be "nxp,tda998x"
> > +
> > +Optional properties:
> > +  - interrupts: interrupt number for HDMI exchanges - default: by polling
> 
> What are HDMI exchanges, and how do they differ from other interrupts?

The used HDMI interrupt events are screen plug/unplug and EDID read.
There are also CEC read/write which are not yet implemented in the
tda998x driver.

There is no difference from normal interrupts, except that the events
may be get by polling, so, the interrupt number is optional.

> > +
> > +  - pinctrl-0: pin control group to be used for this controller (IRQ).
> > +
> > +  - pinctrl-names: must contain a "default" entry.
> > +
> > +  - video-ports: 24 bits value - default: <0x230145>
> 
> What is this?

The video-ports value defines how the video controller is connected to
the tda998x chip. Each 4 bits value tells from which input pins comes
the video data and if there is any bit inversion. Each byte of this
video-ports is used to load the VIP_CNTRL_{0,1,2} registers. These ones
are described in the TDA9983B documentation which is the closer
available document about the TDA998x family.

The default value is the one defined for TI boards.
A known other value is <0x234501> which is used for Russell's Armada
DRM driver in the Cubox (Marvell A510), but this driver has no DT
support.

-- 
Ken ar c'henta? | ** Breizh ha Linux atav! **
Jef |   http://moinejf.free.fr/


[GIT PULL] omapdrm patches for 3.14

2014-01-20 Thread Tomi Valkeinen
Dave,

Ping.

 Tomi

On 2014-01-09 15:31, Tomi Valkeinen wrote:
> Hi Dave,
> 
> Here are some omapdrm changes for 3.14 which have been around the lists
> for some time now.
> 
>  Tomi
> 
> The following changes since commit 802eee95bde72fd0cd0f3a5b2098375a487d1eda:
> 
>   Linux 3.13-rc6 (2013-12-29 16:01:33 -0800)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux.git 
> tags/omapdrm-3.14
> 
> for you to fetch changes up to 3d232346c5656b300028b6c920ddc10b229b5264:
> 
>   drm/omap: Enable DT support for DMM (2014-01-09 15:25:35 +0200)
> 
> 
> omapdrm patches for 3.14
> 
> 
> Archit Taneja (5):
>   drm/omap: fix: Defer probe if an omapdss device requests for it at 
> connect
>   drm/omap: fix: disconnect devices when omapdrm module is removed
>   drm/omap: fix: disable encoder before destroying it
>   drm/omap: fix: change dev_unload order
>   drm/omap: Enable DT support for DMM
> 
> Tomi Valkeinen (1):
>   drm/omap: fix (un)registering irqs inside an irq handler
> 
>  drivers/gpu/drm/omapdrm/omap_crtc.c  | 11 +--
>  drivers/gpu/drm/omapdrm/omap_dmm_tiler.c |  9 ++
>  drivers/gpu/drm/omapdrm/omap_drv.c   | 83 
> 
>  drivers/gpu/drm/omapdrm/omap_drv.h   |  3 ++
>  drivers/gpu/drm/omapdrm/omap_encoder.c   |  3 ++
>  drivers/gpu/drm/omapdrm/omap_irq.c   | 22 +++---
>  drivers/video/omap2/dss/dispc.c  |  1 -
>  7 files changed, 99 insertions(+), 33 deletions(-)
> 


-- next part --
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 901 bytes
Desc: OpenPGP digital signature
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/bfe2c9a6/attachment-0001.pgp>


Sharing Framebuffers between Client / Server

2014-01-20 Thread Rian Quinn
Thanks for reply.?


Actually in my case, when I say client/server, I mean replacement for X, so 
XShmPutImage won?t work. What we are trying to do is actually similar to 
Wayland, and need to provide each client with a scannot buffer for direct 
rendering, while at the same time, providing a means for the server to 
read/write to all of the scannot buffers.?


We have looked into EGL (EGL_DRM_BUFFER_USE_SCANOUT_MESA), but I have yet to 
code this up (will likely work on that this week), to see if it will work for 
us.


We started with an example that we found, that was coded wrong in many ways. 
The biggest issue though, was that the buffer allocated using libkms could not 
be shared. We also looked into drmAddBuf / drmMapBuf, from what I could tell, 
nobody was using them. GEM seems to be the option of choice but vmwgfx doesn?t 
support that yet.


Thanks,
- Rian




Sent with Unibox



> On Jan 20, 2014, at 8:10 AM, Rob Clark  wrote:
> 
> 
> On Fri, Jan 17, 2014 at 6:43 AM, Rian Quinn  wrote:
> 
> 
>> I am working on a client/server program, where the server creates (and has
>> access to a framebuffer), and then needs to share this framebuffer with a
>> client program so that this client program can draw into the framebuffer
>> directly (i.e. no memcpy).
>> 
>> 
>> I am trying to figureout what the ?cleanest? way to do this is, such that I
>> can support Intel?s proprietary driver, the open source AMD and NVidia
>> drivers, and the VMWare driver (I have no need for the proprietary
>> ADM/NVidia drivers right now). From what I can tell, GEM is one way to do
>> this. The problem is VMWare doesn?t support GEM.
>> 
>> 
>> I tried (knowing it would not work), using KMS to create the framebuffer,
>> and then sending the information needed to mmap to the client. This of
>> course failed because the framebuffer is marked non-sharable in the kernel.
>> 
>> 
>> 
> 
> Dmabuf (or just plain old egl/glx which uses dri2 under the hood)
> would probably be what I suggest *except* you mention mmap. If you
> are doing software rendering, I guess you probably just want to suck
> it up and do XShmPutImage.
> 
> 
> From what I understand, any sort of mmap access to vmwgfx buffers is
> tricky, because they end up being backed by normal GL textures on the
> host OS side (IIUC). So the single copy upload path in XShmPutImage
> might be close to the ideal path for sw rendered content.
> 
> 
>> To be clear, I am fine having to manually write ioctls for each driver, if
>> thats what it takes. But at this point, I am at a loss on the best method to
>> share scannot buffers (or at least in a way that doesn?t make someone cringe
>> when they see my code).
>> 
>> 
>> 
> 
> Some sort of prepare/finish access ioctls for dmabuf to bracket mmap
> access are, I think, what vmwgfx is missing in order to implement
> dmabuf mmap. But no one so far has needed them badly enough to come
> up with something and send patches.
> 
> 
> IIUC, for vmwgfx there would still be a copy back to original texture
> on the host on finish-access, so it might not amount to anything much
> different from XShmPutImage. Probably better to ask some vmwgfx folks
> to clarify, since the virtual driver has some unique constraints which
> I may not be adequately representing.
> 
> 
> BR,
> -R
> 
> 
>> Thanks,
>> - Rian
>> 
>> 
>> ___
>> dri-devel mailing list
>> dri-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>> 
>> 
>> 
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/53a1370a/attachment.html>


[PATCH v3] ACPI / video: Add systems that should favor native backlight interface

2014-01-20 Thread Matthew Garrett
On Mon, 2014-01-20 at 16:12 +0800, Aaron Lu wrote:

> 1 remove the win8 OSI check, I've seen win7 laptops that also needs to
>   have only the GPU interface left and checking win8 doesn't make much
>   sense now;

Are we sure that those aren't simply some other bug?

-- 
Matthew Garrett 


Sharing Framebuffers between Client / Server

2014-01-20 Thread Rian Quinn
 
> 
> If both the server and client would be 100% software one could create
> and share "dumb" kms buffers using DRM prime. If there's something in
> the vmwgfx driver that blocks sharing in this way, we could ease that
> restriction. But these buffers could not be rendered into.
> 
> 
> GEM is, BTW, purely driver-private.
> 
> 
> As you might see, the big restriction here is that there is no simple
> generic way to mmap() accelerated shared buffers from a lean client.
> This is intentional. For vmwgfx it's because of coherency issues that
> would make such an implementation inefficient. For other drivers I can
> imagine there are tiling- and caching issues.
> 
> 
> /Thomas
> 
> 
>> 
>> 
>>> Thanks,
>>> - Rian
>>> 
>>> 
>>> ___
>>> dri-devel mailing list
>>> dri-devel at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>>> 
>>> 
>>> ___
>> dri-devel mailing list
>> dri-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>> 
>> 
>> 
> 
> 
> 
> 
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140120/be22e56d/attachment-0001.html>