From mboxrd@z Thu Jan 1 00:00:00 1970 From: yu.dai@intel.com Subject: [PATCH v3] drm/i915/guc: Clean up locks in GuC Date: Mon, 30 Nov 2015 16:15:19 -0800 Message-ID: <1448928919-12372-1-git-send-email-yu.dai@intel.com> References: <1448319778-29282-1-git-send-email-yu.dai@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id F24586E727 for ; Mon, 30 Nov 2015 16:17:47 -0800 (PST) In-Reply-To: <1448319778-29282-1-git-send-email-yu.dai@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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQWxleCBEYWkgPHl1LmRhaUBpbnRlbC5jb20+CgpXaGVuIEd1QyBXb3JrIFF1ZXVlIGlz IGZ1bGwsIGRyaXZlciB3aWxsIHdhaXQgR3VDIGZvciBhdmFsaWFibGUKc3BhY2UgYnkgZGVsYXlp bmcgMW1zLiBUaGUgd2FpdCBuZWVkcyB0byBiZSBvdXQgb2Ygc3BpbmxvY2tpcnEgLwp1bmxvY2su IE90aGVyd2lzZSwgbG9ja3VwIGhhcHBlbnMgYmVjYXVzZSBqaWZmaWVzIHdvbid0IGJlIHVwZGF0 ZWQKZHVlIHRvIGlycSBpcyBkaXNhYmxlZC4gVGhlIHVubmVjZXNzYXJ5IGxvY2tzIGhhcyBiZWVu IGNsZWFyZWQuCmRldi0+c3RydWN0X211dGV4IGlzIHVzZWQgaW5zdGVhZCB3aGVyZSBuZWVkZWQu CgpJc3N1ZSBpcyBmb3VuZCBpbiBpZ3QvZ2VtX2Nsb3NlX3JhY2UuCgp2MzogUmVtb3ZlIHVubmVj ZXNzYXJ5IHdoaXRlc3BhY2UgY2h1cm4KdjI6IENsZWFuIHVwIHdxX2xvY2sgdG9vCnYxOiBDbGVh biB1cCBob3N0Mmd1YyBsb2NrIGFzIHdlbGwKClNpZ25lZC1vZmYtYnk6IEFsZXggRGFpIDx5dS5k YWlAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jICAg ICAgICB8IDEyICsrKysrKy0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3Vi bWlzc2lvbi5jIHwgMzEgKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9ndWMuaCAgICAgICAgICAgfCAgNCAtLS0tCiAzIGZpbGVzIGNoYW5n ZWQsIDEyIGluc2VydGlvbnMoKyksIDM1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kZWJ1Z2ZzLmMKaW5kZXggYTcyOGZmMS4uZDZiNzgxNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kZWJ1Z2ZzLmMKQEAgLTI0NzMsMTUgKzI0NzMsMTUgQEAgc3RhdGljIGludCBpOTE1X2d1Y19p bmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKIAlpZiAoIUhBU19HVUNfU0NIRUQo ZGV2X3ByaXYtPmRldikpCiAJCXJldHVybiAwOwogCisJaWYgKG11dGV4X2xvY2tfaW50ZXJydXB0 aWJsZSgmZGV2LT5zdHJ1Y3RfbXV0ZXgpKQorCQlyZXR1cm4gMDsKKwogCS8qIFRha2UgYSBsb2Nh bCBjb3B5IG9mIHRoZSBHdUMgZGF0YSwgc28gd2UgY2FuIGR1bXAgaXQgYXQgbGVpc3VyZSAqLwot CXNwaW5fbG9jaygmZGV2X3ByaXYtPmd1Yy5ob3N0Mmd1Y19sb2NrKTsKIAlndWMgPSBkZXZfcHJp di0+Z3VjOwotCWlmIChndWMuZXhlY2J1Zl9jbGllbnQpIHsKLQkJc3Bpbl9sb2NrKCZndWMuZXhl Y2J1Zl9jbGllbnQtPndxX2xvY2spOworCWlmIChndWMuZXhlY2J1Zl9jbGllbnQpCiAJCWNsaWVu dCA9ICpndWMuZXhlY2J1Zl9jbGllbnQ7Ci0JCXNwaW5fdW5sb2NrKCZndWMuZXhlY2J1Zl9jbGll bnQtPndxX2xvY2spOwotCX0KLQlzcGluX3VubG9jaygmZGV2X3ByaXYtPmd1Yy5ob3N0Mmd1Y19s b2NrKTsKKworCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwogCiAJc2VxX3ByaW50 ZihtLCAiR3VDIHRvdGFsIGFjdGlvbiBjb3VudDogJWxsdVxuIiwgZ3VjLmFjdGlvbl9jb3VudCk7 CiAJc2VxX3ByaW50ZihtLCAiR3VDIGFjdGlvbiBmYWlsdXJlIGNvdW50OiAldVxuIiwgZ3VjLmFj dGlvbl9mYWlsKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1 Ym1pc3Npb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwpp bmRleCBlZDlmMTAwLi5hN2Y5Nzg1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2d1Y19zdWJtaXNzaW9uLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNf c3VibWlzc2lvbi5jCkBAIC04Niw3ICs4Niw2IEBAIHN0YXRpYyBpbnQgaG9zdDJndWNfYWN0aW9u KHN0cnVjdCBpbnRlbF9ndWMgKmd1YywgdTMyICpkYXRhLCB1MzIgbGVuKQogCQlyZXR1cm4gLUVJ TlZBTDsKIAogCWludGVsX3VuY29yZV9mb3JjZXdha2VfZ2V0KGRldl9wcml2LCBGT1JDRVdBS0Vf QUxMKTsKLQlzcGluX2xvY2soJmRldl9wcml2LT5ndWMuaG9zdDJndWNfbG9jayk7CiAKIAlkZXZf cHJpdi0+Z3VjLmFjdGlvbl9jb3VudCArPSAxOwogCWRldl9wcml2LT5ndWMuYWN0aW9uX2NtZCA9 IGRhdGFbMF07CkBAIC0xMTksNyArMTE4LDYgQEAgc3RhdGljIGludCBob3N0Mmd1Y19hY3Rpb24o c3RydWN0IGludGVsX2d1YyAqZ3VjLCB1MzIgKmRhdGEsIHUzMiBsZW4pCiAJfQogCWRldl9wcml2 LT5ndWMuYWN0aW9uX3N0YXR1cyA9IHN0YXR1czsKIAotCXNwaW5fdW5sb2NrKCZkZXZfcHJpdi0+ Z3VjLmhvc3QyZ3VjX2xvY2spOwogCWludGVsX3VuY29yZV9mb3JjZXdha2VfcHV0KGRldl9wcml2 LCBGT1JDRVdBS0VfQUxMKTsKIAogCXJldHVybiByZXQ7CkBAIC0yOTIsMTYgKzI5MCwxMiBAQCBz dGF0aWMgdWludDMyX3Qgc2VsZWN0X2Rvb3JiZWxsX2NhY2hlbGluZShzdHJ1Y3QgaW50ZWxfZ3Vj ICpndWMpCiAJY29uc3QgdWludDMyX3QgY2FjaGVsaW5lX3NpemUgPSBjYWNoZV9saW5lX3NpemUo KTsKIAl1aW50MzJfdCBvZmZzZXQ7CiAKLQlzcGluX2xvY2soJmd1Yy0+aG9zdDJndWNfbG9jayk7 Ci0KIAkvKiBEb29yYmVsbCB1c2VzIGEgc2luZ2xlIGNhY2hlIGxpbmUgd2l0aGluIGEgcGFnZSAq LwogCW9mZnNldCA9IG9mZnNldF9pbl9wYWdlKGd1Yy0+ZGJfY2FjaGVsaW5lKTsKIAogCS8qIE1v dmluZyB0byBuZXh0IGNhY2hlIGxpbmUgdG8gcmVkdWNlIGNvbnRlbnRpb24gKi8KIAlndWMtPmRi X2NhY2hlbGluZSArPSBjYWNoZWxpbmVfc2l6ZTsKIAotCXNwaW5fdW5sb2NrKCZndWMtPmhvc3Qy Z3VjX2xvY2spOwotCiAJRFJNX0RFQlVHX0RSSVZFUigic2VsZWN0ZWQgZG9vcmJlbGwgY2FjaGVs aW5lIDB4JXgsIG5leHQgMHgleCwgbGluZXNpemUgJXVcbiIsCiAJCQlvZmZzZXQsIGd1Yy0+ZGJf Y2FjaGVsaW5lLCBjYWNoZWxpbmVfc2l6ZSk7CiAKQEAgLTMyMiwxMyArMzE2LDExIEBAIHN0YXRp YyB1aW50MTZfdCBhc3NpZ25fZG9vcmJlbGwoc3RydWN0IGludGVsX2d1YyAqZ3VjLCB1aW50MzJf dCBwcmlvcml0eSkKIAljb25zdCB1aW50MTZfdCBlbmQgPSBzdGFydCArIGhhbGY7CiAJdWludDE2 X3QgaWQ7CiAKLQlzcGluX2xvY2soJmd1Yy0+aG9zdDJndWNfbG9jayk7CiAJaWQgPSBmaW5kX25l eHRfemVyb19iaXQoZ3VjLT5kb29yYmVsbF9iaXRtYXAsIGVuZCwgc3RhcnQpOwogCWlmIChpZCA9 PSBlbmQpCiAJCWlkID0gR1VDX0lOVkFMSURfRE9PUkJFTExfSUQ7CiAJZWxzZQogCQliaXRtYXBf c2V0KGd1Yy0+ZG9vcmJlbGxfYml0bWFwLCBpZCwgMSk7Ci0Jc3Bpbl91bmxvY2soJmd1Yy0+aG9z dDJndWNfbG9jayk7CiAKIAlEUk1fREVCVUdfRFJJVkVSKCJhc3NpZ25lZCAlcyBwcmlvcml0eSBk b29yYmVsbCBpZCAweCV4XG4iLAogCQkJaGlfcHJpID8gImhpZ2giIDogIm5vcm1hbCIsIGlkKTsK QEAgLTMzOCw5ICszMzAsNyBAQCBzdGF0aWMgdWludDE2X3QgYXNzaWduX2Rvb3JiZWxsKHN0cnVj dCBpbnRlbF9ndWMgKmd1YywgdWludDMyX3QgcHJpb3JpdHkpCiAKIHN0YXRpYyB2b2lkIHJlbGVh c2VfZG9vcmJlbGwoc3RydWN0IGludGVsX2d1YyAqZ3VjLCB1aW50MTZfdCBpZCkKIHsKLQlzcGlu X2xvY2soJmd1Yy0+aG9zdDJndWNfbG9jayk7CiAJYml0bWFwX2NsZWFyKGd1Yy0+ZG9vcmJlbGxf Yml0bWFwLCBpZCwgMSk7Ci0Jc3Bpbl91bmxvY2soJmd1Yy0+aG9zdDJndWNfbG9jayk7CiB9CiAK IC8qCkBAIC00ODcsMTYgKzQ3NywxMyBAQCBzdGF0aWMgaW50IGd1Y19nZXRfd29ya3F1ZXVlX3Nw YWNlKHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmdjLCB1MzIgKm9mZnNldCkKIAlzdHJ1Y3QgZ3Vj X3Byb2Nlc3NfZGVzYyAqZGVzYzsKIAl2b2lkICpiYXNlOwogCXUzMiBzaXplID0gc2l6ZW9mKHN0 cnVjdCBndWNfd3FfaXRlbSk7Ci0JaW50IHJldCA9IDAsIHRpbWVvdXRfY291bnRlciA9IDIwMDsK KwlpbnQgcmV0ID0gLUVUSU1FRE9VVCwgdGltZW91dF9jb3VudGVyID0gMjAwOwogCiAJYmFzZSA9 IGttYXBfYXRvbWljKGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZShnYy0+Y2xpZW50X29iaiwgMCkp OwogCWRlc2MgPSBiYXNlICsgZ2MtPnByb2NfZGVzY19vZmZzZXQ7CiAKIAl3aGlsZSAodGltZW91 dF9jb3VudGVyLS0gPiAwKSB7Ci0JCXJldCA9IHdhaXRfZm9yX2F0b21pYyhDSVJDX1NQQUNFKGdj LT53cV90YWlsLCBkZXNjLT5oZWFkLAotCQkJCWdjLT53cV9zaXplKSA+PSBzaXplLCAxKTsKLQot CQlpZiAoIXJldCkgeworCQlpZiAoQ0lSQ19TUEFDRShnYy0+d3FfdGFpbCwgZGVzYy0+aGVhZCwg Z2MtPndxX3NpemUpID49IHNpemUpIHsKIAkJCSpvZmZzZXQgPSBnYy0+d3FfdGFpbDsKIAogCQkJ LyogYWR2YW5jZSB0aGUgdGFpbCBmb3IgbmV4dCB3b3JrcXVldWUgaXRlbSAqLwpAQCAtNTA1LDcg KzQ5MiwxMSBAQCBzdGF0aWMgaW50IGd1Y19nZXRfd29ya3F1ZXVlX3NwYWNlKHN0cnVjdCBpOTE1 X2d1Y19jbGllbnQgKmdjLCB1MzIgKm9mZnNldCkKIAogCQkJLyogdGhpcyB3aWxsIGJyZWFrIHRo ZSBsb29wICovCiAJCQl0aW1lb3V0X2NvdW50ZXIgPSAwOworCQkJcmV0ID0gMDsKIAkJfQorCisJ CWlmICh0aW1lb3V0X2NvdW50ZXIpCisJCQl1c2xlZXBfcmFuZ2UoMTAwMCwgMjAwMCk7CiAJfTsK IAogCWt1bm1hcF9hdG9taWMoYmFzZSk7CkBAIC01OTcsMTUgKzU4OCwxMiBAQCBpbnQgaTkxNV9n dWNfc3VibWl0KHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmNsaWVudCwKIHsKIAlzdHJ1Y3QgaW50 ZWxfZ3VjICpndWMgPSBjbGllbnQtPmd1YzsKIAllbnVtIGludGVsX3JpbmdfaWQgcmluZ19pZCA9 IHJxLT5yaW5nLT5pZDsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwogCWludCBxX3JldCwgYl9yZXQ7 CiAKIAkvKiBOZWVkIHRoaXMgYmVjYXVzZSBvZiB0aGUgZGVmZXJyZWQgcGluIGN0eCBhbmQgcmlu ZyAqLwogCS8qIFNoYWxsIHdlIG1vdmUgdGhpcyByaWdodCBhZnRlciByaW5nIGlzIHBpbm5lZD8g Ki8KIAlscl9jb250ZXh0X3VwZGF0ZShycSk7CiAKLQlzcGluX2xvY2tfaXJxc2F2ZSgmY2xpZW50 LT53cV9sb2NrLCBmbGFncyk7Ci0KIAlxX3JldCA9IGd1Y19hZGRfd29ya3F1ZXVlX2l0ZW0oY2xp ZW50LCBycSk7CiAJaWYgKHFfcmV0ID09IDApCiAJCWJfcmV0ID0gZ3VjX3JpbmdfZG9vcmJlbGwo Y2xpZW50KTsKQEAgLTYyMCwxMiArNjA4LDggQEAgaW50IGk5MTVfZ3VjX3N1Ym1pdChzdHJ1Y3Qg aTkxNV9ndWNfY2xpZW50ICpjbGllbnQsCiAJfSBlbHNlIHsKIAkJY2xpZW50LT5yZXRjb2RlID0g MDsKIAl9Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2xpZW50LT53cV9sb2NrLCBmbGFncyk7 Ci0KLQlzcGluX2xvY2soJmd1Yy0+aG9zdDJndWNfbG9jayk7CiAJZ3VjLT5zdWJtaXNzaW9uc1ty aW5nX2lkXSArPSAxOwogCWd1Yy0+bGFzdF9zZXFub1tyaW5nX2lkXSA9IHJxLT5zZXFubzsKLQlz cGluX3VubG9jaygmZ3VjLT5ob3N0Mmd1Y19sb2NrKTsKIAogCXJldHVybiBxX3JldDsKIH0KQEAg LTc2OCw3ICs3NTIsNiBAQCBzdGF0aWMgc3RydWN0IGk5MTVfZ3VjX2NsaWVudCAqZ3VjX2NsaWVu dF9hbGxvYyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCWNsaWVudC0+Y2xpZW50X29iaiA9IG9i ajsKIAljbGllbnQtPndxX29mZnNldCA9IEdVQ19EQl9TSVpFOwogCWNsaWVudC0+d3Ffc2l6ZSA9 IEdVQ19XUV9TSVpFOwotCXNwaW5fbG9ja19pbml0KCZjbGllbnQtPndxX2xvY2spOwogCiAJY2xp ZW50LT5kb29yYmVsbF9vZmZzZXQgPSBzZWxlY3RfZG9vcmJlbGxfY2FjaGVsaW5lKGd1Yyk7CiAK QEAgLTg3MSw4ICs4NTQsNiBAQCBpbnQgaTkxNV9ndWNfc3VibWlzc2lvbl9pbml0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCiAJaWYgKCFndWMtPmN0eF9wb29sX29iaikKIAkJcmV0dXJuIC1FTk9N RU07CiAKLQlzcGluX2xvY2tfaW5pdCgmZGV2X3ByaXYtPmd1Yy5ob3N0Mmd1Y19sb2NrKTsKLQog CWlkYV9pbml0KCZndWMtPmN0eF9pZHMpOwogCiAJZ3VjX2NyZWF0ZV9sb2coZ3VjKTsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZ3VjLmgKaW5kZXggNWJhNTg2Ni4uODIyOTUyMiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZ3VjLmgKQEAgLTQyLDggKzQyLDYgQEAgc3RydWN0IGk5MTVfZ3VjX2NsaWVudCB7CiAK IAl1aW50MzJfdCB3cV9vZmZzZXQ7CiAJdWludDMyX3Qgd3Ffc2l6ZTsKLQotCXNwaW5sb2NrX3Qg d3FfbG9jazsJCS8qIFByb3RlY3RzIGFsbCBkYXRhIGJlbG93CSovCiAJdWludDMyX3Qgd3FfdGFp bDsKIAogCS8qIEd1QyBzdWJtaXNzaW9uIHN0YXRpc3RpY3MgJiBzdGF0dXMgKi8KQEAgLTk1LDgg KzkzLDYgQEAgc3RydWN0IGludGVsX2d1YyB7CiAKIAlzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpl eGVjYnVmX2NsaWVudDsKIAotCXNwaW5sb2NrX3QgaG9zdDJndWNfbG9jazsJLyogUHJvdGVjdHMg YWxsIGRhdGEgYmVsb3cJKi8KLQogCURFQ0xBUkVfQklUTUFQKGRvb3JiZWxsX2JpdG1hcCwgR1VD X01BWF9ET09SQkVMTFMpOwogCXVpbnQzMl90IGRiX2NhY2hlbGluZTsJCS8qIEN5Y2xpYyBjb3Vu dGVyIG1vZCBwYWdlc2l6ZQkqLwogCi0tIAoyLjUuMAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK