From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932252AbbCaPLR (ORCPT ); Tue, 31 Mar 2015 11:11:17 -0400 Received: from mail-pa0-f44.google.com ([209.85.220.44]:35576 "EHLO mail-pa0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932188AbbCaPKn (ORCPT ); Tue, 31 Mar 2015 11:10:43 -0400 From: Sudip Mukherjee To: Daniel Vetter , Jani Nikula , David Airlie , Chris Wilson , =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= , huax.lu@intel.com, Daniel Vetter Cc: Sudip Mukherjee , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH] Revert "drm/i915: Performed deferred clflush inside set-cache-level" Date: Tue, 31 Mar 2015 20:40:12 +0530 Message-Id: <1427814612-4157-1-git-send-email-sudipm.mukherjee@gmail.com> X-Mailer: git-send-email 1.8.1.2 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This reverts commit <0f71979ab7fbd0c71c41c2798de3d33937915434>. my display was getting garbled for a moment very frequently. it looked like when the screen was getting refreshed then something was going wrong. git bisect gave this as the first bad commit, and after reverting it now display is not having that problem. Signed-off-by: Sudip Mukherjee --- my system is x86_64. lspci -k gives: "VGA compatible controller: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (rev 09) Subsystem: Foxconn International, Inc. Device 0d74 Kernel driver in use: i915" This is my bisect log: # bad: [e42391cd048809d903291d07f86ed3934ce138e9] Linux 4.0-rc6 # good: [b7392d2247cfe6771f95d256374f1a8e6a6f48d6] Linux 3.19-rc2 git bisect start 'v4.0-rc6' 'v3.19-rc2' '--' 'drivers/gpu/drm/i915/' # good: [d2182a660808d9053a605e3ebc8c46a323ec6e5d] drm/i915: Don't register HDMI connectors for eDP ports on VLV/CHV git bisect good d2182a660808d9053a605e3ebc8c46a323ec6e5d # bad: [36d21f4c557a2b18ed7c9d254060d4ca07a6c5c7] drm/i915/dsi: remove unnecessary dsi device callbacks git bisect bad 36d21f4c557a2b18ed7c9d254060d4ca07a6c5c7 # good: [72f95afa5faaf899f7344879b6ccd5f0cb271b28] drm/i915: Removed duplicate members from submit_request git bisect good 72f95afa5faaf899f7344879b6ccd5f0cb271b28 # good: [2844a9214759901f382086644842e39ad6f7d894] drm/i915: Use pipe_name() in the get_plane_config() functions git bisect good 2844a9214759901f382086644842e39ad6f7d894 # bad: [1b842c89bd8eb0e9619e1aba071c9a5529b7a179] drm/i915: Fix kzalloc() smatch warnings in get_initial_plane_config() git bisect bad 1b842c89bd8eb0e9619e1aba071c9a5529b7a179 # good: [8d360dffd6d8634868e433128d5178bea14cc42c] drm/i915: Specify bsd rings through exec flag git bisect good 8d360dffd6d8634868e433128d5178bea14cc42c # good: [1197b4f230fb7c8fe3a9b549596fe130b09a0db2] drm/i915: Balance context pinning on reset cleanup git bisect good 1197b4f230fb7c8fe3a9b549596fe130b09a0db2 # bad: [0f71979ab7fbd0c71c41c2798de3d33937915434] drm/i915: Performed deferred clflush inside set-cache-level git bisect bad 0f71979ab7fbd0c71c41c2798de3d33937915434 # good: [a7cbedec8317a5cacecb567674fdbc1c3fb22de8] drm/i915: Rename unpin_count to pin_count git bisect good a7cbedec8317a5cacecb567674fdbc1c3fb22de8 drivers/gpu/drm/i915/i915_drv.h | 1 - drivers/gpu/drm/i915/i915_gem.c | 31 ++++++++++++++++++++++--------- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 8727086..abe6c16 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -2054,7 +2054,6 @@ struct drm_i915_gem_object { */ unsigned long gt_ro:1; unsigned int cache_level:3; - unsigned int cache_dirty:1; unsigned int has_dma_mapping:1; diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 27ea6bd..e9341e9 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -3647,14 +3647,11 @@ i915_gem_clflush_object(struct drm_i915_gem_object *obj, * snooping behaviour occurs naturally as the result of our domain * tracking. */ - if (!force && cpu_cache_is_coherent(obj->base.dev, obj->cache_level)) { - obj->cache_dirty = true; + if (!force && cpu_cache_is_coherent(obj->base.dev, obj->cache_level)) return false; - } trace_i915_gem_object_clflush(obj); drm_clflush_sg(obj->pages); - obj->cache_dirty = false; return true; } @@ -3836,11 +3833,27 @@ int i915_gem_object_set_cache_level(struct drm_i915_gem_object *obj, vma->node.color = cache_level; obj->cache_level = cache_level; - if (obj->cache_dirty && - obj->base.write_domain != I915_GEM_DOMAIN_CPU && - cpu_write_needs_clflush(obj)) { - if (i915_gem_clflush_object(obj, true)) - i915_gem_chipset_flush(obj->base.dev); + if (cpu_write_needs_clflush(obj)) { + u32 old_read_domains, old_write_domain; + + /* If we're coming from LLC cached, then we haven't + * actually been tracking whether the data is in the + * CPU cache or not, since we only allow one bit set + * in obj->write_domain and have been skipping the clflushes. + * Just set it to the CPU cache for now. + */ + i915_gem_object_retire(obj); + WARN_ON(obj->base.write_domain & ~I915_GEM_DOMAIN_CPU); + + old_read_domains = obj->base.read_domains; + old_write_domain = obj->base.write_domain; + + obj->base.read_domains = I915_GEM_DOMAIN_CPU; + obj->base.write_domain = I915_GEM_DOMAIN_CPU; + + trace_i915_gem_object_change_domain(obj, + old_read_domains, + old_write_domain); } return 0; -- 1.8.1.2 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sudip Mukherjee Subject: [PATCH] Revert "drm/i915: Performed deferred clflush inside set-cache-level" Date: Tue, 31 Mar 2015 20:40:12 +0530 Message-ID: <1427814612-4157-1-git-send-email-sudipm.mukherjee@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter , Jani Nikula , David Airlie , Chris Wilson , =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= , huax.lu@intel.com, Daniel Vetter Cc: intel-gfx@lists.freedesktop.org, Sudip Mukherjee , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org VGhpcyByZXZlcnRzIGNvbW1pdCA8MGY3MTk3OWFiN2ZiZDBjNzFjNDFjMjc5OGRlM2QzMzkzNzkx NTQzND4uCgpteSBkaXNwbGF5IHdhcyBnZXR0aW5nIGdhcmJsZWQgZm9yIGEgbW9tZW50IHZlcnkg ZnJlcXVlbnRseS4gaXQgbG9va2VkCmxpa2Ugd2hlbiB0aGUgc2NyZWVuIHdhcyBnZXR0aW5nIHJl ZnJlc2hlZCB0aGVuIHNvbWV0aGluZyB3YXMgZ29pbmcKd3JvbmcuCmdpdCBiaXNlY3QgZ2F2ZSB0 aGlzIGFzIHRoZSBmaXJzdCBiYWQgY29tbWl0LCBhbmQgYWZ0ZXIgcmV2ZXJ0aW5nIGl0Cm5vdyBk aXNwbGF5IGlzIG5vdCBoYXZpbmcgdGhhdCBwcm9ibGVtLgoKU2lnbmVkLW9mZi1ieTogU3VkaXAg TXVraGVyamVlIDxzdWRpcEB2ZWN0b3JpbmRpYS5vcmc+Ci0tLQoKbXkgc3lzdGVtIGlzIHg4Nl82 NC4KbHNwY2kgLWsgZ2l2ZXM6CiJWR0EgY29tcGF0aWJsZSBjb250cm9sbGVyOiBJbnRlbCBDb3Jw b3JhdGlvbiBYZW9uIEUzLTEyMDAgdjIvM3JkIEdlbiBDb3JlIHByb2Nlc3NvciBHcmFwaGljcyBD b250cm9sbGVyIChyZXYgMDkpClN1YnN5c3RlbTogRm94Y29ubiBJbnRlcm5hdGlvbmFsLCBJbmMu IERldmljZSAwZDc0Cktlcm5lbCBkcml2ZXIgaW4gdXNlOiBpOTE1IgoKVGhpcyBpcyBteSBiaXNl Y3QgbG9nOgojIGJhZDogW2U0MjM5MWNkMDQ4ODA5ZDkwMzI5MWQwN2Y4NmVkMzkzNGNlMTM4ZTld IExpbnV4IDQuMC1yYzYKIyBnb29kOiBbYjczOTJkMjI0N2NmZTY3NzFmOTVkMjU2Mzc0ZjFhOGU2 YTZmNDhkNl0gTGludXggMy4xOS1yYzIKZ2l0IGJpc2VjdCBzdGFydCAndjQuMC1yYzYnICd2My4x OS1yYzInICctLScgJ2RyaXZlcnMvZ3B1L2RybS9pOTE1LycKIyBnb29kOiBbZDIxODJhNjYwODA4 ZDkwNTNhNjA1ZTNlYmM4YzQ2YTMyM2VjNmU1ZF0gZHJtL2k5MTU6IERvbid0IHJlZ2lzdGVyIEhE TUkgY29ubmVjdG9ycyBmb3IgZURQIHBvcnRzIG9uIFZMVi9DSFYKZ2l0IGJpc2VjdCBnb29kIGQy MTgyYTY2MDgwOGQ5MDUzYTYwNWUzZWJjOGM0NmEzMjNlYzZlNWQKIyBiYWQ6IFszNmQyMWY0YzU1 N2EyYjE4ZWQ3YzlkMjU0MDYwZDRjYTA3YTZjNWM3XSBkcm0vaTkxNS9kc2k6IHJlbW92ZSB1bm5l Y2Vzc2FyeSBkc2kgZGV2aWNlIGNhbGxiYWNrcwpnaXQgYmlzZWN0IGJhZCAzNmQyMWY0YzU1N2Ey YjE4ZWQ3YzlkMjU0MDYwZDRjYTA3YTZjNWM3CiMgZ29vZDogWzcyZjk1YWZhNWZhYWY4OTlmNzM0 NDg3OWI2Y2NkNWYwY2IyNzFiMjhdIGRybS9pOTE1OiBSZW1vdmVkIGR1cGxpY2F0ZSBtZW1iZXJz IGZyb20gc3VibWl0X3JlcXVlc3QKZ2l0IGJpc2VjdCBnb29kIDcyZjk1YWZhNWZhYWY4OTlmNzM0 NDg3OWI2Y2NkNWYwY2IyNzFiMjgKIyBnb29kOiBbMjg0NGE5MjE0NzU5OTAxZjM4MjA4NjY0NDg0 MmUzOWFkNmY3ZDg5NF0gZHJtL2k5MTU6IFVzZSBwaXBlX25hbWUoKSBpbiB0aGUgZ2V0X3BsYW5l X2NvbmZpZygpIGZ1bmN0aW9ucwpnaXQgYmlzZWN0IGdvb2QgMjg0NGE5MjE0NzU5OTAxZjM4MjA4 NjY0NDg0MmUzOWFkNmY3ZDg5NAojIGJhZDogWzFiODQyYzg5YmQ4ZWIwZTk2MTllMWFiYTA3MWM5 YTU1MjliN2ExNzldIGRybS9pOTE1OiBGaXgga3phbGxvYygpIHNtYXRjaCB3YXJuaW5ncyBpbiBn ZXRfaW5pdGlhbF9wbGFuZV9jb25maWcoKQpnaXQgYmlzZWN0IGJhZCAxYjg0MmM4OWJkOGViMGU5 NjE5ZTFhYmEwNzFjOWE1NTI5YjdhMTc5CiMgZ29vZDogWzhkMzYwZGZmZDZkODYzNDg2OGU0MzMx MjhkNTE3OGJlYTE0Y2M0MmNdIGRybS9pOTE1OiBTcGVjaWZ5IGJzZCByaW5ncyB0aHJvdWdoIGV4 ZWMgZmxhZwpnaXQgYmlzZWN0IGdvb2QgOGQzNjBkZmZkNmQ4NjM0ODY4ZTQzMzEyOGQ1MTc4YmVh MTRjYzQyYwojIGdvb2Q6IFsxMTk3YjRmMjMwZmI3YzhmZTNhOWI1NDk1OTZmZTEzMGIwOWEwZGIy XSBkcm0vaTkxNTogQmFsYW5jZSBjb250ZXh0IHBpbm5pbmcgb24gcmVzZXQgY2xlYW51cApnaXQg YmlzZWN0IGdvb2QgMTE5N2I0ZjIzMGZiN2M4ZmUzYTliNTQ5NTk2ZmUxMzBiMDlhMGRiMgojIGJh ZDogWzBmNzE5NzlhYjdmYmQwYzcxYzQxYzI3OThkZTNkMzM5Mzc5MTU0MzRdIGRybS9pOTE1OiBQ ZXJmb3JtZWQgZGVmZXJyZWQgY2xmbHVzaCBpbnNpZGUgc2V0LWNhY2hlLWxldmVsCmdpdCBiaXNl Y3QgYmFkIDBmNzE5NzlhYjdmYmQwYzcxYzQxYzI3OThkZTNkMzM5Mzc5MTU0MzQKIyBnb29kOiBb YTdjYmVkZWM4MzE3YTVjYWNlY2I1Njc2NzRmZGJjMWMzZmIyMmRlOF0gZHJtL2k5MTU6IFJlbmFt ZSB1bnBpbl9jb3VudCB0byBwaW5fY291bnQKZ2l0IGJpc2VjdCBnb29kIGE3Y2JlZGVjODMxN2E1 Y2FjZWNiNTY3Njc0ZmRiYzFjM2ZiMjJkZTgKCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oIHwgIDEgLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyB8IDMxICsrKysrKysr KysrKysrKysrKysrKystLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygr KSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggODcyNzA4Ni4u YWJlNmMxNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yMDU0LDcgKzIwNTQsNiBAQCBz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCB7CiAJICovCiAJdW5zaWduZWQgbG9uZyBndF9ybzox OwogCXVuc2lnbmVkIGludCBjYWNoZV9sZXZlbDozOwotCXVuc2lnbmVkIGludCBjYWNoZV9kaXJ0 eToxOwogCiAJdW5zaWduZWQgaW50IGhhc19kbWFfbWFwcGluZzoxOwogCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYwppbmRleCAyN2VhNmJkLi5lOTM0MWU5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMK QEAgLTM2NDcsMTQgKzM2NDcsMTEgQEAgaTkxNV9nZW1fY2xmbHVzaF9vYmplY3Qoc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkgKiBzbm9vcGluZyBiZWhhdmlvdXIgb2NjdXJzIG5h dHVyYWxseSBhcyB0aGUgcmVzdWx0IG9mIG91ciBkb21haW4KIAkgKiB0cmFja2luZy4KIAkgKi8K LQlpZiAoIWZvcmNlICYmIGNwdV9jYWNoZV9pc19jb2hlcmVudChvYmotPmJhc2UuZGV2LCBvYmot PmNhY2hlX2xldmVsKSkgewotCQlvYmotPmNhY2hlX2RpcnR5ID0gdHJ1ZTsKKwlpZiAoIWZvcmNl ICYmIGNwdV9jYWNoZV9pc19jb2hlcmVudChvYmotPmJhc2UuZGV2LCBvYmotPmNhY2hlX2xldmVs KSkKIAkJcmV0dXJuIGZhbHNlOwotCX0KIAogCXRyYWNlX2k5MTVfZ2VtX29iamVjdF9jbGZsdXNo KG9iaik7CiAJZHJtX2NsZmx1c2hfc2cob2JqLT5wYWdlcyk7Ci0Jb2JqLT5jYWNoZV9kaXJ0eSA9 IGZhbHNlOwogCiAJcmV0dXJuIHRydWU7CiB9CkBAIC0zODM2LDExICszODMzLDI3IEBAIGludCBp OTE1X2dlbV9vYmplY3Rfc2V0X2NhY2hlX2xldmVsKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmosCiAJCXZtYS0+bm9kZS5jb2xvciA9IGNhY2hlX2xldmVsOwogCW9iai0+Y2FjaGVfbGV2 ZWwgPSBjYWNoZV9sZXZlbDsKIAotCWlmIChvYmotPmNhY2hlX2RpcnR5ICYmCi0JICAgIG9iai0+ YmFzZS53cml0ZV9kb21haW4gIT0gSTkxNV9HRU1fRE9NQUlOX0NQVSAmJgotCSAgICBjcHVfd3Jp dGVfbmVlZHNfY2xmbHVzaChvYmopKSB7Ci0JCWlmIChpOTE1X2dlbV9jbGZsdXNoX29iamVjdChv YmosIHRydWUpKQotCQkJaTkxNV9nZW1fY2hpcHNldF9mbHVzaChvYmotPmJhc2UuZGV2KTsKKwlp ZiAoY3B1X3dyaXRlX25lZWRzX2NsZmx1c2gob2JqKSkgeworCQl1MzIgb2xkX3JlYWRfZG9tYWlu cywgb2xkX3dyaXRlX2RvbWFpbjsKKworCQkvKiBJZiB3ZSdyZSBjb21pbmcgZnJvbSBMTEMgY2Fj aGVkLCB0aGVuIHdlIGhhdmVuJ3QKKwkJICogYWN0dWFsbHkgYmVlbiB0cmFja2luZyB3aGV0aGVy IHRoZSBkYXRhIGlzIGluIHRoZQorCQkgKiBDUFUgY2FjaGUgb3Igbm90LCBzaW5jZSB3ZSBvbmx5 IGFsbG93IG9uZSBiaXQgc2V0CisJCSAqIGluIG9iai0+d3JpdGVfZG9tYWluIGFuZCBoYXZlIGJl ZW4gc2tpcHBpbmcgdGhlIGNsZmx1c2hlcy4KKwkJICogSnVzdCBzZXQgaXQgdG8gdGhlIENQVSBj YWNoZSBmb3Igbm93LgorCQkgKi8KKwkJaTkxNV9nZW1fb2JqZWN0X3JldGlyZShvYmopOworCQlX QVJOX09OKG9iai0+YmFzZS53cml0ZV9kb21haW4gJiB+STkxNV9HRU1fRE9NQUlOX0NQVSk7CisK KwkJb2xkX3JlYWRfZG9tYWlucyA9IG9iai0+YmFzZS5yZWFkX2RvbWFpbnM7CisJCW9sZF93cml0 ZV9kb21haW4gPSBvYmotPmJhc2Uud3JpdGVfZG9tYWluOworCisJCW9iai0+YmFzZS5yZWFkX2Rv bWFpbnMgPSBJOTE1X0dFTV9ET01BSU5fQ1BVOworCQlvYmotPmJhc2Uud3JpdGVfZG9tYWluID0g STkxNV9HRU1fRE9NQUlOX0NQVTsKKworCQl0cmFjZV9pOTE1X2dlbV9vYmplY3RfY2hhbmdlX2Rv bWFpbihvYmosCisJCQkJCQkgICAgb2xkX3JlYWRfZG9tYWlucywKKwkJCQkJCSAgICBvbGRfd3Jp dGVfZG9tYWluKTsKIAl9CiAKIAlyZXR1cm4gMDsKLS0gCjEuOC4xLjIKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==