From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: [PATCH] drm/i915/fbc: disable FBC on FIFO underruns Date: Mon, 12 Sep 2016 17:02:56 -0300 Message-ID: <1473710576-22447-1-git-send-email-paulo.r.zanoni@intel.com> References: <1472827536.4592.15.camel@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 ESMTPS id 89BE56E57E for ; Mon, 12 Sep 2016 20:03:31 +0000 (UTC) In-Reply-To: <1472827536.4592.15.camel@intel.com> 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: Dhinakaran Pandiyan , Stefan Richter , Paulo Zanoni , "stevenhoneyman @ gmail . com" List-Id: intel-gfx@lists.freedesktop.org RXZlciBzaW5jZSBJIHN0YXJ0ZWQgd29ya2luZyBvbiBGQkMgSSB3YXMgYWxyZWFkeSBhd2FyZSB0 aGF0IEZCQyBjYW4KcmVhbGx5IGFtcGxpZnkgdGhlIEZJRk8gdW5kZXJydW4gc3ltcHRvbXMuIE9u IHN5c3RlbXMgd2hlcmUgRklGTwp1bmRlcnJ1bnMgd2VyZSBoYXJtbGVzcyBlcnJvciBtZXNzYWdl cywgZW5hYmxpbmcgRkJDIHdvdWxkIGNhdXNlIHRoZQp1bmRlcnJ1bnMgdG8gZ2l2ZSBibGFjayBz Y3JlZW5zLgoKV2UgcmVjZW50bHkgdHJpZWQgdG8gZW5hYmxlIEZCQyBvbiBIYXN3ZWxsIGFuZCBn b3QgcmVwb3J0cyBvZiBhIHN5c3RlbQp0aGF0IHdvdWxkIGhhbmcgYWZ0ZXIgc29tZSBob3VycyBv ZiB1cHRpbWUsIGFuZCB0aGUgZmlyc3QgYmFkIGNvbW1pdAp3YXMgdGhlIG9uZSB0aGF0IGVuYWJs ZWQgRkJDLiBXZSBhbHNvIG9ic2VydmVkIHRoYXQgdGhpcyBzeXN0ZW0gaGFkCkZJRk8gdW5kZXJy dW4gZXJyb3IgbWVzc2FnZXMgb24gaXRzIGRtZXNnLiBBbHRob3VnaCB3ZSBkb24ndCBoYXZlIGFu eQpldmlkZW5jZSB0aGF0IGZpeGluZyB0aGUgdW5kZXJydW5zIHdvdWxkIHNvbHZlIHRoZSBidWcg YW5kIG1ha2UgRkJDCndvcmsgcHJvcGVybHkgb24gdGhpcyBtYWNoaW5lLCBJTUhPIGl0J3MgYmV0 dGVyIGlmIHdlIG1pbmltaXplIHRoZQphbW91bnQgb2YgcG9zc2libGUgcHJvYmxlbXMgYnkganVz dCBnaXZpbmcgdXAgRkJDIHdoZW5ldmVyIHdlIGRldGVjdAphbiB1bmRlcnJ1bi4KCnYyOiBOZXcg dmVyc2lvbiwgZGlmZmVyZW50IGltcGxlbWVudGF0aW9uIGFuZCBjb21taXQgbWVzc2FnZS4KdjM6 IENsYXJpZnkgdGhlIGZhY3QgdGhhdCB3ZSBydW4gZnJvbSBhbiBJUlEgaGFuZGxlciAoQ2hyaXMp Lgp2NDogQWxzbyBhZGQgdGhlIHVuZGVycnVuX2RldGVjdGVkIGNoZWNrIGF0IGNhbl9jaG9vc2Uo KSB0byBhdm9pZAogICAgbWlzbGVhZGluZyBkbWVzZyBtZXNzYWdlcyAoREspLgoKQ2M6IFN0ZWZh biBSaWNodGVyIDxzdGVmYW5yQHM1cjYuaW4tYmVybGluLmRlPgpDYzogTHl1ZGUgPGNwYXVsQHJl ZGhhdC5jb20+CkNjOiBzdGV2ZW5ob25leW1hbkBnbWFpbC5jb20gPHN0ZXZlbmhvbmV5bWFuQGdt YWlsLmNvbT4KQ2M6IERoaW5ha2FyYW4gUGFuZGl5YW4gPGRoaW5ha2FyYW4ucGFuZGl5YW5AaW50 ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBQYXVsbyBaYW5vbmkgPHBhdWxvLnIuemFub25pQGludGVs LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgfCAg MyArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgICAgICAgIHwgIDEgKwog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMgICAgICAgICAgIHwgNjYgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9maWZvX3Vu ZGVycnVuLmMgfCAgMiArCiA0IGZpbGVzIGNoYW5nZWQsIDcyIGluc2VydGlvbnMoKykKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAppbmRleCAxZTJkZGE4Li4yMDI1ZjQyIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKQEAgLTk3MSw2ICs5NzEsOSBAQCBzdHJ1Y3QgaW50ZWxfZmJjIHsKIAlib29sIGVu YWJsZWQ7CiAJYm9vbCBhY3RpdmU7CiAKKwlib29sIHVuZGVycnVuX2RldGVjdGVkOworCXN0cnVj dCB3b3JrX3N0cnVjdCB1bmRlcnJ1bl93b3JrOworCiAJc3RydWN0IGludGVsX2ZiY19zdGF0ZV9j YWNoZSB7CiAJCXN0cnVjdCB7CiAJCQl1bnNpZ25lZCBpbnQgbW9kZV9mbGFnczsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmgKaW5kZXggYWJlN2E0ZC4uMGQwNTcxMiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKQEAgLTE1MDgsNiArMTUwOCw3IEBAIHZvaWQgaW50ZWxfZmJjX2ludmFsaWRhdGUo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogdm9pZCBpbnRlbF9mYmNfZmx1c2go c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkgICAgIHVuc2lnbmVkIGludCBm cm9udGJ1ZmZlcl9iaXRzLCBlbnVtIGZiX29wX29yaWdpbiBvcmlnaW4pOwogdm9pZCBpbnRlbF9m YmNfY2xlYW51cF9jZmIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKK3ZvaWQg aW50ZWxfZmJjX2hhbmRsZV9maWZvX3VuZGVycnVuX2lycShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpOwogCiAvKiBpbnRlbF9oZG1pLmMgKi8KIHZvaWQgaW50ZWxfaGRtaV9pbml0 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGk5MTVfcmVnX3QgaGRtaV9yZWcsIGVudW0gcG9ydCBw b3J0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiYy5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMKaW5kZXggNWRjYjgxYS4uNGI5MWFmMSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMKQEAgLTc3NCw2ICs3NzQsMTMgQEAgc3RhdGljIGJvb2wg aW50ZWxfZmJjX2Nhbl9hY3RpdmF0ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAlzdHJ1Y3Qg aW50ZWxfZmJjICpmYmMgPSAmZGV2X3ByaXYtPmZiYzsKIAlzdHJ1Y3QgaW50ZWxfZmJjX3N0YXRl X2NhY2hlICpjYWNoZSA9ICZmYmMtPnN0YXRlX2NhY2hlOwogCisJLyogV2UgZG9uJ3QgbmVlZCB0 byB1c2UgYSBzdGF0ZSBjYWNoZSBoZXJlIHNpbmNlIHRoaXMgaW5mb3JtYXRpb24gaXMKKwkgKiBn bG9iYWwgZm9yIGV2ZXJ5IENSVEMuICovCisJaWYgKGZiYy0+dW5kZXJydW5fZGV0ZWN0ZWQpIHsK KwkJZmJjLT5ub19mYmNfcmVhc29uID0gInVuZGVycnVuIGRldGVjdGVkIjsKKwkJcmV0dXJuIGZh bHNlOworCX0KKwogCWlmICghY2FjaGUtPnBsYW5lLnZpc2libGUpIHsKIAkJZmJjLT5ub19mYmNf cmVhc29uID0gInByaW1hcnkgcGxhbmUgbm90IHZpc2libGUiOwogCQlyZXR1cm4gZmFsc2U7CkBA IC04NTksNiArODY2LDExIEBAIHN0YXRpYyBib29sIGludGVsX2ZiY19jYW5fY2hvb3NlKHN0cnVj dCBpbnRlbF9jcnRjICpjcnRjKQogCQlyZXR1cm4gZmFsc2U7CiAJfQogCisJaWYgKGZiYy0+dW5k ZXJydW5fZGV0ZWN0ZWQpIHsKKwkJZmJjLT5ub19mYmNfcmVhc29uID0gInVuZGVycnVuIGRldGVj dGVkIjsKKwkJcmV0dXJuIGZhbHNlOworCX0KKwogCWlmIChmYmNfb25fcGlwZV9hX29ubHkoZGV2 X3ByaXYpICYmIGNydGMtPnBpcGUgIT0gUElQRV9BKSB7CiAJCWZiYy0+bm9fZmJjX3JlYXNvbiA9 ICJubyBlbmFibGVkIHBpcGVzIGNhbiBoYXZlIEZCQyI7CiAJCXJldHVybiBmYWxzZTsKQEAgLTEy MjEsNiArMTIzMyw1OSBAQCB2b2lkIGludGVsX2ZiY19nbG9iYWxfZGlzYWJsZShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJY2FuY2VsX3dvcmtfc3luYygmZmJjLT53b3JrLndv cmspOwogfQogCitzdGF0aWMgdm9pZCBpbnRlbF9mYmNfdW5kZXJydW5fd29ya19mbihzdHJ1Y3Qg d29ya19zdHJ1Y3QgKndvcmspCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0KKwkJY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlLCBmYmMudW5k ZXJydW5fd29yayk7CisJc3RydWN0IGludGVsX2ZiYyAqZmJjID0gJmRldl9wcml2LT5mYmM7CisK KwltdXRleF9sb2NrKCZmYmMtPmxvY2spOworCisJLyogTWF5YmUgd2Ugd2VyZSBzY2hlZHVsZWQg dHdpY2UuICovCisJaWYgKGZiYy0+dW5kZXJydW5fZGV0ZWN0ZWQpCisJCWdvdG8gb3V0OworCisJ RFJNX0RFQlVHX0tNUygiRGlzYWJsaW5nIEZCQyBkdWUgdG8gRklGTyB1bmRlcnJ1bi5cbiIpOwor CWZiYy0+dW5kZXJydW5fZGV0ZWN0ZWQgPSB0cnVlOworCisJaW50ZWxfZmJjX2RlYWN0aXZhdGUo ZGV2X3ByaXYpOworb3V0OgorCW11dGV4X3VubG9jaygmZmJjLT5sb2NrKTsKK30KKworLyoqCisg KiBpbnRlbF9mYmNfaGFuZGxlX2ZpZm9fdW5kZXJydW5faXJxIC0gZGlzYWJsZSBGQkMgd2hlbiB3 ZSBnZXQgYSBGSUZPIHVuZGVycnVuCisgKiBAZGV2X3ByaXY6IGk5MTUgZGV2aWNlIGluc3RhbmNl CisgKgorICogV2l0aG91dCBGQkMsIG1vc3QgdW5kZXJydW5zIGFyZSBoYXJtbGVzcyBhbmQgZG9u J3QgcmVhbGx5IGNhdXNlIHRvbyBtYW55CisgKiBwcm9ibGVtcywgZXhjZXB0IGZvciBhbiBhbm5v eWluZyBtZXNzYWdlIG9uIGRtZXNnLiBXaXRoIEZCQywgdW5kZXJydW5zIGNhbgorICogYmVjb21l IGJsYWNrIHNjcmVlbnMgb3IgZXZlbiB3b3JzZSwgZXNwZWNpYWxseSB3aGVuIHBhaXJlZCB3aXRo IGJhZAorICogd2F0ZXJtYXJrcy4gU28gaW4gb3JkZXIgZm9yIHVzIHRvIGJlIG9uIHRoZSBzYWZl IHNpZGUsIGNvbXBsZXRlbHkgZGlzYWJsZSBGQkMKKyAqIGluIGNhc2Ugd2UgZXZlciBkZXRlY3Qg YSBGSUZPIHVuZGVycnVuIG9uIGFueSBwaXBlLiBBbiB1bmRlcnJ1biBvbiBhbnkgcGlwZQorICog YWxyZWFkeSBzdWdnZXN0cyB0aGF0IHdhdGVybWFya3MgbWF5IGJlIGJhZCwgc28gdHJ5IHRvIGJl IGFzIHNhZmUgYXMKKyAqIHBvc3NpYmxlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVk IGZyb20gdGhlIElSUSBoYW5kbGVyLgorICovCit2b2lkIGludGVsX2ZiY19oYW5kbGVfZmlmb191 bmRlcnJ1bl9pcnEoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQoreworCXN0cnVj dCBpbnRlbF9mYmMgKmZiYyA9ICZkZXZfcHJpdi0+ZmJjOworCisJaWYgKCFmYmNfc3VwcG9ydGVk KGRldl9wcml2KSkKKwkJcmV0dXJuOworCisJLyogVGhlcmUncyBubyBndWFyYW50ZWUgdGhhdCB1 bmRlcnJ1bl9kZXRlY3RlZCB3b24ndCBiZSBzZXQgdG8gdHJ1ZQorCSAqIHJpZ2h0IGFmdGVyIHRo aXMgY2hlY2sgYW5kIGJlZm9yZSB0aGUgd29yayBpcyBzY2hlZHVsZWQsIGJ1dCB0aGF0J3MKKwkg KiBub3QgYSBwcm9ibGVtIHNpbmNlIHdlJ2xsIGNoZWNrIGl0IGFnYWluIHVuZGVyIHRoZSB3b3Jr IGZ1bmN0aW9uCisJICogd2hpbGUgRkJDIGlzIGxvY2tlZC4gVGhpcyBjaGVjayBoZXJlIGlzIGp1 c3QgdG8gcHJldmVudCB1cyBmcm9tCisJICogdW5uZWNlc3NhcmlseSBzY2hlZHVsaW5nIHRoZSB3 b3JrLCBhbmQgaXQgcmVsaWVzIG9uIHRoZSBmYWN0IHRoYXQgd2UKKwkgKiBuZXZlciBzd2l0Y2gg dW5kZXJydW5fZGV0ZWN0IGJhY2sgdG8gZmFsc2UgYWZ0ZXIgaXQncyB0cnVlLiAqLworCWlmIChm YmMtPnVuZGVycnVuX2RldGVjdGVkKQorCQlyZXR1cm47CisKKwlzY2hlZHVsZV93b3JrKCZmYmMt PnVuZGVycnVuX3dvcmspOworfQorCiAvKioKICAqIGludGVsX2ZiY19pbml0X3BpcGVfc3RhdGUg LSBpbml0aWFsaXplIEZCQydzIENSVEMgdmlzaWJpbGl0eSB0cmFja2luZwogICogQGRldl9wcml2 OiBpOTE1IGRldmljZSBpbnN0YW5jZQpAQCAtMTI5Miw2ICsxMzU3LDcgQEAgdm9pZCBpbnRlbF9m YmNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJZW51bSBwaXBlIHBp cGU7CiAKIAlJTklUX1dPUksoJmZiYy0+d29yay53b3JrLCBpbnRlbF9mYmNfd29ya19mbik7CisJ SU5JVF9XT1JLKCZmYmMtPnVuZGVycnVuX3dvcmssIGludGVsX2ZiY191bmRlcnJ1bl93b3JrX2Zu KTsKIAltdXRleF9pbml0KCZmYmMtPmxvY2spOwogCWZiYy0+ZW5hYmxlZCA9IGZhbHNlOwogCWZi Yy0+YWN0aXZlID0gZmFsc2U7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9maWZvX3VuZGVycnVuLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9maWZvX3VuZGVy cnVuLmMKaW5kZXggMmFhNzQ0MC4uZWJiNGZlZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZmlmb191bmRlcnJ1bi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2ZpZm9fdW5kZXJydW4uYwpAQCAtMzcyLDYgKzM3Miw4IEBAIHZvaWQgaW50ZWxfY3B1X2Zp Zm9fdW5kZXJydW5faXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAogCWlmIChpbnRlbF9zZXRfY3B1X2ZpZm9fdW5kZXJydW5fcmVwb3J0aW5nKGRldl9wcml2LCBw aXBlLCBmYWxzZSkpCiAJCURSTV9FUlJPUigiQ1BVIHBpcGUgJWMgRklGTyB1bmRlcnJ1blxuIiwK IAkJCSAgcGlwZV9uYW1lKHBpcGUpKTsKKworCWludGVsX2ZiY19oYW5kbGVfZmlmb191bmRlcnJ1 bl9pcnEoZGV2X3ByaXYpOwogfQogCiAvKioKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK