From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Micha=C5=82=20Winiarski?= Subject: [PATCH v2 4/5] drm/i915/guc: Make adding GuC work items lockless Date: Tue, 12 Sep 2017 19:40:55 +0200 Message-ID: <20170912174056.20139-4-michal.winiarski@intel.com> References: <20170912174056.20139-1-michal.winiarski@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3C2FD6E6E4 for ; Tue, 12 Sep 2017 17:45:13 +0000 (UTC) In-Reply-To: <20170912174056.20139-1-michal.winiarski@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 V2UgY2FuIGdldCByaWQgb2YgYSBzcGlubG9jayBieSB1cGRhdGluZyB0aGUgdGFpbCBkaXJlY3Rs eSB1c2luZwpjbXB4Y2hnLiBXZSBjYW4gYWxzbyBwdXQgZ3VjIGNsaWVudCBvbiBhIGRpZXQgYnkg cmVtb3Zpbmcgc29tZSBjb25zdGFudHMKZnJvbSB0aGUgc3RydWN0LgpUaGlzIGNhdXNlcyBhIHNt YWxsIGNoYW5nZSBpbiBvbmUgb2YgR3VDIGRlYnVnZnMgZmlsZXMuCldlJ3JlIG5vIGxvbmdlciBy ZXBvcnRpbmcgY29uc3RhbnQgdmFsdWVzICh3aGljaCBJIGRvbid0IHRoaW5rIGlzIGEKcHJvYmxl bSksIGJ1dCB3ZSdyZSBhbHNvIG5vIGxvbmdlciByZXBvcnRpbmcgdGhlIHRhaWwgKGRvZXMgYW55 b25lIGNhcmU/KS4KCnYyOiBGcmVlIHNwYWNlIGNhbGN1bGF0aW9uIGluc2lkZSB0aGUgbG9vcCwg Y29tcGlsZXIgYmFycmllcnMuIChDaHJpcykKCkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlz LXdpbHNvbi5jby51az4KQ2M6IERhbmllbGUgQ2VyYW9sbyBTcHVyaW8gPGRhbmllbGUuY2VyYW9s b3NwdXJpb0BpbnRlbC5jb20+CkNjOiBNaWNoYWwgV2FqZGVjemtvIDxtaWNoYWwud2FqZGVjemtv QGludGVsLmNvbT4KQ2M6IE9zY2FyIE1hdGVvIDxvc2Nhci5tYXRlb0BpbnRlbC5jb20+ClN1Z2dl c3RlZC1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ClNpZ25lZC1v ZmYtYnk6IE1pY2hhxYIgV2luaWFyc2tpIDxtaWNoYWwud2luaWFyc2tpQGludGVsLmNvbT4KUmV2 aWV3ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgotLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jICAgICAgICB8ICAyIC0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgfCA0MSArKysrKysrKysrKystLS0t LS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmggICAgICAgICAg ICB8ICA1IC0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwppbmRleCA0MGEzMTVmYzBlMzEu LjBiZDVjYWNkMjg4YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKQEAgLTI0NDcs OCArMjQ0Nyw2IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ3VjX2NsaWVudF9pbmZvKHN0cnVjdCBzZXFf ZmlsZSAqbSwKIAkJY2xpZW50LT5wcmlvcml0eSwgY2xpZW50LT5zdGFnZV9pZCwgY2xpZW50LT5w cm9jX2Rlc2Nfb2Zmc2V0KTsKIAlzZXFfcHJpbnRmKG0sICJcdERvb3JiZWxsIGlkICVkLCBvZmZz ZXQ6IDB4JWx4XG4iLAogCQljbGllbnQtPmRvb3JiZWxsX2lkLCBjbGllbnQtPmRvb3JiZWxsX29m ZnNldCk7Ci0Jc2VxX3ByaW50ZihtLCAiXHRXUSBzaXplICVkLCBvZmZzZXQ6IDB4JXgsIHRhaWwg JWRcbiIsCi0JCWNsaWVudC0+d3Ffc2l6ZSwgY2xpZW50LT53cV9vZmZzZXQsIGNsaWVudC0+d3Ff dGFpbCk7CiAKIAlmb3JfZWFjaF9lbmdpbmUoZW5naW5lLCBkZXZfcHJpdiwgaWQpIHsKIAkJdTY0 IHN1Ym1pc3Npb25zID0gY2xpZW50LT5zdWJtaXNzaW9uc1tpZF07CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKaW5kZXggNjc0ZjZhNDAzNWU2Li4xNmQ2YmIxM2My YmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24u YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKQEAgLTMw NSw3ICszMDUsNyBAQCBzdGF0aWMgdm9pZCBndWNfcHJvY19kZXNjX2luaXQoc3RydWN0IGludGVs X2d1YyAqZ3VjLAogCWRlc2MtPmRiX2Jhc2VfYWRkciA9IDA7CiAKIAlkZXNjLT5zdGFnZV9pZCA9 IGNsaWVudC0+c3RhZ2VfaWQ7Ci0JZGVzYy0+d3Ffc2l6ZV9ieXRlcyA9IGNsaWVudC0+d3Ffc2l6 ZTsKKwlkZXNjLT53cV9zaXplX2J5dGVzID0gR1VDX1dRX1NJWkU7CiAJZGVzYy0+d3Ffc3RhdHVz ID0gV1FfU1RBVFVTX0FDVElWRTsKIAlkZXNjLT5wcmlvcml0eSA9IGNsaWVudC0+cHJpb3JpdHk7 CiB9CkBAIC0zOTAsOCArMzkwLDggQEAgc3RhdGljIHZvaWQgZ3VjX3N0YWdlX2Rlc2NfaW5pdChz dHJ1Y3QgaW50ZWxfZ3VjICpndWMsCiAJZGVzYy0+ZGJfdHJpZ2dlcl9jcHUgPSAodWludHB0cl90 KV9fZ2V0X2Rvb3JiZWxsKGNsaWVudCk7CiAJZGVzYy0+ZGJfdHJpZ2dlcl91ayA9IGdmeF9hZGRy ICsgY2xpZW50LT5kb29yYmVsbF9vZmZzZXQ7CiAJZGVzYy0+cHJvY2Vzc19kZXNjID0gZ2Z4X2Fk ZHIgKyBjbGllbnQtPnByb2NfZGVzY19vZmZzZXQ7Ci0JZGVzYy0+d3FfYWRkciA9IGdmeF9hZGRy ICsgY2xpZW50LT53cV9vZmZzZXQ7Ci0JZGVzYy0+d3Ffc2l6ZSA9IGNsaWVudC0+d3Ffc2l6ZTsK KwlkZXNjLT53cV9hZGRyID0gZ2Z4X2FkZHIgKyBHVUNfREJfU0laRTsKKwlkZXNjLT53cV9zaXpl ID0gR1VDX1dRX1NJWkU7CiAKIAlkZXNjLT5kZXNjX3ByaXZhdGUgPSAodWludHB0cl90KWNsaWVu dDsKIH0KQEAgLTQxNSwxNSArNDE1LDExIEBAIHN0YXRpYyB2b2lkIGd1Y193cV9pdGVtX2FwcGVu ZChzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpjbGllbnQsCiAJc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lID0gcnEtPmVuZ2luZTsKIAlzdHJ1Y3QgZ3VjX3Byb2Nlc3NfZGVzYyAqZGVzYyA9 IF9fZ2V0X3Byb2Nlc3NfZGVzYyhjbGllbnQpOwogCXN0cnVjdCBndWNfd3FfaXRlbSAqd3FpOwot CXUzMiBmcmVlc3BhY2UsIHRhaWwsIHdxX29mZjsKLQotCS8qIEZyZWUgc3BhY2UgaXMgZ3VhcmFu dGVlZCAqLwotCWZyZWVzcGFjZSA9IENJUkNfU1BBQ0UoY2xpZW50LT53cV90YWlsLCBkZXNjLT5o ZWFkLCBjbGllbnQtPndxX3NpemUpOwotCUdFTV9CVUdfT04oZnJlZXNwYWNlIDwgd3FpX3NpemUp OworCXUzMiByaW5nX3RhaWwsIHdxX29mZiwgd3FfbmV4dDsKIAogCS8qIFRoZSBHdUMgZmlybXdh cmUgd2FudHMgdGhlIHRhaWwgaW5kZXggaW4gUVdvcmRzLCBub3QgYnl0ZXMgKi8KLQl0YWlsID0g aW50ZWxfcmluZ19zZXRfdGFpbChycS0+cmluZywgcnEtPnRhaWwpID4+IDM7Ci0JR0VNX0JVR19P Tih0YWlsID4gV1FfUklOR19UQUlMX01BWCk7CisJcmluZ190YWlsID0gaW50ZWxfcmluZ19zZXRf dGFpbChycS0+cmluZywgcnEtPnRhaWwpID4+IDM7CisJR0VNX0JVR19PTihyaW5nX3RhaWwgPiBX UV9SSU5HX1RBSUxfTUFYKTsKIAogCS8qIEZvciBub3cgd29ya3F1ZXVlIGl0ZW0gaXMgNCBEV3M7 IHdvcmtxdWV1ZSBidWZmZXIgaXMgMiBwYWdlcy4gU28gd2UKIAkgKiBzaG91bGQgbm90IGhhdmUg dGhlIGNhc2Ugd2hlcmUgc3RydWN0dXJlIHdxaSBpcyBhY3Jvc3MgcGFnZSwgbmVpdGhlcgpAQCAt NDM0LDExICs0MzAsMTYgQEAgc3RhdGljIHZvaWQgZ3VjX3dxX2l0ZW1fYXBwZW5kKHN0cnVjdCBp OTE1X2d1Y19jbGllbnQgKmNsaWVudCwKIAkgKi8KIAlCVUlMRF9CVUdfT04od3FpX3NpemUgIT0g MTYpOwogCi0JLyogcG9zdGluY3JlbWVudCBXUSB0YWlsIGZvciBuZXh0IHRpbWUgKi8KLQl3cV9v ZmYgPSBjbGllbnQtPndxX3RhaWw7CisJLyogRmluZCBvdXIgb2Zmc2V0IGFuZCBwb3N0aW5jcmVt ZW50IFdRIHRhaWwgZm9yIG5leHQgdGltZSwgZnJlZSBzcGFjZQorCSAqIGlzIGd1YXJhbnRlZWQu CisJICovCisJZG8geworCQl3cV9vZmYgPSBSRUFEX09OQ0UoZGVzYy0+dGFpbCk7CisJCXdxX25l eHQgPSAod3Ffb2ZmICsgd3FpX3NpemUpICYgKEdVQ19XUV9TSVpFIC0gMSk7CisJCUdFTV9CVUdf T04oQ0lSQ19TUEFDRSh3cV9vZmYsIFJFQURfT05DRShkZXNjLT5oZWFkKSwKKwkJCQkgICAgICBH VUNfV1FfU0laRSkgPCB3cWlfc2l6ZSk7CisJfSB3aGlsZSAoY21weGNoZygmZGVzYy0+dGFpbCwg d3Ffb2ZmLCB3cV9uZXh0KSAhPSB3cV9vZmYpOwogCUdFTV9CVUdfT04od3Ffb2ZmICYgKHdxaV9z aXplIC0gMSkpOwotCWNsaWVudC0+d3FfdGFpbCArPSB3cWlfc2l6ZTsKLQljbGllbnQtPndxX3Rh aWwgJj0gY2xpZW50LT53cV9zaXplIC0gMTsKIAogCS8qIFdRIHN0YXJ0cyBmcm9tIHRoZSBwYWdl IGFmdGVyIGRvb3JiZWxsIC8gcHJvY2Vzc19kZXNjICovCiAJd3FpID0gY2xpZW50LT52YWRkciAr IHdxX29mZiArIEdVQ19EQl9TSVpFOwpAQCAtNDUyLDcgKzQ1Myw3IEBAIHN0YXRpYyB2b2lkIGd1 Y193cV9pdGVtX2FwcGVuZChzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpjbGllbnQsCiAJLyogVGhl IEd1QyB3YW50cyBvbmx5IHRoZSBsb3ctb3JkZXIgd29yZCBvZiB0aGUgY29udGV4dCBkZXNjcmlw dG9yICovCiAJd3FpLT5jb250ZXh0X2Rlc2MgPSAodTMyKWludGVsX2xyX2NvbnRleHRfZGVzY3Jp cHRvcihycS0+Y3R4LCBlbmdpbmUpOwogCi0Jd3FpLT5zdWJtaXRfZWxlbWVudF9pbmZvID0gdGFp bCA8PCBXUV9SSU5HX1RBSUxfU0hJRlQ7CisJd3FpLT5zdWJtaXRfZWxlbWVudF9pbmZvID0gcmlu Z190YWlsIDw8IFdRX1JJTkdfVEFJTF9TSElGVDsKIAl3cWktPmZlbmNlX2lkID0gcnEtPmdsb2Jh bF9zZXFubzsKIH0KIApAQCAtNDYyLDggKzQ2Myw2IEBAIHN0YXRpYyB2b2lkIGd1Y19yZXNldF93 cShzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpjbGllbnQpCiAKIAlkZXNjLT5oZWFkID0gMDsKIAlk ZXNjLT50YWlsID0gMDsKLQotCWNsaWVudC0+d3FfdGFpbCA9IDA7CiB9CiAKIHN0YXRpYyB2b2lk IGd1Y19yaW5nX2Rvb3JiZWxsKHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmNsaWVudCkKQEAgLTQ5 Nyw3ICs0OTYsNiBAQCBzdGF0aWMgdm9pZCBpOTE1X2d1Y19zdWJtaXQoc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqZW5naW5lKQogCXN0cnVjdCBleGVjbGlzdF9wb3J0ICpwb3J0ID0gZW5naW5lLT5l eGVjbGlzdF9wb3J0OwogCXVuc2lnbmVkIGludCBlbmdpbmVfaWQgPSBlbmdpbmUtPmlkOwogCXVu c2lnbmVkIGludCBuOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKIAlmb3IgKG4gPSAwOyBuIDwg QVJSQVlfU0laRShlbmdpbmUtPmV4ZWNsaXN0X3BvcnQpOyBuKyspIHsKIAkJc3RydWN0IGRybV9p OTE1X2dlbV9yZXF1ZXN0ICpycTsKQEAgLTUxMCwxNCArNTA4LDEwIEBAIHN0YXRpYyB2b2lkIGk5 MTVfZ3VjX3N1Ym1pdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJCQlpZiAoaTkx NV92bWFfaXNfbWFwX2FuZF9mZW5jZWFibGUocnEtPnJpbmctPnZtYSkpCiAJCQkJUE9TVElOR19S RUFEX0ZXKEdVQ19TVEFUVVMpOwogCi0JCQlzcGluX2xvY2tfaXJxc2F2ZSgmY2xpZW50LT53cV9s b2NrLCBmbGFncyk7Ci0KIAkJCWd1Y193cV9pdGVtX2FwcGVuZChjbGllbnQsIHJxKTsKIAkJCWd1 Y19yaW5nX2Rvb3JiZWxsKGNsaWVudCk7CiAKIAkJCWNsaWVudC0+c3VibWlzc2lvbnNbZW5naW5l X2lkXSArPSAxOwotCi0JCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjbGllbnQtPndxX2xvY2ss IGZsYWdzKTsKIAkJfQogCX0KIH0KQEAgLTgxMCw5ICs4MDQsNiBAQCBndWNfY2xpZW50X2FsbG9j KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAljbGllbnQtPmVuZ2luZXMgPSBl bmdpbmVzOwogCWNsaWVudC0+cHJpb3JpdHkgPSBwcmlvcml0eTsKIAljbGllbnQtPmRvb3JiZWxs X2lkID0gR1VDX0RPT1JCRUxMX0lOVkFMSUQ7Ci0JY2xpZW50LT53cV9vZmZzZXQgPSBHVUNfREJf U0laRTsKLQljbGllbnQtPndxX3NpemUgPSBHVUNfV1FfU0laRTsKLQlzcGluX2xvY2tfaW5pdCgm Y2xpZW50LT53cV9sb2NrKTsKIAogCXJldCA9IGlkYV9zaW1wbGVfZ2V0KCZndWMtPnN0YWdlX2lk cywgMCwgR1VDX01BWF9TVEFHRV9ERVNDUklQVE9SUywKIAkJCQlHRlBfS0VSTkVMKTsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF91Yy5oCmluZGV4IGY1MDVkY2NjZDYxMy4uMzg2ZTBiY2QwY2MzIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3VjLmgKQEAgLTY3LDExICs2Nyw2IEBAIHN0cnVjdCBpOTE1X2d1Y19jbGll bnQgewogCXUxNiBkb29yYmVsbF9pZDsKIAl1bnNpZ25lZCBsb25nIGRvb3JiZWxsX29mZnNldDsK IAotCXNwaW5sb2NrX3Qgd3FfbG9jazsKLQl1aW50MzJfdCB3cV9vZmZzZXQ7Ci0JdWludDMyX3Qg d3Ffc2l6ZTsKLQl1aW50MzJfdCB3cV90YWlsOwotCiAJLyogUGVyLWVuZ2luZSBjb3VudHMgb2Yg R3VDIHN1Ym1pc3Npb25zICovCiAJdWludDY0X3Qgc3VibWlzc2lvbnNbSTkxNV9OVU1fRU5HSU5F U107CiB9OwotLSAKMi4xMy41CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK