From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-x242.google.com (mail-wr0-x242.google.com [IPv6:2a00:1450:400c:c0c::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 732276E172 for ; Tue, 17 Apr 2018 12:28:12 +0000 (UTC) Received: by mail-wr0-x242.google.com with SMTP id d1so34986293wrj.13 for ; Tue, 17 Apr 2018 05:28:12 -0700 (PDT) From: Tvrtko Ursulin Date: Tue, 17 Apr 2018 13:27:32 +0100 Message-Id: <20180417122736.11603-4-tvrtko.ursulin@linux.intel.com> In-Reply-To: <20180417122736.11603-1-tvrtko.ursulin@linux.intel.com> References: <20180417122736.11603-1-tvrtko.ursulin@linux.intel.com> Subject: [igt-dev] [RFC 3/7] drm/i915: Expose list of clients in sysfs List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 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: Intel-gfx@lists.freedesktop.org, Tvrtko Ursulin List-ID: RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkV4cG9zZSBh IGxpc3Qgb2YgY2xpZW50cyB3aXRoIG9wZW4gZmlsZSBoYW5kbGVzIGluIHN5c2ZzLgoKVGhpcyB3 aWxsIGJlIGEgYmFzaXMgZm9yIGEgdG9wLWxpa2UgdXRpbGl0eSBzaG93aW5nIHBlci1jbGllbnQg YW5kIHBlci0KZW5naW5lIEdQVSBsb2FkLgoKQ3VycmVudGx5IHdlIG9ubHkgZXhwb3NlIGVhY2gg Y2xpZW50J3MgcGlkIGFuZCBuYW1lIHVuZGVyIG9wYXF1ZSBudW1iZXJlZApkaXJlY3RvcmllcyBp biAvc3lzL2NsYXNzL2RybS9jYXJkMC9jbGllbnRzLy4KCkZvciBpbnN0YW5jZToKCi9zeXMvY2xh c3MvZHJtL2NhcmQwL2NsaWVudHMvMy9uYW1lOiBYb3JnCi9zeXMvY2xhc3MvZHJtL2NhcmQwL2Ns aWVudHMvMy9waWQ6IDU2NjQKCnYyOgogQ2hyaXMgV2lsc29uOgogKiBFbmNsb3NlIG5ldyBtZW1i ZXJzIGludG8gZGVkaWNhdGVkIHN0cnVjdHMuCiAqIFByb3RlY3QgYWdhaW5zdCBmYWlsZWQgc3lz ZnMgcmVnaXN0cmF0aW9uLgoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51 cnN1bGluQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAg fCAgMTkgKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgIHwgMTE3ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3N5c2ZzLmMgfCAgIDggKysrCiAzIGZpbGVzIGNoYW5nZWQsIDEzNyBpbnNlcnRpb25z KCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDY0OWMwZjJm M2JhZS4uZmYyYWQ5NzE5YjFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTM0Nyw2ICsz NDcsMjAgQEAgc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSB7CiAgKi8KICNkZWZpbmUgSTkx NV9NQVhfQ0xJRU5UX0NPTlRFWFRfQkFOUyAzCiAJYXRvbWljX3QgY29udGV4dF9iYW5zOworCisJ c3RydWN0IGk5MTVfZHJtX2NsaWVudCB7CisJCXVuc2lnbmVkIGludCBpZDsKKworCQlwaWRfdCBw aWQ7CisJCWNoYXIgKm5hbWU7CisKKwkJc3RydWN0IGtvYmplY3QgKnJvb3Q7CisKKwkJc3RydWN0 IHsKKwkJCXN0cnVjdCBkZXZpY2VfYXR0cmlidXRlIHBpZDsKKwkJCXN0cnVjdCBkZXZpY2VfYXR0 cmlidXRlIG5hbWU7CisJCX0gYXR0cjsKKwl9IGNsaWVudDsKIH07CiAKIC8qIEludGVyZmFjZSBo aXN0b3J5OgpAQCAtMjExMSw2ICsyMTI1LDExIEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsK IAogCXN0cnVjdCBpOTE1X3BtdSBwbXU7CiAKKwlzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50cyB7CisJ CXN0cnVjdCBrb2JqZWN0ICpyb290OworCQlhdG9taWNfdCBzZXJpYWw7CisJfSBjbGllbnRzOwor CiAJLyoKIAkgKiBOT1RFOiBUaGlzIGlzIHRoZSBkcmkxL3VtcyBkdW5nZW9uLCBkb24ndCBhZGQg c3R1ZmYgaGVyZS4gWW91ciBwYXRjaAogCSAqIHdpbGwgYmUgcmVqZWN0ZWQuIEluc3RlYWQgbG9v ayBmb3IgYSBiZXR0ZXIgcGxhY2UuCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRleCAwNjJhOWM3 NDM2MDcuLjQyMWU2YzllOTVmNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC01NzA4LDYg KzU3MDgsOTQgQEAgaW50IGk5MTVfZ2VtX2ZyZWV6ZV9sYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHNzaXplX3QKK3Nob3dfY2xp ZW50X25hbWUoc3RydWN0IGRldmljZSAqa2Rldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0 dHIsIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlICpmaWxlX3By aXYgPQorCQljb250YWluZXJfb2YoYXR0ciwgc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSwK KwkJCSAgICAgY2xpZW50LmF0dHIubmFtZSk7CisKKwlyZXR1cm4gc25wcmludGYoYnVmLCBQQUdF X1NJWkUsICIlcyIsIGZpbGVfcHJpdi0+Y2xpZW50Lm5hbWUpOworfQorCitzdGF0aWMgc3NpemVf dAorc2hvd19jbGllbnRfcGlkKHN0cnVjdCBkZXZpY2UgKmtkZXYsIHN0cnVjdCBkZXZpY2VfYXR0 cmlidXRlICphdHRyLCBjaGFyICpidWYpCit7CisJc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0 ZSAqZmlsZV9wcml2ID0KKwkJY29udGFpbmVyX29mKGF0dHIsIHN0cnVjdCBkcm1faTkxNV9maWxl X3ByaXZhdGUsCisJCQkgICAgIGNsaWVudC5hdHRyLnBpZCk7CisKKwlyZXR1cm4gc25wcmludGYo YnVmLCBQQUdFX1NJWkUsICIldSIsIGZpbGVfcHJpdi0+Y2xpZW50LnBpZCk7Cit9CisKK3N0YXRp YyBpbnQKK2k5MTVfZ2VtX2FkZF9jbGllbnQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUs CisJCXN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdiwKKwkJc3RydWN0IHRh c2tfc3RydWN0ICp0YXNrLAorCQl1bnNpZ25lZCBpbnQgc2VyaWFsKQoreworCWludCByZXQgPSAt RU5PTUVNOworCXN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyOworCWNoYXIgaWRbMzJdOwor CisJaWYgKCFpOTE1LT5jbGllbnRzLnJvb3QpCisJCWdvdG8gZXJyX25hbWU7CisKKwlmaWxlX3By aXYtPmNsaWVudC5uYW1lID0ga3N0cmR1cCh0YXNrLT5jb21tLCBHRlBfS0VSTkVMKTsKKwlpZiAo IWZpbGVfcHJpdi0+Y2xpZW50Lm5hbWUpCisJCWdvdG8gZXJyX25hbWU7CisKKwlzbnByaW50Zihp ZCwgc2l6ZW9mKGlkKSwgIiV1Iiwgc2VyaWFsKTsKKwlmaWxlX3ByaXYtPmNsaWVudC5yb290ID0g a29iamVjdF9jcmVhdGVfYW5kX2FkZChpZCwKKwkJCQkJCQlpOTE1LT5jbGllbnRzLnJvb3QpOwor CWlmICghZmlsZV9wcml2LT5jbGllbnQucm9vdCkKKwkJZ290byBlcnJfY2xpZW50OworCisJYXR0 ciA9ICZmaWxlX3ByaXYtPmNsaWVudC5hdHRyLm5hbWU7CisJYXR0ci0+YXR0ci5uYW1lID0gIm5h bWUiOworCWF0dHItPmF0dHIubW9kZSA9IDA0NDQ7CisJYXR0ci0+c2hvdyA9IHNob3dfY2xpZW50 X25hbWU7CisKKwlyZXQgPSBzeXNmc19jcmVhdGVfZmlsZShmaWxlX3ByaXYtPmNsaWVudC5yb290 LAorCQkJCShzdHJ1Y3QgYXR0cmlidXRlICopYXR0cik7CisJaWYgKHJldCkKKwkJZ290byBlcnJf YXR0cl9uYW1lOworCisJYXR0ciA9ICZmaWxlX3ByaXYtPmNsaWVudC5hdHRyLnBpZDsKKwlhdHRy LT5hdHRyLm5hbWUgPSAicGlkIjsKKwlhdHRyLT5hdHRyLm1vZGUgPSAwNDQ0OworCWF0dHItPnNo b3cgPSBzaG93X2NsaWVudF9waWQ7CisKKwlyZXQgPSBzeXNmc19jcmVhdGVfZmlsZShmaWxlX3By aXYtPmNsaWVudC5yb290LAorCQkJCShzdHJ1Y3QgYXR0cmlidXRlICopYXR0cik7CisJaWYgKHJl dCkKKwkJZ290byBlcnJfYXR0cl9waWQ7CisKKwlmaWxlX3ByaXYtPmNsaWVudC5waWQgPSBwaWRf bnIoZ2V0X3Rhc2tfcGlkKHRhc2ssIFBJRFRZUEVfUElEKSk7CisKKwlyZXR1cm4gMDsKKworZXJy X2F0dHJfcGlkOgorCXN5c2ZzX3JlbW92ZV9maWxlKGZpbGVfcHJpdi0+Y2xpZW50LnJvb3QsCisJ CQkgIChzdHJ1Y3QgYXR0cmlidXRlICopJmZpbGVfcHJpdi0+Y2xpZW50LmF0dHIubmFtZSk7Citl cnJfYXR0cl9uYW1lOgorCWtvYmplY3RfcHV0KGZpbGVfcHJpdi0+Y2xpZW50LnJvb3QpOworZXJy X2NsaWVudDoKKwlrZnJlZShmaWxlX3ByaXYtPmNsaWVudC5uYW1lKTsKK2Vycl9uYW1lOgorCXJl dHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIGk5MTVfZ2VtX3JlbW92ZV9jbGllbnQoc3RydWN0 IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2KQoreworCXN5c2ZzX3JlbW92ZV9maWxl KGZpbGVfcHJpdi0+Y2xpZW50LnJvb3QsCisJCQkgIChzdHJ1Y3QgYXR0cmlidXRlICopJmZpbGVf cHJpdi0+Y2xpZW50LmF0dHIucGlkKTsKKwlzeXNmc19yZW1vdmVfZmlsZShmaWxlX3ByaXYtPmNs aWVudC5yb290LAorCQkJICAoc3RydWN0IGF0dHJpYnV0ZSAqKSZmaWxlX3ByaXYtPmNsaWVudC5h dHRyLm5hbWUpOworCWtvYmplY3RfcHV0KGZpbGVfcHJpdi0+Y2xpZW50LnJvb3QpOworCWtmcmVl KGZpbGVfcHJpdi0+Y2xpZW50Lm5hbWUpOworfQorCiB2b2lkIGk5MTVfZ2VtX3JlbGVhc2Uoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlKQogewogCXN0cnVjdCBk cm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdiA9IGZpbGUtPmRyaXZlcl9wcml2OwpAQCAt NTcyMSwzMiArNTgwOSw0NyBAQCB2b2lkIGk5MTVfZ2VtX3JlbGVhc2Uoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlKQogCWxpc3RfZm9yX2VhY2hfZW50cnkocmVx dWVzdCwgJmZpbGVfcHJpdi0+bW0ucmVxdWVzdF9saXN0LCBjbGllbnRfbGluaykKIAkJcmVxdWVz dC0+ZmlsZV9wcml2ID0gTlVMTDsKIAlzcGluX3VubG9jaygmZmlsZV9wcml2LT5tbS5sb2NrKTsK KworCWk5MTVfZ2VtX3JlbW92ZV9jbGllbnQoZmlsZV9wcml2KTsKIH0KIAogaW50IGk5MTVfZ2Vt X29wZW4oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIHN0cnVjdCBkcm1fZmlsZSAqZmls ZSkKIHsKKwlpbnQgcmV0ID0gLUVOT01FTTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRl ICpmaWxlX3ByaXY7Ci0JaW50IHJldDsKIAogCURSTV9ERUJVRygiXG4iKTsKIAogCWZpbGVfcHJp diA9IGt6YWxsb2Moc2l6ZW9mKCpmaWxlX3ByaXYpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWZpbGVf cHJpdikKLQkJcmV0dXJuIC1FTk9NRU07CisJCWdvdG8gZXJyX2FsbG9jOworCisJZmlsZV9wcml2 LT5jbGllbnQuaWQgPSBhdG9taWNfaW5jX3JldHVybigmaTkxNS0+Y2xpZW50cy5zZXJpYWwpOwor CXJldCA9IGk5MTVfZ2VtX2FkZF9jbGllbnQoaTkxNSwgZmlsZV9wcml2LCBjdXJyZW50LAorCQkJ CSAgZmlsZV9wcml2LT5jbGllbnQuaWQpOworCWlmIChyZXQpCisJCWdvdG8gZXJyX2NsaWVudDsK IAogCWZpbGUtPmRyaXZlcl9wcml2ID0gZmlsZV9wcml2OworCXJldCA9IGk5MTVfZ2VtX2NvbnRl eHRfb3BlbihpOTE1LCBmaWxlKTsKKwlpZiAocmV0KQorCQlnb3RvIGVycl9jb250ZXh0OworCiAJ ZmlsZV9wcml2LT5kZXZfcHJpdiA9IGk5MTU7CiAJZmlsZV9wcml2LT5maWxlID0gZmlsZTsKKwlm aWxlX3ByaXYtPmJzZF9lbmdpbmUgPSAtMTsKIAogCXNwaW5fbG9ja19pbml0KCZmaWxlX3ByaXYt Pm1tLmxvY2spOwogCUlOSVRfTElTVF9IRUFEKCZmaWxlX3ByaXYtPm1tLnJlcXVlc3RfbGlzdCk7 CiAKLQlmaWxlX3ByaXYtPmJzZF9lbmdpbmUgPSAtMTsKLQotCXJldCA9IGk5MTVfZ2VtX2NvbnRl eHRfb3BlbihpOTE1LCBmaWxlKTsKLQlpZiAocmV0KQotCQlrZnJlZShmaWxlX3ByaXYpOworCXJl dHVybiAwOwogCitlcnJfY29udGV4dDoKKwlpOTE1X2dlbV9yZW1vdmVfY2xpZW50KGZpbGVfcHJp dik7CitlcnJfY2xpZW50OgorCWF0b21pY19kZWMoJmk5MTUtPmNsaWVudHMuc2VyaWFsKTsKKwlr ZnJlZShmaWxlX3ByaXYpOworZXJyX2FsbG9jOgogCXJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3lzZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfc3lzZnMuYwppbmRleCBlNWU2ZjZiYjJiMDUuLmQ4MDkyNTk0NTZlZiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zeXNmcy5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfc3lzZnMuYwpAQCAtNTgxLDYgKzU4MSwxMSBAQCB2b2lkIGk5MTVfc2V0 dXBfc3lzZnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCXN0cnVjdCBkZXZp Y2UgKmtkZXYgPSBkZXZfcHJpdi0+ZHJtLnByaW1hcnktPmtkZXY7CiAJaW50IHJldDsKIAorCWRl dl9wcml2LT5jbGllbnRzLnJvb3QgPQorCQlrb2JqZWN0X2NyZWF0ZV9hbmRfYWRkKCJjbGllbnRz IiwgJmtkZXYtPmtvYmopOworCWlmICghZGV2X3ByaXYtPmNsaWVudHMucm9vdCkKKwkJRFJNX0VS Uk9SKCJQZXItY2xpZW50IHN5c2ZzIHNldHVwIGZhaWxlZFxuIik7CisKICNpZmRlZiBDT05GSUdf UE0KIAlpZiAoSEFTX1JDNihkZXZfcHJpdikpIHsKIAkJcmV0ID0gc3lzZnNfbWVyZ2VfZ3JvdXAo JmtkZXYtPmtvYmosCkBAIC02NDEsNCArNjQ2LDcgQEAgdm9pZCBpOTE1X3RlYXJkb3duX3N5c2Zz KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlzeXNmc191bm1lcmdlX2dyb3Vw KCZrZGV2LT5rb2JqLCAmcmM2X2F0dHJfZ3JvdXApOwogCXN5c2ZzX3VubWVyZ2VfZ3JvdXAoJmtk ZXYtPmtvYmosICZyYzZwX2F0dHJfZ3JvdXApOwogI2VuZGlmCisKKwlpZiAoZGV2X3ByaXYtPmNs aWVudHMucm9vdCkKKwkJa29iamVjdF9wdXQoZGV2X3ByaXYtPmNsaWVudHMucm9vdCk7CiB9Ci0t IAoyLjE0LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=