From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 08/10] drm/i915: Merge sbi read/write into a single accessor Date: Fri, 19 Apr 2019 18:14:00 +0100 Message-ID: <20190419171402.30596-9-chris@chris-wilson.co.uk> References: <20190419171402.30596-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7904888867 for ; Fri, 19 Apr 2019 17:14:24 +0000 (UTC) In-Reply-To: <20190419171402.30596-1-chris@chris-wilson.co.uk> 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 U2luY2UgaW50ZWxfc2lkZWJhbmRfcmVhZCBhbmQgaW50ZWxfc2lkZWJhbmRfd3JpdGUgZGlmZmVy IGJ5IG9ubHkgYQpjb3VwbGUgb2YgbGluZXMgKGRlcGVuZGluZyBvbiB3aGV0aGVyIHdlIGZlZWQg dGhlIHZhbHVlIGluIG9yIG91dCksCm1lcmdlIHRoZSB0d28gaW50byBhIHNpbmdsZSBjb21tb24g YWNjZXNzb3IuCgp2MjogUmVzdG9yZSB2bHZfZmxpc2RzaV9yZWFkKCkgbG9zdCBkdXJpbmcgcmVi YXNpbmcuCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5j by51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zaWRlYmFuZC5jIHwgOTQgKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygr KSwgNTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfc2lkZWJhbmQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3NpZGViYW5kLmMKaW5k ZXggNWMzYWU1MTg1YTAxLi43MTEzZmI4ODUwZDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3NpZGViYW5kLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf c2lkZWJhbmQuYwpAQCAtMjczLDgxICsyNzMsNjMgQEAgdm9pZCB2bHZfZmxpc2RzaV93cml0ZShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgdTMyIHJlZywgdTMyIHZhbCkKIH0KIAogLyog U0JJIGFjY2VzcyAqLwotdTMyIGludGVsX3NiaV9yZWFkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwgdTE2IHJlZywKLQkJICAgZW51bSBpbnRlbF9zYmlfZGVzdGluYXRpb24gZGVz dGluYXRpb24pCitzdGF0aWMgaW50IGludGVsX3NiaV9ydyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSwgdTE2IHJlZywKKwkJCWVudW0gaW50ZWxfc2JpX2Rlc3RpbmF0aW9uIGRlc3RpbmF0 aW9uLAorCQkJdTMyICp2YWwsIGJvb2wgaXNfcmVhZCkKIHsKLQl1MzIgdmFsdWUgPSAwOworCXN0 cnVjdCBpbnRlbF91bmNvcmUgKnVuY29yZSA9ICZpOTE1LT51bmNvcmU7CisJdTMyIGNtZDsKIAot CWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldl9wcml2LT5zYl9sb2NrKTsKKwlsb2NrZGVwX2Fzc2Vy dF9oZWxkKCZpOTE1LT5zYl9sb2NrKTsKIAotCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3Rlcigm ZGV2X3ByaXYtPnVuY29yZSwKLQkJCQkgICAgU0JJX0NUTF9TVEFULCBTQklfQlVTWSwgMCwKLQkJ CQkgICAgMTAwKSkgeworCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3Rlcl9mdyh1bmNvcmUsCisJ CQkJICAgICAgIFNCSV9DVExfU1RBVCwgU0JJX0JVU1ksIDAsCisJCQkJICAgICAgIDEwMCkpIHsK IAkJRFJNX0VSUk9SKCJ0aW1lb3V0IHdhaXRpbmcgZm9yIFNCSSB0byBiZWNvbWUgcmVhZHlcbiIp OwotCQlyZXR1cm4gMDsKKwkJcmV0dXJuIC1FQlVTWTsKIAl9CiAKLQlJOTE1X1dSSVRFKFNCSV9B RERSLCAocmVnIDw8IDE2KSk7Ci0JSTkxNV9XUklURShTQklfREFUQSwgMCk7CisJaW50ZWxfdW5j b3JlX3dyaXRlX2Z3KHVuY29yZSwgU0JJX0FERFIsICh1MzIpcmVnIDw8IDE2KTsKKwlpbnRlbF91 bmNvcmVfd3JpdGVfZncodW5jb3JlLCBTQklfREFUQSwgaXNfcmVhZCA/IDAgOiAqdmFsKTsKIAog CWlmIChkZXN0aW5hdGlvbiA9PSBTQklfSUNMSykKLQkJdmFsdWUgPSBTQklfQ1RMX0RFU1RfSUNM SyB8IFNCSV9DVExfT1BfQ1JSRDsKKwkJY21kID0gU0JJX0NUTF9ERVNUX0lDTEsgfCBTQklfQ1RM X09QX0NSUkQ7CiAJZWxzZQotCQl2YWx1ZSA9IFNCSV9DVExfREVTVF9NUEhZIHwgU0JJX0NUTF9P UF9JT1JEOwotCUk5MTVfV1JJVEUoU0JJX0NUTF9TVEFULCB2YWx1ZSB8IFNCSV9CVVNZKTsKLQot CWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcigmZGV2X3ByaXYtPnVuY29yZSwKLQkJCQkgICAg U0JJX0NUTF9TVEFULAotCQkJCSAgICBTQklfQlVTWSwKLQkJCQkgICAgMCwKLQkJCQkgICAgMTAw KSkgeworCQljbWQgPSBTQklfQ1RMX0RFU1RfTVBIWSB8IFNCSV9DVExfT1BfSU9SRDsKKwlpZiAo IWlzX3JlYWQpCisJCWNtZCB8PSBCSVQoOCk7CisJaW50ZWxfdW5jb3JlX3dyaXRlX2Z3KHVuY29y ZSwgU0JJX0NUTF9TVEFULCBjbWQgfCBTQklfQlVTWSk7CisKKwlpZiAoX19pbnRlbF93YWl0X2Zv cl9yZWdpc3Rlcl9mdyh1bmNvcmUsCisJCQkJCSBTQklfQ1RMX1NUQVQsIFNCSV9CVVNZLCAwLAor CQkJCQkgMTAwLCAxMDAsICZjbWQpKSB7CiAJCURSTV9FUlJPUigidGltZW91dCB3YWl0aW5nIGZv ciBTQkkgdG8gY29tcGxldGUgcmVhZFxuIik7Ci0JCXJldHVybiAwOworCQlyZXR1cm4gLUVUSU1F RE9VVDsKIAl9CiAKLQlpZiAoSTkxNV9SRUFEKFNCSV9DVExfU1RBVCkgJiBTQklfUkVTUE9OU0Vf RkFJTCkgeworCWlmIChjbWQgJiBTQklfUkVTUE9OU0VfRkFJTCkgewogCQlEUk1fRVJST1IoImVy cm9yIGR1cmluZyBTQkkgcmVhZCBvZiByZWcgJXhcbiIsIHJlZyk7Ci0JCXJldHVybiAwOworCQly ZXR1cm4gLUVOWElPOwogCX0KIAotCXJldHVybiBJOTE1X1JFQUQoU0JJX0RBVEEpOworCWlmIChp c19yZWFkKQorCQkqdmFsID0gaW50ZWxfdW5jb3JlX3JlYWRfZncodW5jb3JlLCBTQklfREFUQSk7 CisKKwlyZXR1cm4gMDsKIH0KIAotdm9pZCBpbnRlbF9zYmlfd3JpdGUoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LCB1MTYgcmVnLCB1MzIgdmFsdWUsCi0JCSAgICAgZW51bSBpbnRl bF9zYmlfZGVzdGluYXRpb24gZGVzdGluYXRpb24pCit1MzIgaW50ZWxfc2JpX3JlYWQoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIHUxNiByZWcsCisJCSAgIGVudW0gaW50ZWxfc2JpX2Rl c3RpbmF0aW9uIGRlc3RpbmF0aW9uKQogewotCXUzMiB0bXA7CisJdTMyIHJlc3VsdCA9IDA7CiAK LQlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXZfcHJpdi0+c2JfbG9jayk7CisJaW50ZWxfc2JpX3J3 KGk5MTUsIHJlZywgZGVzdGluYXRpb24sICZyZXN1bHQsIHRydWUpOwogCi0JaWYgKGludGVsX3dh aXRfZm9yX3JlZ2lzdGVyKCZkZXZfcHJpdi0+dW5jb3JlLAotCQkJCSAgICBTQklfQ1RMX1NUQVQs IFNCSV9CVVNZLCAwLAotCQkJCSAgICAxMDApKSB7Ci0JCURSTV9FUlJPUigidGltZW91dCB3YWl0 aW5nIGZvciBTQkkgdG8gYmVjb21lIHJlYWR5XG4iKTsKLQkJcmV0dXJuOwotCX0KLQotCUk5MTVf V1JJVEUoU0JJX0FERFIsIChyZWcgPDwgMTYpKTsKLQlJOTE1X1dSSVRFKFNCSV9EQVRBLCB2YWx1 ZSk7Ci0KLQlpZiAoZGVzdGluYXRpb24gPT0gU0JJX0lDTEspCi0JCXRtcCA9IFNCSV9DVExfREVT VF9JQ0xLIHwgU0JJX0NUTF9PUF9DUldSOwotCWVsc2UKLQkJdG1wID0gU0JJX0NUTF9ERVNUX01Q SFkgfCBTQklfQ1RMX09QX0lPV1I7Ci0JSTkxNV9XUklURShTQklfQ1RMX1NUQVQsIFNCSV9CVVNZ IHwgdG1wKTsKLQotCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcigmZGV2X3ByaXYtPnVuY29y ZSwKLQkJCQkgICAgU0JJX0NUTF9TVEFULAotCQkJCSAgICBTQklfQlVTWSwKLQkJCQkgICAgMCwK LQkJCQkgICAgMTAwKSkgewotCQlEUk1fRVJST1IoInRpbWVvdXQgd2FpdGluZyBmb3IgU0JJIHRv IGNvbXBsZXRlIHdyaXRlXG4iKTsKLQkJcmV0dXJuOwotCX0KKwlyZXR1cm4gcmVzdWx0OworfQog Ci0JaWYgKEk5MTVfUkVBRChTQklfQ1RMX1NUQVQpICYgU0JJX1JFU1BPTlNFX0ZBSUwpIHsKLQkJ RFJNX0VSUk9SKCJlcnJvciBkdXJpbmcgU0JJIHdyaXRlIG9mICV4IHRvIHJlZyAleFxuIiwKLQkJ CSAgdmFsdWUsIHJlZyk7Ci0JCXJldHVybjsKLQl9Cit2b2lkIGludGVsX3NiaV93cml0ZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgdTE2IHJlZywgdTMyIHZhbHVlLAorCQkgICAgIGVu dW0gaW50ZWxfc2JpX2Rlc3RpbmF0aW9uIGRlc3RpbmF0aW9uKQoreworCWludGVsX3NiaV9ydyhp OTE1LCByZWcsIGRlc3RpbmF0aW9uLCAmdmFsdWUsIGZhbHNlKTsKIH0KLS0gCjIuMjAuMQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4