From mboxrd@z Thu Jan 1 00:00:00 1970 From: akash.goel@intel.com Subject: [RFC 05/12] drm/i915: Add a relay backed debugfs interface for capturing GuC logs Date: Sat, 28 May 2016 01:12:56 +0530 Message-ID: <1464378183-9433-6-git-send-email-akash.goel@intel.com> References: <1464378183-9433-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 mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id D29CB6E0DF for ; Fri, 27 May 2016 19:30:04 +0000 (UTC) In-Reply-To: <1464378183-9433-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: sourab.gupta@intel.com, Akash Goel List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQWthc2ggR29lbCA8YWthc2guZ29lbEBpbnRlbC5jb20+CgpBZGRlZCBhIG5ldyBkZWJ1 Z2ZzIGludGVyZmFjZSAnL3N5cy9rZXJuZWwvZGVidWcvZHJpL2d1Y19sb2cnIGZvciB0aGUKVXNl ciB0byBjYXB0dXJlIEd1QyB1a2VybmVsIGxvZ3MuIEF2YWlsZWQgcmVsYXkgZnJhbWV3b3JrIHRv IGltcGxlbWVudAp0aGUgaW50ZXJmYWNlLCBzbyBEcml2ZXIgd2lsbCBqdXN0IHVzZSBhIHJlbGF5 IEFQSSB0byBjb3B5IHRoZSBjb250ZW50cwpvZiBHdUMgbG9nIGJ1ZmZlciBpbnRvIHJlbGF5J3Mg YnVmZmVyLgoKU3VnZ2VzdGVkLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5j by51az4KU2lnbmVkLW9mZi1ieTogU291cmFiIEd1cHRhIDxzb3VyYWIuZ3VwdGFAaW50ZWwuY29t PgpTaWduZWQtb2ZmLWJ5OiBBa2FzaCBHb2VsIDxha2FzaC5nb2VsQGludGVsLmNvbT4KLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgfCAxMjUgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oICAg ICAgICAgICB8ICAgMSArCiAyIGZpbGVzIGNoYW5nZWQsIDEyNiBpbnNlcnRpb25zKCspCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCmluZGV4IGY3ZjI5ZjYuLjM3 OWUyODQzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNz aW9uLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCkBA IC0yMyw2ICsyMyw4IEBACiAgKi8KICNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgogI2luY2x1 ZGUgPGxpbnV4L2NpcmNfYnVmLmg+CisjaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgorI2luY2x1 ZGUgPGxpbnV4L3JlbGF5Lmg+CiAjaW5jbHVkZSAiaTkxNV9kcnYuaCIKICNpbmNsdWRlICJpbnRl bF9ndWMuaCIKIApAQCAtODM3LDYgKzgzOSwxMjQgQEAgc3RhdGljIHZvaWQgZ3VjX3JlYWRfdXBk YXRlX2xvZ19idWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlndWNfbW92ZV90b19uZXh0 X2J1ZihndWMpOwogfQogCisjaWZkZWYgQ09ORklHX0RFQlVHX0ZTCisvKgorICogU3ViIGJ1ZmZl ciBzd2l0Y2ggY2FsbGJhY2suIElmIHRoaXMgY2FsbGJhY2sgaXMgbm90IGltcGxlbWVudGVkCisg KiByZWxheSB3aWxsIG9wZXJhdGUgaW4gbm9uLW92ZXJ3cml0ZSBtb2RlIHNvIHdpbGwgc3RvcCBh Y2NlcHRpbmcKKyAqIG5ldyBkYXRhIGlmIHRoZXJlIGFyZSBubyBlbXB0eSBzdWIgYnVmZmVycyBs ZWZ0LgorICovCitzdGF0aWMgaW50IHN1YmJ1Zl9zdGFydF9jYWxsYmFjayhzdHJ1Y3QgcmNoYW5f YnVmICpidWYsCisJCQkJIHZvaWQgKnN1YmJ1ZiwKKwkJCQkgdm9pZCAqcHJldl9zdWJidWYsCisJ CQkJIHNpemVfdCBwcmV2X3BhZGRpbmcpCit7CisJLyogQWx3YXlzIHN3aXRjaCB0byBuZXh0IHN1 YiBidWZmZXIgYXMgd2UgZG9uJ3QgbWluZCBvdmVyd3JpdGluZyBvZgorCSAqIG9sZCBkYXRhL2xv Z3MuCisJICovCisJcmV0dXJuIDE7Cit9CisKKy8qCisgKiBmaWxlX2NyZWF0ZSgpIGNhbGxiYWNr LiBDcmVhdGVzIHJlbGF5IGZpbGUgaW4gZGVidWdmcy4KKyAqLworc3RhdGljIHN0cnVjdCBkZW50 cnkgKmNyZWF0ZV9idWZfZmlsZV9jYWxsYmFjayhjb25zdCBjaGFyICpmaWxlbmFtZSwKKwkJCQkJ ICAgICAgIHN0cnVjdCBkZW50cnkgKnBhcmVudCwKKwkJCQkJICAgICAgIHVtb2RlX3QgbW9kZSwK KwkJCQkJICAgICAgIHN0cnVjdCByY2hhbl9idWYgKmJ1ZiwKKwkJCQkJICAgICAgIGludCAqaXNf Z2xvYmFsKQoreworCS8qIFRoZSByZWxheSBBUEkgc2VlbXMgdG8gZml0IHdlbGwgd2l0aCBkZWJ1 Z2ZzIG9ubHkuCisJICogVGhlcmUgYXJlIDMgcmVxdWlyZW1lbnRzIHRvIGFzc29jaWF0ZSBhIGZp bGUgd2l0aCByZWxheSBjaGFubmVsLAorCSAqIGEpIE5lZWQgdGhlIGFzc29jaWF0ZWQgZGVudHJ5 IHBvaW50ZXIgb2YgdGhlIGZpbGUgd2hpbGUgb3BlbmluZworCSAqICAgIHRoZSByZWxheSBjaGFu bmVsLgorCSAqIGIpIFNob3VsZCB1c2UgJ3JlbGF5X2ZpbGVfb3BlcmF0aW9ucycgZm9wcyBmb3Ig dGhlIGZpbGUuCisJICogYykgVGhlIHByaXZhdGUgZmllbGQgb2YgZmlsZSdzIGlub2RlIHNob3Vs ZCBiZSBzZXQgdG8gdGhlIHBvaW50ZXIKKwkgKiAgICBvZiByZWxheSBjaGFubmVsIGJ1ZmZlci4K KwkgKiBBbGwgdGhlIGFib3ZlIDMgcmVxdWlyZW1lbnRzIGNhbiBiZSBtZXQgZm9yIGEgZGVidWdm cyBmaWxlIGluIGEKKwkgKiBzdHJhaWdodGZvcndhcmQgbWFubmVyLCBidXQgbm90IGZvciBhIGZp bGUgY3JlYXRlZCBpbnNpZGUgdGhlCisJICogc3lzZnMgb3IgZm9yIGEgZmlsZSBjcmVhdGVkIGFz IGEgY2hhcmFjdGVyIGRldmljZSBmaWxlLgorCSAqLworCXN0cnVjdCBkZW50cnkgKmJ1Zl9maWxl ID0gZGVidWdmc19jcmVhdGVfZmlsZShmaWxlbmFtZSwgbW9kZSwKKwkJCXBhcmVudCwgYnVmLCAm cmVsYXlfZmlsZV9vcGVyYXRpb25zKTsKKworCS8qIFRoaXMgdG8gZW5hYmxlIHRoZSB1c2Ugb2Yg YSBzaW5nbGUgYnVmZmVyIGZvciB0aGUgcmVsYXkgY2hhbm5lbCBhbmQKKwkgKiBjb3JyZXNwb25k aW5nbHkgaGF2ZSBhIHNpbmdsZSBmaWxlIGV4cG9zZWQgdG8gVXNlciwgdGhyb3VnaCB3aGljaAor CSAqIGl0IGNhbiBwdWxsIHRoZSBsb2dzIGluIG9yZGVyIHdpdGhvdXQgYW55IHBvc3QtcHJvY2Vz c2luZy4KKwkgKi8KKwkqaXNfZ2xvYmFsID0gMTsKKworCXJldHVybiBidWZfZmlsZTsKK30KKwor LyoKKyAqIGZpbGVfcmVtb3ZlKCkgZGVmYXVsdCBjYWxsYmFjay4gUmVtb3ZlcyByZWxheSBmaWxl IGluIGRlYnVnZnMuCisgKi8KK3N0YXRpYyBpbnQgcmVtb3ZlX2J1Zl9maWxlX2NhbGxiYWNrKHN0 cnVjdCBkZW50cnkgKmRlbnRyeSkKK3sKKwlkZWJ1Z2ZzX3JlbW92ZShkZW50cnkpOworCXJldHVy biAwOworfQorCisvKiByZWxheSBjaGFubmVsIGNhbGxiYWNrcyAqLworc3RhdGljIHN0cnVjdCBy Y2hhbl9jYWxsYmFja3MgcmVsYXlfY2FsbGJhY2tzID0geworCS5zdWJidWZfc3RhcnQgPSBzdWJi dWZfc3RhcnRfY2FsbGJhY2ssCisJLmNyZWF0ZV9idWZfZmlsZSA9IGNyZWF0ZV9idWZfZmlsZV9j YWxsYmFjaywKKwkucmVtb3ZlX2J1Zl9maWxlID0gcmVtb3ZlX2J1Zl9maWxlX2NhbGxiYWNrLAor fTsKKworc3RhdGljIHZvaWQgZ3VjX3JlbW92ZV9sb2dfcmVsYXlfZmlsZShzdHJ1Y3QgaW50ZWxf Z3VjICpndWMpCit7CisJcmVsYXlfY2xvc2UoZ3VjLT5sb2dfcmVsYXlfY2hhbik7Cit9CisKK3N0 YXRpYyB2b2lkIGd1Y19jcmVhdGVfbG9nX3JlbGF5X2ZpbGUoc3RydWN0IGludGVsX2d1YyAqZ3Vj KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGd1Y190b19pOTE1KGd1 Yyk7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGRldl9wcml2LT5kZXY7CisJc3RydWN0IGRl bnRyeSAqbG9nX2RpcjsKKwlzdHJ1Y3QgcmNoYW4gKmd1Y19sb2dfcmVsYXlfY2hhbjsKKwlzaXpl X3Qgbl9zdWJidWZzLCBzdWJidWZfc2l6ZTsKKworCS8qIEZvciBub3cgY3JlYXRlIHRoZSBsb2cg ZmlsZSBpbiAvc3lzL2tlcm5lbC9kZWJ1Zy9kcmkgZGlyLiAqLworCWxvZ19kaXIgPSBkZXYtPnBy aW1hcnktPmRlYnVnZnNfcm9vdC0+ZF9wYXJlbnQ7CisKKwkvKiBLZWVwIHRoZSBzaXplIG9mIHN1 YiBidWZmZXJzIHNhbWUgYXMgc2hhcmVkIGxvZyBidWZmZXIgKi8KKwlzdWJidWZfc2l6ZSA9IGd1 Yy0+bG9nX29iai0+YmFzZS5zaXplOworCS8qIFRPRE86IERlY2lkZSBiYXNlZCBvbiB0aGUgVXNl cidzIGlucHV0ICovCisJbl9zdWJidWZzID0gNDsKKworCWd1Y19sb2dfcmVsYXlfY2hhbiA9IHJl bGF5X29wZW4oImd1Y19sb2ciLCBsb2dfZGlyLAorCQkJc3ViYnVmX3NpemUsIG5fc3ViYnVmcywg JnJlbGF5X2NhbGxiYWNrcywgZGV2KTsKKworCWlmICghZ3VjX2xvZ19yZWxheV9jaGFuKSB7CisJ CURSTV9FUlJPUigiQ291bGRuJ3QgY3JlYXRlIHJlbGF5IGNoYW4gZm9yIGd1YyBsb2dzXG4iKTsK KwkJcmV0dXJuOworCX0KKworCWd1Yy0+bG9nX3JlbGF5X2NoYW4gPSBndWNfbG9nX3JlbGF5X2No YW47CisKKwkvKiBFbmFibGUgaW50ZXJydXB0IHRvIHN0YXJ0IGNhcHR1cmluZyBvZiB0aGUgbG9n cyBpbnNpZGUgdGhlCisJICogcmVsYXkgY2hhbm5lbCdzIGJ1ZmZlci4KKwkgKi8KKwlpZiAoaTkx NS5ndWNfbG9nX2xldmVsID49IDApCisJCWdlbjhfZW5hYmxlX2d1Y19pbnRlcnJ1cHRzKGRldik7 Cit9CisjZW5kaWYKKworc3RhdGljIHZvaWQgZ3VjX2xvZ2dpbmdfZmluaShzdHJ1Y3QgaW50ZWxf Z3VjICpndWMpCit7CisjaWZkZWYgQ09ORklHX0RFQlVHX0ZTCisgICAgICAgIGd1Y19yZW1vdmVf bG9nX3JlbGF5X2ZpbGUoZ3VjKTsKKyNlbmRpZgorfQorCitzdGF0aWMgdm9pZCBndWNfbG9nZ2lu Z19pbml0KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKK3sKKyNpZmRlZiBDT05GSUdfREVCVUdfRlMK KwlndWNfY3JlYXRlX2xvZ19yZWxheV9maWxlKGd1Yyk7CisjZW5kaWYKK30KKwogc3RhdGljIHZv aWQgZ3VjX2NyZWF0ZV9sb2coc3RydWN0IGludGVsX2d1YyAqZ3VjKQogewogCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGd1Y190b19pOTE1KGd1Yyk7CkBAIC04NzMsNiArOTkz LDcgQEAgc3RhdGljIHZvaWQgZ3VjX2NyZWF0ZV9sb2coc3RydWN0IGludGVsX2d1YyAqZ3VjKQog CiAJb2Zmc2V0ID0gaTkxNV9nZW1fb2JqX2dndHRfb2Zmc2V0KG9iaikgPj4gUEFHRV9TSElGVDsg LyogaW4gcGFnZXMgKi8KIAlndWMtPmxvZ19mbGFncyA9IChvZmZzZXQgPDwgR1VDX0xPR19CVUZf QUREUl9TSElGVCkgfCBmbGFnczsKKwlndWNfbG9nZ2luZ19pbml0KGd1Yyk7CiB9CiAKIHN0YXRp YyB2b2lkIGluaXRfZ3VjX3BvbGljaWVzKHN0cnVjdCBndWNfcG9saWNpZXMgKnBvbGljaWVzKQpA QCAtMTAzNyw2ICsxMTU4LDcgQEAgdm9pZCBpOTE1X2d1Y19zdWJtaXNzaW9uX2Zpbmkoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKIAogCWdlbV9yZWxlYXNlX2d1Y19vYmooZGV2X3ByaXYtPmd1Yy5s b2dfb2JqKTsKIAlndWMtPmxvZ19vYmogPSBOVUxMOworCWd1Y19sb2dnaW5nX2ZpbmkoZ3VjKTsK IAogCWlmIChndWMtPmN0eF9wb29sX29iaikKIAkJaWRhX2Rlc3Ryb3koJmd1Yy0+Y3R4X2lkcyk7 CkBAIC0xMDg2LDYgKzEyMDgsOSBAQCBpbnQgaW50ZWxfZ3VjX3Jlc3VtZShzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQogCWlmIChndWMtPmd1Y19mdy5ndWNfZndfbG9hZF9zdGF0dXMgIT0gR1VDX0ZJ Uk1XQVJFX1NVQ0NFU1MpCiAJCXJldHVybiAwOwogCisJaWYgKGk5MTUuZ3VjX2xvZ19sZXZlbCA+ PSAwICYmIGd1Yy0+bG9nX3JlbGF5X2NoYW4pCisJCWdlbjhfZW5hYmxlX2d1Y19pbnRlcnJ1cHRz KGRldik7CisKIAljdHggPSBkZXZfcHJpdi0+a2VybmVsX2NvbnRleHQ7CiAKIAlkYXRhWzBdID0g SE9TVDJHVUNfQUNUSU9OX0VYSVRfU19TVEFURTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2d1Yy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKaW5k ZXggOTJkNzBkOC4uYmY2MTkyNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZ3VjLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKQEAgLTEyNSw2 ICsxMjUsNyBAQCBzdHJ1Y3QgaW50ZWxfZ3VjIHsKIAlzdHJ1Y3QgaW50ZWxfZ3VjX2Z3IGd1Y19m dzsKIAl1aW50MzJfdCBsb2dfZmxhZ3M7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmxv Z19vYmo7CisJc3RydWN0IHJjaGFuICpsb2dfcmVsYXlfY2hhbjsKIAkvKgogCSAqIHdvcmssIGlu dGVycnVwdHNfZW5hYmxlZCBhcmUgcHJvdGVjdGVkIGJ5IGRldl9wcml2LT5pcnFfbG9jawogCSAq LwotLSAKMS45LjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=