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: Fri, 25 Oct 2019 15:21:28 +0100 Message-ID: <20191025142131.17378-3-tvrtko.ursulin@linux.intel.com> References: <20191025142131.17378-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 mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2EBFE89DE5 for ; Fri, 25 Oct 2019 14:21:37 +0000 (UTC) In-Reply-To: <20191025142131.17378-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 ZnMgcmVnaXN0cmF0aW9uLgoKdjM6CiAqIHN5c2ZzX2F0dHJfaW5pdC4KCnY0OgogKiBGaXggZm9y IGludGVybmFsIGNsaWVudHMuCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtv LnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2Lmgg ICB8ICAxOSArKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgIHwgMTI0ICsr KysrKysrKysrKysrKysrKysrKysrKysrKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9z eXNmcy5jIHwgICA4ICsrCiAzIGZpbGVzIGNoYW5nZWQsIDE0MyBpbnNlcnRpb25zKCspLCA4IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2Lmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDE2ZTU4YTc0ZmE2Zi4uNGRj OGNhZGY1NmViIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTIyMiw2ICsyMjIsMjAgQEAg c3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSB7CiAJLyoqIGJhbl9zY29yZTogQWNjdW11bGF0 ZWQgc2NvcmUgb2YgYWxsIGN0eCBiYW5zIGFuZCBmYXN0IGhhbmdzLiAqLwogCWF0b21pY190IGJh bl9zY29yZTsKIAl1bnNpZ25lZCBsb25nIGhhbmdfdGltZXN0YW1wOworCisJc3RydWN0IGk5MTVf ZHJtX2NsaWVudCB7CisJCXVuc2lnbmVkIGludCBpZDsKKworCQlwaWRfdCBwaWQ7CisJCWNoYXIg Km5hbWU7CisKKwkJc3RydWN0IGtvYmplY3QgKnJvb3Q7CisKKwkJc3RydWN0IHsKKwkJCXN0cnVj dCBkZXZpY2VfYXR0cmlidXRlIHBpZDsKKwkJCXN0cnVjdCBkZXZpY2VfYXR0cmlidXRlIG5hbWU7 CisJCX0gYXR0cjsKKwl9IGNsaWVudDsKIH07CiAKIC8qIEludGVyZmFjZSBoaXN0b3J5OgpAQCAt MTM3Miw2ICsxMzg2LDExIEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAogCXN0cnVjdCBp OTE1X3BtdSBwbXU7CiAKKwlzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50cyB7CisJCXN0cnVjdCBrb2Jq ZWN0ICpyb290OworCQlhdG9taWNfdCBzZXJpYWw7CisJfSBjbGllbnRzOworCiAJc3RydWN0IGk5 MTVfaGRjcF9jb21wX21hc3RlciAqaGRjcF9tYXN0ZXI7CiAJYm9vbCBoZGNwX2NvbXBfYWRkZWQ7 CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IDMxOWU5NmQ4MzNmYS4uZDhkMzUyZWZiOWVm IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTE0OTIsNiArMTQ5Miw5OSBAQCBpbnQgaTkx NV9nZW1fZnJlZXplX2xhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAJcmV0dXJu IDA7CiB9CiAKK3N0YXRpYyBzc2l6ZV90CitzaG93X2NsaWVudF9uYW1lKHN0cnVjdCBkZXZpY2Ug KmtkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCit7CisJc3Ry dWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2ID0KKwkJY29udGFpbmVyX29mKGF0 dHIsIHN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUsCisJCQkgICAgIGNsaWVudC5hdHRyLm5h bWUpOworCisJcmV0dXJuIHNucHJpbnRmKGJ1ZiwgUEFHRV9TSVpFLCAiJXMiLCBmaWxlX3ByaXYt PmNsaWVudC5uYW1lKTsKK30KKworc3RhdGljIHNzaXplX3QKK3Nob3dfY2xpZW50X3BpZChzdHJ1 Y3QgZGV2aWNlICprZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVm KQoreworCXN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdiA9CisJCWNvbnRh aW5lcl9vZihhdHRyLCBzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlLAorCQkJICAgICBjbGll bnQuYXR0ci5waWQpOworCisJcmV0dXJuIHNucHJpbnRmKGJ1ZiwgUEFHRV9TSVpFLCAiJXUiLCBm aWxlX3ByaXYtPmNsaWVudC5waWQpOworfQorCitzdGF0aWMgaW50CitpOTE1X2dlbV9hZGRfY2xp ZW50KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAorCQlzdHJ1Y3QgZHJtX2k5MTVfZmls ZV9wcml2YXRlICpmaWxlX3ByaXYsCisJCXN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywKKwkJdW5z aWduZWQgaW50IHNlcmlhbCkKK3sKKwlpbnQgcmV0ID0gLUVOT01FTTsKKwlzdHJ1Y3QgZGV2aWNl X2F0dHJpYnV0ZSAqYXR0cjsKKwljaGFyIGlkWzMyXTsKKworCWlmICghaTkxNS0+Y2xpZW50cy5y b290KQorCQlyZXR1cm4gMDsgLyogaW50ZWxfZmJkZXZfaW5pdCByZWdpc3RlcnMgYSBjbGllbnQg YmVmb3JlIHN5c2ZzICovCisKKwlmaWxlX3ByaXYtPmNsaWVudC5uYW1lID0ga3N0cmR1cCh0YXNr LT5jb21tLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWZpbGVfcHJpdi0+Y2xpZW50Lm5hbWUpCisJCWdv dG8gZXJyX25hbWU7CisKKwlzbnByaW50ZihpZCwgc2l6ZW9mKGlkKSwgIiV1Iiwgc2VyaWFsKTsK KwlmaWxlX3ByaXYtPmNsaWVudC5yb290ID0ga29iamVjdF9jcmVhdGVfYW5kX2FkZChpZCwKKwkJ CQkJCQlpOTE1LT5jbGllbnRzLnJvb3QpOworCWlmICghZmlsZV9wcml2LT5jbGllbnQucm9vdCkK KwkJZ290byBlcnJfY2xpZW50OworCisJYXR0ciA9ICZmaWxlX3ByaXYtPmNsaWVudC5hdHRyLm5h bWU7CisJc3lzZnNfYXR0cl9pbml0KCZhdHRyLT5hdHRyKTsKKwlhdHRyLT5hdHRyLm5hbWUgPSAi bmFtZSI7CisJYXR0ci0+YXR0ci5tb2RlID0gMDQ0NDsKKwlhdHRyLT5zaG93ID0gc2hvd19jbGll bnRfbmFtZTsKKworCXJldCA9IHN5c2ZzX2NyZWF0ZV9maWxlKGZpbGVfcHJpdi0+Y2xpZW50LnJv b3QsCisJCQkJKHN0cnVjdCBhdHRyaWJ1dGUgKilhdHRyKTsKKwlpZiAocmV0KQorCQlnb3RvIGVy cl9hdHRyX25hbWU7CisKKwlhdHRyID0gJmZpbGVfcHJpdi0+Y2xpZW50LmF0dHIucGlkOworCXN5 c2ZzX2F0dHJfaW5pdCgmYXR0ci0+YXR0cik7CisJYXR0ci0+YXR0ci5uYW1lID0gInBpZCI7CisJ YXR0ci0+YXR0ci5tb2RlID0gMDQ0NDsKKwlhdHRyLT5zaG93ID0gc2hvd19jbGllbnRfcGlkOwor CisJcmV0ID0gc3lzZnNfY3JlYXRlX2ZpbGUoZmlsZV9wcml2LT5jbGllbnQucm9vdCwKKwkJCQko c3RydWN0IGF0dHJpYnV0ZSAqKWF0dHIpOworCWlmIChyZXQpCisJCWdvdG8gZXJyX2F0dHJfcGlk OworCisJZmlsZV9wcml2LT5jbGllbnQucGlkID0gcGlkX25yKGdldF90YXNrX3BpZCh0YXNrLCBQ SURUWVBFX1BJRCkpOworCisJcmV0dXJuIDA7CisKK2Vycl9hdHRyX3BpZDoKKwlzeXNmc19yZW1v dmVfZmlsZShmaWxlX3ByaXYtPmNsaWVudC5yb290LAorCQkJICAoc3RydWN0IGF0dHJpYnV0ZSAq KSZmaWxlX3ByaXYtPmNsaWVudC5hdHRyLm5hbWUpOworZXJyX2F0dHJfbmFtZToKKwlrb2JqZWN0 X3B1dChmaWxlX3ByaXYtPmNsaWVudC5yb290KTsKK2Vycl9jbGllbnQ6CisJa2ZyZWUoZmlsZV9w cml2LT5jbGllbnQubmFtZSk7CitlcnJfbmFtZToKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMg dm9pZCBpOTE1X2dlbV9yZW1vdmVfY2xpZW50KHN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUg KmZpbGVfcHJpdikKK3sKKwlpZiAoIWZpbGVfcHJpdi0+Y2xpZW50Lm5hbWUpCisJCXJldHVybjsg LyogaW50ZWxfZmJkZXZfaW5pdCByZWdpc3RlcnMgYSBjbGllbnQgYmVmb3JlIHN5c2ZzICovCisK KwlzeXNmc19yZW1vdmVfZmlsZShmaWxlX3ByaXYtPmNsaWVudC5yb290LAorCQkJICAoc3RydWN0 IGF0dHJpYnV0ZSAqKSZmaWxlX3ByaXYtPmNsaWVudC5hdHRyLnBpZCk7CisJc3lzZnNfcmVtb3Zl X2ZpbGUoZmlsZV9wcml2LT5jbGllbnQucm9vdCwKKwkJCSAgKHN0cnVjdCBhdHRyaWJ1dGUgKikm ZmlsZV9wcml2LT5jbGllbnQuYXR0ci5uYW1lKTsKKwlrb2JqZWN0X3B1dChmaWxlX3ByaXYtPmNs aWVudC5yb290KTsKKwlrZnJlZShmaWxlX3ByaXYtPmNsaWVudC5uYW1lKTsKK30KKwogdm9pZCBp OTE1X2dlbV9yZWxlYXNlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAq ZmlsZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlICpmaWxlX3ByaXYgPSBmaWxl LT5kcml2ZXJfcHJpdjsKQEAgLTE1MDUsMzMgKzE1OTgsNDggQEAgdm9pZCBpOTE1X2dlbV9yZWxl YXNlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKIAlsaXN0 X2Zvcl9lYWNoX2VudHJ5KHJlcXVlc3QsICZmaWxlX3ByaXYtPm1tLnJlcXVlc3RfbGlzdCwgY2xp ZW50X2xpbmspCiAJCXJlcXVlc3QtPmZpbGVfcHJpdiA9IE5VTEw7CiAJc3Bpbl91bmxvY2soJmZp bGVfcHJpdi0+bW0ubG9jayk7CisKKwlpOTE1X2dlbV9yZW1vdmVfY2xpZW50KGZpbGVfcHJpdik7 CiB9CiAKIGludCBpOTE1X2dlbV9vcGVuKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCBz dHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCiB7CisJaW50IHJldCA9IC1FTk9NRU07CiAJc3RydWN0IGRy bV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2OwotCWludCByZXQ7CiAKIAlEUk1fREVCVUco IlxuIik7CiAKIAlmaWxlX3ByaXYgPSBremFsbG9jKHNpemVvZigqZmlsZV9wcml2KSwgR0ZQX0tF Uk5FTCk7CiAJaWYgKCFmaWxlX3ByaXYpCi0JCXJldHVybiAtRU5PTUVNOworCQlnb3RvIGVycl9h bGxvYzsKKworCWZpbGVfcHJpdi0+Y2xpZW50LmlkID0gYXRvbWljX2luY19yZXR1cm4oJmk5MTUt PmNsaWVudHMuc2VyaWFsKTsKKwlyZXQgPSBpOTE1X2dlbV9hZGRfY2xpZW50KGk5MTUsIGZpbGVf cHJpdiwgY3VycmVudCwKKwkJCQkgIGZpbGVfcHJpdi0+Y2xpZW50LmlkKTsKKwlpZiAocmV0KQor CQlnb3RvIGVycl9jbGllbnQ7CiAKIAlmaWxlLT5kcml2ZXJfcHJpdiA9IGZpbGVfcHJpdjsKKwly ZXQgPSBpOTE1X2dlbV9jb250ZXh0X29wZW4oaTkxNSwgZmlsZSk7CisJaWYgKHJldCkKKwkJZ290 byBlcnJfY29udGV4dDsKKwogCWZpbGVfcHJpdi0+ZGV2X3ByaXYgPSBpOTE1OwogCWZpbGVfcHJp di0+ZmlsZSA9IGZpbGU7CisJZmlsZV9wcml2LT5ic2RfZW5naW5lID0gLTE7CisJZmlsZV9wcml2 LT5oYW5nX3RpbWVzdGFtcCA9IGppZmZpZXM7CiAKIAlzcGluX2xvY2tfaW5pdCgmZmlsZV9wcml2 LT5tbS5sb2NrKTsKIAlJTklUX0xJU1RfSEVBRCgmZmlsZV9wcml2LT5tbS5yZXF1ZXN0X2xpc3Qp OwogCi0JZmlsZV9wcml2LT5ic2RfZW5naW5lID0gLTE7Ci0JZmlsZV9wcml2LT5oYW5nX3RpbWVz dGFtcCA9IGppZmZpZXM7Ci0KLQlyZXQgPSBpOTE1X2dlbV9jb250ZXh0X29wZW4oaTkxNSwgZmls ZSk7Ci0JaWYgKHJldCkKLQkJa2ZyZWUoZmlsZV9wcml2KTsKKwlyZXR1cm4gMDsKIAorZXJyX2Nv bnRleHQ6CisJaTkxNV9nZW1fcmVtb3ZlX2NsaWVudChmaWxlX3ByaXYpOworZXJyX2NsaWVudDoK KwlhdG9taWNfZGVjKCZpOTE1LT5jbGllbnRzLnNlcmlhbCk7CisJa2ZyZWUoZmlsZV9wcml2KTsK K2Vycl9hbGxvYzoKIAlyZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3N5c2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMK aW5kZXggYmYwMzliOGJhNTkzLi5hOWYyN2Y0ZmMyNDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfc3lzZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5 c2ZzLmMKQEAgLTU3NCw2ICs1NzQsMTEgQEAgdm9pZCBpOTE1X3NldHVwX3N5c2ZzKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlzdHJ1Y3QgZGV2aWNlICprZGV2ID0gZGV2X3By aXYtPmRybS5wcmltYXJ5LT5rZGV2OwogCWludCByZXQ7CiAKKwlkZXZfcHJpdi0+Y2xpZW50cy5y b290ID0KKwkJa29iamVjdF9jcmVhdGVfYW5kX2FkZCgiY2xpZW50cyIsICZrZGV2LT5rb2JqKTsK KwlpZiAoIWRldl9wcml2LT5jbGllbnRzLnJvb3QpCisJCURSTV9FUlJPUigiUGVyLWNsaWVudCBz eXNmcyBzZXR1cCBmYWlsZWRcbiIpOworCiAjaWZkZWYgQ09ORklHX1BNCiAJaWYgKEhBU19SQzYo ZGV2X3ByaXYpKSB7CiAJCXJldCA9IHN5c2ZzX21lcmdlX2dyb3VwKCZrZGV2LT5rb2JqLApAQCAt NjM0LDQgKzYzOSw3IEBAIHZvaWQgaTkxNV90ZWFyZG93bl9zeXNmcyhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpCiAJc3lzZnNfdW5tZXJnZV9ncm91cCgma2Rldi0+a29iaiwgJnJj Nl9hdHRyX2dyb3VwKTsKIAlzeXNmc191bm1lcmdlX2dyb3VwKCZrZGV2LT5rb2JqLCAmcmM2cF9h dHRyX2dyb3VwKTsKICNlbmRpZgorCisJaWYgKGRldl9wcml2LT5jbGllbnRzLnJvb3QpCisJCWtv YmplY3RfcHV0KGRldl9wcml2LT5jbGllbnRzLnJvb3QpOwogfQotLSAKMi4yMC4xCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, HK_RANDOM_FROM,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 60448CA9EA0 for ; Fri, 25 Oct 2019 14:21:43 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 41F44205F4 for ; Fri, 25 Oct 2019 14:21:43 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 41F44205F4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A51066EA56; Fri, 25 Oct 2019 14:21:40 +0000 (UTC) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2EBFE89DE5 for ; Fri, 25 Oct 2019 14:21:37 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Oct 2019 07:21:36 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,228,1569308400"; d="scan'208";a="202618177" Received: from mdlugoke-mobl1.ger.corp.intel.com (HELO localhost.localdomain) ([10.251.81.75]) by orsmga006.jf.intel.com with ESMTP; 25 Oct 2019 07:21:35 -0700 From: Tvrtko Ursulin To: Intel-gfx@lists.freedesktop.org Date: Fri, 25 Oct 2019 15:21:28 +0100 Message-Id: <20191025142131.17378-3-tvrtko.ursulin@linux.intel.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191025142131.17378-1-tvrtko.ursulin@linux.intel.com> References: <20191025142131.17378-1-tvrtko.ursulin@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [RFC 2/5] drm/i915: Expose list of clients in sysfs X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191025142128.TK_JWNABtOyyNJeYV2EZE0wFFKOaHByIFNvBpFytUQ0@z> RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkV4cG9zZSBh IGxpc3Qgb2YgY2xpZW50cyB3aXRoIG9wZW4gZmlsZSBoYW5kbGVzIGluIHN5c2ZzLgoKVGhpcyB3 aWxsIGJlIGEgYmFzaXMgZm9yIGEgdG9wLWxpa2UgdXRpbGl0eSBzaG93aW5nIHBlci1jbGllbnQg YW5kIHBlci0KZW5naW5lIEdQVSBsb2FkLgoKQ3VycmVudGx5IHdlIG9ubHkgZXhwb3NlIGVhY2gg Y2xpZW50J3MgcGlkIGFuZCBuYW1lIHVuZGVyIG9wYXF1ZSBudW1iZXJlZApkaXJlY3RvcmllcyBp biAvc3lzL2NsYXNzL2RybS9jYXJkMC9jbGllbnRzLy4KCkZvciBpbnN0YW5jZToKCi9zeXMvY2xh c3MvZHJtL2NhcmQwL2NsaWVudHMvMy9uYW1lOiBYb3JnCi9zeXMvY2xhc3MvZHJtL2NhcmQwL2Ns aWVudHMvMy9waWQ6IDU2NjQKCnYyOgogQ2hyaXMgV2lsc29uOgogKiBFbmNsb3NlIG5ldyBtZW1i ZXJzIGludG8gZGVkaWNhdGVkIHN0cnVjdHMuCiAqIFByb3RlY3QgYWdhaW5zdCBmYWlsZWQgc3lz ZnMgcmVnaXN0cmF0aW9uLgoKdjM6CiAqIHN5c2ZzX2F0dHJfaW5pdC4KCnY0OgogKiBGaXggZm9y IGludGVybmFsIGNsaWVudHMuCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtv LnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2Lmgg ICB8ICAxOSArKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgIHwgMTI0ICsr KysrKysrKysrKysrKysrKysrKysrKysrKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9z eXNmcy5jIHwgICA4ICsrCiAzIGZpbGVzIGNoYW5nZWQsIDE0MyBpbnNlcnRpb25zKCspLCA4IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2Lmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDE2ZTU4YTc0ZmE2Zi4uNGRj OGNhZGY1NmViIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTIyMiw2ICsyMjIsMjAgQEAg c3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSB7CiAJLyoqIGJhbl9zY29yZTogQWNjdW11bGF0 ZWQgc2NvcmUgb2YgYWxsIGN0eCBiYW5zIGFuZCBmYXN0IGhhbmdzLiAqLwogCWF0b21pY190IGJh bl9zY29yZTsKIAl1bnNpZ25lZCBsb25nIGhhbmdfdGltZXN0YW1wOworCisJc3RydWN0IGk5MTVf ZHJtX2NsaWVudCB7CisJCXVuc2lnbmVkIGludCBpZDsKKworCQlwaWRfdCBwaWQ7CisJCWNoYXIg Km5hbWU7CisKKwkJc3RydWN0IGtvYmplY3QgKnJvb3Q7CisKKwkJc3RydWN0IHsKKwkJCXN0cnVj dCBkZXZpY2VfYXR0cmlidXRlIHBpZDsKKwkJCXN0cnVjdCBkZXZpY2VfYXR0cmlidXRlIG5hbWU7 CisJCX0gYXR0cjsKKwl9IGNsaWVudDsKIH07CiAKIC8qIEludGVyZmFjZSBoaXN0b3J5OgpAQCAt MTM3Miw2ICsxMzg2LDExIEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAogCXN0cnVjdCBp OTE1X3BtdSBwbXU7CiAKKwlzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50cyB7CisJCXN0cnVjdCBrb2Jq ZWN0ICpyb290OworCQlhdG9taWNfdCBzZXJpYWw7CisJfSBjbGllbnRzOworCiAJc3RydWN0IGk5 MTVfaGRjcF9jb21wX21hc3RlciAqaGRjcF9tYXN0ZXI7CiAJYm9vbCBoZGNwX2NvbXBfYWRkZWQ7 CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IDMxOWU5NmQ4MzNmYS4uZDhkMzUyZWZiOWVm IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTE0OTIsNiArMTQ5Miw5OSBAQCBpbnQgaTkx NV9nZW1fZnJlZXplX2xhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAJcmV0dXJu IDA7CiB9CiAKK3N0YXRpYyBzc2l6ZV90CitzaG93X2NsaWVudF9uYW1lKHN0cnVjdCBkZXZpY2Ug KmtkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCit7CisJc3Ry dWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2ID0KKwkJY29udGFpbmVyX29mKGF0 dHIsIHN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUsCisJCQkgICAgIGNsaWVudC5hdHRyLm5h bWUpOworCisJcmV0dXJuIHNucHJpbnRmKGJ1ZiwgUEFHRV9TSVpFLCAiJXMiLCBmaWxlX3ByaXYt PmNsaWVudC5uYW1lKTsKK30KKworc3RhdGljIHNzaXplX3QKK3Nob3dfY2xpZW50X3BpZChzdHJ1 Y3QgZGV2aWNlICprZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVm KQoreworCXN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdiA9CisJCWNvbnRh aW5lcl9vZihhdHRyLCBzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlLAorCQkJICAgICBjbGll bnQuYXR0ci5waWQpOworCisJcmV0dXJuIHNucHJpbnRmKGJ1ZiwgUEFHRV9TSVpFLCAiJXUiLCBm aWxlX3ByaXYtPmNsaWVudC5waWQpOworfQorCitzdGF0aWMgaW50CitpOTE1X2dlbV9hZGRfY2xp ZW50KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAorCQlzdHJ1Y3QgZHJtX2k5MTVfZmls ZV9wcml2YXRlICpmaWxlX3ByaXYsCisJCXN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywKKwkJdW5z aWduZWQgaW50IHNlcmlhbCkKK3sKKwlpbnQgcmV0ID0gLUVOT01FTTsKKwlzdHJ1Y3QgZGV2aWNl X2F0dHJpYnV0ZSAqYXR0cjsKKwljaGFyIGlkWzMyXTsKKworCWlmICghaTkxNS0+Y2xpZW50cy5y b290KQorCQlyZXR1cm4gMDsgLyogaW50ZWxfZmJkZXZfaW5pdCByZWdpc3RlcnMgYSBjbGllbnQg YmVmb3JlIHN5c2ZzICovCisKKwlmaWxlX3ByaXYtPmNsaWVudC5uYW1lID0ga3N0cmR1cCh0YXNr LT5jb21tLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWZpbGVfcHJpdi0+Y2xpZW50Lm5hbWUpCisJCWdv dG8gZXJyX25hbWU7CisKKwlzbnByaW50ZihpZCwgc2l6ZW9mKGlkKSwgIiV1Iiwgc2VyaWFsKTsK KwlmaWxlX3ByaXYtPmNsaWVudC5yb290ID0ga29iamVjdF9jcmVhdGVfYW5kX2FkZChpZCwKKwkJ CQkJCQlpOTE1LT5jbGllbnRzLnJvb3QpOworCWlmICghZmlsZV9wcml2LT5jbGllbnQucm9vdCkK KwkJZ290byBlcnJfY2xpZW50OworCisJYXR0ciA9ICZmaWxlX3ByaXYtPmNsaWVudC5hdHRyLm5h bWU7CisJc3lzZnNfYXR0cl9pbml0KCZhdHRyLT5hdHRyKTsKKwlhdHRyLT5hdHRyLm5hbWUgPSAi bmFtZSI7CisJYXR0ci0+YXR0ci5tb2RlID0gMDQ0NDsKKwlhdHRyLT5zaG93ID0gc2hvd19jbGll bnRfbmFtZTsKKworCXJldCA9IHN5c2ZzX2NyZWF0ZV9maWxlKGZpbGVfcHJpdi0+Y2xpZW50LnJv b3QsCisJCQkJKHN0cnVjdCBhdHRyaWJ1dGUgKilhdHRyKTsKKwlpZiAocmV0KQorCQlnb3RvIGVy cl9hdHRyX25hbWU7CisKKwlhdHRyID0gJmZpbGVfcHJpdi0+Y2xpZW50LmF0dHIucGlkOworCXN5 c2ZzX2F0dHJfaW5pdCgmYXR0ci0+YXR0cik7CisJYXR0ci0+YXR0ci5uYW1lID0gInBpZCI7CisJ YXR0ci0+YXR0ci5tb2RlID0gMDQ0NDsKKwlhdHRyLT5zaG93ID0gc2hvd19jbGllbnRfcGlkOwor CisJcmV0ID0gc3lzZnNfY3JlYXRlX2ZpbGUoZmlsZV9wcml2LT5jbGllbnQucm9vdCwKKwkJCQko c3RydWN0IGF0dHJpYnV0ZSAqKWF0dHIpOworCWlmIChyZXQpCisJCWdvdG8gZXJyX2F0dHJfcGlk OworCisJZmlsZV9wcml2LT5jbGllbnQucGlkID0gcGlkX25yKGdldF90YXNrX3BpZCh0YXNrLCBQ SURUWVBFX1BJRCkpOworCisJcmV0dXJuIDA7CisKK2Vycl9hdHRyX3BpZDoKKwlzeXNmc19yZW1v dmVfZmlsZShmaWxlX3ByaXYtPmNsaWVudC5yb290LAorCQkJICAoc3RydWN0IGF0dHJpYnV0ZSAq KSZmaWxlX3ByaXYtPmNsaWVudC5hdHRyLm5hbWUpOworZXJyX2F0dHJfbmFtZToKKwlrb2JqZWN0 X3B1dChmaWxlX3ByaXYtPmNsaWVudC5yb290KTsKK2Vycl9jbGllbnQ6CisJa2ZyZWUoZmlsZV9w cml2LT5jbGllbnQubmFtZSk7CitlcnJfbmFtZToKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMg dm9pZCBpOTE1X2dlbV9yZW1vdmVfY2xpZW50KHN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUg KmZpbGVfcHJpdikKK3sKKwlpZiAoIWZpbGVfcHJpdi0+Y2xpZW50Lm5hbWUpCisJCXJldHVybjsg LyogaW50ZWxfZmJkZXZfaW5pdCByZWdpc3RlcnMgYSBjbGllbnQgYmVmb3JlIHN5c2ZzICovCisK KwlzeXNmc19yZW1vdmVfZmlsZShmaWxlX3ByaXYtPmNsaWVudC5yb290LAorCQkJICAoc3RydWN0 IGF0dHJpYnV0ZSAqKSZmaWxlX3ByaXYtPmNsaWVudC5hdHRyLnBpZCk7CisJc3lzZnNfcmVtb3Zl X2ZpbGUoZmlsZV9wcml2LT5jbGllbnQucm9vdCwKKwkJCSAgKHN0cnVjdCBhdHRyaWJ1dGUgKikm ZmlsZV9wcml2LT5jbGllbnQuYXR0ci5uYW1lKTsKKwlrb2JqZWN0X3B1dChmaWxlX3ByaXYtPmNs aWVudC5yb290KTsKKwlrZnJlZShmaWxlX3ByaXYtPmNsaWVudC5uYW1lKTsKK30KKwogdm9pZCBp OTE1X2dlbV9yZWxlYXNlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAq ZmlsZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlICpmaWxlX3ByaXYgPSBmaWxl LT5kcml2ZXJfcHJpdjsKQEAgLTE1MDUsMzMgKzE1OTgsNDggQEAgdm9pZCBpOTE1X2dlbV9yZWxl YXNlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKIAlsaXN0 X2Zvcl9lYWNoX2VudHJ5KHJlcXVlc3QsICZmaWxlX3ByaXYtPm1tLnJlcXVlc3RfbGlzdCwgY2xp ZW50X2xpbmspCiAJCXJlcXVlc3QtPmZpbGVfcHJpdiA9IE5VTEw7CiAJc3Bpbl91bmxvY2soJmZp bGVfcHJpdi0+bW0ubG9jayk7CisKKwlpOTE1X2dlbV9yZW1vdmVfY2xpZW50KGZpbGVfcHJpdik7 CiB9CiAKIGludCBpOTE1X2dlbV9vcGVuKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCBz dHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCiB7CisJaW50IHJldCA9IC1FTk9NRU07CiAJc3RydWN0IGRy bV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2OwotCWludCByZXQ7CiAKIAlEUk1fREVCVUco IlxuIik7CiAKIAlmaWxlX3ByaXYgPSBremFsbG9jKHNpemVvZigqZmlsZV9wcml2KSwgR0ZQX0tF Uk5FTCk7CiAJaWYgKCFmaWxlX3ByaXYpCi0JCXJldHVybiAtRU5PTUVNOworCQlnb3RvIGVycl9h bGxvYzsKKworCWZpbGVfcHJpdi0+Y2xpZW50LmlkID0gYXRvbWljX2luY19yZXR1cm4oJmk5MTUt PmNsaWVudHMuc2VyaWFsKTsKKwlyZXQgPSBpOTE1X2dlbV9hZGRfY2xpZW50KGk5MTUsIGZpbGVf cHJpdiwgY3VycmVudCwKKwkJCQkgIGZpbGVfcHJpdi0+Y2xpZW50LmlkKTsKKwlpZiAocmV0KQor CQlnb3RvIGVycl9jbGllbnQ7CiAKIAlmaWxlLT5kcml2ZXJfcHJpdiA9IGZpbGVfcHJpdjsKKwly ZXQgPSBpOTE1X2dlbV9jb250ZXh0X29wZW4oaTkxNSwgZmlsZSk7CisJaWYgKHJldCkKKwkJZ290 byBlcnJfY29udGV4dDsKKwogCWZpbGVfcHJpdi0+ZGV2X3ByaXYgPSBpOTE1OwogCWZpbGVfcHJp di0+ZmlsZSA9IGZpbGU7CisJZmlsZV9wcml2LT5ic2RfZW5naW5lID0gLTE7CisJZmlsZV9wcml2 LT5oYW5nX3RpbWVzdGFtcCA9IGppZmZpZXM7CiAKIAlzcGluX2xvY2tfaW5pdCgmZmlsZV9wcml2 LT5tbS5sb2NrKTsKIAlJTklUX0xJU1RfSEVBRCgmZmlsZV9wcml2LT5tbS5yZXF1ZXN0X2xpc3Qp OwogCi0JZmlsZV9wcml2LT5ic2RfZW5naW5lID0gLTE7Ci0JZmlsZV9wcml2LT5oYW5nX3RpbWVz dGFtcCA9IGppZmZpZXM7Ci0KLQlyZXQgPSBpOTE1X2dlbV9jb250ZXh0X29wZW4oaTkxNSwgZmls ZSk7Ci0JaWYgKHJldCkKLQkJa2ZyZWUoZmlsZV9wcml2KTsKKwlyZXR1cm4gMDsKIAorZXJyX2Nv bnRleHQ6CisJaTkxNV9nZW1fcmVtb3ZlX2NsaWVudChmaWxlX3ByaXYpOworZXJyX2NsaWVudDoK KwlhdG9taWNfZGVjKCZpOTE1LT5jbGllbnRzLnNlcmlhbCk7CisJa2ZyZWUoZmlsZV9wcml2KTsK K2Vycl9hbGxvYzoKIAlyZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3N5c2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMK aW5kZXggYmYwMzliOGJhNTkzLi5hOWYyN2Y0ZmMyNDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfc3lzZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5 c2ZzLmMKQEAgLTU3NCw2ICs1NzQsMTEgQEAgdm9pZCBpOTE1X3NldHVwX3N5c2ZzKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlzdHJ1Y3QgZGV2aWNlICprZGV2ID0gZGV2X3By aXYtPmRybS5wcmltYXJ5LT5rZGV2OwogCWludCByZXQ7CiAKKwlkZXZfcHJpdi0+Y2xpZW50cy5y b290ID0KKwkJa29iamVjdF9jcmVhdGVfYW5kX2FkZCgiY2xpZW50cyIsICZrZGV2LT5rb2JqKTsK KwlpZiAoIWRldl9wcml2LT5jbGllbnRzLnJvb3QpCisJCURSTV9FUlJPUigiUGVyLWNsaWVudCBz eXNmcyBzZXR1cCBmYWlsZWRcbiIpOworCiAjaWZkZWYgQ09ORklHX1BNCiAJaWYgKEhBU19SQzYo ZGV2X3ByaXYpKSB7CiAJCXJldCA9IHN5c2ZzX21lcmdlX2dyb3VwKCZrZGV2LT5rb2JqLApAQCAt NjM0LDQgKzYzOSw3IEBAIHZvaWQgaTkxNV90ZWFyZG93bl9zeXNmcyhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpCiAJc3lzZnNfdW5tZXJnZV9ncm91cCgma2Rldi0+a29iaiwgJnJj Nl9hdHRyX2dyb3VwKTsKIAlzeXNmc191bm1lcmdlX2dyb3VwKCZrZGV2LT5rb2JqLCAmcmM2cF9h dHRyX2dyb3VwKTsKICNlbmRpZgorCisJaWYgKGRldl9wcml2LT5jbGllbnRzLnJvb3QpCisJCWtv YmplY3RfcHV0KGRldl9wcml2LT5jbGllbnRzLnJvb3QpOwogfQotLSAKMi4yMC4xCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=