From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: [PATCH 6/9] drm/i915: add the FBC mutex Date: Tue, 23 Dec 2014 10:35:42 -0200 Message-ID: <1419338145-1912-7-git-send-email-przanoni@gmail.com> References: <1419338145-1912-1-git-send-email-przanoni@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-vc0-f174.google.com (mail-vc0-f174.google.com [209.85.220.174]) by gabe.freedesktop.org (Postfix) with ESMTP id 970006E45B for ; Tue, 23 Dec 2014 04:36:43 -0800 (PST) Received: by mail-vc0-f174.google.com with SMTP id id10so2286824vcb.19 for ; Tue, 23 Dec 2014 04:36:43 -0800 (PST) In-Reply-To: <1419338145-1912-1-git-send-email-przanoni@gmail.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: Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org RnJvbTogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+CgpNYWtlIHN1cmUg d2UncmUgbm90IGdvbm5hIGhhdmUgd2VpcmQgcmFjZXMgaW4gcmVhbGx5IHdlaXJkIGNhc2VzIHdo ZXJlCmEgbG90IG9mIGRpZmZlcmVudCBDUlRDcyBhcmUgZG9pbmcgcmVuZGVyaW5nIGFuZCBtb2Rl c2V0cyBhdCB0aGUgc2FtZQp0aW1lLgoKU2lnbmVkLW9mZi1ieTogUGF1bG8gWmFub25pIDxwYXVs by5yLnphbm9uaUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aCAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYyB8IDgwICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgNjQgaW5z ZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXgg ZjA0MTljOC4uMThmY2NlNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC03MzQsNiArNzM0 LDcgQEAgZW51bSBmYl9vcF9vcmlnaW4gewogfTsKIAogc3RydWN0IGk5MTVfZmJjIHsKKwlzdHJ1 Y3QgbXV0ZXggbG9jazsKIAl1bnNpZ25lZCB0aHJlc2hvbGQ7CiAJdW5zaWduZWQgaW50IGZiX2lk OwogCXVuc2lnbmVkIGludCBwb3NzaWJsZV9mcmFtZWJ1ZmZlcl9iaXRzOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9mYmMuYwppbmRleCBjNmU2ODhjLi42NjExMjY2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9mYmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9m YmMuYwpAQCAtMzM1LDYgKzMzNSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2ZiY193b3JrX2ZuKHN0 cnVjdCB3b3JrX3N0cnVjdCAqX193b3JrKQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAKIAltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRl eCk7CisJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmZiYy5sb2NrKTsKIAlpZiAod29yayA9PSBkZXZf cHJpdi0+ZmJjLmZiY193b3JrKSB7CiAJCS8qIERvdWJsZSBjaGVjayB0aGF0IHdlIGhhdmVuJ3Qg c3dpdGNoZWQgZmIgd2l0aG91dCBjYW5jZWxsaW5nCiAJCSAqIHRoZSBwcmlvciB3b3JrLgpAQCAt MzQ5LDYgKzM1MCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2ZiY193b3JrX2ZuKHN0cnVjdCB3b3Jr X3N0cnVjdCAqX193b3JrKQogCiAJCWRldl9wcml2LT5mYmMuZmJjX3dvcmsgPSBOVUxMOwogCX0K KwltdXRleF91bmxvY2soJmRldl9wcml2LT5mYmMubG9jayk7CiAJbXV0ZXhfdW5sb2NrKCZkZXYt PnN0cnVjdF9tdXRleCk7CiAKIAlrZnJlZSh3b3JrKTsKQEAgLTM1Niw2ICszNTgsOCBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9mYmNfd29ya19mbihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKl9fd29yaykKIAog c3RhdGljIHZvaWQgaW50ZWxfZmJjX2NhbmNlbF93b3JrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKIHsKKwlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXZfcHJpdi0+ZmJjLmxvY2sp OworCiAJaWYgKGRldl9wcml2LT5mYmMuZmJjX3dvcmsgPT0gTlVMTCkKIAkJcmV0dXJuOwogCkBA IC0zODMsNiArMzg3LDggQEAgc3RhdGljIHZvaWQgaW50ZWxfZmJjX2VuYWJsZShzdHJ1Y3QgZHJt X2NydGMgKmNydGMpCiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwogCisJbG9j a2RlcF9hc3NlcnRfaGVsZCgmZGV2X3ByaXYtPmZiYy5sb2NrKTsKKwogCWlmICghZGV2X3ByaXYt PmRpc3BsYXkuZW5hYmxlX2ZiYykKIAkJcmV0dXJuOwogCkBAIC00MTcsMTYgKzQyMywxMiBAQCBz dGF0aWMgdm9pZCBpbnRlbF9mYmNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAlzY2hl ZHVsZV9kZWxheWVkX3dvcmsoJndvcmstPndvcmssIG1zZWNzX3RvX2ppZmZpZXMoNTApKTsKIH0K IAotLyoqCi0gKiBpbnRlbF9mYmNfZGlzYWJsZSAtIGRpc2FibGUgRkJDCi0gKiBAZGV2OiB0aGUg ZHJtX2RldmljZQotICoKLSAqIFRoaXMgZnVuY3Rpb24gZGlzYWJsZXMgRkJDLgotICovCi12b2lk IGludGVsX2ZiY19kaXNhYmxlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCitzdGF0aWMgdm9pZCBf X2ludGVsX2ZiY19kaXNhYmxlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAorCWxvY2tkZXBf YXNzZXJ0X2hlbGQoJmRldl9wcml2LT5mYmMubG9jayk7CisKIAlpbnRlbF9mYmNfY2FuY2VsX3dv cmsoZGV2X3ByaXYpOwogCiAJaWYgKCFkZXZfcHJpdi0+ZGlzcGxheS5kaXNhYmxlX2ZiYykKQEAg LTQzNiw2ICs0MzgsMjEgQEAgdm9pZCBpbnRlbF9mYmNfZGlzYWJsZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQogCWRldl9wcml2LT5mYmMuY3J0YyA9IE5VTEw7CiB9CiAKKy8qKgorICogaW50ZWxf ZmJjX2Rpc2FibGUgLSBkaXNhYmxlIEZCQworICogQGRldjogdGhlIGRybV9kZXZpY2UKKyAqCisg KiBUaGlzIGZ1bmN0aW9uIGRpc2FibGVzIEZCQy4KKyAqLwordm9pZCBpbnRlbF9mYmNfZGlzYWJs ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisKKwltdXRleF9sb2NrKCZkZXZfcHJpdi0+ZmJj LmxvY2spOworCV9faW50ZWxfZmJjX2Rpc2FibGUoZGV2KTsKKwltdXRleF91bmxvY2soJmRldl9w cml2LT5mYmMubG9jayk7Cit9CisKIHN0YXRpYyBib29sIHNldF9ub19mYmNfcmVhc29uKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCSAgICAgIGVudW0gbm9fZmJjX3JlYXNv biByZWFzb24pCiB7CkBAIC00ODQsNyArNTAxLDcgQEAgc3RhdGljIHN0cnVjdCBkcm1fY3J0YyAq aW50ZWxfZmJjX2ZpbmRfY3J0YyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB9 CiAKIC8qKgotICogaW50ZWxfZmJjX3VwZGF0ZSAtIGVuYWJsZS9kaXNhYmxlIEZCQyBhcyBuZWVk ZWQKKyAqIF9faW50ZWxfZmJjX3VwZGF0ZSAtIGVuYWJsZS9kaXNhYmxlIEZCQyBhcyBuZWVkZWQs IHVubG9ja2VkCiAgKiBAZGV2OiB0aGUgZHJtX2RldmljZQogICoKICAqIFNldCB1cCB0aGUgZnJh bWVidWZmZXIgY29tcHJlc3Npb24gaGFyZHdhcmUgYXQgbW9kZSBzZXQgdGltZS4gIFdlCkBAIC01 MDIsNyArNTE5LDcgQEAgc3RhdGljIHN0cnVjdCBkcm1fY3J0YyAqaW50ZWxfZmJjX2ZpbmRfY3J0 YyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAgKgogICogV2UgbmVlZCB0byBl bmFibGUvZGlzYWJsZSBGQkMgb24gYSBnbG9iYWwgYmFzaXMuCiAgKi8KLXZvaWQgaW50ZWxfZmJj X3VwZGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQorc3RhdGljIHZvaWQgX19pbnRlbF9mYmNf dXBkYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGMg PSBOVUxMOwpAQCAtNTEyLDYgKzUyOSw4IEBAIHZvaWQgaW50ZWxfZmJjX3VwZGF0ZShzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQogCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3Rl ZF9tb2RlOwogCXVuc2lnbmVkIGludCBtYXhfd2lkdGgsIG1heF9oZWlnaHQ7CiAKKwlsb2NrZGVw X2Fzc2VydF9oZWxkKCZkZXZfcHJpdi0+ZmJjLmxvY2spOworCiAJaWYgKCFIQVNfRkJDKGRldikp CiAJCXJldHVybjsKIApAQCAtNjMxLDcgKzY1MCw3IEBAIHZvaWQgaW50ZWxfZmJjX3VwZGF0ZShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQkgKiBzb21lIHBvaW50LiBBbmQgd2Ugd2FpdCBiZWZv cmUgZW5hYmxpbmcgRkJDIGFueXdheS4KIAkJICovCiAJCURSTV9ERUJVR19LTVMoImRpc2FibGlu ZyBhY3RpdmUgRkJDIGZvciB1cGRhdGVcbiIpOwotCQlpbnRlbF9mYmNfZGlzYWJsZShkZXYpOwor CQlfX2ludGVsX2ZiY19kaXNhYmxlKGRldik7CiAJfQogCiAJaWYgKGk5MTVfZ2VtX3N0b2xlbl9z ZXR1cF9jb21wcmVzc2lvbihkZXYsIG9iai0+YmFzZS5zaXplLApAQCAtNjQ5LDExICs2NjgsMjYg QEAgb3V0X2Rpc2FibGU6CiAJLyogTXVsdGlwbGUgZGlzYWJsZXMgc2hvdWxkIGJlIGhhcm1sZXNz ICovCiAJaWYgKGludGVsX2ZiY19lbmFibGVkKGRldikpIHsKIAkJRFJNX0RFQlVHX0tNUygidW5z dXBwb3J0ZWQgY29uZmlnLCBkaXNhYmxpbmcgRkJDXG4iKTsKLQkJaW50ZWxfZmJjX2Rpc2FibGUo ZGV2KTsKKwkJX19pbnRlbF9mYmNfZGlzYWJsZShkZXYpOwogCX0KIAlpOTE1X2dlbV9zdG9sZW5f Y2xlYW51cF9jb21wcmVzc2lvbihkZXYpOwogfQogCisvKgorICogaW50ZWxfZmJjX3VwZGF0ZSAt IGVuYWJsZS9kaXNhYmxlIEZCQyBhcyBuZWVkZWQKKyAqIEBkZXY6IHRoZSBkcm1fZGV2aWNlCisg KgorICogVGhpcyBmdW5jdGlvbiByZWV2YWx1YXRlcyB0aGUgb3ZlcmFsbCBzdGF0ZSBhbmQgZW5h YmxlcyBvciBkaXNhYmxlcyBGQkMuCisgKi8KK3ZvaWQgaW50ZWxfZmJjX3VwZGF0ZShzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IGRldi0+ZGV2X3ByaXZhdGU7CisKKwltdXRleF9sb2NrKCZkZXZfcHJpdi0+ZmJjLmxvY2spOwor CV9faW50ZWxfZmJjX3VwZGF0ZShkZXYpOworCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmZiYy5s b2NrKTsKK30KKwogdm9pZCBpbnRlbF9mYmNfaW52YWxpZGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCiAJCQkgIHVuc2lnbmVkIGludCBmcm9udGJ1ZmZlcl9iaXRzLAogCQkJ ICBlbnVtIGZiX29wX29yaWdpbiBvcmlnaW4pCkBAIC02NjEsOCArNjk1LDEwIEBAIHZvaWQgaW50 ZWxfZmJjX2ludmFsaWRhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBkZXZfcHJpdi0+ZGV2OwogCXVuc2lnbmVkIGludCBmYmNf Yml0czsKIAorCW11dGV4X2xvY2soJmRldl9wcml2LT5mYmMubG9jayk7CisKIAlpZiAob3JpZ2lu ID09IE9SSUdJTl9HVFQpCi0JCXJldHVybjsKKwkJZ290byBvdXQ7CiAKIAlpZiAoZGV2X3ByaXYt PmZiYy5lbmFibGVkKQogCQlmYmNfYml0cyA9IElOVEVMX0ZST05UQlVGRkVSX1BSSU1BUlkoZGV2 X3ByaXYtPmZiYy5jcnRjLT5waXBlKTsKQEAgLTY3Myw5ICs3MDksMTIgQEAgdm9pZCBpbnRlbF9m YmNfaW52YWxpZGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCWZiY19i aXRzID0gZGV2X3ByaXYtPmZiYy5wb3NzaWJsZV9mcmFtZWJ1ZmZlcl9iaXRzOwogCiAJaWYgKChm YmNfYml0cyAmIGZyb250YnVmZmVyX2JpdHMpID09IDApCi0JCXJldHVybjsKKwkJZ290byBvdXQ7 CiAKLQlpbnRlbF9mYmNfZGlzYWJsZShkZXYpOworCV9faW50ZWxfZmJjX2Rpc2FibGUoZGV2KTsK Kworb3V0OgorCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmZiYy5sb2NrKTsKIH0KIAogdm9pZCBp bnRlbF9mYmNfZmx1c2goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LApAQCAtNjg2 LDYgKzcyNSw4IEBAIHZvaWQgaW50ZWxfZmJjX2ZsdXNoKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKIAl1bnNpZ25lZCBpbnQgZmJjX2JpdHMgPSAwOwogCWJvb2wgZmJjX2VuYWJs ZWQ7CiAKKwltdXRleF9sb2NrKCZkZXZfcHJpdi0+ZmJjLmxvY2spOworCiAJaWYgKGRldl9wcml2 LT5mYmMuZW5hYmxlZCkKIAkJZmJjX2JpdHMgPSBJTlRFTF9GUk9OVEJVRkZFUl9QUklNQVJZKGRl dl9wcml2LT5mYmMuY3J0Yy0+cGlwZSk7CiAJZWxzZQpAQCAtNjkzLDcgKzczNCw3IEBAIHZvaWQg aW50ZWxfZmJjX2ZsdXNoKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAogCS8q IFRoZXNlIGFyZSBub3QgdGhlIHBsYW5lcyB5b3UgYXJlIGxvb2tpbmcgZm9yLiAqLwogCWlmICgo ZnJvbnRidWZmZXJfYml0cyAmIGZiY19iaXRzKSA9PSAwKQotCQlyZXR1cm47CisJCWdvdG8gb3V0 OwogCiAJZmJjX2VuYWJsZWQgPSBpbnRlbF9mYmNfZW5hYmxlZChkZXYpOwogCkBAIC03MDMsMTIg Kzc0NCwxNSBAQCB2b2lkIGludGVsX2ZiY19mbHVzaChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCiAJCQlpZiAob3JpZ2luID09IE9SSUdJTl9DUyB8fCBvcmlnaW4gPT0gT1JJR0lO X0NQVSkKIAkJCQlpbnRlbF9mYmNfbnVrZShkZXZfcHJpdik7CiAJCX0gZWxzZSB7Ci0JCQlpbnRl bF9mYmNfdXBkYXRlKGRldik7CisJCQlfX2ludGVsX2ZiY191cGRhdGUoZGV2KTsKIAkJfQogCX0g ZWxzZSB7CiAJCWlmIChmYmNfZW5hYmxlZCkKLQkJCWludGVsX2ZiY19kaXNhYmxlKGRldik7CisJ CQlfX2ludGVsX2ZiY19kaXNhYmxlKGRldik7CiAJfQorCitvdXQ6CisJbXV0ZXhfdW5sb2NrKCZk ZXZfcHJpdi0+ZmJjLmxvY2spOwogfQogCiAvKioKQEAgLTcyMSw2ICs3NjUsOCBAQCB2b2lkIGlu dGVsX2ZiY19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAllbnVt IHBpcGUgcGlwZTsKIAorCW11dGV4X2luaXQoJmRldl9wcml2LT5mYmMubG9jayk7CisKIAlpZiAo IUhBU19GQkMoZGV2X3ByaXYpKSB7CiAJCWRldl9wcml2LT5mYmMuZW5hYmxlZCA9IGZhbHNlOwog CQlkZXZfcHJpdi0+ZmJjLm5vX2ZiY19yZWFzb24gPSBGQkNfVU5TVVBQT1JURUQ7Ci0tIAoyLjEu MwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK