From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mahesh Kumar Subject: [PATCH 2/5] drm/i915/skl+: Decode memory bandwidth and parameters Date: Thu, 26 Jul 2018 19:44:07 +0530 Message-ID: <20180726141410.2185-3-mahesh1.kumar@intel.com> References: <20180726141410.2185-1-mahesh1.kumar@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0C8996E777 for ; Thu, 26 Jul 2018 14:12:17 +0000 (UTC) In-Reply-To: <20180726141410.2185-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: rodrigo.vivi@intel.com List-Id: intel-gfx@lists.freedesktop.org VGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgdG8gZGVjb2RlIHN5c3RlbSBtZW1vcnkgYmFuZHdpZHRo IGFuZCBvdGhlcgpwYXJhbWV0ZXJzIGZvciBza3lsYWtlIGFuZCBHZW45KyBwbGF0Zm9ybXMsIHdo aWNoIHdpbGwgYmUgdXNlZCBmb3IKYXJiaXRyYXRlZCBkaXNwbGF5IG1lbW9yeSBiYW5kd2lkdGgg Y2FsY3VsYXRpb24gaW4gR0VOOSBiYXNlZApwbGF0Zm9ybXMgYW5kIFdNIGxhdGVuY3kgbGV2ZWwt MCBXb3JrLWFyb3VuZCBjYWxjdWxhdGlvbiBvbiBHRU45Ky4KCkNoYW5nZXMgU2luY2UgVjE6CiAt IHMvbWVtZGV2X2luZm8vZHJhbV9pbmZvCiAtIGNyZWF0ZSBhIHN0cnVjdCB0byBob2xkIGNoYW5u ZWwgaW5mbwoKU2lnbmVkLW9mZi1ieTogTWFoZXNoIEt1bWFyIDxtYWhlc2gxLmt1bWFyQGludGVs LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIHwgMTMxICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmggfCAgIDcgKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIHwgIDIx ICsrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMTU1IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5kZXggMTY2Mjk2MDFjOWY0Li5kZGY2YmY5YjUw MGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpAQCAtMTA3MCw2ICsxMDcwLDExOCBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9zYW5pdGl6ZV9vcHRpb25zKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKIAlpbnRlbF9ndnRfc2FuaXRpemVfb3B0aW9ucyhkZXZfcHJpdik7CiB9CiAKK3N0 YXRpYyBpbnQKK3NrbF9kcmFtX2dldF9jaGFubmVsX2luZm8oc3RydWN0IGRyYW1fY2hhbm5lbF9p bmZvICpjaCwgdTMyIHZhbCkKK3sKKwl1OCBsX3JhbmssIHNfcmFuazsKKwl1OCBsX3NpemUsIHNf c2l6ZTsKKwl1OCBsX3dpZHRoLCBzX3dpZHRoOworCWVudW0gZHJhbV9yYW5rIHJhbms7CisKKwlp ZiAoIXZhbCkKKwkJcmV0dXJuIC0xOworCisJbF9zaXplID0gKHZhbCA+PiBTS0xfRFJBTV9TSVpF X0xfU0hJRlQpICYgU0tMX0RSQU1fU0laRV9NQVNLOworCXNfc2l6ZSA9ICh2YWwgPj4gU0tMX0RS QU1fU0laRV9TX1NISUZUKSAmIFNLTF9EUkFNX1NJWkVfTUFTSzsKKwlsX3dpZHRoID0gKHZhbCA+ PiBTS0xfRFJBTV9XSURUSF9MX1NISUZUKSAmIFNLTF9EUkFNX1dJRFRIX01BU0s7CisJc193aWR0 aCA9ICh2YWwgPj4gU0tMX0RSQU1fV0lEVEhfU19TSElGVCkgJiBTS0xfRFJBTV9XSURUSF9NQVNL OworCWxfcmFuayA9ICh2YWwgPj4gU0tMX0RSQU1fUkFOS19MX1NISUZUKSAmIFNLTF9EUkFNX1JB TktfTUFTSzsKKwlzX3JhbmsgPSAodmFsID4+IFNLTF9EUkFNX1JBTktfU19TSElGVCkgJiBTS0xf RFJBTV9SQU5LX01BU0s7CisKKwlpZiAobF9zaXplID09IDAgJiYgc19zaXplID09IDApCisJCXJl dHVybiAtMTsKKworCURSTV9ERUJVR19LTVMoIihzaXplOndpZHRoOnJhbmspIEwoJWRHQjpYJWQ6 JXMpIFMoJWRHQjpYJWQ6JXMpXG4iLAorCQkgICAgICBsX3NpemUsICgxIDw8IGxfd2lkdGgpICog OCwgbF9yYW5rID8gImR1YWwiIDogInNpbmdsZSIsCisJCSAgICAgIHNfc2l6ZSwgKDEgPDwgc193 aWR0aCkgKiA4LCBzX3JhbmsgPyAiZHVhbCIgOiAic2luZ2xlIik7CisKKwlpZiAobF9yYW5rID09 IFNLTF9EUkFNX1JBTktfRFVBTCB8fCBzX3JhbmsgPT0gU0tMX0RSQU1fUkFOS19EVUFMKQorCQly YW5rID0gSTkxNV9EUkFNX1JBTktfRFVBTDsKKwllbHNlIGlmICgobF9zaXplICYmIGxfcmFuayA9 PSBTS0xfRFJBTV9SQU5LX1NJTkdMRSkgJiYKKwkJIChzX3NpemUgJiYgc19yYW5rID09IFNLTF9E UkFNX1JBTktfU0lOR0xFKSkKKwkJcmFuayA9IEk5MTVfRFJBTV9SQU5LX0RVQUw7CisJZWxzZQor CQlyYW5rID0gSTkxNV9EUkFNX1JBTktfU0lOR0xFOworCisJY2gtPmxfaW5mby5zaXplID0gbF9z aXplOworCWNoLT5zX2luZm8uc2l6ZSA9IHNfc2l6ZTsKKwljaC0+bF9pbmZvLndpZHRoID0gbF93 aWR0aDsKKwljaC0+c19pbmZvLndpZHRoID0gc193aWR0aDsKKwljaC0+bF9pbmZvLnJhbmsgPSBs X3Jhbms7CisJY2gtPnNfaW5mby5yYW5rID0gc19yYW5rOworCWNoLT5yYW5rID0gcmFuazsKKwor CXJldHVybiAwOworfQorCitzdGF0aWMgaW50Citza2xfZHJhbV9nZXRfY2hhbm5lbHNfaW5mbyhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCit7CisJc3RydWN0IGRyYW1faW5mbyAq ZHJhbV9pbmZvID0gJmRldl9wcml2LT5kcmFtX2luZm87CisJc3RydWN0IGRyYW1fY2hhbm5lbF9p bmZvIGNoMCwgY2gxOworCXUzMiB2YWw7CisJaW50IHJldDsKKworCXZhbCA9IEk5MTVfUkVBRChT S0xfTUFEX0RJTU1fQ0gwXzBfMF8wX01DSEJBUl9NQ01BSU4pOworCXJldCA9IHNrbF9kcmFtX2dl dF9jaGFubmVsX2luZm8oJmNoMCwgdmFsKTsKKwlpZiAocmV0ID09IDApCisJCWRyYW1faW5mby0+ bnVtX2NoYW5uZWxzKys7CisKKwl2YWwgPSBJOTE1X1JFQUQoU0tMX01BRF9ESU1NX0NIMV8wXzBf MF9NQ0hCQVJfTUNNQUlOKTsKKwlyZXQgPSBza2xfZHJhbV9nZXRfY2hhbm5lbF9pbmZvKCZjaDEs IHZhbCk7CisJaWYgKHJldCA9PSAwKQorCQlkcmFtX2luZm8tPm51bV9jaGFubmVscysrOworCisJ aWYgKGRyYW1faW5mby0+bnVtX2NoYW5uZWxzID09IDApIHsKKwkJRFJNX0lORk8oIk51bWJlciBv ZiBtZW1vcnkgY2hhbm5lbHMgaXMgemVyb1xuIik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwor CS8qCisJICogSWYgYW55IG9mIHRoZSBjaGFubmVsIGlzIHNpbmdsZSByYW5rIGNoYW5uZWwsIHdv cnN0IGNhc2Ugb3V0cHV0CisJICogd2lsbCBiZSBzYW1lIGFzIGlmIHNpbmdsZSByYW5rIG1lbW9y eSwgc28gY29uc2lkZXIgc2luZ2xlIHJhbmsKKwkgKiBtZW1vcnkuCisJICovCisJaWYgKGNoMC5y YW5rID09IEk5MTVfRFJBTV9SQU5LX1NJTkdMRSB8fAorCSAgICBjaDEucmFuayA9PSBJOTE1X0RS QU1fUkFOS19TSU5HTEUpCisJCWRyYW1faW5mby0+cmFuayA9IEk5MTVfRFJBTV9SQU5LX1NJTkdM RTsKKwllbHNlCisJCWRyYW1faW5mby0+cmFuayA9IG1heChjaDAucmFuaywgY2gxLnJhbmspOwor CisJaWYgKGRyYW1faW5mby0+cmFuayA9PSBJOTE1X0RSQU1fUkFOS19JTlZBTElEKSB7CisJCURS TV9JTkZPKCJjb3VsZG4ndCBnZXQgbWVtb3J5IHJhbmsgaW5mb3JtYXRpb25cbiIpOworCQlyZXR1 cm4gLUVJTlZBTDsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK3NrbF9nZXRfZHJh bV9pbmZvKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3sKKwlzdHJ1Y3QgZHJh bV9pbmZvICpkcmFtX2luZm8gPSAmZGV2X3ByaXYtPmRyYW1faW5mbzsKKwl1MzIgbWVtX2ZyZXFf a2h6LCB2YWw7CisJaW50IHJldDsKKworCXJldCA9IHNrbF9kcmFtX2dldF9jaGFubmVsc19pbmZv KGRldl9wcml2KTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJdmFsID0gSTkxNV9SRUFE KFNLTF9NQ19CSU9TX0RBVEFfMF8wXzBfTUNIQkFSX1BDVSk7CisJbWVtX2ZyZXFfa2h6ID0gRElW X1JPVU5EX1VQKCh2YWwgJiBTS0xfUkVRX0RBVEFfTUFTSykgKgorCQkJCSAgICBTS0xfTUVNT1JZ X0ZSRVFfTVVMVElQTElFUl9IWiwgMTAwMCk7CisKKwlkcmFtX2luZm8tPmJhbmR3aWR0aF9rYnBz ID0gZHJhbV9pbmZvLT5udW1fY2hhbm5lbHMgKgorCQkJCQkJCW1lbV9mcmVxX2toeiAqIDg7CisK KwlpZiAoZHJhbV9pbmZvLT5iYW5kd2lkdGhfa2JwcyA9PSAwKSB7CisJCURSTV9JTkZPKCJDb3Vs ZG4ndCBnZXQgc3lzdGVtIG1lbW9yeSBiYW5kd2lkdGhcbiIpOworCQlyZXR1cm4gLUVJTlZBTDsK Kwl9CisKKwlkcmFtX2luZm8tPnZhbGlkID0gdHJ1ZTsKKwlyZXR1cm4gMDsKK30KKwogc3RhdGlj IGludAogYnh0X2dldF9kcmFtX2luZm8oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQogewpAQCAtMTE1OSw2ICsxMjcxLDcgQEAgc3RhdGljIHZvaWQKIGludGVsX2dldF9kcmFtX2lu Zm8oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCXN0cnVjdCBkcmFtX2lu Zm8gKmRyYW1faW5mbyA9ICZkZXZfcHJpdi0+ZHJhbV9pbmZvOworCWNoYXIgYmFuZHdpZHRoX3N0 clszMl07CiAJaW50IHJldDsKIAogCWRyYW1faW5mby0+dmFsaWQgPSBmYWxzZTsKQEAgLTExNjYs MTUgKzEyNzksMjUgQEAgaW50ZWxfZ2V0X2RyYW1faW5mbyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCiAJZHJhbV9pbmZvLT5iYW5kd2lkdGhfa2JwcyA9IDA7CiAJZHJhbV9pbmZv LT5udW1fY2hhbm5lbHMgPSAwOwogCi0JaWYgKCFJU19CUk9YVE9OKGRldl9wcml2KSkKKwlpZiAo SU5URUxfR0VOKGRldl9wcml2KSA8IDkpCiAJCXJldHVybjsKIAotCXJldCA9IGJ4dF9nZXRfZHJh bV9pbmZvKGRldl9wcml2KTsKKwkvKiBOZWVkIHRvIGNhbGN1bGF0ZSBiYW5kd2lkdGggb25seSBm b3IgR2VuOSAqLworCWlmIChJU19CUk9YVE9OKGRldl9wcml2KSkKKwkJcmV0ID0gYnh0X2dldF9k cmFtX2luZm8oZGV2X3ByaXYpOworCWVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPT0gOSkK KwkJcmV0ID0gc2tsX2dldF9kcmFtX2luZm8oZGV2X3ByaXYpOworCWVsc2UKKwkJcmV0ID0gc2ts X2RyYW1fZ2V0X2NoYW5uZWxzX2luZm8oZGV2X3ByaXYpOwogCWlmIChyZXQpCiAJCXJldHVybjsK IAotCURSTV9ERUJVR19LTVMoIkRSQU0gYmFuZHdpZHRoOiVkIEtCcHMsIHRvdGFsLWNoYW5uZWxz OiAldVxuIiwKLQkJICAgICAgZHJhbV9pbmZvLT5iYW5kd2lkdGhfa2JwcywgZHJhbV9pbmZvLT5u dW1fY2hhbm5lbHMpOworCWlmIChkcmFtX2luZm8tPmJhbmR3aWR0aF9rYnBzKQorCQlzcHJpbnRm KGJhbmR3aWR0aF9zdHIsICIlZCBLQnBzIiwgZHJhbV9pbmZvLT5iYW5kd2lkdGhfa2Jwcyk7CisJ ZWxzZQorCQlzcHJpbnRmKGJhbmR3aWR0aF9zdHIsICJ1bmtub3duIik7CisJRFJNX0RFQlVHX0tN UygiRFJBTSBiYW5kd2lkdGg6JXMsIHRvdGFsLWNoYW5uZWxzOiAldVxuIiwKKwkJICAgICAgYmFu ZHdpZHRoX3N0ciwgZHJhbV9pbmZvLT5udW1fY2hhbm5lbHMpOwogCURSTV9ERUJVR19LTVMoIkRS QU0gcmFuazogJXMgcmFua1xuIiwKIAkJICAgICAgKGRyYW1faW5mby0+cmFuayA9PSBJOTE1X0RS QU1fUkFOS19EVUFMKSA/CiAJCSAgICAgICJkdWFsIiA6ICJzaW5nbGUiKTsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCmluZGV4IDQ2Zjk0MmZhN2Q2MC4uMmQxMmZjMTUyYjQ5IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKQEAgLTIxMjgsNiArMjEyOCwxMyBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSB7CiAJICovCiB9OwogCitzdHJ1Y3QgZHJhbV9jaGFubmVsX2luZm8geworCXN0cnVjdCBpbmZv IHsKKwkJdTggc2l6ZSwgd2lkdGgsIHJhbms7CisJfSBsX2luZm8sIHNfaW5mbzsKKwllbnVtIGRy YW1fcmFuayByYW5rOworfTsKKwogc3RhdGljIGlubGluZSBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqdG9faTkxNShjb25zdCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogewogCXJldHVybiBjb250 YWluZXJfb2YoZGV2LCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSwgZHJtKTsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oCmluZGV4IDY2OTAwZDAyNzU3MC4uZTRkNjExNjdmYjY0IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVnLmgKQEAgLTk2NjQsNiArOTY2NCwyNyBAQCBlbnVtIHNrbF9wb3dlcl9nYXRlIHsK ICNkZWZpbmUgIEJYVF9EUkFNX1NJWkVfMTJHQgkJCTB4MwogI2RlZmluZSAgQlhUX0RSQU1fU0la RV8xNkdCCQkJMHg0CiAKKyNkZWZpbmUgU0tMX01FTU9SWV9GUkVRX01VTFRJUExJRVJfSFoJCTI2 NjY2NjY2NgorI2RlZmluZSBTS0xfTUNfQklPU19EQVRBXzBfMF8wX01DSEJBUl9QQ1UJX01NSU8o TUNIQkFSX01JUlJPUl9CQVNFX1NOQiArIDB4NUUwNCkKKyNkZWZpbmUgIFNLTF9SRVFfREFUQV9N QVNLCQkJKDB4RiA8PCAwKQorCisjZGVmaW5lIFNLTF9NQURfRElNTV9DSDBfMF8wXzBfTUNIQkFS X01DTUFJTglfTU1JTyhNQ0hCQVJfTUlSUk9SX0JBU0VfU05CICsgMHg1MDBDKQorI2RlZmluZSBT S0xfTUFEX0RJTU1fQ0gxXzBfMF8wX01DSEJBUl9NQ01BSU4JX01NSU8oTUNIQkFSX01JUlJPUl9C QVNFX1NOQiArIDB4NTAxMCkKKyNkZWZpbmUgIFNLTF9EUkFNX1NJWkVfTUFTSwkJCTB4M0YKKyNk ZWZpbmUgIFNLTF9EUkFNX1NJWkVfTF9TSElGVAkJCTAKKyNkZWZpbmUgIFNLTF9EUkFNX1NJWkVf U19TSElGVAkJCTE2CisjZGVmaW5lICBTS0xfRFJBTV9XSURUSF9NQVNLCQkJMHgzCisjZGVmaW5l ICBTS0xfRFJBTV9XSURUSF9MX1NISUZUCQkJOAorI2RlZmluZSAgU0tMX0RSQU1fV0lEVEhfU19T SElGVAkJCTI0CisjZGVmaW5lICBTS0xfRFJBTV9XSURUSF9YOAkJCTB4MAorI2RlZmluZSAgU0tM X0RSQU1fV0lEVEhfWDE2CQkJMHgxCisjZGVmaW5lICBTS0xfRFJBTV9XSURUSF9YMzIJCQkweDIK KyNkZWZpbmUgIFNLTF9EUkFNX1JBTktfTUFTSwkJCTB4MQorI2RlZmluZSAgU0tMX0RSQU1fUkFO S19MX1NISUZUCQkJMTAKKyNkZWZpbmUgIFNLTF9EUkFNX1JBTktfU19TSElGVAkJCTI2CisjZGVm aW5lICBTS0xfRFJBTV9SQU5LX1NJTkdMRQkJCTB4MAorI2RlZmluZSAgU0tMX0RSQU1fUkFOS19E VUFMCQkJMHgxCisKIC8qIFBsZWFzZSBzZWUgaHN3X3JlYWRfZGNvbXAoKSBhbmQgaHN3X3dyaXRl X2Rjb21wKCkgYmVmb3JlIHVzaW5nIHRoaXMgcmVnaXN0ZXIsCiAgKiBzaW5jZSBvbiBIU1cgd2Ug Y2FuJ3Qgd3JpdGUgdG8gaXQgdXNpbmcgSTkxNV9XUklURS4gKi8KICNkZWZpbmUgRF9DT01QX0hT VwkJCV9NTUlPKE1DSEJBUl9NSVJST1JfQkFTRV9TTkIgKyAweDVGMEMpCi0tIAoyLjE2LjIKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=