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: Wed, 7 Mar 2018 19:42:00 +0000 Message-ID: <20180307194202.31099-9-chris@chris-wilson.co.uk> References: <20180307194202.31099-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 D87426E214 for ; Wed, 7 Mar 2018 19:42:24 +0000 (UTC) In-Reply-To: <20180307194202.31099-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 YWNjZXNzb3IuCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNv bi5jby51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zaWRlYmFuZC5jIHwgOTMg KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzMyBp bnNlcnRpb25zKCspLCA2MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9zaWRlYmFuZC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2lk ZWJhbmQuYwppbmRleCA4N2UzNDc4NzkzOWIuLmU1ZmFlYmI1MTFhZSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2lkZWJhbmQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9zaWRlYmFuZC5jCkBAIC0zMDksOTEgKzMwOSw2NCBAQCB2b2lkIHZsdl9kcGlv X3B1dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB9CiAKIC8qIFNCSSBhY2Nl c3MgKi8KLXUzMiBpbnRlbF9zYmlfcmVhZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsIHUxNiByZWcsCi0JCSAgIGVudW0gaW50ZWxfc2JpX2Rlc3RpbmF0aW9uIGRlc3RpbmF0aW9u KQorc3RhdGljIGludCBpbnRlbF9zYmlfcncoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LCB1MTYgcmVnLAorCQkJZW51bSBpbnRlbF9zYmlfZGVzdGluYXRpb24gZGVzdGluYXRpb24s CisJCQl1MzIgKnZhbCwgYm9vbCBpc19yZWFkKQogewotCXUzMiB2YWx1ZSA9IDA7CisJdTMyIGNt ZDsKIAogCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldl9wcml2LT5zYl9sb2NrKTsKIAotCWlmIChp bnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwKLQkJCQkgICAgU0JJX0NUTF9TVEFULCBT QklfQlVTWSwgMCwKLQkJCQkgICAgMTAwKSkgeworCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3Rl cl9mdyhkZXZfcHJpdiwKKwkJCQkgICAgICAgU0JJX0NUTF9TVEFULCBTQklfQlVTWSwgMCwKKwkJ CQkgICAgICAgMTAwKSkgewogCQlEUk1fRVJST1IoInRpbWVvdXQgd2FpdGluZyBmb3IgU0JJIHRv IGJlY29tZSByZWFkeVxuIik7Ci0JCXJldHVybiAwOworCQlyZXR1cm4gLUVCVVNZOwogCX0KIAot CUk5MTVfV1JJVEUoU0JJX0FERFIsIChyZWcgPDwgMTYpKTsKLQlJOTE1X1dSSVRFKFNCSV9EQVRB LCAwKTsKKwlJOTE1X1dSSVRFX0ZXKFNCSV9BRERSLCAodTMyKXJlZyA8PCAxNik7CisJSTkxNV9X UklURV9GVyhTQklfREFUQSwgaXNfcmVhZCA/IDAgOiAqdmFsKTsKIAogCWlmIChkZXN0aW5hdGlv biA9PSBTQklfSUNMSykKLQkJdmFsdWUgPSBTQklfQ1RMX0RFU1RfSUNMSyB8IFNCSV9DVExfT1Bf Q1JSRDsKKwkJY21kID0gU0JJX0NUTF9ERVNUX0lDTEsgfCBTQklfQ1RMX09QX0NSUkQ7CiAJZWxz ZQotCQl2YWx1ZSA9IFNCSV9DVExfREVTVF9NUEhZIHwgU0JJX0NUTF9PUF9JT1JEOwotCUk5MTVf V1JJVEUoU0JJX0NUTF9TVEFULCB2YWx1ZSB8IFNCSV9CVVNZKTsKKwkJY21kID0gU0JJX0NUTF9E RVNUX01QSFkgfCBTQklfQ1RMX09QX0lPUkQ7CisJaWYgKCFpc19yZWFkKQorCQljbWQgfD0gQklU KDgpOworCUk5MTVfV1JJVEVfRlcoU0JJX0NUTF9TVEFULCBjbWQgfCBTQklfQlVTWSk7CiAKLQlp ZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsCi0JCQkJICAgIFNCSV9DVExfU1RB VCwKLQkJCQkgICAgU0JJX0JVU1ksCi0JCQkJICAgIDAsCi0JCQkJICAgIDEwMCkpIHsKKwlpZiAo X19pbnRlbF93YWl0X2Zvcl9yZWdpc3Rlcl9mdyhkZXZfcHJpdiwKKwkJCQkJIFNCSV9DVExfU1RB VCwgU0JJX0JVU1ksIDAsCisJCQkJCSAxMDAsIDEwMCwgJmNtZCkpIHsKIAkJRFJNX0VSUk9SKCJ0 aW1lb3V0IHdhaXRpbmcgZm9yIFNCSSB0byBjb21wbGV0ZSByZWFkXG4iKTsKLQkJcmV0dXJuIDA7 CisJCXJldHVybiAtRVRJTUVET1VUOwogCX0KIAotCWlmIChJOTE1X1JFQUQoU0JJX0NUTF9TVEFU KSAmIFNCSV9SRVNQT05TRV9GQUlMKSB7CisJaWYgKGNtZCAmIFNCSV9SRVNQT05TRV9GQUlMKSB7 CiAJCURSTV9FUlJPUigiZXJyb3IgZHVyaW5nIFNCSSByZWFkIG9mIHJlZyAleFxuIiwgcmVnKTsK LQkJcmV0dXJuIDA7CisJCXJldHVybiAtRU5YSU87CiAJfQogCi0JcmV0dXJuIEk5MTVfUkVBRChT QklfREFUQSk7CisJaWYgKGlzX3JlYWQpCisJCSp2YWwgPSBJOTE1X1JFQURfRlcoU0JJX0RBVEEp OworCisJcmV0dXJuIDA7CiB9CiAKLXZvaWQgaW50ZWxfc2JpX3dyaXRlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwgdTE2IHJlZywgdTMyIHZhbHVlLAotCQkgICAgIGVudW0gaW50 ZWxfc2JpX2Rlc3RpbmF0aW9uIGRlc3RpbmF0aW9uKQordTMyIGludGVsX3NiaV9yZWFkKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTE2IHJlZywKKwkJICAgZW51bSBpbnRlbF9z YmlfZGVzdGluYXRpb24gZGVzdGluYXRpb24pCiB7Ci0JdTMyIHRtcDsKLQotCWxvY2tkZXBfYXNz ZXJ0X2hlbGQoJmRldl9wcml2LT5zYl9sb2NrKTsKLQotCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdp c3RlcihkZXZfcHJpdiwKLQkJCQkgICAgU0JJX0NUTF9TVEFULCBTQklfQlVTWSwgMCwKLQkJCQkg ICAgMTAwKSkgewotCQlEUk1fRVJST1IoInRpbWVvdXQgd2FpdGluZyBmb3IgU0JJIHRvIGJlY29t ZSByZWFkeVxuIik7Ci0JCXJldHVybjsKLQl9CisJdTMyIHJlc3VsdCA9IDA7CiAKLQlJOTE1X1dS SVRFKFNCSV9BRERSLCAocmVnIDw8IDE2KSk7Ci0JSTkxNV9XUklURShTQklfREFUQSwgdmFsdWUp OwotCi0JaWYgKGRlc3RpbmF0aW9uID09IFNCSV9JQ0xLKQotCQl0bXAgPSBTQklfQ1RMX0RFU1Rf SUNMSyB8IFNCSV9DVExfT1BfQ1JXUjsKLQllbHNlCi0JCXRtcCA9IFNCSV9DVExfREVTVF9NUEhZ IHwgU0JJX0NUTF9PUF9JT1dSOwotCUk5MTVfV1JJVEUoU0JJX0NUTF9TVEFULCBTQklfQlVTWSB8 IHRtcCk7Ci0KLQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsCi0JCQkJICAg IFNCSV9DVExfU1RBVCwKLQkJCQkgICAgU0JJX0JVU1ksCi0JCQkJICAgIDAsCi0JCQkJICAgIDEw MCkpIHsKLQkJRFJNX0VSUk9SKCJ0aW1lb3V0IHdhaXRpbmcgZm9yIFNCSSB0byBjb21wbGV0ZSB3 cml0ZVxuIik7Ci0JCXJldHVybjsKLQl9CisJaW50ZWxfc2JpX3J3KGRldl9wcml2LCByZWcsIGRl c3RpbmF0aW9uLCAmcmVzdWx0LCB0cnVlKTsKIAotCWlmIChJOTE1X1JFQUQoU0JJX0NUTF9TVEFU KSAmIFNCSV9SRVNQT05TRV9GQUlMKSB7Ci0JCURSTV9FUlJPUigiZXJyb3IgZHVyaW5nIFNCSSB3 cml0ZSBvZiAleCB0byByZWcgJXhcbiIsCi0JCQkgIHZhbHVlLCByZWcpOwotCQlyZXR1cm47Ci0J fQorCXJldHVybiByZXN1bHQ7CiB9CiAKLXUzMiB2bHZfZmxpc2RzaV9yZWFkKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIHJlZykKK3ZvaWQgaW50ZWxfc2JpX3dyaXRlKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTE2IHJlZywgdTMyIHZhbHVlLAorCQkg ICAgIGVudW0gaW50ZWxfc2JpX2Rlc3RpbmF0aW9uIGRlc3RpbmF0aW9uKQogewotCXUzMiB2YWwg PSAwOwotCXZsdl9zaWRlYmFuZF9ydyhkZXZfcHJpdiwgRFBJT19ERVZGTiwgSU9TRl9QT1JUX0ZM SVNEU0ksIFNCX0NSUkREQV9OUCwKLQkJCXJlZywgJnZhbCk7Ci0JcmV0dXJuIHZhbDsKKwlpbnRl bF9zYmlfcncoZGV2X3ByaXYsIHJlZywgZGVzdGluYXRpb24sICZ2YWx1ZSwgZmFsc2UpOwogfQog CiB2b2lkIHZsdl9mbGlzZHNpX3dyaXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwgdTMyIHJlZywgdTMyIHZhbCkKLS0gCjIuMTYuMgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==