[Bug 68213] New: TURKS [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset the VCPU!!!

2013-08-17 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=68213

  Priority: medium
Bug ID: 68213
  Assignee: dri-devel@lists.freedesktop.org
   Summary: TURKS [drm:r600_uvd_init] *ERROR* UVD not responding,
trying to reset the VCPU!!!
  Severity: normal
Classification: Unclassified
OS: All
  Reporter: xodd...@gmail.com
  Hardware: x86-64 (AMD64)
Status: NEW
   Version: XOrg CVS
 Component: DRM/Radeon
   Product: DRI

Created attachment 84167
  --> https://bugs.freedesktop.org/attachment.cgi?id=84167&action=edit
dmesg radeon kernel 3.10.7

I have tested to use UVD on my discrete radeon 6570.

My PC run with a Ubuntu 13.04, I have build a 3.10.7 kernel and installed the
radeon uvd firmeware.
But UVD don't work, and when I watch the dmesg I have this error :
[drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset the VCPU!!!

The radeon card is plugged in "pci express 1.0" on an 'old'
motherboard(GA-K8N-SLI)

Thank you.

-- 
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: Eliminate dev->vmalist

2013-08-17 Thread David Herrmann
Hi

On Fri, Aug 16, 2013 at 1:24 PM, Chris Wilson  wrote:
> The primary purpose of this list is for pretty printing the maps through
> debugfs/vma - per process information can be found in /proc/*/map et al.
> However, the list manipulation eats processor cycles resulting in a near
> indefinite (I got bored) stall for a leaky i-g-t/gem_concurrent_blit.
>
> There is one true user of the vmalist though. drm_vm_shm_close() uses
> the list to count the number of drm_local_map references. For this, we
> switch to using a counter inside drm_local_map.
>
> This patch kills drm_vm_open_locked and drm_vm_close_locked, and
> redirects the one user outside of the core (exoynos) to use the now
> semantically equivalent drm_gem_vm_open.

I don't like the drm_vma_open/close() function names. We currently use
the "drm_vma_*" prefix in drm_vma_manager.c. On the other hand, this
file exclusively uses "drm_vma_node_*" and "drm_vma_offset_*"
prefixes, so maybe we're fine here. Don't know..

I tried removing drm_vma_open/close entirely, but it seems not all
drivers set vma->vma_file->private_data to the drm_device, hmm. So the
patch looks fine:
Reviewed-by: David Herrmann 

Regards
David

> Signed-off-by: Chris Wilson 
> Cc: Dave Airlie 
> Cc: Rob Clark 
> Cc: Inki Dae 
> ---
>  drivers/gpu/drm/drm_bufs.c  |  1 +
>  drivers/gpu/drm/drm_drv.c   |  8 -
>  drivers/gpu/drm/drm_gem.c   | 16 +++--
>  drivers/gpu/drm/drm_info.c  | 38 -
>  drivers/gpu/drm/drm_stub.c  |  1 -
>  drivers/gpu/drm/drm_vm.c| 58 
> +++--
>  drivers/gpu/drm/exynos/exynos_drm_gem.c |  9 +
>  include/drm/drmP.h  |  7 ++--
>  8 files changed, 20 insertions(+), 118 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_bufs.c b/drivers/gpu/drm/drm_bufs.c
> index bef4abf..b0aa2eb 100644
> --- a/drivers/gpu/drm/drm_bufs.c
> +++ b/drivers/gpu/drm/drm_bufs.c
> @@ -152,6 +152,7 @@ static int drm_addmap_core(struct drm_device * dev, 
> resource_size_t offset,
> map->size = size;
> map->flags = flags;
> map->type = type;
> +   map->count = 0;
>
> /* Only allow shared memory to be removable since we only keep enough
>  * book keeping information about shared memory to allow for removal
> diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
> index 799..7ec9959 100644
> --- a/drivers/gpu/drm/drm_drv.c
> +++ b/drivers/gpu/drm/drm_drv.c
> @@ -182,8 +182,6 @@ static const struct drm_ioctl_desc drm_ioctls[] = {
>   */
>  int drm_lastclose(struct drm_device * dev)
>  {
> -   struct drm_vma_entry *vma, *vma_temp;
> -
> DRM_DEBUG("\n");
>
> if (dev->driver->lastclose)
> @@ -203,12 +201,6 @@ int drm_lastclose(struct drm_device * dev)
> dev->sg = NULL;
> }
>
> -   /* Clear vma list (only built for debugging) */
> -   list_for_each_entry_safe(vma, vma_temp, &dev->vmalist, head) {
> -   list_del(&vma->head);
> -   kfree(vma);
> -   }
> -
> if (drm_core_check_feature(dev, DRIVER_HAVE_DMA) &&
> !drm_core_check_feature(dev, DRIVER_MODESET))
> drm_dma_takedown(dev);
> diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
> index 9ab038c..84a5834 100644
> --- a/drivers/gpu/drm/drm_gem.c
> +++ b/drivers/gpu/drm/drm_gem.c
> @@ -573,22 +573,16 @@ void drm_gem_vm_open(struct vm_area_struct *vma)
> struct drm_gem_object *obj = vma->vm_private_data;
>
> drm_gem_object_reference(obj);
> -
> -   mutex_lock(&obj->dev->struct_mutex);
> -   drm_vm_open_locked(obj->dev, vma);
> -   mutex_unlock(&obj->dev->struct_mutex);
> +   drm_vma_open(obj->dev, vma);
>  }
>  EXPORT_SYMBOL(drm_gem_vm_open);
>
>  void drm_gem_vm_close(struct vm_area_struct *vma)
>  {
> struct drm_gem_object *obj = vma->vm_private_data;
> -   struct drm_device *dev = obj->dev;
>
> -   mutex_lock(&dev->struct_mutex);
> -   drm_vm_close_locked(obj->dev, vma);
> -   drm_gem_object_unreference(obj);
> -   mutex_unlock(&dev->struct_mutex);
> +   drm_vma_close(obj->dev, vma);
> +   drm_gem_object_unreference_unlocked(obj);
>  }
>  EXPORT_SYMBOL(drm_gem_vm_close);
>
> @@ -639,9 +633,7 @@ int drm_gem_mmap_obj(struct drm_gem_object *obj, unsigned 
> long obj_size,
>  * (which should happen whether the vma was created by this call, or
>  * by a vm_open due to mremap or partial unmap or whatever).
>  */
> -   drm_gem_object_reference(obj);
> -
> -   drm_vm_open_locked(dev, vma);
> +   drm_gem_vm_open(vma);
> return 0;
>  }
>  EXPORT_SYMBOL(drm_gem_mmap_obj);
> diff --git a/drivers/gpu/drm/drm_info.c b/drivers/gpu/drm/drm_info.c
> index d4b20ce..6ea817c 100644
> --- a/drivers/gpu/drm/drm_info.c
> +++ b/drivers/gpu/drm/drm_info.c
> @@ -228,49 +228,11 @@ int drm_vma_info(struct seq_file *m, void *da

[Bug 68213] TURKS [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset the VCPU!!!

2013-08-17 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=68213

--- Comment #1 from Alex Deucher  ---
Make sure you update to the latest rlc firmware.  This is required for UVD
support.  Also make sure all the necessary firmware is in your initrd if you
are using one or if you are compiling the driver into the kernel, you must also
compile the firmware into the kernel.

-- 
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 66888] [radeonsi] Need support GL_EXT_framebuffer_multisample

2013-08-17 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=66888

Laurent carlier  changed:

   What|Removed |Added

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

--- Comment #2 from Laurent carlier  ---
Should be fixed since 21d9a1b5ef51ce449e9a82641d0d605c5448b41c
(You need at least LLVM-3.4svn)

-- 
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 68223] Evergreen load module with device switched off: *ERROR* radeon: ring 0 test failed

2013-08-17 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=68223

stefan.demhar...@gmx.net changed:

   What|Removed |Added

Summary|*ERROR* radeon: ring 0 test |Evergreen load module with
   |failed  |device switched off:
   ||*ERROR* radeon: ring 0 test
   ||failed

--- Comment #1 from stefan.demhar...@gmx.net ---
I've got a muxed system with intel+radeon graphics card.

If I switch off the device, unload the radeon module and reload it I get the
following errors and can't use the device until I restart the system:

[  108.234152] [drm:r600_ring_test] *ERROR* radeon: ring 0 test failed
(scratch(0x8504)=0x)
[  108.234199] radeon :02:00.0: disabling GPU acceleration
[  113.249241] [drm:atom_op_jump] *ERROR* atombios stuck in loop for more than
5secs aborting
[  113.249286] [drm:atom_execute_table_locked] *ERROR* atombios stuck executing
E192 (len 2328, WS 4, PS 4) @ 0xE7E8
... snip ...
[  141.216044] BUG: soft lockup - CPU#1 stuck for 22s! [modprobe:4068]
[  143.411205] [drm:atom_op_jump] *ERROR* atombios stuck in loop for more than
5secs aborting
[  143.411287] [drm:atom_execute_table_locked] *ERROR* atombios stuck executing
CC36 (len 62, WS 0, PS 0) @ 0xCC52

Steps to reproduce:

In /sys/kernel/debug/vgaswitcheroo:
echo OFF > switch
rmmod radeon
modprobe radeon

Regards
Stefan

-- 
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 68224] New: [radeonsi] Serious Sam3 is segfaulting (LLVM assert)

2013-08-17 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=68224

  Priority: medium
Bug ID: 68224
  Assignee: dri-devel@lists.freedesktop.org
   Summary: [radeonsi] Serious Sam3 is segfaulting (LLVM assert)
  Severity: blocker
Classification: Unclassified
OS: Linux (All)
  Reporter: lordhea...@gmail.com
  Hardware: x86-64 (AMD64)
Status: NEW
   Version: git
 Component: Drivers/Gallium/radeonsi
   Product: Mesa

Created attachment 84175
  --> https://bugs.freedesktop.org/attachment.cgi?id=84175&action=edit
shader dump from Serious Sam 3  with RADEON_DUMP_SHADERS=1

* mesa:
  OpenGL renderer string: Gallium 0.4 on AMD PITCAIRN
  OpenGL version string: 2.1 Mesa 9.3.0-devel (git-703a2f4)
* llvm-3.4svn r188604

The game "segfault" just before the logo shows up:

Starting program: /home/lordh/.local/share/Steam/SteamApps/common/Serious Sam
3/Bin/Sam3.orig 
warning: Could not load shared library symbols for linux-gate.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
cat: /etc/debian_version: Aucun fichier ou dossier de ce type
Setting breakpad minidump AppID = 41070
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561197992653503 [API loaded no]
[New Thread 0xf5914b40 (LWP 6689)]
[New Thread 0xf14acb40 (LWP 6693)]
AL lib: pulseaudio.c:612: Context did not connect: Access denied
[New Thread 0xeff0ab40 (LWP 6698)]
[Thread 0xeff0ab40 (LWP 6698) exited]
AL lib: pulseaudio.c:612: Context did not connect: Access denied
[New Thread 0xeff0ab40 (LWP 6699)]
[Thread 0xeff0ab40 (LWP 6699) exited]
AL lib: pulseaudio.c:612: Context did not connect: Access denied
[New Thread 0xeff0ab40 (LWP 6700)]
[New Thread 0xef0e9b40 (LWP 6701)]
[New Thread 0xee832b40 (LWP 6702)]
[Thread 0xee832b40 (LWP 6702) exited]
Installing breakpad exception handler for
appid(gameoverlayui)/version(20130816170723_client)
Installing breakpad exception handler for
appid(gameoverlayui)/version(1.0_client)
Installing breakpad exception handler for
appid(gameoverlayui)/version(1.0_client)
Installing breakpad exception handler for
appid(gameoverlayui)/version(1.0_client)
[0817/170723:WARNING:proxy_service.cc(958)] PAC support disabled because there
is no system implementation
Sam3.orig: AMDGPUInstrInfo.cpp:109: virtual void
llvm::AMDGPUInstrInfo::storeRegToStackSlot(llvm::MachineBasicBlock&,
llvm::MachineBasicBlock::iterator, unsigned int, bool, int, const
llvm::TargetRegisterClass*, const llvm::TargetRegisterInfo*) const: Assertion
`!"Not Implemented"' failed.

* gdb backstrace:

#0  0xf7fdb425 in __kernel_vsyscall ()
#1  0xf7d6f7e6 in raise () from /usr/lib32/libc.so.6
#2  0xf7d70f73 in abort () from /usr/lib32/libc.so.6
#3  0xf7d687d7 in __assert_fail_base () from /usr/lib32/libc.so.6
#4  0xf7d68887 in __assert_fail () from /usr/lib32/libc.so.6
#5  0xf17a86a9 in
llvm::AMDGPUInstrInfo::storeRegToStackSlot(llvm::MachineBasicBlock&,
llvm::MachineBasicBlock::bundle_iterator >, unsigned int, bool, int,
llvm::TargetRegisterClass const*, llvm::TargetRegisterInfo const*) const ()
from /usr/lib32/libLLVM-3.4svn.so
#6  0xf1d50389 in ?? () from /usr/lib32/libLLVM-3.4svn.so
#7  0xf1d52773 in ?? () from /usr/lib32/libLLVM-3.4svn.so
#8  0xf1e6aafe in ?? () from /usr/lib32/libLLVM-3.4svn.so
#9  0xf1e595ad in llvm::RegAllocBase::allocatePhysRegs() () from
/usr/lib32/libLLVM-3.4svn.so
#10 0xf1e6e099 in ?? () from /usr/lib32/libLLVM-3.4svn.so
#11 0xf1dd2d52 in llvm::MachineFunctionPass::runOnFunction(llvm::Function&) ()
from /usr/lib32/libLLVM-3.4svn.so
#12 0xf1a0973f in llvm::FPPassManager::runOnFunction(llvm::Function&) () from
/usr/lib32/libLLVM-3.4svn.so
#13 0xf1a09b68 in llvm::FPPassManager::runOnModule(llvm::Module&) () from
/usr/lib32/libLLVM-3.4svn.so
#14 0xf1a09e1c in llvm::MPPassManager::runOnModule(llvm::Module&) () from
/usr/lib32/libLLVM-3.4svn.so
#15 0xf1a0a05b in llvm::PassManagerImpl::run(llvm::Module&) () from
/usr/lib32/libLLVM-3.4svn.so
#16 0xf1a0a166 in llvm::PassManager::run(llvm::Module&) () from
/usr/lib32/libLLVM-3.4svn.so
#17 0xf1f42937 in ?? () from /usr/lib32/libLLVM-3.4svn.so
#18 0xf1f42cc0 in LLVMTargetMachineEmitToMemoryBuffer () from
/usr/lib32/libLLVM-3.4svn.so
#19 0xf36c9b47 in radeon_llvm_compile (M=M@entry=0x14da15b8,
binary=binary@entry=0x5ed4, gpu_family=0xf38653d2 "pitcairn",
dump=dump@entry=0) at radeon_llvm_emit.c:124
#20 0xf36bbd82 in si_compile_llvm (rctx=rctx@entry=0x9845218,
shader=shader@entry=0x14da88f8, mod=0x14da15b8) at radeonsi_shader.c:1478
#21 0xf36bc5cd in si_pipe_shader_create (ctx=ctx@entry=0x9845218,
shader=shader@entry=0x14da88f8) at radeonsi_shader.c:1620
#22 0xf36c5576 in si_shader_select (ctx=ctx@entry=0x9845218,
sel=sel@entry=0x14e27610, dirty=dirty@entry=0x0) at si_state.c:2393
#23 0xf36c58bb in si_create_shader_state (ctx=0x9845218, state=,
pipe_shader_type=1) at si_state.c:2435
#24 0xf34f93

[Bug 66888] [radeonsi] Need support GL_EXT_framebuffer_multisample

2013-08-17 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=66888

--- Comment #3 from Vladimir Ysikov  ---
On last llvm-svn and mesa git, glxgears show extension
GL_EXT_framebuffer_multisample. But unigine-tropics show black screen and have
error in console:

GLShader::loadFragment(): error in
"core/shaders/render/fragment_occlusion_blur.shader" file
defines:
UNKNOWN,QUALITY_LOW,QUALITY_MEDIUM,QUALITY_HIGH,MULTISAMPLE_0,USE_INSTANCING,USE_TEXTURE_ARRAY,USE_DEFERRED,USE_OCCLUSION,USE_REFLECTION,OPENGL,USE_PSEUDO_INSTANCING,USE_PSEUDO_TRANSFORM,USE_ARB_TEXTURE_MULTISAMPLE,HAS_ARB_DRAW_INSTANCED
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'

unigine-sanctuary just crash with single error:

LLVM ERROR: ran out of registers during register allocation

Do i mast create 2 bug report for each case?

-- 
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 66974] [radeonsi] rendering is broken in L4D2

2013-08-17 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=66974

--- Comment #6 from Vladimir Ysikov  ---
Created attachment 84177
  --> https://bugs.freedesktop.org/attachment.cgi?id=84177&action=edit
grafical glitch in HL2 ep2

This type  of rendering errors is gone, but still not clean in HL2 ep2, HL2
Lost Coast, Portal, left 4 Death 2. Dota 2 look like a normal.

-- 
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 66974] [radeonsi] rendering is broken in L4D2

2013-08-17 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=66974

--- Comment #7 from Vladimir Ysikov  ---
Created attachment 84178
  --> https://bugs.freedesktop.org/attachment.cgi?id=84178&action=edit
grafical glitch in Portal

Do i mast create new bug report?

-- 
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 66974] [radeonsi] rendering is broken in L4D2

2013-08-17 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=66974

--- Comment #8 from Laurent carlier  ---
(In reply to comment #7)
> Created attachment 84178 [details]
> grafical glitch in Portal
> 
> Do i mast create new bug report?

https://bugs.freedesktop.org/show_bug.cgi?id=68162

-- 
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 66974] [radeonsi] rendering is broken in L4D2

2013-08-17 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=66974

--- Comment #9 from Vladimir Ysikov  ---
I apologize for my carelessness.

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


[PATCHv3 0/4] drm/msm: A DRM/KMS driver for snapdragon SoCs

2013-08-17 Thread Rob Clark
This patchset can also be found here, for easier browsing:

  http://cgit.freedesktop.org/~robclark/linux/log/?h=drm-next
  git://people.freedesktop.org/~robclark/linux drm-next

In userspace, I've a libdrm branch with libdrm_freedreno updated to
work on top of either this driver or the downstream android kgsl+fbdev
drivers:

  https://github.com/freedreno/libdrm/commits/msm-drm

And the DDX has been updated to either use kms with this driver, or
the downstream android drivers.  Note that page flipping requires kms:

  https://github.com/freedreno/xf86-video-freedreno/commits/msm-drm

And finally mesa/gallium with a few minor tweaks, mostly updates to
the loader to load on either "msm" or legacy/downstream "kgsl":

  https://github.com/freedreno/mesa/commits/msm-drm

I have started adding DSI panel support, although there are still some
things to debug, and in general it isn't ready to merge yet.  But if
you are curious, it can be found here:

  https://github.com/freedreno/kernel-msm/commits/mako-kernel-drm

History:
v1: original
v2: only changed patch is a3xx gpu (fix timespec vs ioctl issue,
drop setparam ioctl for now).  I've left out the two debugfs
patches, until I have a chance to attempt to make drm core
move minor creation (or at least debugfs) until after load.
I've also added a small note about why cmdstream validation
is not required in the commit-msg of the a3xx gpu patch.
v3: fix the unlock/unpin order as pointed out by Maarten Lankhorst,
and a few little tweaks to prepare things better for DSI
support.

NOTES from the previous RFCs:

In the current snapdragon SoC's, we have (at least) 3 different
display controller blocks at play:
 + MDP3 - ?? seems to be what is on geeksphone peak device
 + MDP4 - S3 (APQ8060, touchpad), S4-pro (APQ8064, nexus4 & ifc6410)
 + MDSS - snapdragon 800

(I don't have a completely clear picture on which display controller
maps to which part #)

Plus a handful of blocks around them for HDMI/DSI/etc output.

And on gpu side of things:
 + zero, one, or two 2d cores (z180)
 + and either a2xx or a3xx 3d core.

But, HDMI/DSI/etc blocks seem like they can be shared across multiple
display controller blocks.  And I for sure don't want to have to deal
with N different kms devices from xf86-video-freedreno.  Plus, it
seems like we can do some clever tricks like use GPU to trigger
pageflip after rendering completes (ie. have the kms/crtc code build
up gpu cmdstream to update scanout and write FLUSH register after).

So, the approach is one drm driver, with some modularity.  Different
'struct msm_kms' implementations, depending on display controller.
And one or more 'struct msm_gpu' for the various different gpu sub-
modules.

The kms module provides the plane, crtc, and encoder objects, and
loads whatever connectors are appropriate.

For MDP4, the mapping is:

  plane   -> PIPE{RGBn,VGn}  \
  crtc-> OVLP{n} + DMA{P,S,E} (??)   |-> MDP "device"
  encoder -> DTV/LCDC/DSI (within MDP4)  /
  connector -> HDMI/DSI/etc  --> other device(s)

Since the irq's that drm core mostly cares about are vblank/framedone,
we'll let msm_mdp4_kms provide the irq install/uninstall/etc functions
and treat the MDP4 block's irq as "the" irq.  Even though the connectors
may have their own irqs which they install themselves.  For this reason
the display controller is the "master" device.

Each connector probably ends up being a separate device, just for the
logistics of finding/mapping io region, irq, etc.  Idealy we would
have a better way than just stashing the platform device in a global
(ie. like DT super-node.. but I don't have any snapdragon hw yet that
is using DT).

Note that so far I've not been able to get any docs on the hw, and it
seems that access to such docs would prevent me from working on the
freedreno gallium driver.  So there may be some mistakes in register
names (I had to invent a few, since no sufficient hint was given in
the downstream android fbdev driver), bitfield sizes, etc.  My current
state of understanding the registers is given in the envytools rnndb
files at:

  https://github.com/freedreno/envytools/tree/master/rnndb

These files are used both for a parser tool (in the same tree) to
parse logged register reads/writes (both from downstream android fbdev
driver, and this driver with register logging enabled), as well as to
generate the register level headers.

Rob Clark (4):
  drm/msm: add register definitions
  drm/msm: basic KMS driver for snapdragon
  drm/msm: add register definitions for gpu
  drm/msm: add a3xx gpu support

 drivers/gpu/drm/Kconfig|2 +
 drivers/gpu/drm/Makefile   |1 +
 drivers/gpu/drm/msm/Kconfig|   34 +
 drivers/gpu/drm/msm/Makefile   |   30 +
 drivers/gpu/drm/msm/NOTES  |   69 +
 drivers/gpu/drm/msm/adreno/a2xx.xml.h  | 1438 
 drivers/gpu/drm/msm/adreno/a3xx.xml.

[Bug 68125] Radeon HD6950: Failed to parse relocation -35 (Linux 3.11-rc regression)

2013-08-17 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=68125

Andreas Bombe  changed:

   What|Removed |Added

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

--- Comment #4 from Andreas Bombe  ---
While bisecting I noticed that CONFIG_DEBUG_WW_MUTEX_SLOWPATH was introduced
and that I had it enabled. Since that potentially introduces additional
-EDEADLK I suspected that check.

Turns out that check was buggy, the fix 85f489612 "mutex: Fix w/w mutex
deadlock injection" was merged since I posted this bug and the commit even
mentions explicitly that the bug caused spurious GPU lockups on radeon. The
problem appears to be gone with this fix.

-- 
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] New: Display freezes after login with kernel 3.11.0-rc5 on Cayman with dpm=1

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

  Priority: medium
Bug ID: 68235
  Assignee: dri-devel@lists.freedesktop.org
   Summary: Display freezes after login with kernel 3.11.0-rc5 on
Cayman with dpm=1
  Severity: normal
Classification: Unclassified
OS: All
  Reporter: alexandre.f.dem...@gmail.com
  Hardware: Other
Status: NEW
   Version: XOrg CVS
 Component: DRM/Radeon
   Product: DRI

I was testing kernel 3.11.0-rc5 and ended up with my display freezing after
login (2 tests: one this morning, one tonight). It always freezes when dpm=1,
but it doesn't if disabled.

The result on my screen looks like screenshot posted in bug 66963
(https://bugs.freedesktop.org/attachment.cgi?id=83470)

So I connected through ssh and I got some error in dmesg just after display
froze. I'll be attaching my errors.log file in a moment. You'll see 

VM is also enabled. I could try without it.

Also, it doesn't freezes with commit 69e0b57, I've been using and testing it
regularly for the last week and half. So I could bisect if we don't have enough
info.

-- 
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-08-17 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=68235

--- Comment #1 from Alexandre Demers  ---
Created attachment 84186
  --> https://bugs.freedesktop.org/attachment.cgi?id=84186&action=edit
errors when freeze happens

Errors logged from my two last try at booting and logging with kernel
3.11.0-rc5 when dpm=1 with RADEON_va=1

-- 
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 68213] New: TURKS [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset the VCPU!!!

2013-08-17 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=68213

  Priority: medium
Bug ID: 68213
  Assignee: dri-devel at lists.freedesktop.org
   Summary: TURKS [drm:r600_uvd_init] *ERROR* UVD not responding,
trying to reset the VCPU!!!
  Severity: normal
Classification: Unclassified
OS: All
  Reporter: xoddark at gmail.com
  Hardware: x86-64 (AMD64)
Status: NEW
   Version: XOrg CVS
 Component: DRM/Radeon
   Product: DRI

Created attachment 84167
  --> https://bugs.freedesktop.org/attachment.cgi?id=84167&action=edit
dmesg radeon kernel 3.10.7

I have tested to use UVD on my discrete radeon 6570.

My PC run with a Ubuntu 13.04, I have build a 3.10.7 kernel and installed the
radeon uvd firmeware.
But UVD don't work, and when I watch the dmesg I have this error :
[drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset the VCPU!!!

The radeon card is plugged in "pci express 1.0" on an 'old'
motherboard(GA-K8N-SLI)

Thank you.

-- 
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/20130817/80da230f/attachment-0001.html>


[PATCH] drm: Eliminate dev->vmalist

2013-08-17 Thread David Herrmann
Hi

On Fri, Aug 16, 2013 at 1:24 PM, Chris Wilson  
wrote:
> The primary purpose of this list is for pretty printing the maps through
> debugfs/vma - per process information can be found in /proc/*/map et al.
> However, the list manipulation eats processor cycles resulting in a near
> indefinite (I got bored) stall for a leaky i-g-t/gem_concurrent_blit.
>
> There is one true user of the vmalist though. drm_vm_shm_close() uses
> the list to count the number of drm_local_map references. For this, we
> switch to using a counter inside drm_local_map.
>
> This patch kills drm_vm_open_locked and drm_vm_close_locked, and
> redirects the one user outside of the core (exoynos) to use the now
> semantically equivalent drm_gem_vm_open.

I don't like the drm_vma_open/close() function names. We currently use
the "drm_vma_*" prefix in drm_vma_manager.c. On the other hand, this
file exclusively uses "drm_vma_node_*" and "drm_vma_offset_*"
prefixes, so maybe we're fine here. Don't know..

I tried removing drm_vma_open/close entirely, but it seems not all
drivers set vma->vma_file->private_data to the drm_device, hmm. So the
patch looks fine:
Reviewed-by: David Herrmann 

Regards
David

> Signed-off-by: Chris Wilson 
> Cc: Dave Airlie 
> Cc: Rob Clark 
> Cc: Inki Dae 
> ---
>  drivers/gpu/drm/drm_bufs.c  |  1 +
>  drivers/gpu/drm/drm_drv.c   |  8 -
>  drivers/gpu/drm/drm_gem.c   | 16 +++--
>  drivers/gpu/drm/drm_info.c  | 38 -
>  drivers/gpu/drm/drm_stub.c  |  1 -
>  drivers/gpu/drm/drm_vm.c| 58 
> +++--
>  drivers/gpu/drm/exynos/exynos_drm_gem.c |  9 +
>  include/drm/drmP.h  |  7 ++--
>  8 files changed, 20 insertions(+), 118 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_bufs.c b/drivers/gpu/drm/drm_bufs.c
> index bef4abf..b0aa2eb 100644
> --- a/drivers/gpu/drm/drm_bufs.c
> +++ b/drivers/gpu/drm/drm_bufs.c
> @@ -152,6 +152,7 @@ static int drm_addmap_core(struct drm_device * dev, 
> resource_size_t offset,
> map->size = size;
> map->flags = flags;
> map->type = type;
> +   map->count = 0;
>
> /* Only allow shared memory to be removable since we only keep enough
>  * book keeping information about shared memory to allow for removal
> diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
> index 799..7ec9959 100644
> --- a/drivers/gpu/drm/drm_drv.c
> +++ b/drivers/gpu/drm/drm_drv.c
> @@ -182,8 +182,6 @@ static const struct drm_ioctl_desc drm_ioctls[] = {
>   */
>  int drm_lastclose(struct drm_device * dev)
>  {
> -   struct drm_vma_entry *vma, *vma_temp;
> -
> DRM_DEBUG("\n");
>
> if (dev->driver->lastclose)
> @@ -203,12 +201,6 @@ int drm_lastclose(struct drm_device * dev)
> dev->sg = NULL;
> }
>
> -   /* Clear vma list (only built for debugging) */
> -   list_for_each_entry_safe(vma, vma_temp, &dev->vmalist, head) {
> -   list_del(&vma->head);
> -   kfree(vma);
> -   }
> -
> if (drm_core_check_feature(dev, DRIVER_HAVE_DMA) &&
> !drm_core_check_feature(dev, DRIVER_MODESET))
> drm_dma_takedown(dev);
> diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
> index 9ab038c..84a5834 100644
> --- a/drivers/gpu/drm/drm_gem.c
> +++ b/drivers/gpu/drm/drm_gem.c
> @@ -573,22 +573,16 @@ void drm_gem_vm_open(struct vm_area_struct *vma)
> struct drm_gem_object *obj = vma->vm_private_data;
>
> drm_gem_object_reference(obj);
> -
> -   mutex_lock(&obj->dev->struct_mutex);
> -   drm_vm_open_locked(obj->dev, vma);
> -   mutex_unlock(&obj->dev->struct_mutex);
> +   drm_vma_open(obj->dev, vma);
>  }
>  EXPORT_SYMBOL(drm_gem_vm_open);
>
>  void drm_gem_vm_close(struct vm_area_struct *vma)
>  {
> struct drm_gem_object *obj = vma->vm_private_data;
> -   struct drm_device *dev = obj->dev;
>
> -   mutex_lock(&dev->struct_mutex);
> -   drm_vm_close_locked(obj->dev, vma);
> -   drm_gem_object_unreference(obj);
> -   mutex_unlock(&dev->struct_mutex);
> +   drm_vma_close(obj->dev, vma);
> +   drm_gem_object_unreference_unlocked(obj);
>  }
>  EXPORT_SYMBOL(drm_gem_vm_close);
>
> @@ -639,9 +633,7 @@ int drm_gem_mmap_obj(struct drm_gem_object *obj, unsigned 
> long obj_size,
>  * (which should happen whether the vma was created by this call, or
>  * by a vm_open due to mremap or partial unmap or whatever).
>  */
> -   drm_gem_object_reference(obj);
> -
> -   drm_vm_open_locked(dev, vma);
> +   drm_gem_vm_open(vma);
> return 0;
>  }
>  EXPORT_SYMBOL(drm_gem_mmap_obj);
> diff --git a/drivers/gpu/drm/drm_info.c b/drivers/gpu/drm/drm_info.c
> index d4b20ce..6ea817c 100644
> --- a/drivers/gpu/drm/drm_info.c
> +++ b/drivers/gpu/drm/drm_info.c
> @@ -228,49 +228,11 @@ int drm_vma_info(struct seq_file *m, void *d

[Bug 68213] TURKS [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset the VCPU!!!

2013-08-17 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=68213

--- Comment #1 from Alex Deucher  ---
Make sure you update to the latest rlc firmware.  This is required for UVD
support.  Also make sure all the necessary firmware is in your initrd if you
are using one or if you are compiling the driver into the kernel, you must also
compile the firmware into 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/20130817/ce556eaa/attachment.html>


[Bug 66888] [radeonsi] Need support GL_EXT_framebuffer_multisample

2013-08-17 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=66888

Laurent carlier  changed:

   What|Removed |Added

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

--- Comment #2 from Laurent carlier  ---
Should be fixed since 21d9a1b5ef51ce449e9a82641d0d605c5448b41c
(You need at least LLVM-3.4svn)

-- 
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/20130817/9c4ef233/attachment.html>


[Bug 68223] Evergreen load module with device switched off: *ERROR* radeon: ring 0 test failed

2013-08-17 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=68223

stefan.demharter at gmx.net changed:

   What|Removed |Added

Summary|*ERROR* radeon: ring 0 test |Evergreen load module with
   |failed  |device switched off:
   ||*ERROR* radeon: ring 0 test
   ||failed

--- Comment #1 from stefan.demharter at gmx.net ---
I've got a muxed system with intel+radeon graphics card.

If I switch off the device, unload the radeon module and reload it I get the
following errors and can't use the device until I restart the system:

[  108.234152] [drm:r600_ring_test] *ERROR* radeon: ring 0 test failed
(scratch(0x8504)=0x)
[  108.234199] radeon :02:00.0: disabling GPU acceleration
[  113.249241] [drm:atom_op_jump] *ERROR* atombios stuck in loop for more than
5secs aborting
[  113.249286] [drm:atom_execute_table_locked] *ERROR* atombios stuck executing
E192 (len 2328, WS 4, PS 4) @ 0xE7E8
... snip ...
[  141.216044] BUG: soft lockup - CPU#1 stuck for 22s! [modprobe:4068]
[  143.411205] [drm:atom_op_jump] *ERROR* atombios stuck in loop for more than
5secs aborting
[  143.411287] [drm:atom_execute_table_locked] *ERROR* atombios stuck executing
CC36 (len 62, WS 0, PS 0) @ 0xCC52

Steps to reproduce:

In /sys/kernel/debug/vgaswitcheroo:
echo OFF > switch
rmmod radeon
modprobe radeon

Regards
Stefan

-- 
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/20130817/a903286c/attachment-0001.html>


[Bug 68224] New: [radeonsi] Serious Sam3 is segfaulting (LLVM assert)

2013-08-17 Thread bugzilla-dae...@freedesktop.org
dirty=dirty at entry=0x0) at si_state.c:2393
#23 0xf36c58bb in si_create_shader_state (ctx=0x9845218, state=,
pipe_shader_type=1) at si_state.c:2435
#24 0xf34f9313 in st_translate_fragment_program (st=st at entry=0x98c45a8,
stfp=stfp at entry=0x14ed0c58, key=key at entry=0xb148) at
../../src/mesa/state_tracker/st_program.c:768
#25 0xf34fa6f6 in st_get_fp_variant (st=st at entry=0x98c45a8,
stfp=stfp at entry=0x14ed0c58, key=key at entry=0xb148) at
../../src/mesa/state_tracker/st_program.c:805
#26 0xf34c1f33 in update_fp (st=0x98c45a8) at
../../src/mesa/state_tracker/st_atom_shader.c:92
#27 0xf34be81e in st_validate_state (st=st at entry=0x98c45a8) at
../../src/mesa/state_tracker/st_atom.c:221
#28 0xf34d5eac in st_draw_vbo (ctx=0x98e7760, prims=0xb298, nr_prims=1,
ib=0xb288, index_bounds_valid=1 '\001', min_index=0, max_index=3,
tfb_vertcount=0x0) at ../../src/mesa/state_tracker/st_draw.c:210
#29 0xf34a92f9 in vbo_handle_primitive_restart (ctx=ctx at entry=0x98e7760,
prim=prim at entry=0xb298, nr_prims=nr_prims at entry=1, ib=ib at 
entry=0xb288,
index_bounds_valid=index_bounds_valid at entry=1 '\001',
min_index=min_index at entry=0, 
max_index=max_index at entry=3) at ../../src/mesa/vbo/vbo_exec_array.c:585
#30 0xf34aa4a9 in vbo_validated_drawrangeelements (ctx=ctx at entry=0x98e7760,
mode=mode at entry=4, index_bounds_valid=index_bounds_valid at entry=1 '\001',
start=start at entry=0, end=end at entry=3, count=count at entry=6,
type=type at entry=5123, 
indices=indices at entry=0x0, basevertex=basevertex at entry=0,
numInstances=numInstances at entry=1, baseInstance=baseInstance at entry=0) at
../../src/mesa/vbo/vbo_exec_array.c:1004
#31 0xf34aa8a4 in vbo_exec_DrawRangeElementsBaseVertex (mode=mode at entry=4,
start=start at entry=0, end=end at entry=3, count=count at entry=6,
type=type at entry=5123, indices=indices at entry=0x0, basevertex=basevertex at 
entry=0)
at ../../src/mesa/vbo/vbo_exec_array.c:1112
#32 0xf34aa99f in vbo_exec_DrawRangeElements (mode=4, start=0, end=3, count=6,
type=5123, indices=0x0) at ../../src/mesa/vbo/vbo_exec_array.c:1132

-- 
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/20130817/912a49b9/attachment.html>


[Bug 66888] [radeonsi] Need support GL_EXT_framebuffer_multisample

2013-08-17 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=66888

--- Comment #3 from Vladimir Ysikov  ---
On last llvm-svn and mesa git, glxgears show extension
GL_EXT_framebuffer_multisample. But unigine-tropics show black screen and have
error in console:

GLShader::loadFragment(): error in
"core/shaders/render/fragment_occlusion_blur.shader" file
defines:
UNKNOWN,QUALITY_LOW,QUALITY_MEDIUM,QUALITY_HIGH,MULTISAMPLE_0,USE_INSTANCING,USE_TEXTURE_ARRAY,USE_DEFERRED,USE_OCCLUSION,USE_REFLECTION,OPENGL,USE_PSEUDO_INSTANCING,USE_PSEUDO_TRANSFORM,USE_ARB_TEXTURE_MULTISAMPLE,HAS_ARB_DRAW_INSTANCED
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D,
ivec2, int, ivec2)'

unigine-sanctuary just crash with single error:

LLVM ERROR: ran out of registers during register allocation

Do i mast create 2 bug report for each case?

-- 
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/20130817/5e60a895/attachment.html>


[Bug 66974] [radeonsi] rendering is broken in L4D2

2013-08-17 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=66974

--- Comment #6 from Vladimir Ysikov  ---
Created attachment 84177
  --> https://bugs.freedesktop.org/attachment.cgi?id=84177&action=edit
grafical glitch in HL2 ep2

This type  of rendering errors is gone, but still not clean in HL2 ep2, HL2
Lost Coast, Portal, left 4 Death 2. Dota 2 look like a normal.

-- 
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/20130817/eae69b63/attachment.html>


[Bug 66974] [radeonsi] rendering is broken in L4D2

2013-08-17 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=66974

--- Comment #7 from Vladimir Ysikov  ---
Created attachment 84178
  --> https://bugs.freedesktop.org/attachment.cgi?id=84178&action=edit
grafical glitch in Portal

Do i mast create new bug report?

-- 
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/20130817/a7c9fa0f/attachment-0001.html>


[Bug 66974] [radeonsi] rendering is broken in L4D2

2013-08-17 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=66974

--- Comment #8 from Laurent carlier  ---
(In reply to comment #7)
> Created attachment 84178 [details]
> grafical glitch in Portal
> 
> Do i mast create new bug report?

https://bugs.freedesktop.org/show_bug.cgi?id=68162

-- 
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/20130817/1c8e1910/attachment.html>


[Bug 66974] [radeonsi] rendering is broken in L4D2

2013-08-17 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=66974

--- Comment #9 from Vladimir Ysikov  ---
I apologize for my carelessness.

-- 
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/20130817/c6862214/attachment.html>


[PATCHv3 0/4] drm/msm: A DRM/KMS driver for snapdragon SoCs

2013-08-17 Thread Rob Clark
This patchset can also be found here, for easier browsing:

  http://cgit.freedesktop.org/~robclark/linux/log/?h=drm-next
  git://people.freedesktop.org/~robclark/linux drm-next

In userspace, I've a libdrm branch with libdrm_freedreno updated to
work on top of either this driver or the downstream android kgsl+fbdev
drivers:

  https://github.com/freedreno/libdrm/commits/msm-drm

And the DDX has been updated to either use kms with this driver, or
the downstream android drivers.  Note that page flipping requires kms:

  https://github.com/freedreno/xf86-video-freedreno/commits/msm-drm

And finally mesa/gallium with a few minor tweaks, mostly updates to
the loader to load on either "msm" or legacy/downstream "kgsl":

  https://github.com/freedreno/mesa/commits/msm-drm

I have started adding DSI panel support, although there are still some
things to debug, and in general it isn't ready to merge yet.  But if
you are curious, it can be found here:

  https://github.com/freedreno/kernel-msm/commits/mako-kernel-drm

History:
v1: original
v2: only changed patch is a3xx gpu (fix timespec vs ioctl issue,
drop setparam ioctl for now).  I've left out the two debugfs
patches, until I have a chance to attempt to make drm core
move minor creation (or at least debugfs) until after load.
I've also added a small note about why cmdstream validation
is not required in the commit-msg of the a3xx gpu patch.
v3: fix the unlock/unpin order as pointed out by Maarten Lankhorst,
and a few little tweaks to prepare things better for DSI
support.

NOTES from the previous RFCs:

In the current snapdragon SoC's, we have (at least) 3 different
display controller blocks at play:
 + MDP3 - ?? seems to be what is on geeksphone peak device
 + MDP4 - S3 (APQ8060, touchpad), S4-pro (APQ8064, nexus4 & ifc6410)
 + MDSS - snapdragon 800

(I don't have a completely clear picture on which display controller
maps to which part #)

Plus a handful of blocks around them for HDMI/DSI/etc output.

And on gpu side of things:
 + zero, one, or two 2d cores (z180)
 + and either a2xx or a3xx 3d core.

But, HDMI/DSI/etc blocks seem like they can be shared across multiple
display controller blocks.  And I for sure don't want to have to deal
with N different kms devices from xf86-video-freedreno.  Plus, it
seems like we can do some clever tricks like use GPU to trigger
pageflip after rendering completes (ie. have the kms/crtc code build
up gpu cmdstream to update scanout and write FLUSH register after).

So, the approach is one drm driver, with some modularity.  Different
'struct msm_kms' implementations, depending on display controller.
And one or more 'struct msm_gpu' for the various different gpu sub-
modules.

The kms module provides the plane, crtc, and encoder objects, and
loads whatever connectors are appropriate.

For MDP4, the mapping is:

  plane   -> PIPE{RGBn,VGn}  \
  crtc-> OVLP{n} + DMA{P,S,E} (??)   |-> MDP "device"
  encoder -> DTV/LCDC/DSI (within MDP4)  /
  connector -> HDMI/DSI/etc  --> other device(s)

Since the irq's that drm core mostly cares about are vblank/framedone,
we'll let msm_mdp4_kms provide the irq install/uninstall/etc functions
and treat the MDP4 block's irq as "the" irq.  Even though the connectors
may have their own irqs which they install themselves.  For this reason
the display controller is the "master" device.

Each connector probably ends up being a separate device, just for the
logistics of finding/mapping io region, irq, etc.  Idealy we would
have a better way than just stashing the platform device in a global
(ie. like DT super-node.. but I don't have any snapdragon hw yet that
is using DT).

Note that so far I've not been able to get any docs on the hw, and it
seems that access to such docs would prevent me from working on the
freedreno gallium driver.  So there may be some mistakes in register
names (I had to invent a few, since no sufficient hint was given in
the downstream android fbdev driver), bitfield sizes, etc.  My current
state of understanding the registers is given in the envytools rnndb
files at:

  https://github.com/freedreno/envytools/tree/master/rnndb

These files are used both for a parser tool (in the same tree) to
parse logged register reads/writes (both from downstream android fbdev
driver, and this driver with register logging enabled), as well as to
generate the register level headers.

Rob Clark (4):
  drm/msm: add register definitions
  drm/msm: basic KMS driver for snapdragon
  drm/msm: add register definitions for gpu
  drm/msm: add a3xx gpu support

 drivers/gpu/drm/Kconfig|2 +
 drivers/gpu/drm/Makefile   |1 +
 drivers/gpu/drm/msm/Kconfig|   34 +
 drivers/gpu/drm/msm/Makefile   |   30 +
 drivers/gpu/drm/msm/NOTES  |   69 +
 drivers/gpu/drm/msm/adreno/a2xx.xml.h  | 1438 
 drivers/gpu/drm/msm/adreno/a3xx.xml.

[PATCHv3 1/4] drm/msm: add register definitions

2013-08-17 Thread Rob Clark
Generated from rnndb files in:

https://github.com/freedreno/envytools

Keep this split out as a separate commit to make it easier to review the
actual driver.

Signed-off-by: Rob Clark 
---
 drivers/gpu/drm/msm/dsi/dsi.xml.h |  502 
 drivers/gpu/drm/msm/dsi/mmss_cc.xml.h |  114 
 drivers/gpu/drm/msm/dsi/sfpb.xml.h|   48 ++
 drivers/gpu/drm/msm/hdmi/hdmi.xml.h   |  508 
 drivers/gpu/drm/msm/hdmi/qfprom.xml.h |   50 ++
 drivers/gpu/drm/msm/mdp4/mdp4.xml.h   | 1061 +
 6 files changed, 2283 insertions(+)
 create mode 100644 drivers/gpu/drm/msm/dsi/dsi.xml.h
 create mode 100644 drivers/gpu/drm/msm/dsi/mmss_cc.xml.h
 create mode 100644 drivers/gpu/drm/msm/dsi/sfpb.xml.h
 create mode 100644 drivers/gpu/drm/msm/hdmi/hdmi.xml.h
 create mode 100644 drivers/gpu/drm/msm/hdmi/qfprom.xml.h
 create mode 100644 drivers/gpu/drm/msm/mdp4/mdp4.xml.h

diff --git a/drivers/gpu/drm/msm/dsi/dsi.xml.h 
b/drivers/gpu/drm/msm/dsi/dsi.xml.h
new file mode 100644
index 000..6f8396b
--- /dev/null
+++ b/drivers/gpu/drm/msm/dsi/dsi.xml.h
@@ -0,0 +1,502 @@
+#ifndef DSI_XML
+#define DSI_XML
+
+/* Autogenerated file, DO NOT EDIT manually!
+
+This file was generated by the rules-ng-ng headergen tool in this git 
repository:
+http://0x04.net/cgit/index.cgi/rules-ng-ng
+git clone git://0x04.net/rules-ng-ng
+
+The rules-ng-ng source files this header was generated from are:
+- /home/robclark/src/freedreno/envytools/rnndb/msm.xml (
595 bytes, from 2013-07-05 19:21:12)
+- /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml (   
1453 bytes, from 2013-03-31 16:51:27)
+- /home/robclark/src/freedreno/envytools/rnndb/mdp4/mdp4.xml   (  
19332 bytes, from 2013-08-16 22:16:36)
+- /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml (  
11712 bytes, from 2013-08-17 17:13:43)
+- /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml(
344 bytes, from 2013-08-11 19:26:32)
+- /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml (   
1544 bytes, from 2013-08-16 19:17:05)
+- /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml (
600 bytes, from 2013-07-05 19:21:12)
+- /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml   (  
19288 bytes, from 2013-08-11 18:14:15)
+
+Copyright (C) 2013 by the following authors:
+- Rob Clark  (robclark)
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial
+portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+
+
+enum dsi_traffic_mode {
+   NON_BURST_SYNCH_PULSE = 0,
+   NON_BURST_SYNCH_EVENT = 1,
+   BURST_MODE = 2,
+};
+
+enum dsi_dst_format {
+   DST_FORMAT_RGB565 = 0,
+   DST_FORMAT_RGB666 = 1,
+   DST_FORMAT_RGB666_LOOSE = 2,
+   DST_FORMAT_RGB888 = 3,
+};
+
+enum dsi_rgb_swap {
+   SWAP_RGB = 0,
+   SWAP_RBG = 1,
+   SWAP_BGR = 2,
+   SWAP_BRG = 3,
+   SWAP_GRB = 4,
+   SWAP_GBR = 5,
+};
+
+enum dsi_cmd_trigger {
+   TRIGGER_NONE = 0,
+   TRIGGER_TE = 2,
+   TRIGGER_SW = 4,
+   TRIGGER_SW_SEOF = 5,
+   TRIGGER_SW_TE = 6,
+};
+
+#define DSI_IRQ_CMD_DMA_DONE   0x0001
+#define DSI_IRQ_MASK_CMD_DMA_DONE  0x0002
+#define DSI_IRQ_CMD_MDP_DONE   0x0100
+#define DSI_IRQ_MASK_CMD_MDP_DONE  0x0200
+#define DSI_IRQ_VIDEO_DONE 0x0001
+#define DSI_IRQ_MASK_VIDEO_DONE
0x0002
+#define DSI_IRQ_ERROR  0x0100
+#define DSI_IRQ_MASK_ERROR 0x0200
+#define REG_DSI_CTRL   0x
+#define DSI_CTRL_ENABLE
0x0001
+#define DSI_CTRL_VID_MODE_EN   0x0002
+#define DSI_CTRL_CMD_MODE_

[PATCHv3 2/4] drm/msm: basic KMS driver for snapdragon

2013-08-17 Thread Rob Clark
The snapdragon chips have multiple different display controllers,
depending on which chip variant/version.  (As far as I can tell, current
devices have either MDP3 or MDP4, and upcoming devices have MDSS.)  And
then external to the display controller are HDMI, DSI, etc. blocks which
may be shared across devices which have different display controller
blocks.

To more easily add support for different display controller blocks, the
display controller specific bits are split out into a "kms" module,
which provides the kms plane/crtc/encoder objects.

The external HDMI, DSI, etc. blocks are part encoder, and part connector
currently.  But I think I will pull in the drm_bridge patches from
chromeos tree, and split them into a bridge+connector, with the
registers that need to be set in modeset handled by the bridge.  This
would remove the 'msm_connector' base class.  But some things need to be
double checked to make sure I could get the correct ON/OFF sequencing..

This patch adds support for mdp4 crtc (including hw cursor), dtv encoder
(part of MDP4 block), and hdmi.

Signed-off-by: Rob Clark 
---
 drivers/gpu/drm/Kconfig |   2 +
 drivers/gpu/drm/Makefile|   1 +
 drivers/gpu/drm/msm/Kconfig |  34 ++
 drivers/gpu/drm/msm/Makefile|  25 +
 drivers/gpu/drm/msm/NOTES   |  69 +++
 drivers/gpu/drm/msm/hdmi/hdmi.c | 235 ++
 drivers/gpu/drm/msm/hdmi/hdmi.h | 112 +
 drivers/gpu/drm/msm/hdmi/hdmi_connector.c   | 461 +++
 drivers/gpu/drm/msm/hdmi/hdmi_i2c.c | 281 
 drivers/gpu/drm/msm/hdmi/hdmi_phy_8960.c| 141 ++
 drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c| 214 +
 drivers/gpu/drm/msm/mdp4/mdp4_crtc.c| 684 
 drivers/gpu/drm/msm/mdp4/mdp4_dtv_encoder.c | 317 +
 drivers/gpu/drm/msm/mdp4/mdp4_format.c  |  56 +++
 drivers/gpu/drm/msm/mdp4/mdp4_irq.c | 203 +
 drivers/gpu/drm/msm/mdp4/mdp4_kms.c | 368 +++
 drivers/gpu/drm/msm/mdp4/mdp4_kms.h | 194 
 drivers/gpu/drm/msm/mdp4/mdp4_plane.c   | 243 ++
 drivers/gpu/drm/msm/msm_connector.c |  34 ++
 drivers/gpu/drm/msm/msm_connector.h |  68 +++
 drivers/gpu/drm/msm/msm_drv.c   | 533 ++
 drivers/gpu/drm/msm/msm_drv.h   | 187 
 drivers/gpu/drm/msm/msm_fb.c| 202 
 drivers/gpu/drm/msm/msm_fbdev.c | 258 +++
 drivers/gpu/drm/msm/msm_gem.c   | 521 +
 drivers/gpu/drm/msm/msm_gem.h   |  41 ++
 26 files changed, 5484 insertions(+)
 create mode 100644 drivers/gpu/drm/msm/Kconfig
 create mode 100644 drivers/gpu/drm/msm/Makefile
 create mode 100644 drivers/gpu/drm/msm/NOTES
 create mode 100644 drivers/gpu/drm/msm/hdmi/hdmi.c
 create mode 100644 drivers/gpu/drm/msm/hdmi/hdmi.h
 create mode 100644 drivers/gpu/drm/msm/hdmi/hdmi_connector.c
 create mode 100644 drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
 create mode 100644 drivers/gpu/drm/msm/hdmi/hdmi_phy_8960.c
 create mode 100644 drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
 create mode 100644 drivers/gpu/drm/msm/mdp4/mdp4_crtc.c
 create mode 100644 drivers/gpu/drm/msm/mdp4/mdp4_dtv_encoder.c
 create mode 100644 drivers/gpu/drm/msm/mdp4/mdp4_format.c
 create mode 100644 drivers/gpu/drm/msm/mdp4/mdp4_irq.c
 create mode 100644 drivers/gpu/drm/msm/mdp4/mdp4_kms.c
 create mode 100644 drivers/gpu/drm/msm/mdp4/mdp4_kms.h
 create mode 100644 drivers/gpu/drm/msm/mdp4/mdp4_plane.c
 create mode 100644 drivers/gpu/drm/msm/msm_connector.c
 create mode 100644 drivers/gpu/drm/msm/msm_connector.h
 create mode 100644 drivers/gpu/drm/msm/msm_drv.c
 create mode 100644 drivers/gpu/drm/msm/msm_drv.h
 create mode 100644 drivers/gpu/drm/msm/msm_fb.c
 create mode 100644 drivers/gpu/drm/msm/msm_fbdev.c
 create mode 100644 drivers/gpu/drm/msm/msm_gem.c
 create mode 100644 drivers/gpu/drm/msm/msm_gem.h

diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index a7c54c8..9c09e05 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -223,3 +223,5 @@ source "drivers/gpu/drm/omapdrm/Kconfig"
 source "drivers/gpu/drm/tilcdc/Kconfig"

 source "drivers/gpu/drm/qxl/Kconfig"
+
+source "drivers/gpu/drm/msm/Kconfig"
diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
index 2aaf082..6df0a7a 100644
--- a/drivers/gpu/drm/Makefile
+++ b/drivers/gpu/drm/Makefile
@@ -54,4 +54,5 @@ obj-$(CONFIG_DRM_SHMOBILE) +=shmobile/
 obj-$(CONFIG_DRM_OMAP) += omapdrm/
 obj-$(CONFIG_DRM_TILCDC)   += tilcdc/
 obj-$(CONFIG_DRM_QXL) += qxl/
+obj-$(CONFIG_DRM_MSM) += msm/
 obj-y  += i2c/
diff --git a/drivers/gpu/drm/msm/Kconfig b/drivers/gpu/drm/msm/Kconfig
new file mode 100644
index 000..a06c19c
--- /dev/null
+++ b/drivers/gpu/drm/msm/Kconfig
@@ -0,0 +1,34 @@
+
+config DRM_MSM
+   tristate "MSM DRM"
+   depend

[PATCHv3 3/4] drm/msm: add register definitions for gpu

2013-08-17 Thread Rob Clark
Generated from rnndb files in:

https://github.com/freedreno/envytools

Keep this split out as a separate commit to make it easier to review the
actual driver.

Signed-off-by: Rob Clark 
---
 drivers/gpu/drm/msm/adreno/a2xx.xml.h  | 1438 
 drivers/gpu/drm/msm/adreno/a3xx.xml.h  | 2193 
 drivers/gpu/drm/msm/adreno/adreno_common.xml.h |  432 +
 drivers/gpu/drm/msm/adreno/adreno_pm4.xml.h|  254 +++
 4 files changed, 4317 insertions(+)
 create mode 100644 drivers/gpu/drm/msm/adreno/a2xx.xml.h
 create mode 100644 drivers/gpu/drm/msm/adreno/a3xx.xml.h
 create mode 100644 drivers/gpu/drm/msm/adreno/adreno_common.xml.h
 create mode 100644 drivers/gpu/drm/msm/adreno/adreno_pm4.xml.h

diff --git a/drivers/gpu/drm/msm/adreno/a2xx.xml.h 
b/drivers/gpu/drm/msm/adreno/a2xx.xml.h
new file mode 100644
index 000..3546386
--- /dev/null
+++ b/drivers/gpu/drm/msm/adreno/a2xx.xml.h
@@ -0,0 +1,1438 @@
+#ifndef A2XX_XML
+#define A2XX_XML
+
+/* Autogenerated file, DO NOT EDIT manually!
+
+This file was generated by the rules-ng-ng headergen tool in this git 
repository:
+http://0x04.net/cgit/index.cgi/rules-ng-ng
+git clone git://0x04.net/rules-ng-ng
+
+The rules-ng-ng source files this header was generated from are:
+- /home/robclark/src/freedreno/envytools/rnndb/adreno.xml  (
327 bytes, from 2013-07-05 19:21:12)
+- /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml (   
1453 bytes, from 2013-03-31 16:51:27)
+- /home/robclark/src/freedreno/envytools/rnndb/a2xx/a2xx.xml   (  
30005 bytes, from 2013-07-19 21:30:48)
+- /home/robclark/src/freedreno/envytools/rnndb/adreno_common.xml   (   
8983 bytes, from 2013-07-24 01:38:36)
+- /home/robclark/src/freedreno/envytools/rnndb/adreno_pm4.xml  (   
9712 bytes, from 2013-05-26 15:22:37)
+- /home/robclark/src/freedreno/envytools/rnndb/a3xx/a3xx.xml   (  
51415 bytes, from 2013-08-03 14:26:05)
+
+Copyright (C) 2013 by the following authors:
+- Rob Clark  (robclark)
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial
+portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+
+
+enum a2xx_rb_dither_type {
+   DITHER_PIXEL = 0,
+   DITHER_SUBPIXEL = 1,
+};
+
+enum a2xx_colorformatx {
+   COLORX_4_4_4_4 = 0,
+   COLORX_1_5_5_5 = 1,
+   COLORX_5_6_5 = 2,
+   COLORX_8 = 3,
+   COLORX_8_8 = 4,
+   COLORX_8_8_8_8 = 5,
+   COLORX_S8_8_8_8 = 6,
+   COLORX_16_FLOAT = 7,
+   COLORX_16_16_FLOAT = 8,
+   COLORX_16_16_16_16_FLOAT = 9,
+   COLORX_32_FLOAT = 10,
+   COLORX_32_32_FLOAT = 11,
+   COLORX_32_32_32_32_FLOAT = 12,
+   COLORX_2_3_3 = 13,
+   COLORX_8_8_8 = 14,
+};
+
+enum a2xx_sq_surfaceformat {
+   FMT_1_REVERSE = 0,
+   FMT_1 = 1,
+   FMT_8 = 2,
+   FMT_1_5_5_5 = 3,
+   FMT_5_6_5 = 4,
+   FMT_6_5_5 = 5,
+   FMT_8_8_8_8 = 6,
+   FMT_2_10_10_10 = 7,
+   FMT_8_A = 8,
+   FMT_8_B = 9,
+   FMT_8_8 = 10,
+   FMT_Cr_Y1_Cb_Y0 = 11,
+   FMT_Y1_Cr_Y0_Cb = 12,
+   FMT_5_5_5_1 = 13,
+   FMT_8_8_8_8_A = 14,
+   FMT_4_4_4_4 = 15,
+   FMT_10_11_11 = 16,
+   FMT_11_11_10 = 17,
+   FMT_DXT1 = 18,
+   FMT_DXT2_3 = 19,
+   FMT_DXT4_5 = 20,
+   FMT_24_8 = 22,
+   FMT_24_8_FLOAT = 23,
+   FMT_16 = 24,
+   FMT_16_16 = 25,
+   FMT_16_16_16_16 = 26,
+   FMT_16_EXPAND = 27,
+   FMT_16_16_EXPAND = 28,
+   FMT_16_16_16_16_EXPAND = 29,
+   FMT_16_FLOAT = 30,
+   FMT_16_16_FLOAT = 31,
+   FMT_16_16_16_16_FLOAT = 32,
+   FMT_32 = 33,
+   FMT_32_32 = 34,
+   FMT_32_32_32_32 = 35,
+   FMT_32_FLOAT = 36,
+   FMT_32_32_FLOAT = 37,
+   FMT_32_32_32_32_FLOAT = 38,
+   FMT_32_AS_8 = 39,
+   FMT_32_AS_8_8 = 40,
+   FMT_16_MPEG = 41,
+   FMT_16_16_MPEG = 42,
+   FMT_8_INTERLACED = 43,
+   FMT_32_AS_8_INTERLACED = 44,
+   FMT_32_AS_8_8_INTERLACED = 45,
+   FMT_16_INTERLACED = 46,
+   FMT_16_MPE

[PATCHv3 4/4] drm/msm: add a3xx gpu support

2013-08-17 Thread Rob Clark
Add initial support for a3xx 3d core.

So far, with hardware that I've seen to date, we can have:
 + zero, one, or two z180 2d cores
 + a3xx or a2xx 3d core, which share a common CP (the firmware
   for the CP seems to implement some different PM4 packet types
   but the basics of cmdstream submission are the same)

Which means that the eventual complete "class" hierarchy, once
support for all past and present hw is in place, becomes:
 + msm_gpu
   + adreno_gpu
 + a3xx_gpu
 + a2xx_gpu
   + z180_gpu

This commit splits out the parts that will eventually be common
between a2xx/a3xx into adreno_gpu, and the parts that are even
common to z180 into msm_gpu.

Note that there is no cmdstream validation required.  All memory access
from the GPU is via IOMMU/MMU.  So as long as you don't map silly things
to the GPU, there isn't much damage that the GPU can do.

Signed-off-by: Rob Clark 
---
 drivers/gpu/drm/msm/Makefile|   7 +-
 drivers/gpu/drm/msm/adreno/a3xx_gpu.c   | 501 
 drivers/gpu/drm/msm/adreno/a3xx_gpu.h   |  30 ++
 drivers/gpu/drm/msm/adreno/adreno_gpu.c | 350 ++
 drivers/gpu/drm/msm/adreno/adreno_gpu.h | 142 +
 drivers/gpu/drm/msm/msm_drv.c   | 246 +++-
 drivers/gpu/drm/msm/msm_drv.h   |  44 ++-
 drivers/gpu/drm/msm/msm_gem.c   |  84 +-
 drivers/gpu/drm/msm/msm_gem.h   |  58 
 drivers/gpu/drm/msm/msm_gem_submit.c| 412 ++
 drivers/gpu/drm/msm/msm_gpu.c   | 411 ++
 drivers/gpu/drm/msm/msm_gpu.h   | 114 
 drivers/gpu/drm/msm/msm_ringbuffer.c|  61 
 drivers/gpu/drm/msm/msm_ringbuffer.h|  43 +++
 include/uapi/drm/Kbuild |   1 +
 include/uapi/drm/msm_drm.h  | 207 +
 16 files changed, 2695 insertions(+), 16 deletions(-)
 create mode 100644 drivers/gpu/drm/msm/adreno/a3xx_gpu.c
 create mode 100644 drivers/gpu/drm/msm/adreno/a3xx_gpu.h
 create mode 100644 drivers/gpu/drm/msm/adreno/adreno_gpu.c
 create mode 100644 drivers/gpu/drm/msm/adreno/adreno_gpu.h
 create mode 100644 drivers/gpu/drm/msm/msm_gem_submit.c
 create mode 100644 drivers/gpu/drm/msm/msm_gpu.c
 create mode 100644 drivers/gpu/drm/msm/msm_gpu.h
 create mode 100644 drivers/gpu/drm/msm/msm_ringbuffer.c
 create mode 100644 drivers/gpu/drm/msm/msm_ringbuffer.h
 create mode 100644 include/uapi/drm/msm_drm.h

diff --git a/drivers/gpu/drm/msm/Makefile b/drivers/gpu/drm/msm/Makefile
index 04b2ba8..c3a5134 100644
--- a/drivers/gpu/drm/msm/Makefile
+++ b/drivers/gpu/drm/msm/Makefile
@@ -4,6 +4,8 @@ ifeq (, $(findstring -W,$(EXTRA_CFLAGS)))
 endif

 msm-y := \
+   adreno/adreno_gpu.o \
+   adreno/a3xx_gpu.o \
hdmi/hdmi.o \
hdmi/hdmi_connector.o \
hdmi/hdmi_i2c.o \
@@ -18,7 +20,10 @@ msm-y := \
msm_connector.o \
msm_drv.o \
msm_fb.o \
-   msm_gem.o
+   msm_gem.o \
+   msm_gem_submit.o \
+   msm_gpu.o \
+   msm_ringbuffer.o

 msm-$(CONFIG_DRM_MSM_FBDEV) += msm_fbdev.o

diff --git a/drivers/gpu/drm/msm/adreno/a3xx_gpu.c 
b/drivers/gpu/drm/msm/adreno/a3xx_gpu.c
new file mode 100644
index 000..13d61bb
--- /dev/null
+++ b/drivers/gpu/drm/msm/adreno/a3xx_gpu.c
@@ -0,0 +1,501 @@
+/*
+ * Copyright (C) 2013 Red Hat
+ * Author: Rob Clark 
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 as published by
+ * the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program.  If not, see .
+ */
+
+#include "a3xx_gpu.h"
+
+#define A3XX_INT0_MASK \
+   (A3XX_INT0_RBBM_AHB_ERROR |\
+A3XX_INT0_RBBM_ATB_BUS_OVERFLOW | \
+A3XX_INT0_CP_T0_PACKET_IN_IB |\
+A3XX_INT0_CP_OPCODE_ERROR |   \
+A3XX_INT0_CP_RESERVED_BIT_ERROR | \
+A3XX_INT0_CP_HW_FAULT |   \
+A3XX_INT0_CP_IB1_INT |\
+A3XX_INT0_CP_IB2_INT |\
+A3XX_INT0_CP_RB_INT | \
+A3XX_INT0_CP_REG_PROTECT_FAULT |  \
+A3XX_INT0_CP_AHB_ERROR_HALT | \
+A3XX_INT0_UCHE_OOB_ACCESS)
+
+static struct platform_device *a3xx_pdev;
+
+static void a3xx_me_init(struct msm_gpu *gpu)
+{
+   struct msm_ringbuffer *ring = gpu->rb;
+
+   OUT_PKT3(ring, CP_ME_INIT, 17);
+   OUT_RING(ring, 0x03f7);
+   OUT_RING(ring, 0x);
+   OUT_RING(ring, 0x);
+   OUT_RING(ring, 0x);
+   OUT_RING(ring, 0x0080);
+   OUT_RING(ring, 0x0100);
+   OUT_RING(ring, 0x0180);
+   

[Bug 68125] Radeon HD6950: Failed to parse relocation -35 (Linux 3.11-rc regression)

2013-08-17 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=68125

Andreas Bombe  changed:

   What|Removed |Added

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

--- Comment #4 from Andreas Bombe  ---
While bisecting I noticed that CONFIG_DEBUG_WW_MUTEX_SLOWPATH was introduced
and that I had it enabled. Since that potentially introduces additional
-EDEADLK I suspected that check.

Turns out that check was buggy, the fix 85f489612 "mutex: Fix w/w mutex
deadlock injection" was merged since I posted this bug and the commit even
mentions explicitly that the bug caused spurious GPU lockups on radeon. The
problem appears to be gone with this fix.

-- 
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/20130817/1555e457/attachment.html>


no hdmi sound on hd5450

2013-08-17 Thread stompdagg...@yahoo.com


>>2013/8/13 StompDagger1 at yahoo.com :
>>> following the inclusion of UVD support for and a post I've seen written by
>>> on of the devs mentioning that the hdmi sound will likely to be activated by
>>> default in 3.12, I've decided to switch my cards and use the hd5450 as the
>>> media center card and connect it to my hdtv.
>>>
>>> I've enabled the sound via the relevant kernel param, I see in dmesg that it
>>> is enabled and when I try to play directly to the hdmi, I see that mplayer
>>> is playing but there is no sound coming out.
>>>
>>> what can be the issue?

>>We've a regression in radeon (in audio support), I'll try to fix it
>>tomorrow or the day after. That's the first thing to try.

>wow, thanks for the
 quick replay, I'll patiently wait for the fix.

>have a great week.

Rafal,

does the following patch: "[FIX][PATCH] drm/radeon: fix WREG32_OR macro setting 
bits in a register" which you've commited fixes my issue?

Thanks.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20130817/bb22f027/attachment.html>


no hdmi sound on hd5450

2013-08-17 Thread stompdagg...@yahoo.com
2013/8/18 StompDagger1 at yahoo.com :
>> does the following patch: "[FIX][PATCH] drm/radeon: fix WREG32_OR macro
>> setting bits in a register" which you've commited fixes my issue?

>Yes, I believe so! Sorry, I forgot to ping you about that.

thatsok, I've applied the patch it doesn't seems to work, I'll verify later 
today when I'll get home.

also, does screen flickering is part of this bug?
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20130817/77e8490d/attachment-0001.html>


I915 DRI_PRIME Bug

2013-08-17 Thread Tobias Klausmann
Hello there,
while testing my "Optimus" Notebook i saw a stack trace in my logs, 
maybe someone is interested!
I can easily reproduce this any time. It happens when offloading a GL 
app, here Unigine Heaven 3.0 to the nvidia card. To be more exactly: 
When starting Unigine the window stays black. To get something useful i 
have to minimize and maximize the window. Exactly when maximizing the 
window the trace happens.

Hope this helps anyway!

[ cut here ]
WARNING: CPU: 7 PID: 718 at drivers/gpu/drm/i915/i915_gem.c:3967 
i915_gem_free_object+0x124/0x150 [i915]()
Modules linked in: af_packet bnep fuse snd_hda_codec_hdmi 
snd_hda_codec_realtek snd_hda_intel snd_hda_codec ath3k btusb bluetooth 
uvcvideo snd_hwdep videobuf2_core videodev videobuf2_vmalloc 
videobuf2_memops snd_pcm snd_seq snd_timer arc4 ath9k snd_seq_device 
mac80211 ath9k_common ath9k_hw ath snd iTCO_wdt sdhci_pci sdhci mmc_core 
sr_mod sg tg3 ptp pps_core iTCO_vendor_support cfg80211 lpc_ich i2c_i801 
pcspkr joydev acer_wmi sparse_keymap rfkill cdrom soundcore 
snd_page_alloc mperf battery ac autofs4 i915 xhci_hcd processor 
scsi_dh_alua scsi_dh_hp_sw scsi_dh_emc scsi_dh_rdac scsi_dh nouveau ttm 
drm_kms_helper drm i2c_algo_bit mxm_wmi video thermal_sys wmi button
CPU: 7 PID: 718 Comm: Xorg Not tainted 3.11.0-rc5-desktop+ #27
Hardware name: Acer Aspire V3-571G/VA50_HC_CR, BIOS V1.13 10/09/2012
   0009 81568703 
  81047f81 88021cf1ab00 88024f1d 88025e421930
  88021c7bcd40 8802540f2da0 a0210a44 88021cf1ab00
Call Trace:
  [] ? dump_stack+0x50/0x80
  [] ? warn_slowpath_common+0x81/0xb0
  [] ? i915_gem_free_object+0x124/0x150 [i915]
  [] ? i915_gem_dmabuf_release+0x80/0x90 [i915]
  [] ? dma_buf_release+0x23/0x80
  [] ? __fput+0xcd/0x230
  [] ? task_work_run+0x97/0xd0
  [] ? do_notify_resume+0x79/0xa0
  [] ? int_signal+0x12/0x17
---[ end trace 99a0c147e69ddcd1 ]---

Thanks,
Tobias Klausmann