From mboxrd@z Thu Jan 1 00:00:00 1970 From: akash.goel@intel.com Subject: [PATCH 06/11] drm/i915: Add a relay backed debugfs interface for capturing GuC logs Date: Mon, 27 Jun 2016 17:46:53 +0530 Message-ID: <1467029818-3417-7-git-send-email-akash.goel@intel.com> References: <1467029818-3417-1-git-send-email-akash.goel@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 ESMTP id 0860B6E210 for ; Mon, 27 Jun 2016 12:04:12 +0000 (UTC) In-Reply-To: <1467029818-3417-1-git-send-email-akash.goel@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: Akash Goel , Sourab Gupta List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQWthc2ggR29lbCA8YWthc2guZ29lbEBpbnRlbC5jb20+CgpBZGRlZCBhIG5ldyBkZWJ1 Z2ZzIGludGVyZmFjZSAnL3N5cy9rZXJuZWwvZGVidWcvZHJpL2d1Y19sb2cnIGZvciB0aGUKVXNl ciB0byBjYXB0dXJlIEd1QyBmaXJtd2FyZSBsb2dzLiBBdmFpbGVkIHJlbGF5IGZyYW1ld29yayB0 byBpbXBsZW1lbnQKdGhlIGludGVyZmFjZSwgd2hlcmUgRHJpdmVyIHdpbGwgaGF2ZSB0byBqdXN0 IHVzZSBhIHJlbGF5IEFQSSB0byBzdG9yZQpzbmFwc2hvdHMgb2YgdGhlIEd1QyBsb2cgYnVmZmVy IGluIHRoZSBidWZmZXIgbWFuYWdlZCBieSByZWxheS4KVGhlIHNuYXBzaG90IHdpbGwgYmUgdGFr ZW4gd2hlbiBHdUMgZmlybXdhcmUgc2VuZHMgYSBsb2cgYnVmZmVyIGZsdXNoCmludGVycnVwdCBh bmQgdXAgdG8gZm91ciBzbmFwaG90cyBjb3VsZCBiZSBzdG9yZWQgaW4gdGhlIHJlbGF5IGJ1ZmZl ci4KVGhlIHJlbGF5IGJ1ZmZlciB3aWxsIGJlIG9wZXJhdGVkIGluIGEgbW9kZSB3aGVyZSBpdCB3 aWxsIG92ZXJ3cml0ZSB0aGUKZGF0YSBub3QgeWV0IGNvbGxlY3RlZCBieSBVc2VyLgpCZXNpZGVz IG1tYXAgbWV0aG9kLCB0aHJvdWdoIHdoaWNoIFVzZXIgY2FuIGRpcmVjdGx5IGFjY2VzcyB0aGUg cmVsYXkKYnVmZmVyIGNvbnRlbnRzLCByZWxheSBhbHNvIHN1cHBvcnRzIHRoZSAncG9sbCcgbWV0 aG9kLiBUaHJvdWdoIHRoZSAncG9sbCcKY2FsbCBvbiBsb2cgZmlsZSwgVXNlciBjYW4gY29tZSB0 byBrbm93IHdoZW5ldmVyIGEgbmV3IHNuYXBzaG90IG9mIHRoZQpsb2cgYnVmZmVyIGlzIHRha2Vu IGJ5IERyaXZlciwgc28gY2FuIHJ1biBpbiB0YW5kZW0gd2l0aCB0aGUgRHJpdmVyIGFuZApjYXB0 dXJlIHRoZSBsb2dzIGluIGEgc3VzdGFpbmVkL3N0cmVhbWluZyBtYW5uZXIsIHdpdGhvdXQgYW55 IGxvc3Mgb2YgZGF0YS4KClN1Z2dlc3RlZC1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13 aWxzb24uY28udWs+ClNpZ25lZC1vZmYtYnk6IFNvdXJhYiBHdXB0YSA8c291cmFiLmd1cHRhQGlu dGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogQWthc2ggR29lbCA8YWthc2guZ29lbEBpbnRlbC5jb20+ Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jIHwgMTMzICsr KysrKysrKysrKysrKysrKysrKysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9n dWMuaCAgICAgICAgICAgfCAgIDEgKwogMiBmaWxlcyBjaGFuZ2VkLCAxMzMgaW5zZXJ0aW9ucygr KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z3VjX3N1Ym1pc3Npb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Np b24uYwppbmRleCBiOTVhNTEwLi40NWYzMzk2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9ndWNfc3VibWlzc2lvbi5jCkBAIC0yMyw2ICsyMyw4IEBACiAgKi8KICNpbmNsdWRlIDxsaW51 eC9maXJtd2FyZS5oPgogI2luY2x1ZGUgPGxpbnV4L2NpcmNfYnVmLmg+CisjaW5jbHVkZSA8bGlu dXgvZGVidWdmcy5oPgorI2luY2x1ZGUgPGxpbnV4L3JlbGF5Lmg+CiAjaW5jbHVkZSAiaTkxNV9k cnYuaCIKICNpbmNsdWRlICJpbnRlbF9ndWMuaCIKIApAQCAtODIxLDcgKzgyMywxNSBAQCBlcnI6 CiAKIHN0YXRpYyB2b2lkKiBndWNfZ2V0X3dyaXRlX2J1ZmZlcihzdHJ1Y3QgaW50ZWxfZ3VjICpn dWMpCiB7Ci0JcmV0dXJuIE5VTEw7CisJaWYgKCFndWMtPmxvZ19yZWxheV9jaGFuKQorCQlyZXR1 cm4gTlVMTDsKKworCS8qIEdldCB0aGUgcG9pbnRlciB0byByZWxheSBzdWIgYnVmZmVyIGFuZCBj b3B5IGRhdGEgaW50byBpdCBvdXJzZWx2ZXMuCisJICogQ291bGQgaGF2ZSB1c2VkIHRoZSByZWxh eV93cml0ZSgpIHRvIGluZGlyZWN0bHkgY29weSB0aGUgZGF0YSwgYnV0CisJICogdGhhdCB3b3Vs ZCBoYXZlIGJlZW4gYml0IGNvbnZvbHV0ZWQsIGFzIHdlIGFsc28gbmVlZCB0byB1cGRhdGUgdGhl CisJICogZmlyc3QgcGFnZSBjb250YWluaW5nIHN0YXRlIGRhdGEuCisJICovCisJcmV0dXJuIHJl bGF5X3Jlc2VydmUoZ3VjLT5sb2dfcmVsYXlfY2hhbiwgZ3VjLT5sb2dfb2JqLT5iYXNlLnNpemUp OwogfQogCiBzdGF0aWMgdm9pZCBndWNfcmVhZF91cGRhdGVfbG9nX2J1ZmZlcihzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KQpAQCAtODc4LDYgKzg4OCwxMjUgQEAgc3RhdGljIHZvaWQgZ3VjX3JlYWRf dXBkYXRlX2xvZ19idWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAl9CiB9CiAKKy8qCisg KiBTdWIgYnVmZmVyIHN3aXRjaCBjYWxsYmFjay4gSWYgdGhpcyBjYWxsYmFjayBpcyBub3QgaW1w bGVtZW50ZWQKKyAqIHJlbGF5IHdpbGwgb3BlcmF0ZSBpbiBub24tb3ZlcndyaXRlIG1vZGUgc28g d2lsbCBzdG9wIGFjY2VwdGluZworICogbmV3IGRhdGEgaWYgdGhlcmUgYXJlIG5vIGVtcHR5IHN1 YiBidWZmZXJzIGxlZnQuCisgKi8KK3N0YXRpYyBpbnQgc3ViYnVmX3N0YXJ0X2NhbGxiYWNrKHN0 cnVjdCByY2hhbl9idWYgKmJ1ZiwKKwkJCQkgdm9pZCAqc3ViYnVmLAorCQkJCSB2b2lkICpwcmV2 X3N1YmJ1ZiwKKwkJCQkgc2l6ZV90IHByZXZfcGFkZGluZykKK3sKKwkvKiBBbHdheXMgc3dpdGNo IHRvIG5leHQgc3ViIGJ1ZmZlciBhcyB3ZSBkb24ndCBtaW5kIG92ZXJ3cml0aW5nIG9mCisJICog b2xkIGRhdGEvbG9ncy4KKwkgKi8KKwlyZXR1cm4gMTsKK30KKworLyoKKyAqIGZpbGVfY3JlYXRl KCkgY2FsbGJhY2suIENyZWF0ZXMgcmVsYXkgZmlsZSBpbiBkZWJ1Z2ZzLgorICovCitzdGF0aWMg c3RydWN0IGRlbnRyeSAqY3JlYXRlX2J1Zl9maWxlX2NhbGxiYWNrKGNvbnN0IGNoYXIgKmZpbGVu YW1lLAorCQkJCQkgICAgICAgc3RydWN0IGRlbnRyeSAqcGFyZW50LAorCQkJCQkgICAgICAgdW1v ZGVfdCBtb2RlLAorCQkJCQkgICAgICAgc3RydWN0IHJjaGFuX2J1ZiAqYnVmLAorCQkJCQkgICAg ICAgaW50ICppc19nbG9iYWwpCit7CisJLyoKKwkgKiBOb3QgdXNpbmcgdGhlIGNoYW5uZWwgZmls ZW5hbWUgcGFzc2VkIGFzIGFuIGFyZ3VtZW50LCBzaW5jZSBmb3IgZWFjaAorCSAqIGNoYW5uZWwg cmVsYXkgYXBwZW5kcyB0aGUgY29ycmVzcG9uZGluZyBDUFUgbnVtYmVyIHRvIHRoZSBmaWxlbmFt ZQorCSAqIHBhc3NlZCBpbiByZWxheV9vcGVuKCkuIFRoaXMgc2hvdWxkIGJlIGZpbmUgYXMgcmVs YXkganVzdCBuZWVkcyBhCisJICogZGVudHJ5IG9mIHRoZSBmaWxlIGFzc29jaWF0ZWQgd2l0aCB0 aGUgY2hhbm5lbCBidWZmZXIgYW5kIHRoYXQgZmlsZSdzCisJICogbmFtZSBuZWVkIG5vdCBiZSBz YW1lIGFzIHRoZSBmaWxlbmFtZSBwYXNzZWQgYXMgYW4gYXJndW1lbnQuCisJICovCisJc3RydWN0 IGRlbnRyeSAqYnVmX2ZpbGUgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJndWNfbG9nIiwgbW9kZSwK KwkJCXBhcmVudCwgYnVmLCAmcmVsYXlfZmlsZV9vcGVyYXRpb25zKTsKKworCS8qIFRoaXMgdG8g ZW5hYmxlIHRoZSB1c2Ugb2YgYSBzaW5nbGUgYnVmZmVyIGZvciB0aGUgcmVsYXkgY2hhbm5lbCBh bmQKKwkgKiBjb3JyZXNwb25kaW5nbHkgaGF2ZSBhIHNpbmdsZSBmaWxlIGV4cG9zZWQgdG8gVXNl ciwgdGhyb3VnaCB3aGljaAorCSAqIGl0IGNhbiBwdWxsIHRoZSBsb2dzIGluIG9yZGVyIHdpdGhv dXQgYW55IHBvc3QtcHJvY2Vzc2luZy4KKwkgKi8KKwkqaXNfZ2xvYmFsID0gMTsKKworCXJldHVy biBidWZfZmlsZTsKK30KKworLyoKKyAqIGZpbGVfcmVtb3ZlKCkgZGVmYXVsdCBjYWxsYmFjay4g UmVtb3ZlcyByZWxheSBmaWxlIGluIGRlYnVnZnMuCisgKi8KK3N0YXRpYyBpbnQgcmVtb3ZlX2J1 Zl9maWxlX2NhbGxiYWNrKHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKK3sKKwlkZWJ1Z2ZzX3JlbW92 ZShkZW50cnkpOworCXJldHVybiAwOworfQorCisvKiByZWxheSBjaGFubmVsIGNhbGxiYWNrcyAq Lworc3RhdGljIHN0cnVjdCByY2hhbl9jYWxsYmFja3MgcmVsYXlfY2FsbGJhY2tzID0geworCS5z dWJidWZfc3RhcnQgPSBzdWJidWZfc3RhcnRfY2FsbGJhY2ssCisJLmNyZWF0ZV9idWZfZmlsZSA9 IGNyZWF0ZV9idWZfZmlsZV9jYWxsYmFjaywKKwkucmVtb3ZlX2J1Zl9maWxlID0gcmVtb3ZlX2J1 Zl9maWxlX2NhbGxiYWNrLAorfTsKKworc3RhdGljIHZvaWQgZ3VjX3JlbW92ZV9sb2dfcmVsYXlf ZmlsZShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCit7CisJcmVsYXlfY2xvc2UoZ3VjLT5sb2dfcmVs YXlfY2hhbik7Cit9CisKK3N0YXRpYyB2b2lkIGd1Y19jcmVhdGVfbG9nX3JlbGF5X2ZpbGUoc3Ry dWN0IGludGVsX2d1YyAqZ3VjKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IGd1Y190b19pOTE1KGd1Yyk7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGRldl9wcml2 LT5kZXY7CisJc3RydWN0IGRlbnRyeSAqbG9nX2RpcjsKKwlzdHJ1Y3QgcmNoYW4gKmd1Y19sb2df cmVsYXlfY2hhbjsKKwlzaXplX3Qgbl9zdWJidWZzLCBzdWJidWZfc2l6ZTsKKworCWlmIChndWMt PmxvZ19yZWxheV9jaGFuKQorCQlyZXR1cm47CisKKwkvKiBJZiAvc3lzL2tlcm5lbC9kZWJ1Zy9k cmkvMCBsb2NhdGlvbiBkbyBub3QgZXhpc3QsIHRoZW4gZGVidWdmcyBpcworCSAqIG5vdCBtb3Vu dGVkIGFuZCBzbyBjYW4ndCBjcmVhdGUgdGhlIHJlbGF5IGZpbGUuCisJICogVGhlIHJlbGF5IEFQ SSBzZWVtcyB0byBmaXQgd2VsbCB3aXRoIGRlYnVnZnMgb25seS4KKwkgKi8KKwlpZiAoIWRldi0+ cHJpbWFyeS0+ZGVidWdmc19yb290KSB7CisJCS8qIGxvZ2dpbmcgd2lsbCByZW1haW4gb2ZmICov CisJCWk5MTUuZ3VjX2xvZ19sZXZlbCA9IC0xOworCQlyZXR1cm47CisJfQorCisJLyogRm9yIG5v dyBjcmVhdGUgdGhlIGxvZyBmaWxlIGluIC9zeXMva2VybmVsL2RlYnVnL2RyaSBkaXIuICovCisJ bG9nX2RpciA9IGRldi0+cHJpbWFyeS0+ZGVidWdmc19yb290LT5kX3BhcmVudDsKKworCS8qIEtl ZXAgdGhlIHNpemUgb2Ygc3ViIGJ1ZmZlcnMgc2FtZSBhcyBzaGFyZWQgbG9nIGJ1ZmZlciAqLwor CXN1YmJ1Zl9zaXplID0gZ3VjLT5sb2dfb2JqLT5iYXNlLnNpemU7CisJLyogVE9ETzogRGVjaWRl IGJhc2VkIG9uIHRoZSBVc2VyJ3MgaW5wdXQgKi8KKwluX3N1YmJ1ZnMgPSA0OworCisJZ3VjX2xv Z19yZWxheV9jaGFuID0gcmVsYXlfb3BlbigiZ3VjX2xvZyIsIGxvZ19kaXIsCisJCQlzdWJidWZf c2l6ZSwgbl9zdWJidWZzLCAmcmVsYXlfY2FsbGJhY2tzLCBkZXYpOworCisJaWYgKCFndWNfbG9n X3JlbGF5X2NoYW4pIHsKKwkJRFJNX0VSUk9SKCJDb3VsZG4ndCBjcmVhdGUgcmVsYXkgY2hhbiBm b3IgZ3VjIGxvZ3NcbiIpOworCQkvKiBrZWVwIGxvZ2dpbmcgb2ZmIGFzIGNvdWxkbid0IGNyZWF0 ZSB0aGUgcmVsYXkgY2hhbm5lbCBpbgorCQkgKiBpbiB3aGljaCB0aGUgbG9ncyBjYW4gYmUgc3Rv cmVkLgorCQkgKi8KKwkJaTkxNS5ndWNfbG9nX2xldmVsID0gLTE7CisJCXJldHVybjsKKwl9CisK KwlndWMtPmxvZ19yZWxheV9jaGFuID0gZ3VjX2xvZ19yZWxheV9jaGFuOworfQorCitzdGF0aWMg dm9pZCBndWNfbG9nZ2luZ19maW5pKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKK3sKKyAgICAgICAg Z3VjX3JlbW92ZV9sb2dfcmVsYXlfZmlsZShndWMpOworfQorCitzdGF0aWMgdm9pZCBndWNfbG9n Z2luZ19pbml0KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKK3sKKwlndWNfY3JlYXRlX2xvZ19yZWxh eV9maWxlKGd1Yyk7Cit9CisKIHN0YXRpYyB2b2lkIGd1Y19jcmVhdGVfbG9nKHN0cnVjdCBpbnRl bF9ndWMgKmd1YykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBndWNf dG9faTkxNShndWMpOwpAQCAtOTE0LDYgKzEwNDMsNyBAQCBzdGF0aWMgdm9pZCBndWNfY3JlYXRl X2xvZyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCiAKIAlvZmZzZXQgPSBpOTE1X2dlbV9vYmpfZ2d0 dF9vZmZzZXQob2JqKSA+PiBQQUdFX1NISUZUOyAvKiBpbiBwYWdlcyAqLwogCWd1Yy0+bG9nX2Zs YWdzID0gKG9mZnNldCA8PCBHVUNfTE9HX0JVRl9BRERSX1NISUZUKSB8IGZsYWdzOworCWd1Y19s b2dnaW5nX2luaXQoZ3VjKTsKIH0KIAogc3RhdGljIHZvaWQgaW5pdF9ndWNfcG9saWNpZXMoc3Ry dWN0IGd1Y19wb2xpY2llcyAqcG9saWNpZXMpCkBAIC0xMDc0LDYgKzEyMDQsNyBAQCB2b2lkIGk5 MTVfZ3VjX3N1Ym1pc3Npb25fZmluaShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp CiAJZ2VtX3JlbGVhc2VfZ3VjX29iaihkZXZfcHJpdi0+Z3VjLmFkc19vYmopOwogCWd1Yy0+YWRz X29iaiA9IE5VTEw7CiAKKwlndWNfbG9nZ2luZ19maW5pKGd1Yyk7CiAJZ2VtX3JlbGVhc2VfZ3Vj X29iaihkZXZfcHJpdi0+Z3VjLmxvZ19vYmopOwogCWd1Yy0+bG9nX29iaiA9IE5VTEw7CiAKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZ3VjLmgKaW5kZXggYjIwZTE2Ny4uYzY3NTg1NiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZ3VjLmgKQEAgLTEyNiw2ICsxMjYsNyBAQCBzdHJ1Y3QgaW50ZWxfZ3VjIHsKIAlz dHJ1Y3QgaW50ZWxfZ3VjX2Z3IGd1Y19mdzsKIAl1aW50MzJfdCBsb2dfZmxhZ3M7CiAJc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKmxvZ19vYmo7CisJc3RydWN0IHJjaGFuICpsb2dfcmVsYXlf Y2hhbjsKIAkvKgogCSAqIHdvcmssIGludGVycnVwdHNfZW5hYmxlZCBhcmUgcHJvdGVjdGVkIGJ5 IGRldl9wcml2LT5pcnFfbG9jawogCSAqLwotLSAKMS45LjIKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=