Bug#783153: xserver-xorg: The window freeze, Xorg.0.log contains : AIGLX: Suspending AIGLX clients for VT switch

2015-04-22 Thread jpp
Package: xserver-xorg
Version: 1:7.7+7
Severity: important

Dear Maintainer,

I get a window freeze with a message in X log's file :
AIGLX: Suspending AIGLX clients for VT switch

I get that message when I have two SSH sessions (ssh -X)  open on two different 
machines
and when I use X software, mostly vim-gtk. at some time moving through window 
the X
session is locked and I can only restart X connecting through ssh from another 
machine.
I was connected to 2 different VM, one on the current machine (KVM), the other 
on
another hardware (XEN).
I get the same problem working with the 2 same VM from the XEN machine.
  
The Xorg.conf is new since the first time I get some problems (result of "X 
-configurei"

The two different machines :
1) i3-3220 CPU @ 3.30GHz
   No specific videocard, using video from CPU using "intel" driver
   8G Ram
   upgraded from Wheezy to jessie last week

2) AMD Phenom(tm) II X4 905e Processor
   video card : NVIDIA Corporation G94 [GeForce 9600 GT] (rev a1)
   using "nouveau" driver
   16 G Ram
   using jessie since more than 1 year.

The machine are kept "uptodate" at least once a week, I never get that problem
before.
I try with different kernels (3.16 standard from Debian, 3.19.5 and even 4.0.0)
getting always the lock after some (??) time.


Regards

JP P

-- Package-specific info:
X server symlink status:

lrwxrwxrwx 1 root root 13 May 24  2014 /etc/X11/X -> /usr/bin/Xorg
-rwxr-xr-x 1 root root 2401376 Feb 11 01:35 /usr/bin/Xorg

VGA-compatible devices on PCI bus:
--
00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v2/3rd 
Gen Core processor Graphics Controller [8086:0152] (rev 09)

Xorg X server configuration file status:

-rw-r--r-- 1 root root 2654 Apr 18 23:01 /etc/X11/xorg.conf

Contents of /etc/X11/xorg.conf:
---
Section "ServerLayout"
Identifier "X.org Configured"
Screen  0  "Screen0" 0 0
InputDevice"Mouse0" "CorePointer"
InputDevice"Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
ModulePath   "/usr/lib/xorg/modules"
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/share/fonts/X11/cyrillic"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
FontPath "built-ins"
EndSection

Section "Module"
Load  "glx"
EndSection

Section "InputDevice"
Identifier  "Keyboard0"
Driver  "kbd"
EndSection

Section "InputDevice"
Identifier  "Mouse0"
Driver  "mouse"
Option  "Protocol" "auto"
Option  "Device" "/dev/input/mice"
Option  "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
Identifier   "Monitor0"
VendorName   "Monitor Vendor"
ModelName"Monitor Model"
EndSection

Section "Device"
### Available Driver options are:-
### Values: : integer, : float, : "True"/"False",
### : "String", : " Hz/kHz/MHz",
### : "%"
### [arg]: arg optional
#Option "NoAccel"   # []
#Option "AccelMethod"   # 
#Option "Backlight" # 
#Option "DRI"   # 
#Option "ColorKey"  # 
#Option "VideoKey"  # 
#Option "Tiling"# []
#Option "LinearFramebuffer" # []
#Option "SwapbuffersWait"   # []
#Option "TripleBuffer"  # []
#Option "XvPreferOverlay"   # []
#Option "HotPlug"   # []
#Option "ReprobeOutputs"# []
#Option "XvMC"  # []
#Option "ZaphodHeads"   # 
#Option "TearFree"  # []
#Option "PerCrtcPixmaps"# []
#Option "FallbackDebug" # []
#Option "DebugFlushBatches" # []
#Option "DebugFlushCaches"  # []
#Option "DebugWait" # []
#Option "BufferCache"   # []
Identifier  "Card0"
Driver  "intel"
BusID   "PCI:0:2:0"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor"Monitor0"
SubSection "Display"
Viewport   0 0
Depth 24
EndSubSection
EndSection


Contents of /etc/X11/xorg.conf.d:
-
total 0

/etc/modprobe.d contains no KMS configuration files.

Kernel version (/proc/version):

Re: Request for review: xorg-server 2:1.7.7-18+deb6u2 (CVE-2015-0255)

2015-04-22 Thread Mike Gabriel

Hi again...

On  Mi 22 Apr 2015 14:31:40 CEST, Mike Gabriel wrote:


Debdiff is attached to this mail. The .dsc file can be obtained via [1].


and here comes the missing .debdiff...

Mike
--

mike gabriel aka sunweaver (Debian Developer)
fon: +49 (1520) 1976 148

GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22  0782 9AF4 6B30 2577 1B31
mail: sunwea...@debian.org, http://sunweavers.net

diff -u xorg-server-1.7.7/debian/changelog xorg-server-1.7.7/debian/changelog
--- xorg-server-1.7.7/debian/changelog
+++ xorg-server-1.7.7/debian/changelog
@@ -1,3 +1,12 @@
+xorg-server (2:1.7.7-18+deb6u2) squeeze-lts; urgency=high
+
+  * Non-maintainer upload by Debian LTS Team.
+  * debian/patches:
++ Add 30-CVE-2015-0255.patch. Don't swap XkbSetGeometry data in the
+  input buffer, check strings length against request size (CVE-2015-0255).
+
+ -- Mike Gabriel   Wed, 22 Apr 2015 11:45:21 +0200
+
 xorg-server (2:1.7.7-18+deb6u1) squeeze-lts; urgency=high
 
   * Non-maintainer upload by the Debian LTS Team.
diff -u xorg-server-1.7.7/debian/patches/series 
xorg-server-1.7.7/debian/patches/series
--- xorg-server-1.7.7/debian/patches/series
+++ xorg-server-1.7.7/debian/patches/series
@@ -58,0 +59 @@
+30-CVE-2015-0255.patch
only in patch2:
unchanged:
--- xorg-server-1.7.7.orig/debian/patches/30-CVE-2015-0255.patch
+++ xorg-server-1.7.7/debian/patches/30-CVE-2015-0255.patch
@@ -0,0 +1,175 @@
+Description: fix information leak and denial of service in XkbSetGeometry
+Origin: backport, 
http://cgit.freedesktop.org/xorg/xserver/commit/?id=81c90dc8f0aae3b65730409b1b615b5fa7280ebd
+Origin: backport, 
http://cgit.freedesktop.org/xorg/xserver/commit/?id=20079c36cf7d377938ca5478447d8b9045cb7d43
+
+--- a/xkb/xkb.c
 b/xkb/xkb.c
+@@ -4819,27 +4819,30 @@
+ 
+ /******/
+ 
+-static char *
+-_GetCountedString(char **wire_inout,Bool swap)
++static Status
++_GetCountedString(char **wire_inout,ClientPtr client, char **str)
+ {
+-char *wire,*str;
+-CARD16len,*plen;
++char*wire,*next;
++CARD16len;
+ 
+ wire= *wire_inout;
+-plen= (CARD16 *)wire;
+-if (swap) {
++len = *(CARD16 *) wire;
++if (client->swapped) {
+   register int n;
+-  swaps(plen,n);
+-}
+-len= *plen;
+-str= xalloc(len+1);
+-if (str) {
+-  memcpy(str,&wire[2],len);
+-  str[len]= '\0';
++  swaps(&len,n);
+ }
+-wire+= XkbPaddedSize(len+2);
+-*wire_inout= wire;
+-return str;
++next = wire + XkbPaddedSize(len + 2);
++/* Check we're still within the size of the request */
++if (client->req_len <
++  bytes_to_int32(next - (char *) client->requestBuffer))
++  return BadValue;
++*str = malloc(len + 1);
++if (!*str)
++  return BadAlloc;
++memcpy(*str, &wire[2], len);
++*(*str + len) = '\0';
++*wire_inout = next;
++return Success;
+ }
+ 
+ static Status
+@@ -4850,26 +4853,30 @@
+ {
+ char *wire;
+ xkbDoodadWireDesc *   dWire;
++xkbAnyDoodadWireDesc  any;
++xkbTextDoodadWireDesc text;
+ XkbDoodadPtr  doodad;
++Statusstatus;
+ 
+ dWire= (xkbDoodadWireDesc *)(*wire_inout);
++any = dWire->any;
+ wire= (char *)&dWire[1];
+ if (client->swapped) {
+   register int n;
+-  swapl(&dWire->any.name,n);
+-  swaps(&dWire->any.top,n);
+-  swaps(&dWire->any.left,n);
+-  swaps(&dWire->any.angle,n);
++  swapl(&any.name,n);
++  swaps(&any.top,n);
++  swaps(&any.left,n);
++  swaps(&any.angle,n);
+ }
+ CHK_ATOM_ONLY(dWire->any.name);
+-doodad= XkbAddGeomDoodad(geom,section,dWire->any.name);
++doodad= XkbAddGeomDoodad(geom,section,any.name);
+ if (!doodad)
+   return BadAlloc;
+ doodad->any.type= dWire->any.type;
+ doodad->any.priority= dWire->any.priority;
+-doodad->any.top= dWire->any.top;
+-doodad->any.left= dWire->any.left;
+-doodad->any.angle= dWire->any.angle;
++doodad->any.top= any.top;
++doodad->any.left= any.left;
++doodad->any.angle= any.angle;
+ switch (doodad->any.type) {
+   case XkbOutlineDoodad:
+   case XkbSolidDoodad:
+@@ -4892,16 +4899,23 @@
+   dWire->text.colorNdx);
+   return BadMatch;
+   }
++  text = dWire->text;
+   if (client->swapped) {
+   register int n;
+-  swaps(&dWire->text.width,n);
+-  swaps(&dWire->text.height,n);
++  swaps(&text.width,n);
++  swaps(&text.height,n);
+   }
+-  doodad->text.width= dWire->text.width;
+-  doodad->text.height= dWire->text.height;
++  doodad->text.width= text.width;
++  doodad->text.height= text.height;
+   doodad->text.color_ndx= dWire->text.colorNdx;
+-  doodad->text.text= _GetCountedString(&wire,client->swapped);
+-  doodad->text.font= _GetCountedStrin

Request for review: xorg-server 2:1.7.7-18+deb6u2 (CVE-2015-0255)

2015-04-22 Thread Mike Gabriel

Hi all,

as breaking xorg-server in squeeze-lts is something that should not  
happen, I'd appreciate someone from the LTS team or the X Strike Force  
to review my squeeze-lts upload candidate for xorg-server  
2:1.7.7-18+deb6u2 (fixing CVE 2015-0255).


Debdiff is attached to this mail. The .dsc file can be obtained via [1].

I assembled the patch from looking at the upstream commits referenced,  
the latest security upload to Ubuntu precise and Debian wheezy.


I tested the new package version on a Debian Edu squeeze machine and  
could not see any regressions or problems.


Happy about some feedback,
Mike

[1]  
http://packages.it-zukunft-schule.de/debian/pool/main/x/xorg-server/xorg-server_1.7.7-18+deb6u2.dsc

--

mike gabriel aka sunweaver (Debian Developer)
fon: +49 (1520) 1976 148

GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22  0782 9AF4 6B30 2577 1B31
mail: sunwea...@debian.org, http://sunweavers.net



pgpW0UJJLIkbd.pgp
Description: Digitale PGP-Signatur


xserver-xorg-video-intel: Changes to 'debian-experimental'

2015-04-22 Thread Timo Aaltonen
 configure.ac   |   83 +-
 debian/changelog   |3 
 src/backlight.c|2 
 src/compat-api.h   |   23 
 src/i915_pciids.h  |   32 -
 src/intel_device.c |   20 
 src/intel_driver.h |1 
 src/intel_module.c |   11 
 src/intel_options.c|   86 ++
 src/intel_options.h|2 
 src/legacy/i810/i810_memory.c  |6 
 src/sna/blt.c  |  361 
 src/sna/compiler.h |2 
 src/sna/gen2_render.c  |6 
 src/sna/gen3_render.c  |   12 
 src/sna/gen4_render.c  |8 
 src/sna/gen5_render.c  |6 
 src/sna/gen6_common.h  |  110 +--
 src/sna/gen6_render.c  |   22 
 src/sna/gen7_render.c  |   37 -
 src/sna/gen8_render.c  |   34 -
 src/sna/kgem.c |  138 +++-
 src/sna/kgem.h |   26 
 src/sna/sna.h  |   57 +
 src/sna/sna_accel.c|  239 +---
 src/sna/sna_blt.c  |   71 +-
 src/sna/sna_composite.c|  104 ++-
 src/sna/sna_display.c  | 1103 -
 src/sna/sna_display_fake.c |3 
 src/sna/sna_dri2.c |  706 +--
 src/sna/sna_driver.c   |  233 +++
 src/sna/sna_glyphs.c   |2 
 src/sna/sna_present.c  |  383 ++--
 src/sna/sna_render.c   |4 
 src/sna/sna_render_inline.h|6 
 src/sna/sna_trapezoids_imprecise.c |  340 ---
 src/sna/sna_trapezoids_mono.c  |   73 +-
 src/sna/sna_trapezoids_precise.c   |  340 ---
 src/sna/sna_video.c|   66 ++
 src/sna/sna_video.h|3 
 src/sna/sna_video_overlay.c|   12 
 src/sna/sna_video_sprite.c |9 
 src/sna/sna_video_textured.c   |5 
 src/sna/xassert.h  |   11 
 src/uxa/i965_video.c   |1 
 src/uxa/intel.h|   16 
 src/uxa/intel_display.c|  115 +--
 src/uxa/intel_dri.c|  484 +---
 src/uxa/intel_driver.c |   23 
 src/uxa/intel_present.c|   24 
 test/dri2-race.c   |  274 -
 test/dri2-test.c   |   30 -
 test/present-test.c| 1065 ++-
 tools/.gitignore   |4 
 tools/Makefile.am  |   15 
 tools/cursor.c |  108 +++
 tools/dri3info.c   |  139 
 tools/virtual.c|   18 
 58 files changed, 5233 insertions(+), 1884 deletions(-)

New commits:
commit fc50dfa7938f9550352da3bf321bfa1bd56e4240
Author: Timo Aaltonen 
Date:   Fri Mar 20 10:59:03 2015 +0200

bump the version

diff --git a/debian/changelog b/debian/changelog
index 7f101bd..2643758 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,6 @@
-xserver-xorg-video-intel (2:2.99.917-1~exp2) UNRELEASED; urgency=medium
+xserver-xorg-video-intel (2:2.99.917+git20150320-1~exp1) UNRELEASED; 
urgency=medium
 
+  * New snapshot.
   * rules: Fix valgrind-enabling check.
   * README.source: Mention that dpkg-source complains about symlinks
 which are real files on the tarball, and add a command to clean

commit 7fe2b2948652443ff43d907855bd7a051d54d309
Author: Chris Wilson 
Date:   Thu Mar 19 23:14:17 2015 +

sna: Protect against ABI breakage in recent versions of libdrm

Signed-off-by: Chris Wilson 

diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 11f0828..6f16cba 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -182,6 +182,15 @@ struct local_i915_gem_caching {
 #define LOCAL_IOCTL_I915_GEM_SET_CACHING DRM_IOW(DRM_COMMAND_BASE + 
LOCAL_I915_GEM_SET_CACHING, struct local_i915_gem_caching)
 #define LOCAL_IOCTL_I915_GEM_GET_CACHING DRM_IOW(DRM_COMMAND_BASE + 
LOCAL_I915_GEM_GET_CACHING, struct local_i915_gem_caching)
 
+struct local_i915_gem_mmap {
+   uint32_t handle;
+   uint32_t pad;
+   uint64_t offset;
+   uint64_t size;
+   uint64_t addr_ptr;
+};
+#define LOCAL_IOCTL_I915_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + 
DRM_I915_GEM_MMAP, struct local_i915_gem_mmap)
+
 struct local_i915_gem_mmap2 {
uint32_t handle;
uint32_t pad;
@@ -514,15 +523,15 @@ retry_wc:
 
 static void *__kgem_bo_map__cpu(struct kgem *kgem, struct kgem_bo *bo)
 {
-   struct drm_i915_gem_mmap mmap_arg;
+   struct local_i915_gem_mmap arg;
int err;
 
 retry:
-   VG_CLEAR(mmap_arg);
-   mmap_arg.handle = bo->handle;
-   mmap_arg.offset = 0;
-   mmap_arg.size = bytes(bo);
-   if ((err = do_ioctl(kgem->fd, DRM_IOCTL_I915_GEM_MMAP, &mmap_arg))) {
+   VG_CLEAR(arg);
+   arg.handle = bo->handle;
+   arg.offset = 0;
+   arg.size = bytes(

xserver-xorg-video-intel: Changes to 'upstream-experimental'

2015-04-22 Thread Timo Aaltonen
 configure.ac   |   83 +-
 src/backlight.c|2 
 src/compat-api.h   |   23 
 src/i915_pciids.h  |   32 -
 src/intel_device.c |   20 
 src/intel_driver.h |1 
 src/intel_module.c |   11 
 src/intel_options.c|   86 ++
 src/intel_options.h|2 
 src/legacy/i810/i810_memory.c  |6 
 src/sna/blt.c  |  361 
 src/sna/compiler.h |2 
 src/sna/gen2_render.c  |6 
 src/sna/gen3_render.c  |   12 
 src/sna/gen4_render.c  |8 
 src/sna/gen5_render.c  |6 
 src/sna/gen6_common.h  |  110 +--
 src/sna/gen6_render.c  |   22 
 src/sna/gen7_render.c  |   37 -
 src/sna/gen8_render.c  |   34 -
 src/sna/kgem.c |  138 +++-
 src/sna/kgem.h |   26 
 src/sna/sna.h  |   57 +
 src/sna/sna_accel.c|  239 +---
 src/sna/sna_blt.c  |   71 +-
 src/sna/sna_composite.c|  104 ++-
 src/sna/sna_display.c  | 1103 -
 src/sna/sna_display_fake.c |3 
 src/sna/sna_dri2.c |  706 +--
 src/sna/sna_driver.c   |  233 +++
 src/sna/sna_glyphs.c   |2 
 src/sna/sna_present.c  |  383 ++--
 src/sna/sna_render.c   |4 
 src/sna/sna_render_inline.h|6 
 src/sna/sna_trapezoids_imprecise.c |  340 ---
 src/sna/sna_trapezoids_mono.c  |   73 +-
 src/sna/sna_trapezoids_precise.c   |  340 ---
 src/sna/sna_video.c|   66 ++
 src/sna/sna_video.h|3 
 src/sna/sna_video_overlay.c|   12 
 src/sna/sna_video_sprite.c |9 
 src/sna/sna_video_textured.c   |5 
 src/sna/xassert.h  |   11 
 src/uxa/i965_video.c   |1 
 src/uxa/intel.h|   16 
 src/uxa/intel_display.c|  115 +--
 src/uxa/intel_dri.c|  484 +---
 src/uxa/intel_driver.c |   23 
 src/uxa/intel_present.c|   24 
 test/dri2-race.c   |  274 -
 test/dri2-test.c   |   30 -
 test/present-test.c| 1065 ++-
 tools/.gitignore   |4 
 tools/Makefile.am  |   15 
 tools/cursor.c |  108 +++
 tools/dri3info.c   |  139 
 tools/virtual.c|   18 
 57 files changed, 5231 insertions(+), 1883 deletions(-)

New commits:
commit 7fe2b2948652443ff43d907855bd7a051d54d309
Author: Chris Wilson 
Date:   Thu Mar 19 23:14:17 2015 +

sna: Protect against ABI breakage in recent versions of libdrm

Signed-off-by: Chris Wilson 

diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 11f0828..6f16cba 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -182,6 +182,15 @@ struct local_i915_gem_caching {
 #define LOCAL_IOCTL_I915_GEM_SET_CACHING DRM_IOW(DRM_COMMAND_BASE + 
LOCAL_I915_GEM_SET_CACHING, struct local_i915_gem_caching)
 #define LOCAL_IOCTL_I915_GEM_GET_CACHING DRM_IOW(DRM_COMMAND_BASE + 
LOCAL_I915_GEM_GET_CACHING, struct local_i915_gem_caching)
 
+struct local_i915_gem_mmap {
+   uint32_t handle;
+   uint32_t pad;
+   uint64_t offset;
+   uint64_t size;
+   uint64_t addr_ptr;
+};
+#define LOCAL_IOCTL_I915_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + 
DRM_I915_GEM_MMAP, struct local_i915_gem_mmap)
+
 struct local_i915_gem_mmap2 {
uint32_t handle;
uint32_t pad;
@@ -514,15 +523,15 @@ retry_wc:
 
 static void *__kgem_bo_map__cpu(struct kgem *kgem, struct kgem_bo *bo)
 {
-   struct drm_i915_gem_mmap mmap_arg;
+   struct local_i915_gem_mmap arg;
int err;
 
 retry:
-   VG_CLEAR(mmap_arg);
-   mmap_arg.handle = bo->handle;
-   mmap_arg.offset = 0;
-   mmap_arg.size = bytes(bo);
-   if ((err = do_ioctl(kgem->fd, DRM_IOCTL_I915_GEM_MMAP, &mmap_arg))) {
+   VG_CLEAR(arg);
+   arg.handle = bo->handle;
+   arg.offset = 0;
+   arg.size = bytes(bo);
+   if ((err = do_ioctl(kgem->fd, LOCAL_IOCTL_I915_GEM_MMAP, &arg))) {
assert(err != EINVAL);
 
if (__kgem_throttle_retire(kgem, 0))
@@ -536,10 +545,10 @@ retry:
return NULL;
}
 
-   VG(VALGRIND_MAKE_MEM_DEFINED(mmap_arg.addr_ptr, bytes(bo)));
+   VG(VALGRIND_MAKE_MEM_DEFINED(arg.addr_ptr, bytes(bo)));
 
DBG(("%s: caching CPU vma for %d\n", __FUNCTION__, bo->handle));
-   return bo->map__cpu = (void *)(uintptr_t)mmap_arg.addr_ptr;
+   return bo->map__cpu = (void *)(uintptr_t)arg.addr_ptr;
 }
 
 static int gem_write(int fd, uint32_t handle,

commit bacaf7f18c2f4d3b5cb6bd6145dfb79fa409

xserver-xorg-video-intel: Changes to 'ubuntu-utopic'

2015-04-22 Thread Timo Aaltonen
 debian/patches/bdw-annotate-more-64bit-pointer-locations.diff |  132 ++
 debian/patches/bdw-clamp-urb-allocations-for-gt3.diff |   38 ++
 debian/patches/series |2 
 3 files changed, 172 insertions(+)

New commits:
commit 583a3fbd9a9e51a63be5d778ca1f626e7a9eca82
Author: Timo Aaltonen 
Date:   Fri Apr 17 07:59:16 2015 +0300

wip

diff --git a/debian/patches/bdw-annotate-more-64bit-pointer-locations.diff 
b/debian/patches/bdw-annotate-more-64bit-pointer-locations.diff
new file mode 100644
index 000..3ba449b
--- /dev/null
+++ b/debian/patches/bdw-annotate-more-64bit-pointer-locations.diff
@@ -0,0 +1,132 @@
+commit de54a93217cc550c44ee138f0511ede6925d84e0
+Author: Chris Wilson 
+Date:   Wed Oct 22 19:30:21 2014 +0100
+
+sna/gen8: Annotate more 64bit pointer locations
+
+Signed-off-by: Chris Wilson 
+
+--- a/src/sna/gen8_render.c
 b/src/sna/gen8_render.c
+@@ -474,7 +474,7 @@ gen8_emit_vs_invariant(struct sna *sna)
+   OUT_BATCH(GEN8_3DSTATE_VS | (9 - 2));
+   OUT_BATCH64(0); /* no VS kernel */
+   OUT_BATCH(0);
+-  OUT_BATCH64(0);
++  OUT_BATCH64(0); /* scratch */
+   OUT_BATCH(0);
+   OUT_BATCH(1 << 1); /* pass-through */
+   OUT_BATCH(1 << 16 | 1 << 21); /* urb write to SBE */
+@@ -500,12 +500,10 @@ static void
+ gen8_emit_hs_invariant(struct sna *sna)
+ {
+   OUT_BATCH(GEN8_3DSTATE_HS | (9 - 2));
+-  OUT_BATCH(0); /* no HS kernel */
+-  OUT_BATCH(0);
+-  OUT_BATCH(0);
+-  OUT_BATCH(0);
+   OUT_BATCH(0);
+   OUT_BATCH(0);
++  OUT_BATCH64(0); /* no HS kernel */
++  OUT_BATCH64(0); /* scratch */
+   OUT_BATCH(0);
+   OUT_BATCH(0); /* pass-through */
+ 
+@@ -541,11 +539,9 @@ static void
+ gen8_emit_ds_invariant(struct sna *sna)
+ {
+   OUT_BATCH(GEN8_3DSTATE_DS | (9 - 2));
++  OUT_BATCH64(0); /* no kernel */
+   OUT_BATCH(0);
+-  OUT_BATCH(0);
+-  OUT_BATCH(0);
+-  OUT_BATCH(0);
+-  OUT_BATCH(0);
++  OUT_BATCH64(0); /* scratch */
+   OUT_BATCH(0);
+   OUT_BATCH(0);
+   OUT_BATCH(0);
+@@ -573,15 +569,13 @@ static void
+ gen8_emit_gs_invariant(struct sna *sna)
+ {
+   OUT_BATCH(GEN8_3DSTATE_GS | (10 - 2));
+-  OUT_BATCH(0); /* no GS kernel */
+-  OUT_BATCH(0);
+-  OUT_BATCH(0);
+-  OUT_BATCH(0);
++  OUT_BATCH64(0); /* no GS kernel */
+   OUT_BATCH(0);
++  OUT_BATCH64(0); /* scratch */
+   OUT_BATCH(0);
++  OUT_BATCH(0); /* pass-through */
+   OUT_BATCH(0);
+   OUT_BATCH(0);
+-  OUT_BATCH(0); /* pass-through */
+ 
+ #if SIM
+   OUT_BATCH(GEN8_3DSTATE_CONSTANT_GS | (11 - 2));
+@@ -690,13 +684,15 @@ gen8_emit_wm_invariant(struct sna *sna)
+   OUT_BATCH(WM_PERSPECTIVE_PIXEL_BARYCENTRIC);
+ 
+ #if SIM
+-  OUT_BATCH(GEN8_3DSTATE_WM_HZ_OP | (5 - 2));
++  OUT_BATCH(GEN8_3DSTATE_WM_CHROMAKEY | (2 - 2));
+   OUT_BATCH(0);
++#endif
++
++#if 0
++  OUT_BATCH(GEN8_3DSTATE_WM_HZ_OP | (5 - 2));
+   OUT_BATCH(0);
+   OUT_BATCH(0);
+   OUT_BATCH(0);
+-
+-  OUT_BATCH(GEN8_3DSTATE_WM_CHROMAKEY | (2 - 2));
+   OUT_BATCH(0);
+ #endif
+ 
+@@ -834,6 +830,7 @@ gen8_emit_cc(struct sna *sna, uint32_t b
+   } else
+   OUT_BATCH(PS_BLEND_HAS_WRITEABLE_RT);
+ 
++  assert(is_aligned(render->cc_blend + blend * 
GEN8_BLEND_STATE_PADDED_SIZE, 64));
+   OUT_BATCH(GEN8_3DSTATE_BLEND_STATE_POINTERS | (2 - 2));
+   OUT_BATCH((render->cc_blend + blend * GEN8_BLEND_STATE_PADDED_SIZE) | 
1);
+ 
+@@ -896,6 +893,9 @@ gen8_emit_wm(struct sna *sna, int kernel
+wm_kernels[kernel].name,
+wm_kernels[kernel].num_surfaces,
+kernels[0], kernels[1], kernels[2]));
++  assert(is_aligned(kernels[0], 64));
++  assert(is_aligned(kernels[1], 64));
++  assert(is_aligned(kernels[2], 64));
+ 
+   OUT_BATCH(GEN8_3DSTATE_PS | (12 - 2));
+   OUT_BATCH64(kernels[0] ?: kernels[1] ?: kernels[2]);
+@@ -1185,8 +1185,8 @@ static bool gen8_magic_ca_pass(struct sn
+ true, true,
+ op->is_affine));
+ 
+-  OUT_BATCH(GEN8_3DPRIMITIVE | (7- 2));
+-  OUT_BATCH(RECTLIST); /* ignored, see VF_TOPOLOGY */
++  OUT_BATCH(GEN8_3DPRIMITIVE | (7 - 2));
++  OUT_BATCH(0); /* ignored, see VF_TOPOLOGY */
+   OUT_BATCH(sna->render.vertex_index - sna->render.vertex_start);
+   OUT_BATCH(sna->render.vertex_start);
+   OUT_BATCH(1);   /* single instance */
+@@ -1371,7 +1371,7 @@ static void gen8_emit_primitive(struct s
+   }
+ 
+   OUT_BATCH(GEN8_3DPRIMITIVE | (7 - 2));
+-  OUT_BATCH(RECTLIST); /* ignored, see VF_TOPOLOGY */
++  OUT_BATCH(0); /* ignored, see VF_TOPOLOGY */
+   sna->render.vertex_offset = sna->kgem.nbatch;
+   OUT_BATCH(0);   /* vertex count, to be filled in later */
+   OUT_BATCH(sna->render.vertex_index);
+@@ -1712,6 +1712,7 @@ gen8_create_blend_state(struct sna_s

xserver-xorg-video-intel: Changes to 'ubuntu-trusty'

2015-04-22 Thread Timo Aaltonen
 debian/changelog |7 
 debian/patches/series|1 
 debian/patches/sna-mark-the-chv-vsync-method-as-unknown.diff |   79 +++
 3 files changed, 87 insertions(+)

New commits:
commit 74fc25242ee851cddbd9f8281ca8ab0c855cdb2e
Author: Timo Aaltonen 
Date:   Fri Apr 17 08:02:56 2015 +0300

sna-mark-the-chv-vsync-method-as-unknown.diff: Fix video playback on CHV. 
(LP: #1445221)

diff --git a/debian/changelog b/debian/changelog
index 9173a6c..c451dc3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xserver-xorg-video-intel (2:2.99.910-0ubuntu1.6) trusty-proposed; 
urgency=medium
+
+  * sna-mark-the-chv-vsync-method-as-unknown.diff: Fix video playback
+on CHV. (LP: #1445221)
+
+ -- Timo Aaltonen   Fri, 17 Apr 2015 08:00:47 +0300
+
 xserver-xorg-video-intel (2:2.99.910-0ubuntu1.5) trusty-proposed; 
urgency=medium
 
   * bdw-annotate-more-64bit-pointer-locations.diff
diff --git a/debian/patches/series b/debian/patches/series
index d59c64f..936f609 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -28,3 +28,4 @@ sna-add-more-checks-and-asserts-for-blt.diff
 fix-sna-external-slave-rotation.patch
 bdw-annotate-more-64bit-pointer-locations.diff
 bdw-clamp-urb-allocations-for-gt3.diff
+sna-mark-the-chv-vsync-method-as-unknown.diff
diff --git a/debian/patches/sna-mark-the-chv-vsync-method-as-unknown.diff 
b/debian/patches/sna-mark-the-chv-vsync-method-as-unknown.diff
new file mode 100644
index 000..1e90381
--- /dev/null
+++ b/debian/patches/sna-mark-the-chv-vsync-method-as-unknown.diff
@@ -0,0 +1,79 @@
+commit 2afeef0c3ffeae768198fc08c9f365ccd28b7f5d
+Author: Chris Wilson 
+Date:   Thu May 15 11:28:48 2014 +0100
+
+sna: Mark the CHV vsync method as unknown
+
+Similar to the story with Baytrail, vsync is a lost art.
+
+Signed-off-by: Chris Wilson 
+
+--- a/src/sna/sna_display.c
 b/src/sna/sna_display.c
+@@ -4209,52 +4209,6 @@ static bool sna_emit_wait_for_scanline_h
+   return true;
+ }
+ 
+-static bool sna_emit_wait_for_scanline_vlv(struct sna *sna,
+- xf86CrtcPtr crtc,
+- int pipe, int y1, int y2,
+- bool full_height)
+-{
+-  uint32_t display_base = 0x18;
+-  uint32_t event;
+-  uint32_t *b;
+-
+-  return false; /* synchronisation? I've heard of that */
+-
+-  if (!sna->kgem.has_secure_batches)
+-  return false;
+-
+-  assert(y1 >= 0);
+-  assert(y2 > y1);
+-  assert(sna->kgem.mode);
+-
+-  /* Always program one less than the desired value */
+-  if (--y1 < 0)
+-  y1 = crtc->bounds.y2;
+-  y2--;
+-
+-  b = kgem_get_batch(&sna->kgem);
+-  sna->kgem.nbatch += 4;
+-
+-  if (pipe == 0) {
+-  if (full_height)
+-  event = MI_WAIT_FOR_PIPEA_SVBLANK;
+-  else
+-  event = MI_WAIT_FOR_PIPEA_SCAN_LINE_WINDOW;
+-  } else {
+-  if (full_height)
+-  event = MI_WAIT_FOR_PIPEB_SVBLANK;
+-  else
+-  event = MI_WAIT_FOR_PIPEB_SCAN_LINE_WINDOW;
+-  }
+-  b[0] = MI_LOAD_REGISTER_IMM | 1;
+-  b[1] = display_base + 0x70004 + 0x1000 * pipe;
+-  b[2] = (1 << 31) | (y1 << 16) | y2;
+-  b[3] = MI_WAIT_FOR_EVENT | event;
+-
+-  sna->kgem.batch_flags |= I915_EXEC_SECURE;
+-  return true;
+-}
+-
+ static bool sna_emit_wait_for_scanline_ivb(struct sna *sna,
+  xf86CrtcPtr crtc,
+  int pipe, int y1, int y2,
+@@ -4472,10 +4426,12 @@ sna_wait_for_scanline(struct sna *sna,
+ 
+   if (sna->kgem.gen >= 0110)
+   ret = false;
++  else if (sna->kgem.gen == 0101)
++  ret = false; /* chv, vsync method unknown */
+   else if (sna->kgem.gen >= 075)
+   ret = sna_emit_wait_for_scanline_hsw(sna, crtc, pipe, y1, y2, 
full_height);
+   else if (sna->kgem.gen == 071)
+-  ret = sna_emit_wait_for_scanline_vlv(sna, crtc, pipe, y1, y2, 
full_height);
++  ret = false; /* vlv, vsync method unknown */
+   else if (sna->kgem.gen >= 070)
+   ret = sna_emit_wait_for_scanline_ivb(sna, crtc, pipe, y1, y2, 
full_height);
+   else if (sna->kgem.gen >= 060)


-- 
To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/e1ykt4f-0001yd...@moszumanska.debian.org



xserver-xorg-video-intel: Changes to 'pristine-tar'

2015-04-22 Thread Timo Aaltonen
 xserver-xorg-video-intel_2.99.917+git20150320.orig.tar.gz.delta |binary
 xserver-xorg-video-intel_2.99.917+git20150320.orig.tar.gz.id|1 +
 2 files changed, 1 insertion(+)

New commits:
commit 93359e0b3ceb9a84de734f7120360cf32919fb12
Author: Timo Aaltonen 
Date:   Fri Mar 20 10:59:16 2015 +0200

pristine-tar data for 
xserver-xorg-video-intel_2.99.917+git20150320.orig.tar.gz

diff --git a/xserver-xorg-video-intel_2.99.917+git20150320.orig.tar.gz.delta 
b/xserver-xorg-video-intel_2.99.917+git20150320.orig.tar.gz.delta
new file mode 100644
index 000..37b4761
Binary files /dev/null and 
b/xserver-xorg-video-intel_2.99.917+git20150320.orig.tar.gz.delta differ
diff --git a/xserver-xorg-video-intel_2.99.917+git20150320.orig.tar.gz.id 
b/xserver-xorg-video-intel_2.99.917+git20150320.orig.tar.gz.id
new file mode 100644
index 000..22c6a43
--- /dev/null
+++ b/xserver-xorg-video-intel_2.99.917+git20150320.orig.tar.gz.id
@@ -0,0 +1 @@
+825db7771ba6508686d4b96cbb3cc7b1a191beb3


-- 
To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/e1ykt4f-0001yl...@moszumanska.debian.org