From: Tvrtko Ursulin Subject: [RFC 10/13] drm/i915: Expose list of clients in sysfs Date: Wed, 3 Oct 2018 13:04:03 +0100 Message-ID: <20181003120406.6784-11-tvrtko.ursulin@linux.intel.com> References: <20181003120406.6784-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-wr1-x443.google.com (mail-wr1-x443.google.com [IPv6:2a00:1450:4864:20::443]) by gabe.freedesktop.org (Postfix) with ESMTPS id E77E86E45B for ; Wed, 3 Oct 2018 12:04:23 +0000 (UTC) Received: by mail-wr1-x443.google.com with SMTP id u12-v6so5814287wrr.4 for ; Wed, 03 Oct 2018 05:04:23 -0700 (PDT) In-Reply-To: <20181003120406.6784-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 aWVudHMvMy9waWQ6IDU2NjQKCnYyOgogQ2hyaXMgV2lsc29uOgogKiBFbmNsb3NlIG5ldyBtZW1i ZXJzIGludG8gZGVkaWNhdGVkIHN0cnVjdHMuCiAqIFByb3RlY3QgYWdhaW5zdCBmYWlsZWQgc3lz ZnMgcmVnaXN0cmF0aW9uLgoKdjM6CiAqIHN5c2ZzX2F0dHJfaW5pdC4KClNpZ25lZC1vZmYtYnk6 IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgIHwgIDE5ICsrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jICAgfCAxMjEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMgfCAgIDggKysKIDMgZmlsZXMgY2hhbmdlZCwg MTQwIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgK aW5kZXggMjI2NGIzMGNlNTFhLi5mNzAyMjUzM2VhYjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aApAQCAtMzY3LDYgKzM2NywyMCBAQCBzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlIHsKIAkv KiogYmFuX3Njb3JlOiBBY2N1bXVsYXRlZCBzY29yZSBvZiBhbGwgY3R4IGJhbnMgYW5kIGZhc3Qg aGFuZ3MuICovCiAJYXRvbWljX3QgYmFuX3Njb3JlOwogCXVuc2lnbmVkIGxvbmcgaGFuZ190aW1l c3RhbXA7CisKKwlzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50IHsKKwkJdW5zaWduZWQgaW50IGlkOwor CisJCXBpZF90IHBpZDsKKwkJY2hhciAqbmFtZTsKKworCQlzdHJ1Y3Qga29iamVjdCAqcm9vdDsK KworCQlzdHJ1Y3QgeworCQkJc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgcGlkOworCQkJc3RydWN0 IGRldmljZV9hdHRyaWJ1dGUgbmFtZTsKKwkJfSBhdHRyOworCX0gY2xpZW50OwogfTsKIAogLyog SW50ZXJmYWNlIGhpc3Rvcnk6CkBAIC0yMTcxLDYgKzIxODUsMTEgQEAgc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgewogCiAJc3RydWN0IGk5MTVfcG11IHBtdTsKIAorCXN0cnVjdCBpOTE1X2RybV9j bGllbnRzIHsKKwkJc3RydWN0IGtvYmplY3QgKnJvb3Q7CisJCWF0b21pY190IHNlcmlhbDsKKwl9 IGNsaWVudHM7CisKIAkvKgogCSAqIE5PVEU6IFRoaXMgaXMgdGhlIGRyaTEvdW1zIGR1bmdlb24s IGRvbid0IGFkZCBzdHVmZiBoZXJlLiBZb3VyIHBhdGNoCiAJICogd2lsbCBiZSByZWplY3RlZC4g SW5zdGVhZCBsb29rIGZvciBhIGJldHRlciBwbGFjZS4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmlu ZGV4IGQzYTczMGY2ZWY2NS4uNDRhODc1ODYzNDAxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMK QEAgLTU4ODgsNiArNTg4OCw5NiBAQCBpbnQgaTkxNV9nZW1fZnJlZXplX2xhdGUoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBzc2l6ZV90Citz aG93X2NsaWVudF9uYW1lKHN0cnVjdCBkZXZpY2UgKmtkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmli dXRlICphdHRyLCBjaGFyICpidWYpCit7CisJc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAq ZmlsZV9wcml2ID0KKwkJY29udGFpbmVyX29mKGF0dHIsIHN0cnVjdCBkcm1faTkxNV9maWxlX3By aXZhdGUsCisJCQkgICAgIGNsaWVudC5hdHRyLm5hbWUpOworCisJcmV0dXJuIHNucHJpbnRmKGJ1 ZiwgUEFHRV9TSVpFLCAiJXMiLCBmaWxlX3ByaXYtPmNsaWVudC5uYW1lKTsKK30KKworc3RhdGlj IHNzaXplX3QKK3Nob3dfY2xpZW50X3BpZChzdHJ1Y3QgZGV2aWNlICprZGV2LCBzdHJ1Y3QgZGV2 aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQoreworCXN0cnVjdCBkcm1faTkxNV9maWxl X3ByaXZhdGUgKmZpbGVfcHJpdiA9CisJCWNvbnRhaW5lcl9vZihhdHRyLCBzdHJ1Y3QgZHJtX2k5 MTVfZmlsZV9wcml2YXRlLAorCQkJICAgICBjbGllbnQuYXR0ci5waWQpOworCisJcmV0dXJuIHNu cHJpbnRmKGJ1ZiwgUEFHRV9TSVpFLCAiJXUiLCBmaWxlX3ByaXYtPmNsaWVudC5waWQpOworfQor CitzdGF0aWMgaW50CitpOTE1X2dlbV9hZGRfY2xpZW50KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1LAorCQlzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlICpmaWxlX3ByaXYsCisJCXN0 cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywKKwkJdW5zaWduZWQgaW50IHNlcmlhbCkKK3sKKwlpbnQg cmV0ID0gLUVOT01FTTsKKwlzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0cjsKKwljaGFyIGlk WzMyXTsKKworCWlmICghaTkxNS0+Y2xpZW50cy5yb290KQorCQlnb3RvIGVycl9uYW1lOworCisJ ZmlsZV9wcml2LT5jbGllbnQubmFtZSA9IGtzdHJkdXAodGFzay0+Y29tbSwgR0ZQX0tFUk5FTCk7 CisJaWYgKCFmaWxlX3ByaXYtPmNsaWVudC5uYW1lKQorCQlnb3RvIGVycl9uYW1lOworCisJc25w cmludGYoaWQsIHNpemVvZihpZCksICIldSIsIHNlcmlhbCk7CisJZmlsZV9wcml2LT5jbGllbnQu cm9vdCA9IGtvYmplY3RfY3JlYXRlX2FuZF9hZGQoaWQsCisJCQkJCQkJaTkxNS0+Y2xpZW50cy5y b290KTsKKwlpZiAoIWZpbGVfcHJpdi0+Y2xpZW50LnJvb3QpCisJCWdvdG8gZXJyX2NsaWVudDsK KworCWF0dHIgPSAmZmlsZV9wcml2LT5jbGllbnQuYXR0ci5uYW1lOworCXN5c2ZzX2F0dHJfaW5p dCgmYXR0ci0+YXR0cik7CisJYXR0ci0+YXR0ci5uYW1lID0gIm5hbWUiOworCWF0dHItPmF0dHIu bW9kZSA9IDA0NDQ7CisJYXR0ci0+c2hvdyA9IHNob3dfY2xpZW50X25hbWU7CisKKwlyZXQgPSBz eXNmc19jcmVhdGVfZmlsZShmaWxlX3ByaXYtPmNsaWVudC5yb290LAorCQkJCShzdHJ1Y3QgYXR0 cmlidXRlICopYXR0cik7CisJaWYgKHJldCkKKwkJZ290byBlcnJfYXR0cl9uYW1lOworCisJYXR0 ciA9ICZmaWxlX3ByaXYtPmNsaWVudC5hdHRyLnBpZDsKKwlzeXNmc19hdHRyX2luaXQoJmF0dHIt PmF0dHIpOworCWF0dHItPmF0dHIubmFtZSA9ICJwaWQiOworCWF0dHItPmF0dHIubW9kZSA9IDA0 NDQ7CisJYXR0ci0+c2hvdyA9IHNob3dfY2xpZW50X3BpZDsKKworCXJldCA9IHN5c2ZzX2NyZWF0 ZV9maWxlKGZpbGVfcHJpdi0+Y2xpZW50LnJvb3QsCisJCQkJKHN0cnVjdCBhdHRyaWJ1dGUgKilh dHRyKTsKKwlpZiAocmV0KQorCQlnb3RvIGVycl9hdHRyX3BpZDsKKworCWZpbGVfcHJpdi0+Y2xp ZW50LnBpZCA9IHBpZF9ucihnZXRfdGFza19waWQodGFzaywgUElEVFlQRV9QSUQpKTsKKworCXJl dHVybiAwOworCitlcnJfYXR0cl9waWQ6CisJc3lzZnNfcmVtb3ZlX2ZpbGUoZmlsZV9wcml2LT5j bGllbnQucm9vdCwKKwkJCSAgKHN0cnVjdCBhdHRyaWJ1dGUgKikmZmlsZV9wcml2LT5jbGllbnQu YXR0ci5uYW1lKTsKK2Vycl9hdHRyX25hbWU6CisJa29iamVjdF9wdXQoZmlsZV9wcml2LT5jbGll bnQucm9vdCk7CitlcnJfY2xpZW50OgorCWtmcmVlKGZpbGVfcHJpdi0+Y2xpZW50Lm5hbWUpOwor ZXJyX25hbWU6CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgaTkxNV9nZW1fcmVtb3Zl X2NsaWVudChzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlICpmaWxlX3ByaXYpCit7CisJc3lz ZnNfcmVtb3ZlX2ZpbGUoZmlsZV9wcml2LT5jbGllbnQucm9vdCwKKwkJCSAgKHN0cnVjdCBhdHRy aWJ1dGUgKikmZmlsZV9wcml2LT5jbGllbnQuYXR0ci5waWQpOworCXN5c2ZzX3JlbW92ZV9maWxl KGZpbGVfcHJpdi0+Y2xpZW50LnJvb3QsCisJCQkgIChzdHJ1Y3QgYXR0cmlidXRlICopJmZpbGVf cHJpdi0+Y2xpZW50LmF0dHIubmFtZSk7CisJa29iamVjdF9wdXQoZmlsZV9wcml2LT5jbGllbnQu cm9vdCk7CisJa2ZyZWUoZmlsZV9wcml2LT5jbGllbnQubmFtZSk7Cit9CisKIHZvaWQgaTkxNV9n ZW1fcmVsZWFzZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUp CiB7CiAJc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2ID0gZmlsZS0+ZHJp dmVyX3ByaXY7CkBAIC01OTAxLDMzICs1OTkxLDQ4IEBAIHZvaWQgaTkxNV9nZW1fcmVsZWFzZShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCiAJbGlzdF9mb3Jf ZWFjaF9lbnRyeShyZXF1ZXN0LCAmZmlsZV9wcml2LT5tbS5yZXF1ZXN0X2xpc3QsIGNsaWVudF9s aW5rKQogCQlyZXF1ZXN0LT5maWxlX3ByaXYgPSBOVUxMOwogCXNwaW5fdW5sb2NrKCZmaWxlX3By aXYtPm1tLmxvY2spOworCisJaTkxNV9nZW1fcmVtb3ZlX2NsaWVudChmaWxlX3ByaXYpOwogfQog CiBpbnQgaTkxNV9nZW1fb3BlbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgc3RydWN0 IGRybV9maWxlICpmaWxlKQogeworCWludCByZXQgPSAtRU5PTUVNOwogCXN0cnVjdCBkcm1faTkx NV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdjsKLQlpbnQgcmV0OwogCiAJRFJNX0RFQlVHKCJcbiIp OwogCiAJZmlsZV9wcml2ID0ga3phbGxvYyhzaXplb2YoKmZpbGVfcHJpdiksIEdGUF9LRVJORUwp OwogCWlmICghZmlsZV9wcml2KQotCQlyZXR1cm4gLUVOT01FTTsKKwkJZ290byBlcnJfYWxsb2M7 CisKKwlmaWxlX3ByaXYtPmNsaWVudC5pZCA9IGF0b21pY19pbmNfcmV0dXJuKCZpOTE1LT5jbGll bnRzLnNlcmlhbCk7CisJcmV0ID0gaTkxNV9nZW1fYWRkX2NsaWVudChpOTE1LCBmaWxlX3ByaXYs IGN1cnJlbnQsCisJCQkJICBmaWxlX3ByaXYtPmNsaWVudC5pZCk7CisJaWYgKHJldCkKKwkJZ290 byBlcnJfY2xpZW50OwogCiAJZmlsZS0+ZHJpdmVyX3ByaXYgPSBmaWxlX3ByaXY7CisJcmV0ID0g aTkxNV9nZW1fY29udGV4dF9vcGVuKGk5MTUsIGZpbGUpOworCWlmIChyZXQpCisJCWdvdG8gZXJy X2NvbnRleHQ7CisKIAlmaWxlX3ByaXYtPmRldl9wcml2ID0gaTkxNTsKIAlmaWxlX3ByaXYtPmZp bGUgPSBmaWxlOworCWZpbGVfcHJpdi0+YnNkX2VuZ2luZSA9IC0xOworCWZpbGVfcHJpdi0+aGFu Z190aW1lc3RhbXAgPSBqaWZmaWVzOwogCiAJc3Bpbl9sb2NrX2luaXQoJmZpbGVfcHJpdi0+bW0u bG9jayk7CiAJSU5JVF9MSVNUX0hFQUQoJmZpbGVfcHJpdi0+bW0ucmVxdWVzdF9saXN0KTsKIAot CWZpbGVfcHJpdi0+YnNkX2VuZ2luZSA9IC0xOwotCWZpbGVfcHJpdi0+aGFuZ190aW1lc3RhbXAg PSBqaWZmaWVzOwotCi0JcmV0ID0gaTkxNV9nZW1fY29udGV4dF9vcGVuKGk5MTUsIGZpbGUpOwot CWlmIChyZXQpCi0JCWtmcmVlKGZpbGVfcHJpdik7CisJcmV0dXJuIDA7CiAKK2Vycl9jb250ZXh0 OgorCWk5MTVfZ2VtX3JlbW92ZV9jbGllbnQoZmlsZV9wcml2KTsKK2Vycl9jbGllbnQ6CisJYXRv bWljX2RlYygmaTkxNS0+Y2xpZW50cy5zZXJpYWwpOworCWtmcmVlKGZpbGVfcHJpdik7CitlcnJf YWxsb2M6CiAJcmV0dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9zeXNmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zeXNmcy5jCmluZGV4 IGU1ZTZmNmJiMmIwNS4uZDgwOTI1OTQ1NmVmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3N5c2ZzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zeXNmcy5j CkBAIC01ODEsNiArNTgxLDExIEBAIHZvaWQgaTkxNV9zZXR1cF9zeXNmcyhzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJc3RydWN0IGRldmljZSAqa2RldiA9IGRldl9wcml2LT5k cm0ucHJpbWFyeS0+a2RldjsKIAlpbnQgcmV0OwogCisJZGV2X3ByaXYtPmNsaWVudHMucm9vdCA9 CisJCWtvYmplY3RfY3JlYXRlX2FuZF9hZGQoImNsaWVudHMiLCAma2Rldi0+a29iaik7CisJaWYg KCFkZXZfcHJpdi0+Y2xpZW50cy5yb290KQorCQlEUk1fRVJST1IoIlBlci1jbGllbnQgc3lzZnMg c2V0dXAgZmFpbGVkXG4iKTsKKwogI2lmZGVmIENPTkZJR19QTQogCWlmIChIQVNfUkM2KGRldl9w cml2KSkgewogCQlyZXQgPSBzeXNmc19tZXJnZV9ncm91cCgma2Rldi0+a29iaiwKQEAgLTY0MSw0 ICs2NDYsNyBAQCB2b2lkIGk5MTVfdGVhcmRvd25fc3lzZnMoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQogCXN5c2ZzX3VubWVyZ2VfZ3JvdXAoJmtkZXYtPmtvYmosICZyYzZfYXR0 cl9ncm91cCk7CiAJc3lzZnNfdW5tZXJnZV9ncm91cCgma2Rldi0+a29iaiwgJnJjNnBfYXR0cl9n cm91cCk7CiAjZW5kaWYKKworCWlmIChkZXZfcHJpdi0+Y2xpZW50cy5yb290KQorCQlrb2JqZWN0 X3B1dChkZXZfcHJpdi0+Y2xpZW50cy5yb290KTsKIH0KLS0gCjIuMTcuMQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==