From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 977D16E085 for ; Tue, 21 Aug 2018 00:12:10 +0000 (UTC) From: Rodrigo Vivi Date: Mon, 20 Aug 2018 17:12:04 -0700 Message-Id: <20180821001204.3385-1-rodrigo.vivi@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [RFC] tools/dpcd_dump: Introduce DPCD dump on IGT. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: Rafael Antognolli , Jani Nikula , Dhinakaran Pandiyan , Rodrigo Vivi List-ID: VGhlIGlkZWEgaXMgdG8gcmVtb3ZlIHRoZSBkdW1wIGZyb20gaTkxNSdzIGRlYnVnZnMsIGJ1dApi ZWZvcmUgd2UgbmVlZCB0byBiZSBhYmxlIHRvIGtlZXAgdGhlIGN1cnJlbnQgZGVidWcgZHBjZCBs aXN0CmFuZCBJR1Qgc2VlbXMgYSBnb29kIHBsYWNlIHRvIGhhdmUgc29tZSBmbGV4aWJpbGl0eS4K CkZJWE1FOiBmZmZmZiB0cmFzaC4uLgoKQ3VycmVudCBkZWJ1Z2ZzOgoKJCBzdWRvIGNhdCAvc3lz L2tlcm5lbC9kZWJ1Zy9kcmkvMC9EUC0xL2k5MTVfZHBjZAowMDAwOiAxMiAxNCBjNCAwMSAwMSAw MCAwMSAwMCAwMiAwMiAwNiAwMCAwMCAwMCAwMgowMDcwOiAwMCAwMAowMDgwOiAwMCAwMCAwMCAw MCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAowMTAwOiAxNCA4NCAwMCAwNiAw NiAwNiAwNiAwMCAwMSAwNCAwMAowMjAwOiA0MSAwMCA3NyA3NyAwMSAwMyAyMiAyMgowNjAwOiAw MQowNzAwOiAwMQowNzAxOiAwMCAwMCAwMCAwMAowNzIwOiAwMCAwMSAwMCAwMCAwMCAwMSAwMSAw MCAwMCAwMCAwMCAwMCAwMSAwMCAwMCAwMQowNzMyOiAwMCAwMAoKJCBzdWRvIGNhdCAvc3lzL2tl cm5lbC9kZWJ1Zy9kcmkvMC9lRFAtMS9pOTE1X2RwY2QKMDAwMDogMTIgMTQgODQgNDAgMDAgMDAg MDEgMDEgMDIgMDAgMDAgMDAgMDAgMGIgMDAKMDA3MDogMDEgMDAKMDA4MDogMDAgMDAgMDAgMDAg MDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKMDEwMDogMTQgMDQgMDAgMDAgMDAg MDAgMDAgMDAgMDAgMDAgMDAKMDIwMDogNDEgMDAgMDAgMDAgODAgMDAgNjYgNjYKMDYwMDogMDEK MDcwMDogMDIKMDcwMTogOWYgNDAgMDAgMDAKMDcyMDogMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDEg MDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKMDczMjogMDAgMDAKCi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKQ3VycmVudCBkcGNkX2R1bXAg cHJvcG9zZWQgaGVyZToKJCBzdWRvIC4vYnVpbGQvdG9vbHMvZHBjZF9kdW1wCgpEdW1waW5nIERQ RERDLUIKOgowMDAwOiAgMTIgMTQgZmZmZmZmYzQgMDEgMDEgMDAgMDEgMDAgMDIgMDIgMDYgMDAg MDAgMDAgMDIKMDA3MDogIDAwIDAwCjAwODA6ICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAw MCAwMCAwMCAwMCAwMCAwMCAwMAowMTAwOiAgMTQgZmZmZmZmODQgMDAgMDYgMDYgMDYgMDYgMDAg MDEgMDQgMDAKMDIwMDogIDQxIDAwIDc3IDc3IDAxIDAzIDIyIDIyCjA2MDA6ICAwMQowNzAwOiAg MDEKMDcwMTogIDAwIDAwIDAwIDAwCjA3MjA6ICAwMCAwMSAwMCAwMCAwMCAwMSAwMSAwMCAwMCAw MCAwMCAwMCAwMSAwMCAwMCAwMQowNzMyOiAgMDAgMDAKCkRQQ0QgRFBEREMtQwogc2VlbXMgbm90 IGF2YWlsYWJsZS4gc2tpcHBpbmcuLi4KRHVtcGluZyBEUEREQy1BCjoKMDAwMDogIDEyIDE0IGZm ZmZmZjg0IDQwIDAwIDAwIDAxIDAxIDAyIDAwIDAwIDAwIDAwIDBiIDAwCjAwNzA6ICAwMSAwMAow MDgwOiAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKMDEw MDogIDE0IDA0IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCjAyMDA6ICA0MSAwMCAwMCAwMCBm ZmZmZmY4MCAwMCA2NiA2NgowNjAwOiAgMDEKMDcwMDogIDAyCjA3MDE6ICBmZmZmZmY5ZiA0MCAw MCAwMAowNzIwOiAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDEgMDAgMDAgMDAgMDAgMDAgMDAgMDAg MDAKMDczMjogIDAwIDAwCgpDYzogUmFmYWVsIEFudG9nbm9sbGkgPHJhZmFlbC5hbnRvZ25vbGxp QGludGVsLmNvbT4KQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+CkNjOiBE aGluYWthcmFuIFBhbmRpeWFuIDxkaGluYWthcmFuLnBhbmRpeWFuQGludGVsLmNvbT4KU2lnbmVk LW9mZi1ieTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgotLS0KIHRvb2xz L01ha2VmaWxlLnNvdXJjZXMgfCAgIDEgKwogdG9vbHMvZHBjZF9kdW1wLmMgICAgICB8IDE1MiAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogdG9vbHMvbWVzb24uYnVp bGQgICAgICB8ICAgMSArCiAzIGZpbGVzIGNoYW5nZWQsIDE1NCBpbnNlcnRpb25zKCspCiBjcmVh dGUgbW9kZSAxMDA2NDQgdG9vbHMvZHBjZF9kdW1wLmMKCmRpZmYgLS1naXQgYS90b29scy9NYWtl ZmlsZS5zb3VyY2VzIGIvdG9vbHMvTWFrZWZpbGUuc291cmNlcwppbmRleCBhYmQyM2EwZi4uZjQ5 MjFmODMgMTAwNjQ0Ci0tLSBhL3Rvb2xzL01ha2VmaWxlLnNvdXJjZXMKKysrIGIvdG9vbHMvTWFr ZWZpbGUuc291cmNlcwpAQCAtNiw2ICs2LDcgQEAgbm9pbnN0X1BST0dSQU1TID0JCVwKIAkkKE5V TEwpCiAKIHRvb2xzX3Byb2dfbGlzdHMgPQkJXAorCWRwY2RfZHVtcAkJXAogCWlndF9zdGF0cwkJ XAogCWludGVsX2F1ZGlvX2R1bXAJXAogCWludGVsX3JlZwkJXApkaWZmIC0tZ2l0IGEvdG9vbHMv ZHBjZF9kdW1wLmMgYi90b29scy9kcGNkX2R1bXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMC4uMWI5ODllNTMKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9kcGNkX2R1bXAu YwpAQCAtMCwwICsxLDE1MiBAQAorLyoKKyAqIENvcHlyaWdodCDCqSAyMDE4IEludGVsIENvcnBv cmF0aW9uCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFy Z2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBh bmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0 byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0 aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJn ZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGll cyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICog U29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcg Y29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBw ZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxs IGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhl CisgKiBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwg V0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5D TFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ VFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN RU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xE RVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJ VFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwg QVJJU0lORworICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdB UkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUworICogSU4gVEhFIFNPRlRXQVJFLgorICoK KyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRl IDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5o PgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8ZGlyZW50Lmg+CisjaW5jbHVkZSA8c3Ry aW5nLmg+CisKK3N0cnVjdCBkcGNkX2Jsb2NrIHsKKwkvKiBEUENEIGR1bXAgc3RhcnQgYWRkcmVz cy4gKi8KKwl1bnNpZ25lZCBpbnQgb2Zmc2V0OworCS8qIERQQ0QgZHVtcCBzaXplLiBJZiB1bnNl dCwgZGVmYXVsdHMgdG8gMS4gKi8KKwlzaXplX3Qgc2l6ZTsKK307CisKK3N0YXRpYyBjb25zdCBz dHJ1Y3QgZHBjZF9ibG9jayBkcGNkX2R1bXBbXSA9IHsKKwkvKiBEUF9EUENEX1JFViAqLworCXsg Lm9mZnNldCA9IDAsIC5zaXplID0gMTUgfSwKKwkvKiBEUF9QU1JfU1VQUE9SVCB0byBEUF9QU1Jf Q0FQUyovCisJeyAub2Zmc2V0ID0gIDB4NzAsIC5zaXplID0gMiB9LAorCS8qIERQX0RPV05TVFJF QU1fUE9SVF8wICovCisJeyAub2Zmc2V0ID0gIDB4ODAsIC5zaXplID0gMTYgfSwKKwkvKiBEUF9M SU5LX0JXX1NFVCB0byBEUF9FRFBfQ09ORklHVVJBVElPTl9TRVQgKi8KKwl7IC5vZmZzZXQgPSAw eDEwMCwgLnNpemUgPSAxMSB9LAorCS8qIERQX1NJTktfQ09VTlQgdG8gRFBfQURKVVNUX1JFUVVF U1RfTEFORTJfMyAqLworCXsgLm9mZnNldCA9IDB4MjAwLCAuc2l6ZSA9IDggfSwKKwkvKiBEUF9T RVRfUE9XRVIgKi8KKwl7IC5vZmZzZXQgPSAweDYwMCB9LAorCS8qIERQX0VEUF9EUENEX1JFViAq LworCXsgLm9mZnNldCA9ICAweDcwMCB9LAorCS8qIERQX0VEUF9HRU5FUkFMX0NBUF8xIHRvIERQ X0VEUF9HRU5FUkFMX0NBUF8zICovCisJeyAub2Zmc2V0ID0gMHg3MDEsIC5zaXplID0gNCB9LAor CS8qIERQX0VEUF9ESVNQTEFZX0NPTlRST0xfUkVHSVNURVIgdG8gRFBfRURQX0JBQ0tMSUdIVF9G UkVRX0NBUF9NQVhfTFNCICovCisJeyAub2Zmc2V0ID0gMHg3MjAsIC5zaXplID0gMTZ9LAorCS8q IERQX0VEUF9EQkNfTUlOSU1VTV9CUklHSFRORVNTX1NFVCB0byBEUF9FRFBfREJDX01BWElNVU1f QlJJR0hUTkVTU19TRVQgKi8KKwl7IC5vZmZzZXQgPSAgMHg3MzIsIC5zaXplID0gMiB9LAorfTsK Kwordm9pZCBkdW1wX2FsbChpbnQgZmQpCit7CisJaW50IHJldCwgaSwgaiwgc2l6ZTsKKyAgICAg ICAgY2hhciBidWZbMzJdOworCisJZm9yIChpID0gMDsgaSA8IHNpemVvZihkcGNkX2R1bXApIC8g c2l6ZW9mKGRwY2RfZHVtcFswXSk7IGkrKykgeworCQlyZXQgPSBsc2VlayhmZCwgZHBjZF9kdW1w W2ldLm9mZnNldCwgU0VFS19TRVQpOworCQlpZiAocmV0IDwgMCkgeworCQkJZnByaW50ZihzdGRl cnIsICJsc2VlayB0byAlMDR4IGZhaWxlZCFcbiIsIGRwY2RfZHVtcFtpXS5vZmZzZXQpOworCQkJ cmV0dXJuOworCQl9CisKKwkJc2l6ZSA9IGRwY2RfZHVtcFtpXS5zaXplID8gZHBjZF9kdW1wW2ld LnNpemU6IDE7CisJCXByaW50ZigiJTA0eDogIiwgZHBjZF9kdW1wW2ldLm9mZnNldCk7CisJCXJl dCA9IHJlYWQoZmQsICZidWYsIHNpemUpOworCQlpZiAocmV0IDwgMCkgeworCQkJZnByaW50Zihz dGRlcnIsICJyZWFkIG9mICVkIGJ5dGVzIHRvICUwNHggZmFpbGVkIVxuIiwgc2l6ZSwgZHBjZF9k dW1wW2ldLm9mZnNldCk7CisJCQlyZXR1cm47CisJCX0KKworCQlmb3IgKGogPSAwOyBqIDwgc2l6 ZTsgaisrKQorCQkJcHJpbnRmKCIgJTAyeCIsIGJ1ZltqXSk7CisJCXByaW50ZigiXG4iKTsKKwl9 Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3QgZGlyZW50 ICpkaXJlbnQ7CisJRElSICpkaXI7CisJY2hhciBkZXZfcGF0aFtQQVRIX01BWF07CisJY2hhciBz eXNmc19wYXRoW1BBVEhfTUFYXTsKKwlpbnQgZGV2X2ZkLCBzeXNmc19mZCwgcmV0ID0gMDsKKwlj aGFyIGRwY2RfbmFtZVs4XTsKKwljaGFyIGRpc2NhcmQ7CisKKwlkaXIgPSBvcGVuZGlyKCIvc3lz L2NsYXNzL2RybV9kcF9hdXhfZGV2LyIpOworCWlmICghZGlyKSB7CisJCWZwcmludGYoc3RkZXJy LCAiZmFpbCB0byByZWFkIC9kZXZcbiIpOworCQlyZXR1cm4gLTE7CisJfQorCisJd2hpbGUgKChk aXJlbnQgPSByZWFkZGlyKGRpcikpKSB7CisJCWlmIChzdHJuY21wKGRpcmVudC0+ZF9uYW1lLCAi ZHJtX2RwX2F1eCIsIDEwKSA9PSAwKSB7CisJCQlzcHJpbnRmKGRldl9wYXRoLCAiL2Rldi8lcyIs IGRpcmVudC0+ZF9uYW1lKTsKKwkJCXNwcmludGYoc3lzZnNfcGF0aCwgIi9zeXMvY2xhc3MvZHJt X2RwX2F1eF9kZXYvJXMvbmFtZSIsCisJCQkJZGlyZW50LT5kX25hbWUpOworCisJCQlzeXNmc19m ZCA9IG9wZW4oc3lzZnNfcGF0aCwgT19SRE9OTFkpOworCQkJaWYgKHN5c2ZzX2ZkIDwgMCkgewor CQkJCWZwcmludGYoc3RkZXJyLCJmYWlsIHRvIG9wZW4gJXNcbiIsIHN5c2ZzX3BhdGgpOworCQkJ CWNvbnRpbnVlOworCQkJfQorCisJCQlkZXZfZmQgPSBvcGVuKGRldl9wYXRoLCBPX1JET05MWSk7 CisJCQlpZiAoZGV2X2ZkIDwgMCkgeworCQkJCWZwcmludGYoc3RkZXJyLCJmYWlsIHRvIG9wZW4g JXNcbiIsIGRldl9wYXRoKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKworCQkJcmV0ID0gcmVhZChz eXNmc19mZCwgJmRwY2RfbmFtZSwgc2l6ZW9mKGRwY2RfbmFtZSkpOworCQkJaWYgKHJldCA8IDAp IHsKKwkJCQlmcHJpbnRmKHN0ZGVyciwgImZhaWwgdG8gcmVhZCBkcGNkIG5hbWUgZnJvbSAlc1xu XG4iLCBzeXNmc19wYXRoKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCWRwY2RfbmFtZVtyZXRd ID0gJ1wwJzsKKworCQkJLyogRHVtbXkgcmVhZCB0byBjaGVjayBpZiBkcGNkIGlzIGF2YWlsYWJs ZSAqLworCQkJcmV0ID0gcmVhZChkZXZfZmQsICZkaXNjYXJkLCAxKTsKKwkJCWlmIChyZXQgIT0g MSkgeworCQkJCWZwcmludGYoc3RkZXJyLCAiRFBDRCAlcyBzZWVtcyBub3QgYXZhaWxhYmxlLiBz a2lwcGluZy4uLlxuIiwgZHBjZF9uYW1lKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKworCQkJcHJp bnRmKCJEdW1waW5nICVzOlxuIiwgZHBjZF9uYW1lKTsKKwkJCWR1bXBfYWxsKGRldl9mZCk7CisJ CQlwcmludGYoIlxuIik7CisKKworCisJCQljbG9zZShzeXNmc19mZCk7CisJCQljbG9zZShkZXZf ZmQpOworCQl9CisJfQorCisJY2xvc2VkaXIoZGlyKTsKKworCXJldHVybiAwOworfQpkaWZmIC0t Z2l0IGEvdG9vbHMvbWVzb24uYnVpbGQgYi90b29scy9tZXNvbi5idWlsZAppbmRleCBlNDUxN2Q2 Ni4uMzMyNmE1YTcgMTAwNjQ0Ci0tLSBhL3Rvb2xzL21lc29uLmJ1aWxkCisrKyBiL3Rvb2xzL21l c29uLmJ1aWxkCkBAIC0xNCw2ICsxNCw3IEBAIGVuZGZvcmVhY2gKIHRvb2xzX3Byb2dzID0gWwog CSMgRklYTUUgd2UgYWxyZWFkeSBoYXZlIGEgbGlidGVzdGNhc2Ugd2l0aCB0aGlzIG5hbWUgYXMg dGFyZ2V0CiAJIydpZ3Rfc3RhdHMnLAorCSdkcGNkX2R1bXAnLAogCSdpbnRlbF9hdWRpb19kdW1w JywKIAknaW50ZWxfYmFja2xpZ2h0JywKIAknaW50ZWxfYmlvc19kdW1wZXInLAotLSAKMi4xNy4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2 IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXYK