From mboxrd@z Thu Jan 1 00:00:00 1970 From: yu.dai@intel.com Subject: [PATCH v2] drm/i915/guc: Clean up locks in GuC Date: Wed, 25 Nov 2015 11:29:19 -0800 Message-ID: <1448479759-22734-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 mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 1BFBA6E3A9 for ; Wed, 25 Nov 2015 11:31:51 -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 ZWQKZHVyIHRvIGlycSBpcyBkaXNhYmxlZC4gVGhlIHVubmVjZXNzYXJ5IGxvY2tzIGhhcyBiZWVu IGNsZWFyZWQuCmRldi0+c3RydWN0X211dGV4IGlzIHVzZWQgaW5zdGVhZCB3aGVyZSBuZWVkZWQu CgpJc3N1ZSBpcyBmb3VuZCBpbiBpZ3QvZ2VtX2Nsb3NlX3JhY2UuCgp2MjogQ2xlYW4gdXAgd3Ff bG9jayB0b28KdjE6IENsZWFuIHVwIGhvc3QyZ3VjIGxvY2sgYXMgd2VsbAoKU2lnbmVkLW9mZi1i eTogQWxleCBEYWkgPHl1LmRhaUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kZWJ1Z2ZzLmMgICAgICAgIHwgMTIgKysrKystLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyB8IDMyICsrKysrKystLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmggICAgICAgICAgIHwgIDQgLS0t LQogMyBmaWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAzNSBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCmluZGV4IGE3MjhmZjEuLmQ2Yjc4MTcgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCkBAIC0yNDczLDE1ICsyNDczLDE1IEBAIHN0YXRp YyBpbnQgaTkxNV9ndWNfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCiAJaWYg KCFIQVNfR1VDX1NDSEVEKGRldl9wcml2LT5kZXYpKQogCQlyZXR1cm4gMDsKIAorCWlmIChtdXRl eF9sb2NrX2ludGVycnVwdGlibGUoJmRldi0+c3RydWN0X211dGV4KSkKKwkJcmV0dXJuIDA7CisK IAkvKiBUYWtlIGEgbG9jYWwgY29weSBvZiB0aGUgR3VDIGRhdGEsIHNvIHdlIGNhbiBkdW1wIGl0 IGF0IGxlaXN1cmUgKi8KLQlzcGluX2xvY2soJmRldl9wcml2LT5ndWMuaG9zdDJndWNfbG9jayk7 CiAJZ3VjID0gZGV2X3ByaXYtPmd1YzsKLQlpZiAoZ3VjLmV4ZWNidWZfY2xpZW50KSB7Ci0JCXNw aW5fbG9jaygmZ3VjLmV4ZWNidWZfY2xpZW50LT53cV9sb2NrKTsKKwlpZiAoZ3VjLmV4ZWNidWZf Y2xpZW50KQogCQljbGllbnQgPSAqZ3VjLmV4ZWNidWZfY2xpZW50OwotCQlzcGluX3VubG9jaygm Z3VjLmV4ZWNidWZfY2xpZW50LT53cV9sb2NrKTsKLQl9Ci0Jc3Bpbl91bmxvY2soJmRldl9wcml2 LT5ndWMuaG9zdDJndWNfbG9jayk7CisKKwltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4 KTsKIAogCXNlcV9wcmludGYobSwgIkd1QyB0b3RhbCBhY3Rpb24gY291bnQ6ICVsbHVcbiIsIGd1 Yy5hY3Rpb25fY291bnQpOwogCXNlcV9wcmludGYobSwgIkd1QyBhY3Rpb24gZmFpbHVyZSBjb3Vu dDogJXVcbiIsIGd1Yy5hY3Rpb25fZmFpbCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1 Y19zdWJtaXNzaW9uLmMKaW5kZXggZWQ5ZjEwMC4uOTc5OTZlNSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwpAQCAtODYsNyArODYsNiBAQCBzdGF0aWMgaW50 IGhvc3QyZ3VjX2FjdGlvbihzdHJ1Y3QgaW50ZWxfZ3VjICpndWMsIHUzMiAqZGF0YSwgdTMyIGxl bikKIAkJcmV0dXJuIC1FSU5WQUw7CiAKIAlpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2dldChkZXZf cHJpdiwgRk9SQ0VXQUtFX0FMTCk7Ci0Jc3Bpbl9sb2NrKCZkZXZfcHJpdi0+Z3VjLmhvc3QyZ3Vj X2xvY2spOwogCiAJZGV2X3ByaXYtPmd1Yy5hY3Rpb25fY291bnQgKz0gMTsKIAlkZXZfcHJpdi0+ Z3VjLmFjdGlvbl9jbWQgPSBkYXRhWzBdOwpAQCAtMTE5LDcgKzExOCw2IEBAIHN0YXRpYyBpbnQg aG9zdDJndWNfYWN0aW9uKHN0cnVjdCBpbnRlbF9ndWMgKmd1YywgdTMyICpkYXRhLCB1MzIgbGVu KQogCX0KIAlkZXZfcHJpdi0+Z3VjLmFjdGlvbl9zdGF0dXMgPSBzdGF0dXM7CiAKLQlzcGluX3Vu bG9jaygmZGV2X3ByaXYtPmd1Yy5ob3N0Mmd1Y19sb2NrKTsKIAlpbnRlbF91bmNvcmVfZm9yY2V3 YWtlX3B1dChkZXZfcHJpdiwgRk9SQ0VXQUtFX0FMTCk7CiAKIAlyZXR1cm4gcmV0OwpAQCAtMjQ5 LDYgKzI0Nyw3IEBAIHN0YXRpYyBpbnQgZ3VjX3JpbmdfZG9vcmJlbGwoc3RydWN0IGk5MTVfZ3Vj X2NsaWVudCAqZ2MpCiAJfQogCiAJa3VubWFwX2F0b21pYyhiYXNlKTsKKwogCXJldHVybiByZXQ7 CiB9CiAKQEAgLTI5MiwxNiArMjkxLDEyIEBAIHN0YXRpYyB1aW50MzJfdCBzZWxlY3RfZG9vcmJl bGxfY2FjaGVsaW5lKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKIAljb25zdCB1aW50MzJfdCBjYWNo ZWxpbmVfc2l6ZSA9IGNhY2hlX2xpbmVfc2l6ZSgpOwogCXVpbnQzMl90IG9mZnNldDsKIAotCXNw aW5fbG9jaygmZ3VjLT5ob3N0Mmd1Y19sb2NrKTsKLQogCS8qIERvb3JiZWxsIHVzZXMgYSBzaW5n bGUgY2FjaGUgbGluZSB3aXRoaW4gYSBwYWdlICovCiAJb2Zmc2V0ID0gb2Zmc2V0X2luX3BhZ2Uo Z3VjLT5kYl9jYWNoZWxpbmUpOwogCiAJLyogTW92aW5nIHRvIG5leHQgY2FjaGUgbGluZSB0byBy ZWR1Y2UgY29udGVudGlvbiAqLwogCWd1Yy0+ZGJfY2FjaGVsaW5lICs9IGNhY2hlbGluZV9zaXpl OwogCi0Jc3Bpbl91bmxvY2soJmd1Yy0+aG9zdDJndWNfbG9jayk7Ci0KIAlEUk1fREVCVUdfRFJJ VkVSKCJzZWxlY3RlZCBkb29yYmVsbCBjYWNoZWxpbmUgMHgleCwgbmV4dCAweCV4LCBsaW5lc2l6 ZSAldVxuIiwKIAkJCW9mZnNldCwgZ3VjLT5kYl9jYWNoZWxpbmUsIGNhY2hlbGluZV9zaXplKTsK IApAQCAtMzIyLDEzICszMTcsMTEgQEAgc3RhdGljIHVpbnQxNl90IGFzc2lnbl9kb29yYmVsbChz dHJ1Y3QgaW50ZWxfZ3VjICpndWMsIHVpbnQzMl90IHByaW9yaXR5KQogCWNvbnN0IHVpbnQxNl90 IGVuZCA9IHN0YXJ0ICsgaGFsZjsKIAl1aW50MTZfdCBpZDsKIAotCXNwaW5fbG9jaygmZ3VjLT5o b3N0Mmd1Y19sb2NrKTsKIAlpZCA9IGZpbmRfbmV4dF96ZXJvX2JpdChndWMtPmRvb3JiZWxsX2Jp dG1hcCwgZW5kLCBzdGFydCk7CiAJaWYgKGlkID09IGVuZCkKIAkJaWQgPSBHVUNfSU5WQUxJRF9E T09SQkVMTF9JRDsKIAllbHNlCiAJCWJpdG1hcF9zZXQoZ3VjLT5kb29yYmVsbF9iaXRtYXAsIGlk LCAxKTsKLQlzcGluX3VubG9jaygmZ3VjLT5ob3N0Mmd1Y19sb2NrKTsKIAogCURSTV9ERUJVR19E UklWRVIoImFzc2lnbmVkICVzIHByaW9yaXR5IGRvb3JiZWxsIGlkIDB4JXhcbiIsCiAJCQloaV9w cmkgPyAiaGlnaCIgOiAibm9ybWFsIiwgaWQpOwpAQCAtMzM4LDkgKzMzMSw3IEBAIHN0YXRpYyB1 aW50MTZfdCBhc3NpZ25fZG9vcmJlbGwoc3RydWN0IGludGVsX2d1YyAqZ3VjLCB1aW50MzJfdCBw cmlvcml0eSkKIAogc3RhdGljIHZvaWQgcmVsZWFzZV9kb29yYmVsbChzdHJ1Y3QgaW50ZWxfZ3Vj ICpndWMsIHVpbnQxNl90IGlkKQogewotCXNwaW5fbG9jaygmZ3VjLT5ob3N0Mmd1Y19sb2NrKTsK IAliaXRtYXBfY2xlYXIoZ3VjLT5kb29yYmVsbF9iaXRtYXAsIGlkLCAxKTsKLQlzcGluX3VubG9j aygmZ3VjLT5ob3N0Mmd1Y19sb2NrKTsKIH0KIAogLyoKQEAgLTQ4NywxNiArNDc4LDEzIEBAIHN0 YXRpYyBpbnQgZ3VjX2dldF93b3JrcXVldWVfc3BhY2Uoc3RydWN0IGk5MTVfZ3VjX2NsaWVudCAq Z2MsIHUzMiAqb2Zmc2V0KQogCXN0cnVjdCBndWNfcHJvY2Vzc19kZXNjICpkZXNjOwogCXZvaWQg KmJhc2U7CiAJdTMyIHNpemUgPSBzaXplb2Yoc3RydWN0IGd1Y193cV9pdGVtKTsKLQlpbnQgcmV0 ID0gMCwgdGltZW91dF9jb3VudGVyID0gMjAwOworCWludCByZXQgPSAtRVRJTUVET1VULCB0aW1l b3V0X2NvdW50ZXIgPSAyMDA7CiAKIAliYXNlID0ga21hcF9hdG9taWMoaTkxNV9nZW1fb2JqZWN0 X2dldF9wYWdlKGdjLT5jbGllbnRfb2JqLCAwKSk7CiAJZGVzYyA9IGJhc2UgKyBnYy0+cHJvY19k ZXNjX29mZnNldDsKIAogCXdoaWxlICh0aW1lb3V0X2NvdW50ZXItLSA+IDApIHsKLQkJcmV0ID0g d2FpdF9mb3JfYXRvbWljKENJUkNfU1BBQ0UoZ2MtPndxX3RhaWwsIGRlc2MtPmhlYWQsCi0JCQkJ Z2MtPndxX3NpemUpID49IHNpemUsIDEpOwotCi0JCWlmICghcmV0KSB7CisJCWlmIChDSVJDX1NQ QUNFKGdjLT53cV90YWlsLCBkZXNjLT5oZWFkLCBnYy0+d3Ffc2l6ZSkgPj0gc2l6ZSkgewogCQkJ Km9mZnNldCA9IGdjLT53cV90YWlsOwogCiAJCQkvKiBhZHZhbmNlIHRoZSB0YWlsIGZvciBuZXh0 IHdvcmtxdWV1ZSBpdGVtICovCkBAIC01MDUsNyArNDkzLDExIEBAIHN0YXRpYyBpbnQgZ3VjX2dl dF93b3JrcXVldWVfc3BhY2Uoc3RydWN0IGk5MTVfZ3VjX2NsaWVudCAqZ2MsIHUzMiAqb2Zmc2V0 KQogCiAJCQkvKiB0aGlzIHdpbGwgYnJlYWsgdGhlIGxvb3AgKi8KIAkJCXRpbWVvdXRfY291bnRl ciA9IDA7CisJCQlyZXQgPSAwOwogCQl9CisKKwkJaWYgKHRpbWVvdXRfY291bnRlcikKKwkJCXVz bGVlcF9yYW5nZSgxMDAwLCAyMDAwKTsKIAl9OwogCiAJa3VubWFwX2F0b21pYyhiYXNlKTsKQEAg LTU5NywxNSArNTg5LDEyIEBAIGludCBpOTE1X2d1Y19zdWJtaXQoc3RydWN0IGk5MTVfZ3VjX2Ns aWVudCAqY2xpZW50LAogewogCXN0cnVjdCBpbnRlbF9ndWMgKmd1YyA9IGNsaWVudC0+Z3VjOwog CWVudW0gaW50ZWxfcmluZ19pZCByaW5nX2lkID0gcnEtPnJpbmctPmlkOwotCXVuc2lnbmVkIGxv bmcgZmxhZ3M7CiAJaW50IHFfcmV0LCBiX3JldDsKIAogCS8qIE5lZWQgdGhpcyBiZWNhdXNlIG9m IHRoZSBkZWZlcnJlZCBwaW4gY3R4IGFuZCByaW5nICovCiAJLyogU2hhbGwgd2UgbW92ZSB0aGlz IHJpZ2h0IGFmdGVyIHJpbmcgaXMgcGlubmVkPyAqLwogCWxyX2NvbnRleHRfdXBkYXRlKHJxKTsK IAotCXNwaW5fbG9ja19pcnFzYXZlKCZjbGllbnQtPndxX2xvY2ssIGZsYWdzKTsKLQogCXFfcmV0 ID0gZ3VjX2FkZF93b3JrcXVldWVfaXRlbShjbGllbnQsIHJxKTsKIAlpZiAocV9yZXQgPT0gMCkK IAkJYl9yZXQgPSBndWNfcmluZ19kb29yYmVsbChjbGllbnQpOwpAQCAtNjIwLDEyICs2MDksOCBA QCBpbnQgaTkxNV9ndWNfc3VibWl0KHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmNsaWVudCwKIAl9 IGVsc2UgewogCQljbGllbnQtPnJldGNvZGUgPSAwOwogCX0KLQlzcGluX3VubG9ja19pcnFyZXN0 b3JlKCZjbGllbnQtPndxX2xvY2ssIGZsYWdzKTsKLQotCXNwaW5fbG9jaygmZ3VjLT5ob3N0Mmd1 Y19sb2NrKTsKIAlndWMtPnN1Ym1pc3Npb25zW3JpbmdfaWRdICs9IDE7CiAJZ3VjLT5sYXN0X3Nl cW5vW3JpbmdfaWRdID0gcnEtPnNlcW5vOwotCXNwaW5fdW5sb2NrKCZndWMtPmhvc3QyZ3VjX2xv Y2spOwogCiAJcmV0dXJuIHFfcmV0OwogfQpAQCAtNzY4LDcgKzc1Myw2IEBAIHN0YXRpYyBzdHJ1 Y3QgaTkxNV9ndWNfY2xpZW50ICpndWNfY2xpZW50X2FsbG9jKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCiAJY2xpZW50LT5jbGllbnRfb2JqID0gb2JqOwogCWNsaWVudC0+d3Ffb2Zmc2V0ID0gR1VD X0RCX1NJWkU7CiAJY2xpZW50LT53cV9zaXplID0gR1VDX1dRX1NJWkU7Ci0Jc3Bpbl9sb2NrX2lu aXQoJmNsaWVudC0+d3FfbG9jayk7CiAKIAljbGllbnQtPmRvb3JiZWxsX29mZnNldCA9IHNlbGVj dF9kb29yYmVsbF9jYWNoZWxpbmUoZ3VjKTsKIApAQCAtODcxLDggKzg1NSw2IEBAIGludCBpOTE1 X2d1Y19zdWJtaXNzaW9uX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlpZiAoIWd1Yy0+ Y3R4X3Bvb2xfb2JqKQogCQlyZXR1cm4gLUVOT01FTTsKIAotCXNwaW5fbG9ja19pbml0KCZkZXZf cHJpdi0+Z3VjLmhvc3QyZ3VjX2xvY2spOwotCiAJaWRhX2luaXQoJmd1Yy0+Y3R4X2lkcyk7CiAK IAlndWNfY3JlYXRlX2xvZyhndWMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZ3VjLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaAppbmRleCA1YmE1 ODY2Li44MjI5NTIyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaApAQCAtNDIsOCArNDIsNiBA QCBzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50IHsKIAogCXVpbnQzMl90IHdxX29mZnNldDsKIAl1aW50 MzJfdCB3cV9zaXplOwotCi0Jc3BpbmxvY2tfdCB3cV9sb2NrOwkJLyogUHJvdGVjdHMgYWxsIGRh dGEgYmVsb3cJKi8KIAl1aW50MzJfdCB3cV90YWlsOwogCiAJLyogR3VDIHN1Ym1pc3Npb24gc3Rh dGlzdGljcyAmIHN0YXR1cyAqLwpAQCAtOTUsOCArOTMsNiBAQCBzdHJ1Y3QgaW50ZWxfZ3VjIHsK IAogCXN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmV4ZWNidWZfY2xpZW50OwogCi0Jc3BpbmxvY2tf dCBob3N0Mmd1Y19sb2NrOwkvKiBQcm90ZWN0cyBhbGwgZGF0YSBiZWxvdwkqLwotCiAJREVDTEFS RV9CSVRNQVAoZG9vcmJlbGxfYml0bWFwLCBHVUNfTUFYX0RPT1JCRUxMUyk7CiAJdWludDMyX3Qg ZGJfY2FjaGVsaW5lOwkJLyogQ3ljbGljIGNvdW50ZXIgbW9kIHBhZ2VzaXplCSovCiAKLS0gCjIu NS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=