From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 2/5] drm/i915: Expose list of clients in sysfs Date: Wed, 14 Feb 2018 18:50:32 +0000 Message-ID: <20180214185035.8010-3-tvrtko.ursulin@linux.intel.com> References: <20180214185035.8010-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1016A6E206 for ; Wed, 14 Feb 2018 18:50:49 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id k87so6829612wmi.0 for ; Wed, 14 Feb 2018 10:50:48 -0800 (PST) In-Reply-To: <20180214185035.8010-1-tvrtko.ursulin@linux.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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkV4cG9zZSBh IGxpc3Qgb2YgY2xpZW50cyB3aXRoIG9wZW4gZmlsZSBoYW5kbGVzIGluIHN5c2ZzLgoKVGhpcyB3 aWxsIGJlIGEgYmFzaXMgZm9yIGEgdG9wLWxpa2UgdXRpbGl0eSBzaG93aW5nIHBlci1jbGllbnQg YW5kIHBlci0KZW5naW5lIEdQVSBsb2FkLgoKQ3VycmVudGx5IHdlIG9ubHkgZXhwb3NlIGVhY2gg Y2xpZW50J3MgcGlkIGFuZCBuYW1lIHVuZGVyIG9wYXF1ZSBudW1iZXJlZApkaXJlY3RvcmllcyBp biAvc3lzL2NsYXNzL2RybS9jYXJkMC9jbGllbnRzLy4KCkZvciBpbnN0YW5jZToKCi9zeXMvY2xh c3MvZHJtL2NhcmQwL2NsaWVudHMvMy9uYW1lOiBYb3JnCi9zeXMvY2xhc3MvZHJtL2NhcmQwL2Ns aWVudHMvMy9waWQ6IDU2NjQKClNpZ25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28u dXJzdWxpbkBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAg IHwgIDEzICsrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgfCAxMTIgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfc3lzZnMuYyB8ICAgOCArKysKIDMgZmlsZXMgY2hhbmdlZCwgMTI2IGluc2VydGlvbnMo KyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggNzBjZjI4OTg1 NWFmLi4yMTMzZTY3ZjVmYmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMzQ1LDYgKzM0 NSwxNiBAQCBzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlIHsKICAqLwogI2RlZmluZSBJOTE1 X01BWF9DTElFTlRfQ09OVEVYVF9CQU5TIDMKIAlhdG9taWNfdCBjb250ZXh0X2JhbnM7CisKKwl1 bnNpZ25lZCBpbnQgY2xpZW50X3N5c2ZzX2lkOworCXVuc2lnbmVkIGludCBjbGllbnRfcGlkOwor CWNoYXIgKmNsaWVudF9uYW1lOworCXN0cnVjdCBrb2JqZWN0ICpjbGllbnRfcm9vdDsKKworCXN0 cnVjdCB7CisJCXN0cnVjdCBkZXZpY2VfYXR0cmlidXRlIHBpZDsKKwkJc3RydWN0IGRldmljZV9h dHRyaWJ1dGUgbmFtZTsKKwl9IGF0dHI7CiB9OwogCiAvKiBJbnRlcmZhY2UgaGlzdG9yeToKQEAg LTIzNjUsNiArMjM3NSw5IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAogCXN0cnVjdCBp OTE1X3BtdSBwbXU7CiAKKwlzdHJ1Y3Qga29iamVjdCAqY2xpZW50c19yb290OworCWF0b21pY190 IGNsaWVudF9zZXJpYWw7CisKIAkvKgogCSAqIE5PVEU6IFRoaXMgaXMgdGhlIGRyaTEvdW1zIGR1 bmdlb24sIGRvbid0IGFkZCBzdHVmZiBoZXJlLiBZb3VyIHBhdGNoCiAJICogd2lsbCBiZSByZWpl Y3RlZC4gSW5zdGVhZCBsb29rIGZvciBhIGJldHRlciBwbGFjZS4KZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bS5jCmluZGV4IGZjNjhiMzU4NTRkZi4uMjQ2MDdiY2UyZWZlIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtLmMKQEAgLTU2MTMsNiArNTYxMyw4OSBAQCBpbnQgaTkxNV9nZW1fZnJlZXplX2xhdGUoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCXJldHVybiAwOwogfQogCitzdGF0aWMg c3NpemVfdAorc2hvd19jbGllbnRfbmFtZShzdHJ1Y3QgZGV2aWNlICprZGV2LCBzdHJ1Y3QgZGV2 aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQoreworCXN0cnVjdCBkcm1faTkxNV9maWxl X3ByaXZhdGUgKmZpbGVfcHJpdiA9CisJCWNvbnRhaW5lcl9vZihhdHRyLCBzdHJ1Y3QgZHJtX2k5 MTVfZmlsZV9wcml2YXRlLCBhdHRyLm5hbWUpOworCisJcmV0dXJuIHNucHJpbnRmKGJ1ZiwgUEFH RV9TSVpFLCAiJXMiLCBmaWxlX3ByaXYtPmNsaWVudF9uYW1lKTsKK30KKworc3RhdGljIHNzaXpl X3QKK3Nob3dfY2xpZW50X3BpZChzdHJ1Y3QgZGV2aWNlICprZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0 dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQoreworCXN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZh dGUgKmZpbGVfcHJpdiA9CisJCWNvbnRhaW5lcl9vZihhdHRyLCBzdHJ1Y3QgZHJtX2k5MTVfZmls ZV9wcml2YXRlLCBhdHRyLnBpZCk7CisKKwlyZXR1cm4gc25wcmludGYoYnVmLCBQQUdFX1NJWkUs ICIldSIsIGZpbGVfcHJpdi0+Y2xpZW50X3BpZCk7Cit9CisKK3N0YXRpYyBpbnQKK2k5MTVfZ2Vt X2FkZF9jbGllbnQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCisJCXN0cnVjdCBkcm1f aTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdiwKKwkJc3RydWN0IHRhc2tfc3RydWN0ICp0YXNr LAorCQl1bnNpZ25lZCBpbnQgc2VyaWFsKQoreworCWludCByZXQgPSAtRU5PTUVNOworCXN0cnVj dCBkZXZpY2VfYXR0cmlidXRlICphdHRyOworCWNoYXIgaWRbMzJdOworCisJZmlsZV9wcml2LT5j bGllbnRfbmFtZSA9IGtzdHJkdXAodGFzay0+Y29tbSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFmaWxl X3ByaXYtPmNsaWVudF9uYW1lKQorCQlnb3RvIGVycl9uYW1lOworCisJc25wcmludGYoaWQsIHNp emVvZihpZCksICIldSIsIHNlcmlhbCk7CisJZmlsZV9wcml2LT5jbGllbnRfcm9vdCA9IGtvYmpl Y3RfY3JlYXRlX2FuZF9hZGQoaWQsCisJCQkJCQkJaTkxNS0+Y2xpZW50c19yb290KTsKKwlpZiAo IWZpbGVfcHJpdi0+Y2xpZW50X3Jvb3QpCisJCWdvdG8gZXJyX2NsaWVudDsKKworCWF0dHIgPSAm ZmlsZV9wcml2LT5hdHRyLm5hbWU7CisJYXR0ci0+YXR0ci5uYW1lID0gIm5hbWUiOworCWF0dHIt PmF0dHIubW9kZSA9IDA0NDQ7CisJYXR0ci0+c2hvdyA9IHNob3dfY2xpZW50X25hbWU7CisKKwly ZXQgPSBzeXNmc19jcmVhdGVfZmlsZShmaWxlX3ByaXYtPmNsaWVudF9yb290LAorCQkJCShzdHJ1 Y3QgYXR0cmlidXRlICopYXR0cik7CisJaWYgKHJldCkKKwkJZ290byBlcnJfYXR0cl9uYW1lOwor CisJYXR0ciA9ICZmaWxlX3ByaXYtPmF0dHIucGlkOworCWF0dHItPmF0dHIubmFtZSA9ICJwaWQi OworCWF0dHItPmF0dHIubW9kZSA9IDA0NDQ7CisJYXR0ci0+c2hvdyA9IHNob3dfY2xpZW50X3Bp ZDsKKworCXJldCA9IHN5c2ZzX2NyZWF0ZV9maWxlKGZpbGVfcHJpdi0+Y2xpZW50X3Jvb3QsCisJ CQkJKHN0cnVjdCBhdHRyaWJ1dGUgKilhdHRyKTsKKwlpZiAocmV0KQorCQlnb3RvIGVycl9hdHRy X3BpZDsKKworCWZpbGVfcHJpdi0+Y2xpZW50X3BpZCA9IHBpZF9ucihnZXRfdGFza19waWQodGFz aywgUElEVFlQRV9QSUQpKTsKKworCXJldHVybiAwOworCitlcnJfYXR0cl9waWQ6CisJc3lzZnNf cmVtb3ZlX2ZpbGUoZmlsZV9wcml2LT5jbGllbnRfcm9vdCwKKwkJCSAgKHN0cnVjdCBhdHRyaWJ1 dGUgKikmZmlsZV9wcml2LT5hdHRyLm5hbWUpOworZXJyX2F0dHJfbmFtZToKKwlrb2JqZWN0X3B1 dChmaWxlX3ByaXYtPmNsaWVudF9yb290KTsKK2Vycl9jbGllbnQ6CisJa2ZyZWUoZmlsZV9wcml2 LT5jbGllbnRfbmFtZSk7CitlcnJfbmFtZToKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9p ZCBpOTE1X2dlbV9yZW1vdmVfY2xpZW50KHN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZp bGVfcHJpdikKK3sKKwlzeXNmc19yZW1vdmVfZmlsZShmaWxlX3ByaXYtPmNsaWVudF9yb290LAor CQkJICAoc3RydWN0IGF0dHJpYnV0ZSAqKSZmaWxlX3ByaXYtPmF0dHIucGlkKTsKKwlzeXNmc19y ZW1vdmVfZmlsZShmaWxlX3ByaXYtPmNsaWVudF9yb290LAorCQkJICAoc3RydWN0IGF0dHJpYnV0 ZSAqKSZmaWxlX3ByaXYtPmF0dHIubmFtZSk7CisJa29iamVjdF9wdXQoZmlsZV9wcml2LT5jbGll bnRfcm9vdCk7CisJa2ZyZWUoZmlsZV9wcml2LT5jbGllbnRfbmFtZSk7Cit9CisKIHZvaWQgaTkx NV9nZW1fcmVsZWFzZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZp bGUpCiB7CiAJc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2ID0gZmlsZS0+ ZHJpdmVyX3ByaXY7CkBAIC01NjI2LDMyICs1NzA5LDQ3IEBAIHZvaWQgaTkxNV9nZW1fcmVsZWFz ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCiAJbGlzdF9m b3JfZWFjaF9lbnRyeShyZXF1ZXN0LCAmZmlsZV9wcml2LT5tbS5yZXF1ZXN0X2xpc3QsIGNsaWVu dF9saW5rKQogCQlyZXF1ZXN0LT5maWxlX3ByaXYgPSBOVUxMOwogCXNwaW5fdW5sb2NrKCZmaWxl X3ByaXYtPm1tLmxvY2spOworCisJaTkxNV9nZW1fcmVtb3ZlX2NsaWVudChmaWxlX3ByaXYpOwog fQogCiBpbnQgaTkxNV9nZW1fb3BlbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgc3Ry dWN0IGRybV9maWxlICpmaWxlKQogeworCWludCByZXQgPSAtRU5PTUVNOwogCXN0cnVjdCBkcm1f aTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdjsKLQlpbnQgcmV0OwogCiAJRFJNX0RFQlVHKCJc biIpOwogCiAJZmlsZV9wcml2ID0ga3phbGxvYyhzaXplb2YoKmZpbGVfcHJpdiksIEdGUF9LRVJO RUwpOwogCWlmICghZmlsZV9wcml2KQotCQlyZXR1cm4gLUVOT01FTTsKKwkJZ290byBlcnJfYWxs b2M7CisKKwlmaWxlX3ByaXYtPmNsaWVudF9zeXNmc19pZCA9IGF0b21pY19pbmNfcmV0dXJuKCZp OTE1LT5jbGllbnRfc2VyaWFsKTsKKwlyZXQgPSBpOTE1X2dlbV9hZGRfY2xpZW50KGk5MTUsIGZp bGVfcHJpdiwgY3VycmVudCwKKwkJCQkgIGZpbGVfcHJpdi0+Y2xpZW50X3N5c2ZzX2lkKTsKKwlp ZiAocmV0KQorCQlnb3RvIGVycl9jbGllbnQ7CiAKIAlmaWxlLT5kcml2ZXJfcHJpdiA9IGZpbGVf cHJpdjsKKwlyZXQgPSBpOTE1X2dlbV9jb250ZXh0X29wZW4oaTkxNSwgZmlsZSk7CisJaWYgKHJl dCkKKwkJZ290byBlcnJfY29udGV4dDsKKwogCWZpbGVfcHJpdi0+ZGV2X3ByaXYgPSBpOTE1Owog CWZpbGVfcHJpdi0+ZmlsZSA9IGZpbGU7CisJZmlsZV9wcml2LT5ic2RfZW5naW5lID0gLTE7CiAK IAlzcGluX2xvY2tfaW5pdCgmZmlsZV9wcml2LT5tbS5sb2NrKTsKIAlJTklUX0xJU1RfSEVBRCgm ZmlsZV9wcml2LT5tbS5yZXF1ZXN0X2xpc3QpOwogCi0JZmlsZV9wcml2LT5ic2RfZW5naW5lID0g LTE7Ci0KLQlyZXQgPSBpOTE1X2dlbV9jb250ZXh0X29wZW4oaTkxNSwgZmlsZSk7Ci0JaWYgKHJl dCkKLQkJa2ZyZWUoZmlsZV9wcml2KTsKKwlyZXR1cm4gMDsKIAorZXJyX2NvbnRleHQ6CisJaTkx NV9nZW1fcmVtb3ZlX2NsaWVudChmaWxlX3ByaXYpOworZXJyX2NsaWVudDoKKwlhdG9taWNfZGVj KCZpOTE1LT5jbGllbnRfc2VyaWFsKTsKKwlrZnJlZShmaWxlX3ByaXYpOworZXJyX2FsbG9jOgog CXJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf c3lzZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3lzZnMuYwppbmRleCBiMzNkMjE1 OGMyMzQuLjZjZjAzMmJjMTU3MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9zeXNmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3lzZnMuYwpAQCAtNTc1 LDYgKzU3NSwxMSBAQCB2b2lkIGk5MTVfc2V0dXBfc3lzZnMoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQogCXN0cnVjdCBkZXZpY2UgKmtkZXYgPSBkZXZfcHJpdi0+ZHJtLnByaW1h cnktPmtkZXY7CiAJaW50IHJldDsKIAorCWRldl9wcml2LT5jbGllbnRzX3Jvb3QgPQorCQlrb2Jq ZWN0X2NyZWF0ZV9hbmRfYWRkKCJjbGllbnRzIiwgJmtkZXYtPmtvYmopOworCWlmICghZGV2X3By aXYtPmNsaWVudHNfcm9vdCkKKwkJRFJNX0VSUk9SKCJQZXItY2xpZW50IHN5c2ZzIHNldHVwIGZh aWxlZFxuIik7CisKICNpZmRlZiBDT05GSUdfUE0KIAlpZiAoSEFTX1JDNihkZXZfcHJpdikpIHsK IAkJcmV0ID0gc3lzZnNfbWVyZ2VfZ3JvdXAoJmtkZXYtPmtvYmosCkBAIC02MzUsNCArNjQwLDcg QEAgdm9pZCBpOTE1X3RlYXJkb3duX3N5c2ZzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKIAlzeXNmc191bm1lcmdlX2dyb3VwKCZrZGV2LT5rb2JqLCAmcmM2X2F0dHJfZ3JvdXAp OwogCXN5c2ZzX3VubWVyZ2VfZ3JvdXAoJmtkZXYtPmtvYmosICZyYzZwX2F0dHJfZ3JvdXApOwog I2VuZGlmCisKKwlpZiAoZGV2X3ByaXYtPmNsaWVudHNfcm9vdCkKKwkJa29iamVjdF9wdXQoZGV2 X3ByaXYtPmNsaWVudHNfcm9vdCk7CiB9Ci0tIAoyLjE0LjEKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=