From mboxrd@z Thu Jan 1 00:00:00 1970 From: yu.dai@intel.com Subject: [PATCH v4] drm/i915/guc: Clean up locks in GuC Date: Wed, 2 Dec 2015 16:56:29 -0800 Message-ID: <1449104189-27591-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 9086F6EB45 for ; Wed, 2 Dec 2015 16:58:58 -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+CgpGb3Igbm93LCByZW1vdmUgdGhlIHNw aW5sb2NrcyB0aGF0IHByb3RlY3RlZCB0aGUgR3VDJ3MKc3RhdGlzdGljcyBibG9jayBhbmQgd29y ayBxdWV1ZTsgdGhleSBhcmUgb25seSBhY2Nlc3NlZApieSBjb2RlIHRoYXQgYWxyZWFkeSBob2xk cyB0aGUgZ2xvYmFsIHN0cnVjdF9tdXRleCwgYW5kCnNvIGFyZSByZWR1bmRhbnQgKHVudGlsIHRo ZSBiaWcgc3RydWN0X211dGV4IHJld3JpdGUhKS4KClRoZSBzcGVjaWZpYyBwcm9ibGVtIHRoYXQg dGhlIHNwaW5sb2NrcyBjYXVzZWQgd2FzIHRoYXQKaWYgdGhlIHdvcmsgcXVldWUgd2FzIGZ1bGws IHRoZSBkcml2ZXIgd291bGQgdHJ5IHRvCnNwaW53YWl0IGZvciBvbmUgamlmZnksIGJ1dCB3aXRo IGludGVycnVwdHMgZGlzYWJsZWQgdGhlCmppZmZ5IGNvdW50IHdvdWxkIG5vdCBhZHZhbmNlLCBs ZWFkaW5nIHRvIGEgc3lzdGVtIGhhbmcuClRoZSBpc3N1ZSB3YXMgZm91bmQgdXNpbmcgdGVzdCBj YXNlIGlndC9nZW1fY2xvc2VfcmFjZS4KClRoZSBuZXcgdmVyc2lvbiB3aWxsIHVzbGVlcCgpIGlu c3RlYWQsIHN0aWxsIGhvbGRpbmcKdGhlIHN0cnVjdF9tdXRleCBidXQgd2l0aG91dCBhbnkgc3Bp bmxvY2tzLgoKdjQ6IFJlb3JnYW5pemUgY29tbWl0IG1lc3NhZ2UgKERhdmUgR29yZG9uKQp2Mzog UmVtb3ZlIHVubmVjZXNzYXJ5IHdoaXRlc3BhY2UgY2h1cm4KdjI6IENsZWFuIHVwIHdxX2xvY2sg dG9vCnYxOiBDbGVhbiB1cCBob3N0Mmd1YyBsb2NrIGFzIHdlbGwKClNpZ25lZC1vZmYtYnk6IEFs ZXggRGFpIDx5dS5kYWlAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZGVidWdmcy5jICAgICAgICB8IDEyICsrKysrKy0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9ndWNfc3VibWlzc2lvbi5jIHwgMzEgKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaCAgICAgICAgICAgfCAgNCAtLS0tCiAz IGZpbGVzIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDM1IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5kZXggYTcyOGZmMS4uZDZiNzgxNyAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKQEAgLTI0NzMsMTUgKzI0NzMsMTUgQEAgc3RhdGljIGlu dCBpOTE1X2d1Y19pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKIAlpZiAoIUhB U19HVUNfU0NIRUQoZGV2X3ByaXYtPmRldikpCiAJCXJldHVybiAwOwogCisJaWYgKG11dGV4X2xv Y2tfaW50ZXJydXB0aWJsZSgmZGV2LT5zdHJ1Y3RfbXV0ZXgpKQorCQlyZXR1cm4gMDsKKwogCS8q IFRha2UgYSBsb2NhbCBjb3B5IG9mIHRoZSBHdUMgZGF0YSwgc28gd2UgY2FuIGR1bXAgaXQgYXQg bGVpc3VyZSAqLwotCXNwaW5fbG9jaygmZGV2X3ByaXYtPmd1Yy5ob3N0Mmd1Y19sb2NrKTsKIAln dWMgPSBkZXZfcHJpdi0+Z3VjOwotCWlmIChndWMuZXhlY2J1Zl9jbGllbnQpIHsKLQkJc3Bpbl9s b2NrKCZndWMuZXhlY2J1Zl9jbGllbnQtPndxX2xvY2spOworCWlmIChndWMuZXhlY2J1Zl9jbGll bnQpCiAJCWNsaWVudCA9ICpndWMuZXhlY2J1Zl9jbGllbnQ7Ci0JCXNwaW5fdW5sb2NrKCZndWMu ZXhlY2J1Zl9jbGllbnQtPndxX2xvY2spOwotCX0KLQlzcGluX3VubG9jaygmZGV2X3ByaXYtPmd1 Yy5ob3N0Mmd1Y19sb2NrKTsKKworCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwog CiAJc2VxX3ByaW50ZihtLCAiR3VDIHRvdGFsIGFjdGlvbiBjb3VudDogJWxsdVxuIiwgZ3VjLmFj dGlvbl9jb3VudCk7CiAJc2VxX3ByaW50ZihtLCAiR3VDIGFjdGlvbiBmYWlsdXJlIGNvdW50OiAl dVxuIiwgZ3VjLmFjdGlvbl9mYWlsKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1 Ym1pc3Npb24uYwppbmRleCBlZDlmMTAwLi5hN2Y5Nzg1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCkBAIC04Niw3ICs4Niw2IEBAIHN0YXRpYyBpbnQgaG9z dDJndWNfYWN0aW9uKHN0cnVjdCBpbnRlbF9ndWMgKmd1YywgdTMyICpkYXRhLCB1MzIgbGVuKQog CQlyZXR1cm4gLUVJTlZBTDsKIAogCWludGVsX3VuY29yZV9mb3JjZXdha2VfZ2V0KGRldl9wcml2 LCBGT1JDRVdBS0VfQUxMKTsKLQlzcGluX2xvY2soJmRldl9wcml2LT5ndWMuaG9zdDJndWNfbG9j ayk7CiAKIAlkZXZfcHJpdi0+Z3VjLmFjdGlvbl9jb3VudCArPSAxOwogCWRldl9wcml2LT5ndWMu YWN0aW9uX2NtZCA9IGRhdGFbMF07CkBAIC0xMTksNyArMTE4LDYgQEAgc3RhdGljIGludCBob3N0 Mmd1Y19hY3Rpb24oc3RydWN0IGludGVsX2d1YyAqZ3VjLCB1MzIgKmRhdGEsIHUzMiBsZW4pCiAJ fQogCWRldl9wcml2LT5ndWMuYWN0aW9uX3N0YXR1cyA9IHN0YXR1czsKIAotCXNwaW5fdW5sb2Nr KCZkZXZfcHJpdi0+Z3VjLmhvc3QyZ3VjX2xvY2spOwogCWludGVsX3VuY29yZV9mb3JjZXdha2Vf cHV0KGRldl9wcml2LCBGT1JDRVdBS0VfQUxMKTsKIAogCXJldHVybiByZXQ7CkBAIC0yOTIsMTYg KzI5MCwxMiBAQCBzdGF0aWMgdWludDMyX3Qgc2VsZWN0X2Rvb3JiZWxsX2NhY2hlbGluZShzdHJ1 Y3QgaW50ZWxfZ3VjICpndWMpCiAJY29uc3QgdWludDMyX3QgY2FjaGVsaW5lX3NpemUgPSBjYWNo ZV9saW5lX3NpemUoKTsKIAl1aW50MzJfdCBvZmZzZXQ7CiAKLQlzcGluX2xvY2soJmd1Yy0+aG9z dDJndWNfbG9jayk7Ci0KIAkvKiBEb29yYmVsbCB1c2VzIGEgc2luZ2xlIGNhY2hlIGxpbmUgd2l0 aGluIGEgcGFnZSAqLwogCW9mZnNldCA9IG9mZnNldF9pbl9wYWdlKGd1Yy0+ZGJfY2FjaGVsaW5l KTsKIAogCS8qIE1vdmluZyB0byBuZXh0IGNhY2hlIGxpbmUgdG8gcmVkdWNlIGNvbnRlbnRpb24g Ki8KIAlndWMtPmRiX2NhY2hlbGluZSArPSBjYWNoZWxpbmVfc2l6ZTsKIAotCXNwaW5fdW5sb2Nr KCZndWMtPmhvc3QyZ3VjX2xvY2spOwotCiAJRFJNX0RFQlVHX0RSSVZFUigic2VsZWN0ZWQgZG9v cmJlbGwgY2FjaGVsaW5lIDB4JXgsIG5leHQgMHgleCwgbGluZXNpemUgJXVcbiIsCiAJCQlvZmZz ZXQsIGd1Yy0+ZGJfY2FjaGVsaW5lLCBjYWNoZWxpbmVfc2l6ZSk7CiAKQEAgLTMyMiwxMyArMzE2 LDExIEBAIHN0YXRpYyB1aW50MTZfdCBhc3NpZ25fZG9vcmJlbGwoc3RydWN0IGludGVsX2d1YyAq Z3VjLCB1aW50MzJfdCBwcmlvcml0eSkKIAljb25zdCB1aW50MTZfdCBlbmQgPSBzdGFydCArIGhh bGY7CiAJdWludDE2X3QgaWQ7CiAKLQlzcGluX2xvY2soJmd1Yy0+aG9zdDJndWNfbG9jayk7CiAJ aWQgPSBmaW5kX25leHRfemVyb19iaXQoZ3VjLT5kb29yYmVsbF9iaXRtYXAsIGVuZCwgc3RhcnQp OwogCWlmIChpZCA9PSBlbmQpCiAJCWlkID0gR1VDX0lOVkFMSURfRE9PUkJFTExfSUQ7CiAJZWxz ZQogCQliaXRtYXBfc2V0KGd1Yy0+ZG9vcmJlbGxfYml0bWFwLCBpZCwgMSk7Ci0Jc3Bpbl91bmxv Y2soJmd1Yy0+aG9zdDJndWNfbG9jayk7CiAKIAlEUk1fREVCVUdfRFJJVkVSKCJhc3NpZ25lZCAl cyBwcmlvcml0eSBkb29yYmVsbCBpZCAweCV4XG4iLAogCQkJaGlfcHJpID8gImhpZ2giIDogIm5v cm1hbCIsIGlkKTsKQEAgLTMzOCw5ICszMzAsNyBAQCBzdGF0aWMgdWludDE2X3QgYXNzaWduX2Rv b3JiZWxsKHN0cnVjdCBpbnRlbF9ndWMgKmd1YywgdWludDMyX3QgcHJpb3JpdHkpCiAKIHN0YXRp YyB2b2lkIHJlbGVhc2VfZG9vcmJlbGwoc3RydWN0IGludGVsX2d1YyAqZ3VjLCB1aW50MTZfdCBp ZCkKIHsKLQlzcGluX2xvY2soJmd1Yy0+aG9zdDJndWNfbG9jayk7CiAJYml0bWFwX2NsZWFyKGd1 Yy0+ZG9vcmJlbGxfYml0bWFwLCBpZCwgMSk7Ci0Jc3Bpbl91bmxvY2soJmd1Yy0+aG9zdDJndWNf bG9jayk7CiB9CiAKIC8qCkBAIC00ODcsMTYgKzQ3NywxMyBAQCBzdGF0aWMgaW50IGd1Y19nZXRf d29ya3F1ZXVlX3NwYWNlKHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmdjLCB1MzIgKm9mZnNldCkK IAlzdHJ1Y3QgZ3VjX3Byb2Nlc3NfZGVzYyAqZGVzYzsKIAl2b2lkICpiYXNlOwogCXUzMiBzaXpl ID0gc2l6ZW9mKHN0cnVjdCBndWNfd3FfaXRlbSk7Ci0JaW50IHJldCA9IDAsIHRpbWVvdXRfY291 bnRlciA9IDIwMDsKKwlpbnQgcmV0ID0gLUVUSU1FRE9VVCwgdGltZW91dF9jb3VudGVyID0gMjAw OwogCiAJYmFzZSA9IGttYXBfYXRvbWljKGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZShnYy0+Y2xp ZW50X29iaiwgMCkpOwogCWRlc2MgPSBiYXNlICsgZ2MtPnByb2NfZGVzY19vZmZzZXQ7CiAKIAl3 aGlsZSAodGltZW91dF9jb3VudGVyLS0gPiAwKSB7Ci0JCXJldCA9IHdhaXRfZm9yX2F0b21pYyhD SVJDX1NQQUNFKGdjLT53cV90YWlsLCBkZXNjLT5oZWFkLAotCQkJCWdjLT53cV9zaXplKSA+PSBz aXplLCAxKTsKLQotCQlpZiAoIXJldCkgeworCQlpZiAoQ0lSQ19TUEFDRShnYy0+d3FfdGFpbCwg ZGVzYy0+aGVhZCwgZ2MtPndxX3NpemUpID49IHNpemUpIHsKIAkJCSpvZmZzZXQgPSBnYy0+d3Ff dGFpbDsKIAogCQkJLyogYWR2YW5jZSB0aGUgdGFpbCBmb3IgbmV4dCB3b3JrcXVldWUgaXRlbSAq LwpAQCAtNTA1LDcgKzQ5MiwxMSBAQCBzdGF0aWMgaW50IGd1Y19nZXRfd29ya3F1ZXVlX3NwYWNl KHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmdjLCB1MzIgKm9mZnNldCkKIAogCQkJLyogdGhpcyB3 aWxsIGJyZWFrIHRoZSBsb29wICovCiAJCQl0aW1lb3V0X2NvdW50ZXIgPSAwOworCQkJcmV0ID0g MDsKIAkJfQorCisJCWlmICh0aW1lb3V0X2NvdW50ZXIpCisJCQl1c2xlZXBfcmFuZ2UoMTAwMCwg MjAwMCk7CiAJfTsKIAogCWt1bm1hcF9hdG9taWMoYmFzZSk7CkBAIC01OTcsMTUgKzU4OCwxMiBA QCBpbnQgaTkxNV9ndWNfc3VibWl0KHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmNsaWVudCwKIHsK IAlzdHJ1Y3QgaW50ZWxfZ3VjICpndWMgPSBjbGllbnQtPmd1YzsKIAllbnVtIGludGVsX3Jpbmdf aWQgcmluZ19pZCA9IHJxLT5yaW5nLT5pZDsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwogCWludCBx X3JldCwgYl9yZXQ7CiAKIAkvKiBOZWVkIHRoaXMgYmVjYXVzZSBvZiB0aGUgZGVmZXJyZWQgcGlu IGN0eCBhbmQgcmluZyAqLwogCS8qIFNoYWxsIHdlIG1vdmUgdGhpcyByaWdodCBhZnRlciByaW5n IGlzIHBpbm5lZD8gKi8KIAlscl9jb250ZXh0X3VwZGF0ZShycSk7CiAKLQlzcGluX2xvY2tfaXJx c2F2ZSgmY2xpZW50LT53cV9sb2NrLCBmbGFncyk7Ci0KIAlxX3JldCA9IGd1Y19hZGRfd29ya3F1 ZXVlX2l0ZW0oY2xpZW50LCBycSk7CiAJaWYgKHFfcmV0ID09IDApCiAJCWJfcmV0ID0gZ3VjX3Jp bmdfZG9vcmJlbGwoY2xpZW50KTsKQEAgLTYyMCwxMiArNjA4LDggQEAgaW50IGk5MTVfZ3VjX3N1 Ym1pdChzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpjbGllbnQsCiAJfSBlbHNlIHsKIAkJY2xpZW50 LT5yZXRjb2RlID0gMDsKIAl9Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2xpZW50LT53cV9s b2NrLCBmbGFncyk7Ci0KLQlzcGluX2xvY2soJmd1Yy0+aG9zdDJndWNfbG9jayk7CiAJZ3VjLT5z dWJtaXNzaW9uc1tyaW5nX2lkXSArPSAxOwogCWd1Yy0+bGFzdF9zZXFub1tyaW5nX2lkXSA9IHJx LT5zZXFubzsKLQlzcGluX3VubG9jaygmZ3VjLT5ob3N0Mmd1Y19sb2NrKTsKIAogCXJldHVybiBx X3JldDsKIH0KQEAgLTc2OCw3ICs3NTIsNiBAQCBzdGF0aWMgc3RydWN0IGk5MTVfZ3VjX2NsaWVu dCAqZ3VjX2NsaWVudF9hbGxvYyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCWNsaWVudC0+Y2xp ZW50X29iaiA9IG9iajsKIAljbGllbnQtPndxX29mZnNldCA9IEdVQ19EQl9TSVpFOwogCWNsaWVu dC0+d3Ffc2l6ZSA9IEdVQ19XUV9TSVpFOwotCXNwaW5fbG9ja19pbml0KCZjbGllbnQtPndxX2xv Y2spOwogCiAJY2xpZW50LT5kb29yYmVsbF9vZmZzZXQgPSBzZWxlY3RfZG9vcmJlbGxfY2FjaGVs aW5lKGd1Yyk7CiAKQEAgLTg3MSw4ICs4NTQsNiBAQCBpbnQgaTkxNV9ndWNfc3VibWlzc2lvbl9p bml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJaWYgKCFndWMtPmN0eF9wb29sX29iaikKIAkJ cmV0dXJuIC1FTk9NRU07CiAKLQlzcGluX2xvY2tfaW5pdCgmZGV2X3ByaXYtPmd1Yy5ob3N0Mmd1 Y19sb2NrKTsKLQogCWlkYV9pbml0KCZndWMtPmN0eF9pZHMpOwogCiAJZ3VjX2NyZWF0ZV9sb2co Z3VjKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKaW5kZXggNWJhNTg2Ni4uODIyOTUyMiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKQEAgLTQyLDggKzQyLDYgQEAgc3RydWN0IGk5MTVfZ3Vj X2NsaWVudCB7CiAKIAl1aW50MzJfdCB3cV9vZmZzZXQ7CiAJdWludDMyX3Qgd3Ffc2l6ZTsKLQot CXNwaW5sb2NrX3Qgd3FfbG9jazsJCS8qIFByb3RlY3RzIGFsbCBkYXRhIGJlbG93CSovCiAJdWlu dDMyX3Qgd3FfdGFpbDsKIAogCS8qIEd1QyBzdWJtaXNzaW9uIHN0YXRpc3RpY3MgJiBzdGF0dXMg Ki8KQEAgLTk1LDggKzkzLDYgQEAgc3RydWN0IGludGVsX2d1YyB7CiAKIAlzdHJ1Y3QgaTkxNV9n dWNfY2xpZW50ICpleGVjYnVmX2NsaWVudDsKIAotCXNwaW5sb2NrX3QgaG9zdDJndWNfbG9jazsJ LyogUHJvdGVjdHMgYWxsIGRhdGEgYmVsb3cJKi8KLQogCURFQ0xBUkVfQklUTUFQKGRvb3JiZWxs X2JpdG1hcCwgR1VDX01BWF9ET09SQkVMTFMpOwogCXVpbnQzMl90IGRiX2NhY2hlbGluZTsJCS8q IEN5Y2xpYyBjb3VudGVyIG1vZCBwYWdlc2l6ZQkqLwogCi0tIAoyLjUuMAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK