From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 14/17] drm/i915: Expose list of clients in sysfs Date: Wed, 25 Oct 2017 16:36:29 +0100 Message-ID: <20171025153632.557-15-tvrtko.ursulin@linux.intel.com> References: <20171025153632.557-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 9B2FC6E6F1 for ; Wed, 25 Oct 2017 15:36:53 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id r68so2779104wmr.3 for ; Wed, 25 Oct 2017 08:36:53 -0700 (PDT) In-Reply-To: <20171025153632.557-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 NV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggMTUzNGIwNWQx YWQ2Li44MTE3YTgwNTZhNzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtNjIyLDYgKzYy MiwxNiBAQCBzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlIHsKICAqLwogI2RlZmluZSBJOTE1 X01BWF9DTElFTlRfQ09OVEVYVF9CQU5TIDMKIAlhdG9taWNfdCBjb250ZXh0X2JhbnM7CisKKwl1 bnNpZ25lZCBpbnQgY2xpZW50X3N5c2ZzX2lkOworCXVuc2lnbmVkIGludCBjbGllbnRfcGlkOwor CWNoYXIgKmNsaWVudF9uYW1lOworCXN0cnVjdCBrb2JqZWN0ICpjbGllbnRfcm9vdDsKKworCXN0 cnVjdCB7CisJCXN0cnVjdCBkZXZpY2VfYXR0cmlidXRlIHBpZDsKKwkJc3RydWN0IGRldmljZV9h dHRyaWJ1dGUgbmFtZTsKKwl9IGF0dHI7CiB9OwogCiAvKiBVc2VkIGJ5IGRwIGFuZCBmZGkgbGlu a3MgKi8KQEAgLTI3NTYsNiArMjc2Niw5IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAog CXN0cnVjdCBpOTE1X3BtdSBwbXU7CiAKKwlzdHJ1Y3Qga29iamVjdCAqY2xpZW50c19yb290Owor CWF0b21pY190IGNsaWVudF9zZXJpYWw7CisKIAkvKgogCSAqIE5PVEU6IFRoaXMgaXMgdGhlIGRy aTEvdW1zIGR1bmdlb24sIGRvbid0IGFkZCBzdHVmZiBoZXJlLiBZb3VyIHBhdGNoCiAJICogd2ls bCBiZSByZWplY3RlZC4gSW5zdGVhZCBsb29rIGZvciBhIGJldHRlciBwbGFjZS4KZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jCmluZGV4IDA4YmJjZWFlYjliOC4uYzczYTEwYTU4YmUxIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmMKQEAgLTUyMzMsNiArNTIzMyw4OSBAQCBpbnQgaTkxNV9nZW1fZnJlZXpl X2xhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCXJldHVybiAwOwogfQog CitzdGF0aWMgc3NpemVfdAorc2hvd19jbGllbnRfbmFtZShzdHJ1Y3QgZGV2aWNlICprZGV2LCBz dHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQoreworCXN0cnVjdCBkcm1f aTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdiA9CisJCWNvbnRhaW5lcl9vZihhdHRyLCBzdHJ1 Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlLCBhdHRyLm5hbWUpOworCisJcmV0dXJuIHNucHJpbnRm KGJ1ZiwgUEFHRV9TSVpFLCAiJXMiLCBmaWxlX3ByaXYtPmNsaWVudF9uYW1lKTsKK30KKworc3Rh dGljIHNzaXplX3QKK3Nob3dfY2xpZW50X3BpZChzdHJ1Y3QgZGV2aWNlICprZGV2LCBzdHJ1Y3Qg ZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQoreworCXN0cnVjdCBkcm1faTkxNV9m aWxlX3ByaXZhdGUgKmZpbGVfcHJpdiA9CisJCWNvbnRhaW5lcl9vZihhdHRyLCBzdHJ1Y3QgZHJt X2k5MTVfZmlsZV9wcml2YXRlLCBhdHRyLnBpZCk7CisKKwlyZXR1cm4gc25wcmludGYoYnVmLCBQ QUdFX1NJWkUsICIldSIsIGZpbGVfcHJpdi0+Y2xpZW50X3BpZCk7Cit9CisKK3N0YXRpYyBpbnQK K2k5MTVfZ2VtX2FkZF9jbGllbnQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCisJCXN0 cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdiwKKwkJc3RydWN0IHRhc2tfc3Ry dWN0ICp0YXNrLAorCQl1bnNpZ25lZCBpbnQgc2VyaWFsKQoreworCWludCByZXQgPSAtRU5PTUVN OworCXN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyOworCWNoYXIgaWRbMzJdOworCisJZmls ZV9wcml2LT5jbGllbnRfbmFtZSA9IGtzdHJkdXAodGFzay0+Y29tbSwgR0ZQX0tFUk5FTCk7CisJ aWYgKCFmaWxlX3ByaXYtPmNsaWVudF9uYW1lKQorCQlnb3RvIGVycl9uYW1lOworCisJc25wcmlu dGYoaWQsIHNpemVvZihpZCksICIldSIsIHNlcmlhbCk7CisJZmlsZV9wcml2LT5jbGllbnRfcm9v dCA9IGtvYmplY3RfY3JlYXRlX2FuZF9hZGQoaWQsCisJCQkJCQkJaTkxNS0+Y2xpZW50c19yb290 KTsKKwlpZiAoIWZpbGVfcHJpdi0+Y2xpZW50X3Jvb3QpCisJCWdvdG8gZXJyX2NsaWVudDsKKwor CWF0dHIgPSAmZmlsZV9wcml2LT5hdHRyLm5hbWU7CisJYXR0ci0+YXR0ci5uYW1lID0gIm5hbWUi OworCWF0dHItPmF0dHIubW9kZSA9IDA0NDQ7CisJYXR0ci0+c2hvdyA9IHNob3dfY2xpZW50X25h bWU7CisKKwlyZXQgPSBzeXNmc19jcmVhdGVfZmlsZShmaWxlX3ByaXYtPmNsaWVudF9yb290LAor CQkJCShzdHJ1Y3QgYXR0cmlidXRlICopYXR0cik7CisJaWYgKHJldCkKKwkJZ290byBlcnJfYXR0 cl9uYW1lOworCisJYXR0ciA9ICZmaWxlX3ByaXYtPmF0dHIucGlkOworCWF0dHItPmF0dHIubmFt ZSA9ICJwaWQiOworCWF0dHItPmF0dHIubW9kZSA9IDA0NDQ7CisJYXR0ci0+c2hvdyA9IHNob3df Y2xpZW50X3BpZDsKKworCXJldCA9IHN5c2ZzX2NyZWF0ZV9maWxlKGZpbGVfcHJpdi0+Y2xpZW50 X3Jvb3QsCisJCQkJKHN0cnVjdCBhdHRyaWJ1dGUgKilhdHRyKTsKKwlpZiAocmV0KQorCQlnb3Rv IGVycl9hdHRyX3BpZDsKKworCWZpbGVfcHJpdi0+Y2xpZW50X3BpZCA9IHBpZF9ucihnZXRfdGFz a19waWQodGFzaywgUElEVFlQRV9QSUQpKTsKKworCXJldHVybiAwOworCitlcnJfYXR0cl9waWQ6 CisJc3lzZnNfcmVtb3ZlX2ZpbGUoZmlsZV9wcml2LT5jbGllbnRfcm9vdCwKKwkJCSAgKHN0cnVj dCBhdHRyaWJ1dGUgKikmZmlsZV9wcml2LT5hdHRyLm5hbWUpOworZXJyX2F0dHJfbmFtZToKKwlr b2JqZWN0X3B1dChmaWxlX3ByaXYtPmNsaWVudF9yb290KTsKK2Vycl9jbGllbnQ6CisJa2ZyZWUo ZmlsZV9wcml2LT5jbGllbnRfbmFtZSk7CitlcnJfbmFtZToKKwlyZXR1cm4gcmV0OworfQorCitz dGF0aWMgdm9pZCBpOTE1X2dlbV9yZW1vdmVfY2xpZW50KHN0cnVjdCBkcm1faTkxNV9maWxlX3By aXZhdGUgKmZpbGVfcHJpdikKK3sKKwlzeXNmc19yZW1vdmVfZmlsZShmaWxlX3ByaXYtPmNsaWVu dF9yb290LAorCQkJICAoc3RydWN0IGF0dHJpYnV0ZSAqKSZmaWxlX3ByaXYtPmF0dHIucGlkKTsK KwlzeXNmc19yZW1vdmVfZmlsZShmaWxlX3ByaXYtPmNsaWVudF9yb290LAorCQkJICAoc3RydWN0 IGF0dHJpYnV0ZSAqKSZmaWxlX3ByaXYtPmF0dHIubmFtZSk7CisJa29iamVjdF9wdXQoZmlsZV9w cml2LT5jbGllbnRfcm9vdCk7CisJa2ZyZWUoZmlsZV9wcml2LT5jbGllbnRfbmFtZSk7Cit9CisK IHZvaWQgaTkxNV9nZW1fcmVsZWFzZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJt X2ZpbGUgKmZpbGUpCiB7CiAJc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2 ID0gZmlsZS0+ZHJpdmVyX3ByaXY7CkBAIC01MjQ2LDMyICs1MzI5LDQ3IEBAIHZvaWQgaTkxNV9n ZW1fcmVsZWFzZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUp CiAJbGlzdF9mb3JfZWFjaF9lbnRyeShyZXF1ZXN0LCAmZmlsZV9wcml2LT5tbS5yZXF1ZXN0X2xp c3QsIGNsaWVudF9saW5rKQogCQlyZXF1ZXN0LT5maWxlX3ByaXYgPSBOVUxMOwogCXNwaW5fdW5s b2NrKCZmaWxlX3ByaXYtPm1tLmxvY2spOworCisJaTkxNV9nZW1fcmVtb3ZlX2NsaWVudChmaWxl X3ByaXYpOwogfQogCiBpbnQgaTkxNV9nZW1fb3BlbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSwgc3RydWN0IGRybV9maWxlICpmaWxlKQogeworCWludCByZXQgPSAtRU5PTUVNOwogCXN0 cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdjsKLQlpbnQgcmV0OwogCiAJRFJN X0RFQlVHKCJcbiIpOwogCiAJZmlsZV9wcml2ID0ga3phbGxvYyhzaXplb2YoKmZpbGVfcHJpdiks IEdGUF9LRVJORUwpOwogCWlmICghZmlsZV9wcml2KQotCQlyZXR1cm4gLUVOT01FTTsKKwkJZ290 byBlcnJfYWxsb2M7CisKKwlmaWxlX3ByaXYtPmNsaWVudF9zeXNmc19pZCA9IGF0b21pY19pbmNf cmV0dXJuKCZpOTE1LT5jbGllbnRfc2VyaWFsKTsKKwlyZXQgPSBpOTE1X2dlbV9hZGRfY2xpZW50 KGk5MTUsIGZpbGVfcHJpdiwgY3VycmVudCwKKwkJCQkgIGZpbGVfcHJpdi0+Y2xpZW50X3N5c2Zz X2lkKTsKKwlpZiAocmV0KQorCQlnb3RvIGVycl9jbGllbnQ7CiAKIAlmaWxlLT5kcml2ZXJfcHJp diA9IGZpbGVfcHJpdjsKKwlyZXQgPSBpOTE1X2dlbV9jb250ZXh0X29wZW4oaTkxNSwgZmlsZSk7 CisJaWYgKHJldCkKKwkJZ290byBlcnJfY29udGV4dDsKKwogCWZpbGVfcHJpdi0+ZGV2X3ByaXYg PSBpOTE1OwogCWZpbGVfcHJpdi0+ZmlsZSA9IGZpbGU7CisJZmlsZV9wcml2LT5ic2RfZW5naW5l ID0gLTE7CiAKIAlzcGluX2xvY2tfaW5pdCgmZmlsZV9wcml2LT5tbS5sb2NrKTsKIAlJTklUX0xJ U1RfSEVBRCgmZmlsZV9wcml2LT5tbS5yZXF1ZXN0X2xpc3QpOwogCi0JZmlsZV9wcml2LT5ic2Rf ZW5naW5lID0gLTE7Ci0KLQlyZXQgPSBpOTE1X2dlbV9jb250ZXh0X29wZW4oaTkxNSwgZmlsZSk7 Ci0JaWYgKHJldCkKLQkJa2ZyZWUoZmlsZV9wcml2KTsKKwlyZXR1cm4gMDsKIAorZXJyX2NvbnRl eHQ6CisJaTkxNV9nZW1fcmVtb3ZlX2NsaWVudChmaWxlX3ByaXYpOworZXJyX2NsaWVudDoKKwlh dG9taWNfZGVjKCZpOTE1LT5jbGllbnRfc2VyaWFsKTsKKwlrZnJlZShmaWxlX3ByaXYpOworZXJy X2FsbG9jOgogCXJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfc3lzZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3lzZnMuYwppbmRl eCBjMjkwY2I2MDBlZWEuLjA1NjE3ZTA2NjViZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9zeXNmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3lzZnMu YwpAQCAtNTY0LDYgKzU2NCwxMSBAQCB2b2lkIGk5MTVfc2V0dXBfc3lzZnMoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQogCXN0cnVjdCBkZXZpY2UgKmtkZXYgPSBkZXZfcHJpdi0+ ZHJtLnByaW1hcnktPmtkZXY7CiAJaW50IHJldDsKIAorCWRldl9wcml2LT5jbGllbnRzX3Jvb3Qg PQorCQlrb2JqZWN0X2NyZWF0ZV9hbmRfYWRkKCJjbGllbnRzIiwgJmtkZXYtPmtvYmopOworCWlm ICghZGV2X3ByaXYtPmNsaWVudHNfcm9vdCkKKwkJRFJNX0VSUk9SKCJQZXItY2xpZW50IHN5c2Zz IHNldHVwIGZhaWxlZFxuIik7CisKICNpZmRlZiBDT05GSUdfUE0KIAlpZiAoSEFTX1JDNihkZXZf cHJpdikpIHsKIAkJcmV0ID0gc3lzZnNfbWVyZ2VfZ3JvdXAoJmtkZXYtPmtvYmosCkBAIC02MjQs NCArNjI5LDcgQEAgdm9pZCBpOTE1X3RlYXJkb3duX3N5c2ZzKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKIAlzeXNmc191bm1lcmdlX2dyb3VwKCZrZGV2LT5rb2JqLCAmcmM2X2F0 dHJfZ3JvdXApOwogCXN5c2ZzX3VubWVyZ2VfZ3JvdXAoJmtkZXYtPmtvYmosICZyYzZwX2F0dHJf Z3JvdXApOwogI2VuZGlmCisKKwlpZiAoZGV2X3ByaXYtPmNsaWVudHNfcm9vdCkKKwkJa29iamVj dF9wdXQoZGV2X3ByaXYtPmNsaWVudHNfcm9vdCk7CiB9Ci0tIAoyLjkuNQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==