From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: [PATCH] drm/i915/fbc: disable FBC on FIFO underruns Date: Fri, 10 Jun 2016 22:18:03 -0300 Message-ID: <1465607883-8533-1-git-send-email-paulo.r.zanoni@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id BDAA66E1D3 for ; Sat, 11 Jun 2016 01:18:27 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Stefan Richter , Paulo Zanoni , Steven Honeyman List-Id: intel-gfx@lists.freedesktop.org RXZlciBzaW5jZSBJIHN0YXJ0ZWQgd29ya2luZyBvbiBGQkMgSSB3YXMgYWxyZWFkeSBhd2FyZSB0 aGF0IEZCQyBjYW4KcmVhbGx5IGFtcGxpZnkgdGhlIEZJRk8gdW5kZXJydW4gc3ltcHRvbXMuIE9u IHN5c3RlbXMgd2hlcmUgRklGTwp1bmRlcnJ1bnMgd2VyZSBoYXJtbGVzcyBlcnJvciBtZXNzYWdl cywgZW5hYmxpbmcgRkJDIHdvdWxkIGNhdXNlIHRoZQp1bmRlcnJ1bnMgdG8gZ2l2ZSBibGFjayBz Y3JlZW5zLgoKV2UgcmVjZW50bHkgdHJpZWQgdG8gZW5hYmxlIEZCQyBvbiBIYXN3ZWxsIGFuZCBn b3QgcmVwb3J0cyBvZiBhIHN5c3RlbQp0aGF0IHdvdWxkIGhhbmcgYWZ0ZXIgc29tZSBob3VycyBv ZiB1cHRpbWUsIGFuZCB0aGUgZmlyc3QgYmFkIGNvbW1pdAp3YXMgdGhlIG9uZSB0aGF0IGVuYWJs ZWQgRkJDLiBXZSBhbHNvIG9ic2VydmVkIHRoYXQgdGhpcyBzeXN0ZW0gaGFkCkZJRk8gdW5kZXJy dW4gZXJyb3IgbWVzc2FnZXMgb24gaXRzIGRtZXNnLiBBbHRob3VnaCB3ZSBkb24ndCBoYXZlIGFu eQpldmlkZW5jZSB0aGF0IGZpeGluZyB0aGUgdW5kZXJydW5zIHdvdWxkIHNvbHZlIHRoZSBidWcg YW5kIG1ha2UgRkJDCndvcmsgcHJvcGVybHkgb24gdGhpcyBtYWNoaW5lLCBJTUhPIGl0J3MgYmV0 dGVyIGlmIHdlIG1pbmltaXplIHRoZQphbW91bnQgb2YgcG9zc2libGUgcHJvYmxlbXMgYnkganVz dCBnaXZpbmcgdXAgRkJDIHdoZW5ldmVyIHdlIGRldGVjdAphbiB1bmRlcnJ1bi4KCnYyOiBuZXcg dmVyc2lvbiwgZGlmZmVyZW50IGltcGxlbWVudGF0aW9uIGFuZCBjb21taXQgbWVzc2FnZS4KCkNj OiBTdGVmYW4gUmljaHRlciA8c3RlZmFuckBzNXI2LmluLWJlcmxpbi5kZT4KQ2M6IEx5dWRlIDxj cGF1bEByZWRoYXQuY29tPgpDYzogU3RldmVuIEhvbmV5bWFuIDxzdGV2ZW5ob25leW1hbkBnbWFp bC5jb20+ClNpZ25lZC1vZmYtYnk6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwu Y29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICAgICB8ICAz ICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgICAgICAgfCAgMSArCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYyAgICAgICAgICAgfCA1MyArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZpZm9fdW5k ZXJydW4uYyB8ICAyICsrCiA0IGZpbGVzIGNoYW5nZWQsIDU5IGluc2VydGlvbnMoKykKCgpTaW5j ZSBteSB0ZXN0IG1hY2hpbmVzIGRvbid0IHByb2R1Y2UgRklGTyB1bmRlcnJ1biBlcnJvcnMsIEkg dGVzdGVkIHRoaXMgYnkKY3JlYXRpbmcgYSBkZWJ1Z2ZzIGZpbGUgdGhhdCBqdXN0IGNhbGxzIGlu dGVsX2ZiY19oYW5kbGVfZmlmb191bmRlcnJ1bigpLiBJJ2QKYXBwcmVjaWF0ZSBzb21lIFRlc3Rl ZC1ieSB0YWdzLCBpZiBwb3NzaWJsZS4KCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggMjBh Njc2ZC4uMThiNDI1NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC05MDgsNiArOTA4LDkg QEAgc3RydWN0IGludGVsX2ZiYyB7CiAJYm9vbCBlbmFibGVkOwogCWJvb2wgYWN0aXZlOwogCisJ Ym9vbCB1bmRlcnJ1bl9kZXRlY3RlZDsKKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QgdW5kZXJydW5fd29y azsKKwogCXN0cnVjdCBpbnRlbF9mYmNfc3RhdGVfY2FjaGUgewogCQlzdHJ1Y3QgewogCQkJdW5z aWduZWQgaW50IG1vZGVfZmxhZ3M7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IGViZTdi MzQuLjdiZjk3YjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC0xNDM2LDYgKzE0MzYs NyBAQCB2b2lkIGludGVsX2ZiY19pbnZhbGlkYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKIHZvaWQgaW50ZWxfZmJjX2ZsdXNoKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKIAkJICAgICB1bnNpZ25lZCBpbnQgZnJvbnRidWZmZXJfYml0cywgZW51bSBmYl9v cF9vcmlnaW4gb3JpZ2luKTsKIHZvaWQgaW50ZWxfZmJjX2NsZWFudXBfY2ZiKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cit2b2lkIGludGVsX2ZiY19oYW5kbGVfZmlmb191bmRl cnJ1bihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogCiAvKiBpbnRlbF9oZG1p LmMgKi8KIHZvaWQgaW50ZWxfaGRtaV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGk5MTVf cmVnX3QgaGRtaV9yZWcsIGVudW0gcG9ydCBwb3J0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2ZiYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMK aW5kZXggZDI2OGY3Ni4uMjM2M2JmZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZmJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMKQEAgLTc1 NSw2ICs3NTUsMTMgQEAgc3RhdGljIGJvb2wgaW50ZWxfZmJjX2Nhbl9hY3RpdmF0ZShzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YykKIAlzdHJ1Y3QgaW50ZWxfZmJjICpmYmMgPSAmZGV2X3ByaXYtPmZi YzsKIAlzdHJ1Y3QgaW50ZWxfZmJjX3N0YXRlX2NhY2hlICpjYWNoZSA9ICZmYmMtPnN0YXRlX2Nh Y2hlOwogCisJLyogV2UgZG9uJ3QgbmVlZCB0byB1c2UgYSBzdGF0ZSBjYWNoZSBoZXJlIHNpbmNl IHRoaXMgaW5mb3JtYXRpb24gaXMKKwkgKiBnbG9iYWwgZm9yIGV2ZXJ5IENSVEMuICovCisJaWYg KGZiYy0+dW5kZXJydW5fZGV0ZWN0ZWQpIHsKKwkJZmJjLT5ub19mYmNfcmVhc29uID0gInVuZGVy cnVuIGRldGVjdGVkIjsKKwkJcmV0dXJuIGZhbHNlOworCX0KKwogCWlmICghY2FjaGUtPnBsYW5l LnZpc2libGUpIHsKIAkJZmJjLT5ub19mYmNfcmVhc29uID0gInByaW1hcnkgcGxhbmUgbm90IHZp c2libGUiOwogCQlyZXR1cm4gZmFsc2U7CkBAIC0xMTk1LDYgKzEyMDIsNTEgQEAgdm9pZCBpbnRl bF9mYmNfZ2xvYmFsX2Rpc2FibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQog CWNhbmNlbF93b3JrX3N5bmMoJmZiYy0+d29yay53b3JrKTsKIH0KIAorc3RhdGljIHZvaWQgaW50 ZWxfZmJjX3VuZGVycnVuX3dvcmtfZm4oc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQoreworCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9CisJCWNvbnRhaW5lcl9vZih3b3JrLCBz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSwgZmJjLnVuZGVycnVuX3dvcmspOworCXN0cnVjdCBpbnRl bF9mYmMgKmZiYyA9ICZkZXZfcHJpdi0+ZmJjOworCisJbXV0ZXhfbG9jaygmZmJjLT5sb2NrKTsK KworCS8qIE1heWJlIHdlIHdlcmUgc2NoZWR1bGVkIHR3aWNlLiAqLworCWlmIChmYmMtPnVuZGVy cnVuX2RldGVjdGVkKQorCQlnb3RvIG91dDsKKworCURSTV9ERUJVR19LTVMoIkRpc2FibGluZyBG QkMgZHVlIHRvIEZJRk8gdW5kZXJydW4uXG4iKTsKKwlmYmMtPnVuZGVycnVuX2RldGVjdGVkID0g dHJ1ZTsKKworCWludGVsX2ZiY19kZWFjdGl2YXRlKGRldl9wcml2KTsKK291dDoKKwltdXRleF91 bmxvY2soJmZiYy0+bG9jayk7Cit9CisKKy8qKgorICogaW50ZWxfZmJjX2hhbmRsZV9maWZvX3Vu ZGVycnVuIC0gZGlzYWJsZSBGQkMgd2hlbiB3ZSBnZXQgYSBGSUZPIHVuZGVycnVuCisgKiBAZGV2 X3ByaXY6IGk5MTUgZGV2aWNlIGluc3RhbmNlCisgKgorICogV2l0aG91dCBGQkMsIG1vc3QgdW5k ZXJydW5zIGFyZSBoYXJtbGVzcyBhbmQgZG9uJ3QgcmVhbGx5IGNhdXNlIHRvbyBtYW55CisgKiBw cm9ibGVtcywgZXhjZXB0IGZvciBhbiBhbm5veWluZyBtZXNzYWdlIG9uIGRtZXNnLiBXaXRoIEZC QywgdW5kZXJydW5zIGNhbgorICogYmVjb21lIGJsYWNrIHNjcmVlbnMgb3IgZXZlbiB3b3JzZSwg ZXNwZWNpYWxseSB3aGVuIHBhaXJlZCB3aXRoIGJhZAorICogd2F0ZXJtYXJrcy4gU28gaW4gb3Jk ZXIgZm9yIHVzIHRvIGJlIG9uIHRoZSBzYWZlIHNpZGUsIGNvbXBsZXRlbHkgZGlzYWJsZSBGQkMK KyAqIGluIGNhc2Ugd2UgZXZlciBkZXRlY3QgYSBGSUZPIHVuZGVycnVuIG9uIGFueSBwaXBlLiBB biB1bmRlcnJ1biBvbiBhbnkgcGlwZQorICogYWxyZWFkeSBzdWdnZXN0cyB0aGF0IHdhdGVybWFy a3MgbWF5IGJlIGJhZCwgc28gdHJ5IHRvIGJlIGFzIHNhZmUgYXMKKyAqIHBvc3NpYmxlLgorICov Cit2b2lkIGludGVsX2ZiY19oYW5kbGVfZmlmb191bmRlcnJ1bihzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCit7CisJc3RydWN0IGludGVsX2ZiYyAqZmJjID0gJmRldl9wcml2LT5m YmM7CisKKwlpZiAoIWZiY19zdXBwb3J0ZWQoZGV2X3ByaXYpKQorCQlyZXR1cm47CisKKwlpZiAo ZmJjLT51bmRlcnJ1bl9kZXRlY3RlZCkKKwkJcmV0dXJuOworCisJc2NoZWR1bGVfd29yaygmZmJj LT51bmRlcnJ1bl93b3JrKTsKK30KKwogLyoqCiAgKiBpbnRlbF9mYmNfaW5pdF9waXBlX3N0YXRl IC0gaW5pdGlhbGl6ZSBGQkMncyBDUlRDIHZpc2liaWxpdHkgdHJhY2tpbmcKICAqIEBkZXZfcHJp djogaTkxNSBkZXZpY2UgaW5zdGFuY2UKQEAgLTEyNTAsNiArMTMwMiw3IEBAIHZvaWQgaW50ZWxf ZmJjX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWVudW0gcGlwZSBw aXBlOwogCiAJSU5JVF9XT1JLKCZmYmMtPndvcmsud29yaywgaW50ZWxfZmJjX3dvcmtfZm4pOwor CUlOSVRfV09SSygmZmJjLT51bmRlcnJ1bl93b3JrLCBpbnRlbF9mYmNfdW5kZXJydW5fd29ya19m bik7CiAJbXV0ZXhfaW5pdCgmZmJjLT5sb2NrKTsKIAlmYmMtPmVuYWJsZWQgPSBmYWxzZTsKIAlm YmMtPmFjdGl2ZSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZmlmb191bmRlcnJ1bi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmlmb191bmRl cnJ1bi5jCmluZGV4IDliZTgzOWEuLjlkNDNjYmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2ZpZm9fdW5kZXJydW4uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9maWZvX3VuZGVycnVuLmMKQEAgLTM3MCw2ICszNzAsOCBAQCB2b2lkIGludGVsX2NwdV9m aWZvX3VuZGVycnVuX2lycV9oYW5kbGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKIAlpZiAoaW50ZWxfc2V0X2NwdV9maWZvX3VuZGVycnVuX3JlcG9ydGluZyhkZXZfcHJpdiwg cGlwZSwgZmFsc2UpKQogCQlEUk1fRVJST1IoIkNQVSBwaXBlICVjIEZJRk8gdW5kZXJydW5cbiIs CiAJCQkgIHBpcGVfbmFtZShwaXBlKSk7CisKKwlpbnRlbF9mYmNfaGFuZGxlX2ZpZm9fdW5kZXJy dW4oZGV2X3ByaXYpOwogfQogCiAvKioKLS0gCjIuNS41CgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK