android_kernel_motorola_sm6225/drivers/gpu/drm
Jerome Glisse d26098759c drm/radeon: fix tiling and command stream checking on evergreen v3
Fix regresson since the introduction of command stream checking on
evergreen (thread referenced below). Issue is cause by ddx allocating
bo with formula width*height*bpp while programming the GPU command
stream with ALIGN(height, 8). In some case (where page alignment does
not hide the extra size bo should be according to height alignment)
the kernel will reject the command stream.

This patch reprogram the command stream to slice - 1 (slice is
a derivative value from height) which avoid rejecting the command
stream while keeping the value of command stream checking from a
security point of view.

This patch also fix wrong computation of layer size for 2D tiled
surface. Which should fix issue when 2D color tiling is enabled.
This dump the radeon KMS_DRIVER_MINOR so userspace can know if
they are on a fixed kernel or not.

https://lkml.org/lkml/2012/6/3/80
https://bugs.freedesktop.org/show_bug.cgi?id=50892
https://bugs.freedesktop.org/show_bug.cgi?id=50857

!!! STABLE need a custom version of this patch for 3.4 !!!

v2: actually bump the minor version and add comment about stable
v3: do compute the height the ddx was trying to use

[airlied: drop left over debug]

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-06-10 17:41:46 +01:00
..
ast drm: update ast/cirrus/mgag200 for change in TTM api 2012-05-23 14:08:41 +01:00
cirrus drm/cirrus: kick out conflicting framebuffers earlier 2012-06-01 11:11:09 +01:00
exynos drm/exynos: fixed blending for hdmi graphic layer 2012-06-05 13:25:18 +09:00
gma500 drm: Constify drm_mode_config_funcs pointer 2012-05-22 10:35:07 +01:00
i2c
i810 i810: switch to vm_mmap() 2012-05-30 21:04:54 -04:00
i915 Revert "drm/i915/crt: Do not rely upon the HPD presence pin" 2012-06-08 14:53:06 -07:00
mga
mgag200 drm/mgag200: kick off conflicting framebuffers earlier. 2012-06-01 11:12:39 +01:00
nouveau nouveau: add vmap support to nouveau prime support 2012-05-31 14:14:00 +01:00
r128
radeon drm/radeon: fix tiling and command stream checking on evergreen v3 2012-06-10 17:41:46 +01:00
savage drm: checking the wrong variable in savage_do_init_bci() 2012-05-17 11:42:27 +01:00
sis
tdfx
ttm drm/ttm: Fix spinlock imbalance 2012-06-01 17:00:19 +01:00
udl udl: support vmapping imported dma-bufs 2012-05-31 14:13:59 +01:00
via
vmwgfx drm/vmwgfx: Fix nasty write past alloced memory area 2012-06-01 17:00:20 +01:00
ati_pcigart.c
drm_agpsupport.c
drm_auth.c
drm_buffer.c
drm_bufs.c VM: add "vm_mmap()" helper function 2012-04-20 17:29:13 -07:00
drm_cache.c Merge branch 'drm-intel-next' of git://people.freedesktop.org/~danvet/drm-intel into drm-core-next 2012-04-12 10:27:01 +01:00
drm_context.c drm: Unify and fix idr error handling 2012-04-24 09:50:20 +01:00
drm_crtc.c drm: Use stdint types for consistency 2012-05-29 11:07:09 +01:00
drm_crtc_helper.c drm: Don't initialize local ret variable when not needed 2012-05-22 10:32:58 +01:00
drm_debugfs.c
drm_dma.c
drm_dp_i2c_helper.c
drm_drv.c drm: add generic ioctls to get/set properties on any object 2012-05-17 11:11:22 +01:00
drm_edid.c drm/edid: Make the header fixup threshold tunable 2012-06-01 17:00:23 +01:00
drm_edid_load.c drm: Don't initialize local ret variable when not needed 2012-05-22 10:32:58 +01:00
drm_edid_modes.h drm: replace open-coded ARRAY_SIZE with macro 2012-04-20 13:12:16 +01:00
drm_encoder_slave.c
drm_fb_helper.c drm: Make the CRTC gamma_set operation optional 2012-05-22 10:35:15 +01:00
drm_fops.c drm: Releasing FBs before releasing GEM objects during drm_release 2012-04-19 14:40:41 +01:00
drm_gem.c drm/prime: add exported buffers to current fprivs imported buffer list (v2) 2012-05-23 10:46:03 +01:00
drm_global.c
drm_hashtab.c
drm_info.c
drm_ioc32.c
drm_ioctl.c drm/prime: expose capability flags for userspace. 2012-05-18 11:12:16 +01:00
drm_irq.c drm: Don't initialize local ret variable when not needed 2012-05-22 10:32:58 +01:00
drm_lock.c drm: Don't initialize local ret variable when not needed 2012-05-22 10:32:58 +01:00
drm_memory.c
drm_mm.c
drm_modes.c
drm_pci.c
drm_platform.c
drm_prime.c drm/prime: add exported buffers to current fprivs imported buffer list (v2) 2012-05-23 10:46:03 +01:00
drm_proc.c
drm_scatter.c
drm_stub.c drm: Don't initialize local ret variable when not needed 2012-05-22 10:32:58 +01:00
drm_sysfs.c drm: Miscellaneous typo fixes and documentation updates 2012-05-22 10:34:33 +01:00
drm_trace.h
drm_trace_points.c
drm_usb.c drm/usb: fix module license on drm/usb layer. 2012-04-19 09:33:32 +01:00
drm_vm.c drm: pass dev to drm_vm_{open,close}_locked() 2012-05-11 17:37:46 +01:00
Kconfig drm/kms: driver for virtual cirrus under qemu 2012-05-17 11:02:24 +01:00
Makefile drm/kms: driver for virtual cirrus under qemu 2012-05-17 11:02:24 +01:00
README.drm

************************************************************
* For the very latest on DRI development, please see:      *
*     http://dri.freedesktop.org/                          *
************************************************************

The Direct Rendering Manager (drm) is a device-independent kernel-level
device driver that provides support for the XFree86 Direct Rendering
Infrastructure (DRI).

The DRM supports the Direct Rendering Infrastructure (DRI) in four major
ways:

    1. The DRM provides synchronized access to the graphics hardware via
       the use of an optimized two-tiered lock.

    2. The DRM enforces the DRI security policy for access to the graphics
       hardware by only allowing authenticated X11 clients access to
       restricted regions of memory.

    3. The DRM provides a generic DMA engine, complete with multiple
       queues and the ability to detect the need for an OpenGL context
       switch.

    4. The DRM is extensible via the use of small device-specific modules
       that rely extensively on the API exported by the DRM module.


Documentation on the DRI is available from:
    http://dri.freedesktop.org/wiki/Documentation
    http://sourceforge.net/project/showfiles.php?group_id=387
    http://dri.sourceforge.net/doc/

For specific information about kernel-level support, see:

    The Direct Rendering Manager, Kernel Support for the Direct Rendering
    Infrastructure
    http://dri.sourceforge.net/doc/drm_low_level.html

    Hardware Locking for the Direct Rendering Infrastructure
    http://dri.sourceforge.net/doc/hardware_locking_low_level.html

    A Security Analysis of the Direct Rendering Infrastructure
    http://dri.sourceforge.net/doc/security_low_level.html