xf86-video-intel: 3 commits - src/i915_pciids.h src/sna/sna_display.c src/sna/sna_dri2.c

Chris Wilson ickle at kemper.freedesktop.org
Fri Jul 1 16:26:55 UTC 2016


 src/i915_pciids.h     |   10 ++++------
 src/sna/sna_display.c |    9 +++------
 src/sna/sna_dri2.c    |    6 +++---
 3 files changed, 10 insertions(+), 15 deletions(-)

New commits:
commit 784dc0228a61661ecb1c3e7b2279bf3811d1309d
Author: Rodrigo Vivi <rodrigo.vivi at intel.com>
Date:   Tue Jun 28 17:02:32 2016 -0700

    pciids: Removing PCI IDs that are no longer listed as Kabylake.
    
    This is unusual. Usually IDs listed on early stages of platform
    definition are kept there as reserved for later use.
    
    However these IDs here are not listed anymore in any of steppings
    and devices IDs tables for Kabylake on configurations overview
    section of BSpec.
    
    So it is better removing them before they become used in any
    other future platform.
    
    It reflects kernel:
    commit a922eb8d4581c883c37ce6e12dca9ff2cb1ea723
    Author: Rodrigo Vivi <rodrigo.vivi at intel.com>
    Date:   Thu Jun 23 14:50:36 2016 -0700
        drm/i915: Removing PCI IDs that are no longer listed as Kabylake.
    
    Cc: Chris Wilson <chris at chris-wilson.co.uk>
    Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan at intel.com>
    Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/i915_pciids.h b/src/i915_pciids.h
index 87dde1c..33466bf 100644
--- a/src/i915_pciids.h
+++ b/src/i915_pciids.h
@@ -325,15 +325,10 @@
 #define INTEL_KBL_GT3_IDS(info) \
 	INTEL_VGA_DEVICE(0x5923, info), /* ULT GT3 */ \
 	INTEL_VGA_DEVICE(0x5926, info), /* ULT GT3 */ \
-	INTEL_VGA_DEVICE(0x5927, info), /* ULT GT3 */ \
-	INTEL_VGA_DEVICE(0x592B, info), /* Halo GT3 */ \
-	INTEL_VGA_DEVICE(0x592A, info) /* SRV GT3 */
+	INTEL_VGA_DEVICE(0x5927, info) /* ULT GT3 */
 
 #define INTEL_KBL_GT4_IDS(info) \
-	INTEL_VGA_DEVICE(0x5932, info), /* DT  GT4 */ \
-	INTEL_VGA_DEVICE(0x593B, info), /* Halo GT4 */ \
-	INTEL_VGA_DEVICE(0x593A, info), /* SRV GT4 */ \
-	INTEL_VGA_DEVICE(0x593D, info)  /* WKS GT4 */
+	INTEL_VGA_DEVICE(0x593B, info) /* Halo GT4 */
 
 #define INTEL_KBL_IDS(info) \
 	INTEL_KBL_GT1_IDS(info), \
commit 97be00cb38ac508acc1dbbfda4835d32b0445fa4
Author: Rodrigo Vivi <rodrigo.vivi at intel.com>
Date:   Tue Jun 28 17:02:31 2016 -0700

    pciids: Add more Kabylake PCI IDs.
    
    The spec has been updated adding new PCI IDs.
    
    In parity with kernel:
    commit 33d9391d3020e069dca98fa87a604c037beb2b9e
    Author: Rodrigo Vivi <rodrigo.vivi at intel.com>
    Date:   Thu Jun 23 14:50:35 2016 -0700
    
        drm/i915: Add more Kabylake PCI IDs.
    
    Cc: Chris Wilson <chris at chris-wilson.co.uk>
    Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan at intel.com>
    Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/i915_pciids.h b/src/i915_pciids.h
index 9094599..87dde1c 100644
--- a/src/i915_pciids.h
+++ b/src/i915_pciids.h
@@ -309,6 +309,7 @@
 	INTEL_VGA_DEVICE(0x5906, info), /* ULT GT1 */ \
 	INTEL_VGA_DEVICE(0x590E, info), /* ULX GT1 */ \
 	INTEL_VGA_DEVICE(0x5902, info), /* DT  GT1 */ \
+	INTEL_VGA_DEVICE(0x5908, info), /* Halo GT1 */ \
 	INTEL_VGA_DEVICE(0x590B, info), /* Halo GT1 */ \
 	INTEL_VGA_DEVICE(0x590A, info) /* SRV GT1 */
 
@@ -322,7 +323,9 @@
 	INTEL_VGA_DEVICE(0x591D, info) /* WKS GT2 */
 
 #define INTEL_KBL_GT3_IDS(info) \
+	INTEL_VGA_DEVICE(0x5923, info), /* ULT GT3 */ \
 	INTEL_VGA_DEVICE(0x5926, info), /* ULT GT3 */ \
+	INTEL_VGA_DEVICE(0x5927, info), /* ULT GT3 */ \
 	INTEL_VGA_DEVICE(0x592B, info), /* Halo GT3 */ \
 	INTEL_VGA_DEVICE(0x592A, info) /* SRV GT3 */
 
commit bc369bbf4aed9df3c802bf8759bbdcdd1232f893
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Tue Jun 28 12:26:55 2016 +0100

    sna: Avoid recursion by testing shadow.wait
    
    References: https://bugs.freedesktop.org/show_bug.cgi?id=96695
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 2ec9835..e9f3707 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -1538,12 +1538,12 @@ static bool wait_for_shadow(struct sna *sna,
 	assert(priv->move_to_gpu_data == sna);
 	assert(sna->mode.shadow != priv->gpu_bo);
 
-	if (flags == 0 || pixmap != sna->front)
+	if (flags == 0 || pixmap != sna->front || !sna->mode.shadow_enabled)
 		goto done;
 
-	if (!sna->mode.shadow_enabled)
-		return ret;
 	assert(sna->mode.shadow_damage);
+	if (sna->mode.shadow_wait)
+		return ret;
 
 	if ((flags & MOVE_WRITE) == 0) {
 		if ((flags & __MOVE_SCANOUT) == 0) {
@@ -1586,7 +1586,6 @@ static bool wait_for_shadow(struct sna *sna,
 
 	assert(sna->mode.shadow_active);
 	sna->mode.shadow_wait = true;
-	sna->mode.shadow_enabled = false;
 
 	flip_active = sna->mode.flip_active;
 	if (flip_active) {
@@ -1638,10 +1637,8 @@ static bool wait_for_shadow(struct sna *sna,
 			bo = sna->mode.shadow;
 		}
 	}
-	assert(!sna->mode.shadow_enabled);
 	assert(sna->mode.shadow_wait);
 	sna->mode.shadow_wait = false;
-	sna->mode.shadow_enabled = true;
 
 	if (bo->refcnt > 1) {
 		bo = kgem_create_2d(&sna->kgem,
diff --git a/src/sna/sna_dri2.c b/src/sna/sna_dri2.c
index dd4598c..3838468 100644
--- a/src/sna/sna_dri2.c
+++ b/src/sna/sna_dri2.c
@@ -2513,7 +2513,7 @@ static void chain_swap(struct sna_dri2_event *chain)
 	switch (chain->type) {
 	case SWAP_COMPLETE:
 		DBG(("%s: emitting chained vsync'ed blit\n", __FUNCTION__));
-		if (chain->sna->mode.shadow && chain->sna->mode.shadow_wait) {
+		if (chain->sna->mode.shadow_wait) {
 			/* recursed from wait_for_shadow(), simply requeue */
 			DBG(("%s -- recursed from wait_for_shadow(), requeuing\n", __FUNCTION__));
 			if (sna_next_vblank(chain))
@@ -2608,7 +2608,7 @@ void sna_dri2_vblank_handler(struct drm_event_vblank *event)
 		/* else fall through to blit */
 	case SWAP:
 		assert(info->signal);
-		if (sna->mode.shadow && sna->mode.shadow_wait) {
+		if (sna->mode.shadow_wait) {
 			/* recursed from wait_for_shadow(), simply requeue */
 			DBG(("%s -- recursed from wait_for_shadow(), requeuing\n", __FUNCTION__));
 		} else if (can_xchg(info->sna, draw, info->front, info->back)) {
@@ -2654,7 +2654,7 @@ void sna_dri2_vblank_handler(struct drm_event_vblank *event)
 			     info->pending.bo->handle, info->pending.name, info->pending.bo->active_scanout,
 			     get_private(info->front)->bo->handle, info->front->name, get_private(info->front)->bo->active_scanout));
 
-			if (sna->mode.shadow && sna->mode.shadow_wait) {
+			if (sna->mode.shadow_wait) {
 				/* recursed from wait_for_shadow(), simply requeue */
 				DBG(("%s -- recursed from wait_for_shadow(), requeuing\n", __FUNCTION__));
 				if (sna_next_vblank(info))


More information about the xorg-commit mailing list