From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kumar, Mahesh" Subject: [PATCH v3 4/9] drm/i915: Decode system memory bandwidth Date: Fri, 9 Sep 2016 13:31:01 +0530 Message-ID: <20160909080106.17506-5-mahesh1.kumar@intel.com> References: <20160909080106.17506-1-mahesh1.kumar@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 929186E72C for ; Fri, 9 Sep 2016 07:57:42 +0000 (UTC) In-Reply-To: <20160909080106.17506-1-mahesh1.kumar@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 Cc: paulo.r.zanoni@intel.com List-Id: intel-gfx@lists.freedesktop.org RnJvbTogTWFoZXNoIEt1bWFyIDxtYWhlc2gxLmt1bWFyQGludGVsLmNvbT4KClRoaXMgcGF0Y2gg YWRkcyBzdXBwb3J0IHRvIGRlY29kZSBzeXN0ZW0gbWVtb3J5IGJhbmR3aWR0aAp3aGljaCB3aWxs IGJlIHVzZWQgZm9yIGFyYml0cmF0ZWQgZGlzcGxheSBtZW1vcnkgcGVyY2VudGFnZQpjYWxjdWxh dGlvbiBpbiBHRU45IGJhc2VkIHN5c3RlbS4KClNpZ25lZC1vZmYtYnk6IE1haGVzaCBLdW1hciA8 bWFoZXNoMS5rdW1hckBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuYyB8IDk2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIHwgMTggKysrKysrKysKIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmggfCAyNSArKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAxMzkg aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCmluZGV4IDAyYzM0ZDYuLjBhNGYx OGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpAQCAtOTczLDYgKzk3Myw5NiBAQCBzdGF0aWMg dm9pZCBpbnRlbF9zYW5pdGl6ZV9vcHRpb25zKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKIAlEUk1fREVCVUdfRFJJVkVSKCJ1c2UgR1BVIHNlbXBhaG9yZXM/ICVzXG4iLCB5ZXNu byhpOTE1LnNlbWFwaG9yZXMpKTsKIH0KIAorc3RhdGljIHZvaWQKK2ludGVsX2dldF9tZW1kZXZf aW5mbyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKKwl1aW50MzJfdCB2YWwgPSAwOworCXVpbnQzMl90 IG1lbV9zcGVlZCA9IDA7CisJdWludDhfdCBkcmFtX3R5cGU7CisJdWludDMyX3QgZHJhbV9jaGFu bmVsOworCXVpbnQ4X3QgbnVtX2NoYW5uZWw7CisJYm9vbCByYW5rX3ZhbGlkID0gZmFsc2U7CisK KwlpZiAoIUlTX0dFTjkoZGV2X3ByaXYpKQorCQlnb3RvIGV4aXQ7CisKKwl2YWwgPSBJOTE1X1JF QUQoUF9DUl9NQ19CSU9TX1JFUV8wXzBfMCk7CisJbWVtX3NwZWVkID0gZGl2X3U2NCgodWludDY0 X3QpICh2YWwgJiBSRVFfREFUQV9NQVNLKSAqCisJCQlNRU1PUllfRlJFUV9NVUxUSVBMSUVSLCAx MDAwKTsKKworCWlmIChtZW1fc3BlZWQgPT0gMCkKKwkJZ290byBleGl0OworCisJZGV2X3ByaXYt Pm1lbWRldl9pbmZvLnZhbGlkID0gdHJ1ZTsKKwlkZXZfcHJpdi0+bWVtZGV2X2luZm8ubWVtX3Nw ZWVkID0gbWVtX3NwZWVkOworCWRyYW1fdHlwZSA9ICh2YWwgPj4gRFJBTV9UWVBFX1NISUZUKSAm IERSQU1fVFlQRV9NQVNLOworCWRyYW1fY2hhbm5lbCA9ICh2YWwgPj4gRFJBTV9DSEFOTkVMX1NI SUZUKSAmIERSQU1fQ0hBTk5FTF9NQVNLOworCW51bV9jaGFubmVsID0gaHdlaWdodDMyKGRyYW1f Y2hhbm5lbCk7CisKKwkvKgorCSAqIFRoZSBscGRkcjMgYW5kIGxwZGRyNCB0ZWNobm9sb2dpZXMg Y2FuIGhhdmUgMS00IGNoYW5uZWxzIGFuZCB0aGUKKwkgKiBjaGFubmVscyBhcmUgMzJiaXRzIHdp ZGU7IHdoaWxlIGRkcjNsIHRlY2hub2xvZ2llcyBjYW4gaGF2ZSAxLTIKKwkgKiBjaGFubmVscyBh bmQgdGhlIGNoYW5uZWxzIGFyZSA2NCBiaXRzIHdpZGUuIEJ1dCBTViB0ZWFtIGZvdW5kIHRoYXQg aW4KKwkgKiBjYXNlIG9mIHNpbmdsZSA2NCBiaXQgd2lkZSBERFIzTCBkaW1tcyB0d28gYml0cyB3 ZXJlIHNldCBhbmQgc3lzdGVtCisJICogd2l0aCB0d28gRERSM0wgNjRiaXQgZGltbSBhbGwgZm91 ciBiaXRzIHdlcmUgc2V0LgorCSAqLworCisJc3dpdGNoIChkcmFtX3R5cGUpIHsKKwljYXNlIERS QU1fVFlQRV9MUEREUjM6CisJY2FzZSBEUkFNX1RZUEVfTFBERFI0OgorCQlkZXZfcHJpdi0+bWVt ZGV2X2luZm8uZGF0YV93aWR0aCA9IDQ7CisJCWRldl9wcml2LT5tZW1kZXZfaW5mby5udW1fY2hh bm5lbCA9IG51bV9jaGFubmVsOworCQlicmVhazsKKwljYXNlIERSQU1fVFlQRV9ERFIzTDoKKwkJ ZGV2X3ByaXYtPm1lbWRldl9pbmZvLmRhdGFfd2lkdGggPSA4OworCQlkZXZfcHJpdi0+bWVtZGV2 X2luZm8ubnVtX2NoYW5uZWwgPSBudW1fY2hhbm5lbCAvIDI7CisJCWJyZWFrOworCWRlZmF1bHQ6 CisJCWRldl9wcml2LT5tZW1kZXZfaW5mby5kYXRhX3dpZHRoID0gNDsKKwkJZGV2X3ByaXYtPm1l bWRldl9pbmZvLm51bV9jaGFubmVsID0gbnVtX2NoYW5uZWw7CisJfQorCisJLyoKKwkgKiBOb3cg cmVhZCBlYWNoIERVTklUOC85LzEwLzExIHRvIGNoZWNrIHRoZSByYW5rIG9mIGVhY2ggZGltbXMu CisJICogYWxsIHRoZSBkaW1tcyBzaG91bGQgaGF2ZSBzYW1lIHJhbmsgYXMgaW4gZmlyc3QgdmFs aWQgRGltbQorCSAqLworI2RlZmluZSBEX0NSX0RSUDBfRFVOSVRfSU5WQUxJRAkgICAgMHhGRkZG RkZGRgorCisJZGV2X3ByaXYtPm1lbWRldl9pbmZvLnJhbmtfdmFsaWQgPSB0cnVlOworCWlmIChJ OTE1X1JFQUQoRF9DUl9EUlAwX0RVTklUOCkgIT0gRF9DUl9EUlAwX0RVTklUX0lOVkFMSUQpIHsK KwkJdmFsID0gSTkxNV9SRUFEKERfQ1JfRFJQMF9EVU5JVDgpOworCQlyYW5rX3ZhbGlkID0gdHJ1 ZTsKKwl9IGVsc2UgaWYgKEk5MTVfUkVBRChEX0NSX0RSUDBfRFVOSVQ5KSAhPSBEX0NSX0RSUDBf RFVOSVRfSU5WQUxJRCkgeworCQl2YWwgPSBJOTE1X1JFQUQoRF9DUl9EUlAwX0RVTklUOSk7CisJ CXJhbmtfdmFsaWQgPSB0cnVlOworCX0gZWxzZSBpZiAoSTkxNV9SRUFEKERfQ1JfRFJQMF9EVU5J VDEwKSAhPSBEX0NSX0RSUDBfRFVOSVRfSU5WQUxJRCkgeworCQl2YWwgPSBJOTE1X1JFQUQoRF9D Ul9EUlAwX0RVTklUMTApOworCQlyYW5rX3ZhbGlkID0gdHJ1ZTsKKwl9IGVsc2UgaWYgKEk5MTVf UkVBRChEX0NSX0RSUDBfRFVOSVQxMSkgIT0gRF9DUl9EUlAwX0RVTklUX0lOVkFMSUQpIHsKKwkJ dmFsID0gSTkxNV9SRUFEKERfQ1JfRFJQMF9EVU5JVDExKTsKKwkJcmFua192YWxpZCA9IHRydWU7 CisJfQorI3VuZGVmIERfQ1JfRFJQMF9EVU5JVF9JTlZBTElECisKKwlpZiAocmFua192YWxpZCkg eworCQlkZXZfcHJpdi0+bWVtZGV2X2luZm8ucmFua192YWxpZCA9IHRydWU7CisJCWRldl9wcml2 LT5tZW1kZXZfaW5mby5yYW5rID0gKHZhbCAmIERSQU1fUkFOS19NQVNLKTsKKwl9CisKKwlEUk1f REVCVUdfRFJJVkVSKCJ2YWxpZDolcyBzcGVlZC0lZCB3aWR0aC0lZCBudW1fY2hhbm5lbC0lZFxu IiwKKwkJZGV2X3ByaXYtPm1lbWRldl9pbmZvLnZhbGlkID8gInRydWUiIDogImZhbHNlIiwKKwkJ ZGV2X3ByaXYtPm1lbWRldl9pbmZvLm1lbV9zcGVlZCwKKwkJZGV2X3ByaXYtPm1lbWRldl9pbmZv LmRhdGFfd2lkdGgsCisJCWRldl9wcml2LT5tZW1kZXZfaW5mby5udW1fY2hhbm5lbCk7CisJRFJN X0RFQlVHX0RSSVZFUigicmFua192YWxpZDolcyByYW5rLSVkXG4iLAorCQlkZXZfcHJpdi0+bWVt ZGV2X2luZm8ucmFua192YWxpZCA/ICJ0cnVlIiA6ICJmYWxzZSIsCisJCWRldl9wcml2LT5tZW1k ZXZfaW5mby5yYW5rKTsKKwlyZXR1cm47CitleGl0OgorCWRldl9wcml2LT5tZW1kZXZfaW5mby52 YWxpZCA9IGZhbHNlOworfQorCiAvKioKICAqIGk5MTVfZHJpdmVyX2luaXRfaHcgLSBzZXR1cCBz dGF0ZSByZXF1aXJpbmcgZGV2aWNlIGFjY2VzcwogICogQGRldl9wcml2OiBkZXZpY2UgcHJpdmF0 ZQpAQCAtMTA3Niw2ICsxMTY2LDEyIEBAIHN0YXRpYyBpbnQgaTkxNV9kcml2ZXJfaW5pdF9odyhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCQlEUk1fREVCVUdfRFJJVkVSKCJj YW4ndCBlbmFibGUgTVNJIik7CiAJfQogCisJLyoKKwkgKiBGaWxsIHRoZSBtZW1kZXYgc3RydWN0 dXJlIHRvIGdldCB0aGUgc3lzdGVtIHJhdyBiYW5kd2lkdGgKKwkgKiBUaGlzIHdpbGwgYmUgdXNl ZCBieSBXTSBhbGdvcml0aG0sIHRvIGltcGxlbWVudCBHRU45IGJhc2VkIFdBCisJICovCisJaW50 ZWxfZ2V0X21lbWRldl9pbmZvKGRldik7CisKIAlyZXR1cm4gMDsKIAogb3V0X2dndHQ6CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAppbmRleCA0ZWMyM2U1Li40MzEzOTkyIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKQEAgLTIwMzYsNiArMjAzNiwyNCBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7 CiAJCWJvb2wgZGlzdHJ1c3RfYmlvc193bTsKIAl9IHdtOwogCisJc3RydWN0IHsKKwkJLyoKKwkJ ICogbWVtb3J5IGRldmljZSBpbmZvCisJCSAqIHZhbGlkOiBtZW1vcnkgaW5mbyBpcyB2YWxpZCBv ciBub3QKKwkJICogbWVtX3NwZWVkOiBtZW1vcnkgZnJlcSBpbiBLSHoKKwkJICogY2hhbm5lbF93 aWR0aDogQ2hhbm5lbCB3aWR0aCBpbiBieXRlcworCQkgKiBudW1fY2hhbm5lbDogdG90YWwgbnVt YmVyIG9mIGNoYW5uZWxzCisJCSAqIHJhbms6IDAtcmFuayBkaXNhYmxlLCAxLVNpbmdsZSByYW5r LCAyLWR1YWwgcmFuaworCQkgKi8KKwkJYm9vbCB2YWxpZDsKKwkJdWludDMyX3QgbWVtX3NwZWVk OworCQl1aW50OF90IGRhdGFfd2lkdGg7CisJCXVpbnQ4X3QgbnVtX2NoYW5uZWw7CisJCWJvb2wg cmFua192YWxpZDsKKwkJdWludDhfdCByYW5rOworCX0gbWVtZGV2X2luZm87CisKKwogCXN0cnVj dCBpOTE1X3J1bnRpbWVfcG0gcG07CiAKIAkvKiBBYnN0cmFjdCB0aGUgc3VibWlzc2lvbiBtZWNo YW5pc20gKGxlZ2FjeSByaW5nYnVmZmVyIG9yIGV4ZWNsaXN0cykgYXdheSAqLwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVnLmgKaW5kZXggYTI5ZDcwNy4uYjM4NDQ1YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9yZWcuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jl Zy5oCkBAIC03NzE2LDYgKzc3MTYsMzEgQEAgZW51bSB7CiAjZGVmaW5lICBEQ19TVEFURV9ERUJV R19NQVNLX0NPUkVTCSgxPDwwKQogI2RlZmluZSAgRENfU1RBVEVfREVCVUdfTUFTS19NRU1PUllf VVAJKDE8PDEpCiAKKyNkZWZpbmUgUF9DUl9NQ19CSU9TX1JFUV8wXzBfMAkJX01NSU8oTUNIQkFS X01JUlJPUl9CQVNFX1NOQiArIDB4NzExNCkKKyNkZWZpbmUgUkVRX0RBVEFfTUFTSwkJCSgweDNG IDw8IDApCisjZGVmaW5lIERSQU1fVFlQRV9TSElGVAkJCTI0CisjZGVmaW5lIERSQU1fVFlQRV9N QVNLCQkJMHg3CisjZGVmaW5lIERSQU1fQ0hBTk5FTF9TSElGVAkJMTIKKyNkZWZpbmUgRFJBTV9D SEFOTkVMX01BU0sJCTB4RgorCisjZGVmaW5lIERSQU1fVFlQRV9MUEREUjMJCTB4MQorI2RlZmlu ZSBEUkFNX1RZUEVfTFBERFI0CQkweDIKKyNkZWZpbmUgRFJBTV9UWVBFX0REUjNMCQkJMHg0Cisv KgorICogQklPUyBwcm9ncmFtcyB0aGlzIGZpZWxkIG9mIFJFUV9EQVRBIFs1OjBdIGluIGludGVn ZXIKKyAqIG11bHRpcGxlIG9mIDEzMzMzMCBLSHogKDEzMy4zM01IeikKKyAqLworI2RlZmluZSBN RU1PUllfRlJFUV9NVUxUSVBMSUVSCQkweDIwOEQyCisjZGVmaW5lIERfQ1JfRFJQMF9EVU5JVDgJ CV9NTUlPKE1DSEJBUl9NSVJST1JfQkFTRV9TTkIgKyAweDEwMDApCisjZGVmaW5lIERfQ1JfRFJQ MF9EVU5JVDkJCV9NTUlPKE1DSEJBUl9NSVJST1JfQkFTRV9TTkIgKyAweDEyMDApCisjZGVmaW5l IERfQ1JfRFJQMF9EVU5JVDEwCQlfTU1JTyhNQ0hCQVJfTUlSUk9SX0JBU0VfU05CICsgMHgxNDAw KQorI2RlZmluZSBEX0NSX0RSUDBfRFVOSVQxMQkJX01NSU8oTUNIQkFSX01JUlJPUl9CQVNFX1NO QiArIDB4MTYwMCkKKyNkZWZpbmUgRF9DUl9EUlAwX1JLRU4wCQkJKDEgPDwgMCkKKyNkZWZpbmUg RF9DUl9EUlAwX1JLRU4xCQkJKDEgPDwgMSkKKyNkZWZpbmUgRFJBTV9SQU5LX01BU0sJCQkweDMK KyNkZWZpbmUgRFJBTV9TSU5HTEVfUkFOSwkJMHgxCisjZGVmaW5lIERSQU1fRFVBTF9SQU5LCQkJ MHgzCisKIC8qIFBsZWFzZSBzZWUgaHN3X3JlYWRfZGNvbXAoKSBhbmQgaHN3X3dyaXRlX2Rjb21w KCkgYmVmb3JlIHVzaW5nIHRoaXMgcmVnaXN0ZXIsCiAgKiBzaW5jZSBvbiBIU1cgd2UgY2FuJ3Qg d3JpdGUgdG8gaXQgdXNpbmcgSTkxNV9XUklURS4gKi8KICNkZWZpbmUgRF9DT01QX0hTVwkJCV9N TUlPKE1DSEJBUl9NSVJST1JfQkFTRV9TTkIgKyAweDVGMEMpCi0tIAoyLjguMwoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==