From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mahesh Kumar Subject: [PATCH 1/5] drm/i915/bxt: Decode memory bandwidth and parameters Date: Thu, 26 Jul 2018 19:44:06 +0530 Message-ID: <20180726141410.2185-2-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 E10FE6E777 for ; Thu, 26 Jul 2018 14:12:14 +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 IGFuZCBvdGhlcgpwYXJhbWV0ZXJzIGZvciBicm94dG9uIHBsYXRmb3JtLCB3aGljaCB3aWxsIGJl IHVzZWQgZm9yIGFyYml0cmF0ZWQKZGlzcGxheSBtZW1vcnkgYmFuZHdpZHRoIGNhbGN1bGF0aW9u IGluIEdFTjkgYmFzZWQgcGxhdGZvcm1zIGFuZApXTSBsYXRlbmN5IGxldmVsLTAgV29yay1hcm91 bmQgY2FsY3VsYXRpb24gb24gR0VOOSsgcGxhdGZvcm1zLgoKQ2hhbmdlcyBzaW5jZSBWMToKIC0g cy9tZW1kZXZfaW5mby9kcmFtX2luZm8KClNpZ25lZC1vZmYtYnk6IE1haGVzaCBLdW1hciA8bWFo ZXNoMS5rdW1hckBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu YyB8IDExNiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIHwgIDExICsrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVnLmggfCAgMzAgKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMTU3IGluc2Vy dGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwppbmRleCAxOGE0NWU3YTNkN2MuLjE2NjI5 NjAxYzlmNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCkBAIC0xMDcwLDYgKzEwNzAsMTE2IEBA IHN0YXRpYyB2b2lkIGludGVsX3Nhbml0aXplX29wdGlvbnMoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQogCWludGVsX2d2dF9zYW5pdGl6ZV9vcHRpb25zKGRldl9wcml2KTsKIH0K IAorc3RhdGljIGludAorYnh0X2dldF9kcmFtX2luZm8oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQoreworCXN0cnVjdCBkcmFtX2luZm8gKmRyYW1faW5mbyA9ICZkZXZfcHJpdi0+ ZHJhbV9pbmZvOworCXUzMiBkcmFtX2NoYW5uZWxzOworCXUzMiBtZW1fZnJlcV9raHosIHZhbDsK Kwl1OCBudW1fYWN0aXZlX2NoYW5uZWxzOworCWludCBpOworCisJdmFsID0gSTkxNV9SRUFEKEJY VF9QX0NSX01DX0JJT1NfUkVRXzBfMF8wKTsKKwltZW1fZnJlcV9raHogPSBESVZfUk9VTkRfVVAo KHZhbCAmIEJYVF9SRVFfREFUQV9NQVNLKSAqCisJCQkJICAgIEJYVF9NRU1PUllfRlJFUV9NVUxU SVBMSUVSX0haLCAxMDAwKTsKKworCWRyYW1fY2hhbm5lbHMgPSAodmFsID4+IEJYVF9EUkFNX0NI QU5ORUxfQUNUSVZFX1NISUZUKSAmCisJCQkJCUJYVF9EUkFNX0NIQU5ORUxfQUNUSVZFX01BU0s7 CisJbnVtX2FjdGl2ZV9jaGFubmVscyA9IGh3ZWlnaHQzMihkcmFtX2NoYW5uZWxzKTsKKworCS8q IEVhY2ggYWN0aXZlIGJpdCByZXByZXNlbnRzIDQtYnl0ZSBjaGFubmVsICovCisJZHJhbV9pbmZv LT5iYW5kd2lkdGhfa2JwcyA9IChtZW1fZnJlcV9raHogKiBudW1fYWN0aXZlX2NoYW5uZWxzICog NCk7CisKKwlpZiAoZHJhbV9pbmZvLT5iYW5kd2lkdGhfa2JwcyA9PSAwKSB7CisJCURSTV9JTkZP KCJDb3VsZG4ndCBnZXQgc3lzdGVtIG1lbW9yeSBiYW5kd2lkdGhcbiIpOworCQlyZXR1cm4gLUVJ TlZBTDsKKwl9CisKKwkvKgorCSAqIE5vdyByZWFkIGVhY2ggRFVOSVQ4LzkvMTAvMTEgdG8gY2hl Y2sgdGhlIHJhbmsgb2YgZWFjaCBkaW1tcy4KKwkgKi8KKwlmb3IgKGkgPSBCWFRfRF9DUl9EUlAw X0RVTklUX1NUQVJUOyBpIDw9IEJYVF9EX0NSX0RSUDBfRFVOSVRfRU5EOyBpKyspIHsKKwkJdTgg cmFuaywgc2l6ZSwgd2lkdGg7CisJCWVudW0gZHJhbV9yYW5rIGNoX3Jhbms7CisKKwkJdmFsID0g STkxNV9SRUFEKEJYVF9EX0NSX0RSUDBfRFVOSVQoaSkpOworCQlpZiAodmFsID09IDB4RkZGRkZG RkYpCisJCQljb250aW51ZTsKKworCQlkcmFtX2luZm8tPm51bV9jaGFubmVscysrOworCQlyYW5r ID0gdmFsICYgQlhUX0RSQU1fUkFOS19NQVNLOworCQl3aWR0aCA9ICh2YWwgPj4gQlhUX0RSQU1f V0lEVEhfU0hJRlQpICYgQlhUX0RSQU1fV0lEVEhfTUFTSzsKKwkJc2l6ZSA9ICh2YWwgPj4gQlhU X0RSQU1fU0laRV9TSElGVCkgJiBCWFRfRFJBTV9TSVpFX01BU0s7CisJCWlmIChyYW5rID09IEJY VF9EUkFNX1JBTktfU0lOR0xFKQorCQkJY2hfcmFuayA9IEk5MTVfRFJBTV9SQU5LX1NJTkdMRTsK KwkJZWxzZSBpZiAocmFuayA9PSBCWFRfRFJBTV9SQU5LX0RVQUwpCisJCQljaF9yYW5rID0gSTkx NV9EUkFNX1JBTktfRFVBTDsKKwkJZWxzZQorCQkJY2hfcmFuayA9IEk5MTVfRFJBTV9SQU5LX0lO VkFMSUQ7CisKKwkJaWYgKHNpemUgPT0gQlhUX0RSQU1fU0laRV80R0IpCisJCQlzaXplID0gNDsK KwkJZWxzZSBpZiAoc2l6ZSA9PSBCWFRfRFJBTV9TSVpFXzZHQikKKwkJCXNpemUgPSA2OworCQll bHNlIGlmIChzaXplID09IEJYVF9EUkFNX1NJWkVfOEdCKQorCQkJc2l6ZSA9IDg7CisJCWVsc2Ug aWYgKHNpemUgPT0gQlhUX0RSQU1fU0laRV8xMkdCKQorCQkJc2l6ZSA9IDEyOworCQllbHNlIGlm IChzaXplID09IEJYVF9EUkFNX1NJWkVfMTZHQikKKwkJCXNpemUgPSAxNjsKKwkJZWxzZQorCQkJ c2l6ZSA9IDA7CisKKwkJd2lkdGggPSAoMSA8PCB3aWR0aCkgKiA4OworCQlEUk1fREVCVUdfS01T KCJkcmFtIHNpemU6JWRHQiB3aWR0aDpYJWQgcmFuazolc1xuIiwgc2l6ZSwKKwkJCSAgICAgIHdp ZHRoLCByYW5rID09IEJYVF9EUkFNX1JBTktfU0lOR0xFID8gInNpbmdsZSIgOgorCQkJICAgICAg cmFuayA9PSBCWFRfRFJBTV9SQU5LX0RVQUwgPyAiZHVhbCIgOiAidW5rbm93biIpOworCisJCS8q CisJCSAqIElmIGFueSBvZiB0aGUgY2hhbm5lbCBpcyBzaW5nbGUgcmFuayBjaGFubmVsLAorCQkg KiB3b3JzdCBjYXNlIG91dHB1dCB3aWxsIGJlIHNhbWUgYXMgaWYgc2luZ2xlIHJhbmsKKwkJICog bWVtb3J5LCBzbyBjb25zaWRlciBzaW5nbGUgcmFuayBtZW1vcnkuCisJCSAqLworCQlpZiAoZHJh bV9pbmZvLT5yYW5rID09IEk5MTVfRFJBTV9SQU5LX0lOVkFMSUQpCisJCQlkcmFtX2luZm8tPnJh bmsgPSBjaF9yYW5rOworCQllbHNlIGlmIChjaF9yYW5rID09IEk5MTVfRFJBTV9SQU5LX1NJTkdM RSkKKwkJCWRyYW1faW5mby0+cmFuayA9IEk5MTVfRFJBTV9SQU5LX1NJTkdMRTsKKwl9CisKKwlp ZiAoZHJhbV9pbmZvLT5yYW5rID09IEk5MTVfRFJBTV9SQU5LX0lOVkFMSUQpIHsKKwkJRFJNX0lO Rk8oImNvdWxkbid0IGdldCBtZW1vcnkgcmFuayBpbmZvcm1hdGlvblxuIik7CisJCXJldHVybiAt RUlOVkFMOworCX0KKworCWRyYW1faW5mby0+dmFsaWQgPSB0cnVlOworCXJldHVybiAwOworfQor CitzdGF0aWMgdm9pZAoraW50ZWxfZ2V0X2RyYW1faW5mbyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCit7CisJc3RydWN0IGRyYW1faW5mbyAqZHJhbV9pbmZvID0gJmRldl9wcml2 LT5kcmFtX2luZm87CisJaW50IHJldDsKKworCWRyYW1faW5mby0+dmFsaWQgPSBmYWxzZTsKKwlk cmFtX2luZm8tPnJhbmsgPSBJOTE1X0RSQU1fUkFOS19JTlZBTElEOworCWRyYW1faW5mby0+YmFu ZHdpZHRoX2ticHMgPSAwOworCWRyYW1faW5mby0+bnVtX2NoYW5uZWxzID0gMDsKKworCWlmICgh SVNfQlJPWFRPTihkZXZfcHJpdikpCisJCXJldHVybjsKKworCXJldCA9IGJ4dF9nZXRfZHJhbV9p bmZvKGRldl9wcml2KTsKKwlpZiAocmV0KQorCQlyZXR1cm47CisKKwlEUk1fREVCVUdfS01TKCJE UkFNIGJhbmR3aWR0aDolZCBLQnBzLCB0b3RhbC1jaGFubmVsczogJXVcbiIsCisJCSAgICAgIGRy YW1faW5mby0+YmFuZHdpZHRoX2ticHMsIGRyYW1faW5mby0+bnVtX2NoYW5uZWxzKTsKKwlEUk1f REVCVUdfS01TKCJEUkFNIHJhbms6ICVzIHJhbmtcbiIsCisJCSAgICAgIChkcmFtX2luZm8tPnJh bmsgPT0gSTkxNV9EUkFNX1JBTktfRFVBTCkgPworCQkgICAgICAiZHVhbCIgOiAic2luZ2xlIik7 Cit9CisKIC8qKgogICogaTkxNV9kcml2ZXJfaW5pdF9odyAtIHNldHVwIHN0YXRlIHJlcXVpcmlu ZyBkZXZpY2UgYWNjZXNzCiAgKiBAZGV2X3ByaXY6IGRldmljZSBwcml2YXRlCkBAIC0xMTg3LDYg KzEyOTcsMTIgQEAgc3RhdGljIGludCBpOTE1X2RyaXZlcl9pbml0X2h3KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKIAkJZ290byBlcnJfbXNpOwogCiAJaW50ZWxfb3ByZWdpb25f c2V0dXAoZGV2X3ByaXYpOworCS8qCisJICogRmlsbCB0aGUgZHJhbSBzdHJ1Y3R1cmUgdG8gZ2V0 IHRoZSBzeXN0ZW0gcmF3IGJhbmR3aWR0aCBhbmQKKwkgKiBkcmFtIGluZm8uIFRoaXMgd2lsbCBi ZSB1c2VkIGZvciBtZW1vcnkgbGF0ZW5jeSBjYWxjdWxhdGlvbi4KKwkgKi8KKwlpbnRlbF9nZXRf ZHJhbV9pbmZvKGRldl9wcml2KTsKKwogCiAJcmV0dXJuIDA7CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCmluZGV4IDBmNDlmOTk4OGRmYS4uNDZmOTQyZmE3ZDYwIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKQEAgLTE5MDQsNiArMTkwNCwxNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7CiAJ CWJvb2wgZGlzdHJ1c3RfYmlvc193bTsKIAl9IHdtOwogCisJc3RydWN0IGRyYW1faW5mbyB7CisJ CWJvb2wgdmFsaWQ7CisJCXU4IG51bV9jaGFubmVsczsKKwkJZW51bSBkcmFtX3JhbmsgeworCQkJ STkxNV9EUkFNX1JBTktfSU5WQUxJRCA9IDAsCisJCQlJOTE1X0RSQU1fUkFOS19TSU5HTEUsCisJ CQlJOTE1X0RSQU1fUkFOS19EVUFMCisJCX0gcmFuazsKKwkJdTMyIGJhbmR3aWR0aF9rYnBzOwor CX0gZHJhbV9pbmZvOworCiAJc3RydWN0IGk5MTVfcnVudGltZV9wbSBydW50aW1lX3BtOwogCiAJ c3RydWN0IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IDU1MzBjNDcwZjMwZC4uNjY5MDBk MDI3NTcwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKQEAgLTk2MzQsNiArOTYzNCwzNiBAQCBl bnVtIHNrbF9wb3dlcl9nYXRlIHsKICNkZWZpbmUgIERDX1NUQVRFX0RFQlVHX01BU0tfQ09SRVMJ KDEgPDwgMCkKICNkZWZpbmUgIERDX1NUQVRFX0RFQlVHX01BU0tfTUVNT1JZX1VQCSgxIDw8IDEp CiAKKyNkZWZpbmUgQlhUX1BfQ1JfTUNfQklPU19SRVFfMF8wXzAJX01NSU8oTUNIQkFSX01JUlJP Ul9CQVNFX1NOQiArIDB4NzExNCkKKyNkZWZpbmUgIEJYVF9SRVFfREFUQV9NQVNLCQkJMHgzRgor I2RlZmluZSAgQlhUX0RSQU1fQ0hBTk5FTF9BQ1RJVkVfU0hJRlQJCTEyCisjZGVmaW5lICBCWFRf RFJBTV9DSEFOTkVMX0FDVElWRV9NQVNLCQkweEYKKyNkZWZpbmUgIEJYVF9NRU1PUllfRlJFUV9N VUxUSVBMSUVSX0haCQkxMzMzMzMzMzMKKworI2RlZmluZSBCWFRfRF9DUl9EUlAwX0RVTklUOAkJ CTB4MTAwMAorI2RlZmluZSBCWFRfRF9DUl9EUlAwX0RVTklUOQkJCTB4MTIwMAorI2RlZmluZSAg QlhUX0RfQ1JfRFJQMF9EVU5JVF9TVEFSVAkJOAorI2RlZmluZSAgQlhUX0RfQ1JfRFJQMF9EVU5J VF9FTkQJCTExCisjZGVmaW5lIEJYVF9EX0NSX0RSUDBfRFVOSVQoeCkJX01NSU8oTUNIQkFSX01J UlJPUl9CQVNFX1NOQiArIFwKKwkJCQkgICAgICBfUElDS19FVkVOKCh4KSAtIDgsIEJYVF9EX0NS X0RSUDBfRFVOSVQ4LFwKKwkJCQkJCSBCWFRfRF9DUl9EUlAwX0RVTklUOSkpCisjZGVmaW5lICBC WFRfRFJBTV9SQU5LX01BU0sJCQkweDMKKyNkZWZpbmUgIEJYVF9EUkFNX1JBTktfU0lOR0xFCQkJ MHgxCisjZGVmaW5lICBCWFRfRFJBTV9SQU5LX0RVQUwJCQkweDMKKyNkZWZpbmUgIEJYVF9EUkFN X1dJRFRIX01BU0sJCQkweDMKKyNkZWZpbmUgIEJYVF9EUkFNX1dJRFRIX1NISUZUCQkJNAorI2Rl ZmluZSAgQlhUX0RSQU1fV0lEVEhfWDgJCQkweDAKKyNkZWZpbmUgIEJYVF9EUkFNX1dJRFRIX1gx NgkJCTB4MQorI2RlZmluZSAgQlhUX0RSQU1fV0lEVEhfWDMyCQkJMHgyCisjZGVmaW5lICBCWFRf RFJBTV9XSURUSF9YNjQJCQkweDMKKyNkZWZpbmUgIEJYVF9EUkFNX1NJWkVfTUFTSwkJCTB4Nwor I2RlZmluZSAgQlhUX0RSQU1fU0laRV9TSElGVAkJCTYKKyNkZWZpbmUgIEJYVF9EUkFNX1NJWkVf NEdCCQkJMHgwCisjZGVmaW5lICBCWFRfRFJBTV9TSVpFXzZHQgkJCTB4MQorI2RlZmluZSAgQlhU X0RSQU1fU0laRV84R0IJCQkweDIKKyNkZWZpbmUgIEJYVF9EUkFNX1NJWkVfMTJHQgkJCTB4Mwor I2RlZmluZSAgQlhUX0RSQU1fU0laRV8xNkdCCQkJMHg0CisKIC8qIFBsZWFzZSBzZWUgaHN3X3Jl YWRfZGNvbXAoKSBhbmQgaHN3X3dyaXRlX2Rjb21wKCkgYmVmb3JlIHVzaW5nIHRoaXMgcmVnaXN0 ZXIsCiAgKiBzaW5jZSBvbiBIU1cgd2UgY2FuJ3Qgd3JpdGUgdG8gaXQgdXNpbmcgSTkxNV9XUklU RS4gKi8KICNkZWZpbmUgRF9DT01QX0hTVwkJCV9NTUlPKE1DSEJBUl9NSVJST1JfQkFTRV9TTkIg KyAweDVGMEMpCi0tIAoyLjE2LjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=