From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kenny Ho Subject: [PATCH RFC 2/5] cgroup: Add mechanism to register vendor specific DRM devices Date: Tue, 20 Nov 2018 13:58:11 -0500 Message-ID: <20181120185814.13362-3-Kenny.Ho@amd.com> References: <20181120185814.13362-1-Kenny.Ho@amd.com> Mime-Version: 1.0 Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181120185814.13362-1-Kenny.Ho-5C7GfCeVMHo@public.gmane.org> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" Content-Type: text/plain; charset="us-ascii" To: y2kenny-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, Kenny.Ho-5C7GfCeVMHo@public.gmane.org, cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, intel-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org U2luY2UgbWFueSBwYXJ0cyBvZiB0aGUgRFJNIHN1YnN5c3RlbSBoYXMgdmVuZG9yLXNwZWNpZmlj CmltcGxlbWVudGF0aW9ucywgd2UgaW50cm9kdWNlIG1lY2hhbmlzbXMgZm9yIHZlbmRvciB0byBy ZWdpc3RlciB0aGVpcgpzcGVjaWZpYyByZXNvdXJjZXMgYW5kIGNvbnRyb2wgZmlsZXMgdG8gdGhl IERSTSBjZ3JvdXAgc3Vic3lzdGVtLiAgQQp2ZW5kb3Igd2lsbCByZWdpc3RlciBpdHNlbGYgd2l0 aCB0aGUgRFJNIGNncm91cCBzdWJzeXN0ZW0gZmlyc3QgYmVmb3JlCnJlZ2lzdGVyaW5nIGluZGl2 aWR1YWwgRFJNIGRldmljZXMgdG8gdGhlIGNncm91cCBzdWJzeXN0ZW0uCgpJbiBhZGRpdGlvbiB0 byB0aGUgY2dyb3VwX3N1YnN5c19zdGF0ZSB0aGF0IGlzIGNvbW1vbiB0byBhbGwgRFJNCmRldmlj ZXMsIGEgZGV2aWNlLXNwZWNpZmljIHN0YXRlIGlzIGludHJvZHVjZWQgYW5kIGl0IGlzIGFsbG9j YXRlZAphY2NvcmRpbmcgdG8gdGhlIHZlbmRvciBvZiB0aGUgZGV2aWNlLgoKQ2hhbmdlLUlkOiBJ OTA4ZWU2OTc1ZWEwNTg1ZTRjMzBlYWZkZTQ1OTlmODcwOTRkOGM2NQpTaWduZWQtb2ZmLWJ5OiBL ZW5ueSBIbyA8S2VubnkuSG9AYW1kLmNvbT4KLS0tCiBpbmNsdWRlL2RybS9kcm1fY2dyb3VwLmgg ICAgICB8IDM5ICsrKysrKysrKysrKysrKysKIGluY2x1ZGUvZHJtL2RybWNncnBfdmVuZG9ycy5o IHwgIDcgKysrCiBpbmNsdWRlL2xpbnV4L2Nncm91cF9kcm0uaCAgICB8IDI2ICsrKysrKysrKysr CiBrZXJuZWwvY2dyb3VwL2RybS5jICAgICAgICAgICB8IDg0ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDE1NiBpbnNlcnRpb25zKCspCiBjcmVh dGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9kcm0vZHJtX2Nncm91cC5oCiBjcmVhdGUgbW9kZSAxMDA2 NDQgaW5jbHVkZS9kcm0vZHJtY2dycF92ZW5kb3JzLmgKCmRpZmYgLS1naXQgYS9pbmNsdWRlL2Ry bS9kcm1fY2dyb3VwLmggYi9pbmNsdWRlL2RybS9kcm1fY2dyb3VwLmgKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4yNmNiZWE3MDU5YTYKLS0tIC9kZXYvbnVsbAorKysg Yi9pbmNsdWRlL2RybS9kcm1fY2dyb3VwLmgKQEAgLTAsMCArMSwzOSBAQAorLyogU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IE1JVAorICogQ29weXJpZ2h0IDIwMTggQWR2YW5jZWQgTWljcm8gRGV2 aWNlcywgSW5jLgorICovCisjaWZuZGVmIF9fRFJNX0NHUk9VUF9IX18KKyNkZWZpbmUgX19EUk1f Q0dST1VQX0hfXworCisjZGVmaW5lIERSTUNHUlBfVkVORE9SKF94KSBfeCAjIyBfZHJtY2dycF92 ZW5kb3JfaWQsCitlbnVtIGRybWNncnBfdmVuZG9yX2lkIHsKKyNpbmNsdWRlIDxkcm0vZHJtY2dy cF92ZW5kb3JzLmg+CisJRFJNQ0dSUF9WRU5ET1JfQ09VTlQsCit9OworI3VuZGVmIERSTUNHUlBf VkVORE9SCisKKyNkZWZpbmUgRFJNQ0dSUF9WRU5ET1IoX3gpIGV4dGVybiBzdHJ1Y3QgZHJtY2dy cF92ZW5kb3IgX3ggIyMgX2RybWNncnBfdmVuZG9yOworI2luY2x1ZGUgPGRybS9kcm1jZ3JwX3Zl bmRvcnMuaD4KKyN1bmRlZiBEUk1DR1JQX1ZFTkRPUgorCisKKworI2lmZGVmIENPTkZJR19DR1JP VVBfRFJNCisKK2V4dGVybiBzdHJ1Y3QgZHJtY2dycF92ZW5kb3IgKmRybWNncnBfdmVuZG9yc1td OworCitpbnQgZHJtY2dycF9yZWdpc3Rlcl92ZW5kb3Ioc3RydWN0IGRybWNncnBfdmVuZG9yICp2 ZW5kb3IsIGVudW0gZHJtY2dycF92ZW5kb3JfaWQgaWQpOworaW50IGRybWNncnBfcmVnaXN0ZXJf ZGV2aWNlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXZpY2UsIGVudW0gZHJtY2dycF92ZW5kb3JfaWQg aWQpOworCisjZWxzZQorc3RhdGljIGludCBkcm1jZ3JwX3JlZ2lzdGVyX3ZlbmRvcihzdHJ1Y3Qg ZHJtY2dycF92ZW5kb3IgKnZlbmRvciwgZW51bSBkcm1jZ3JwX3ZlbmRvcl9pZCBpZCkKK3sKKwly ZXR1cm4gMDsKK30KKworc3RhdGljIGludCBkcm1jZ3JwX3JlZ2lzdGVyX2RldmljZShzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2aWNlLCBlbnVtIGRybWNncnBfdmVuZG9yX2lkIGlkKQoreworCXJldHVy biAwOworfQorCisjZW5kaWYgLyogQ09ORklHX0NHUk9VUF9EUk0gKi8KKyNlbmRpZiAvKiBfX0RS TV9DR1JPVVBfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1jZ3JwX3ZlbmRvcnMu aCBiL2luY2x1ZGUvZHJtL2RybWNncnBfdmVuZG9ycy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwMC4uYjA0ZDg2NDk4NTFiCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVk ZS9kcm0vZHJtY2dycF92ZW5kb3JzLmgKQEAgLTAsMCArMSw3IEBACisvKiBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogTUlUCisgKiBDb3B5cmlnaHQgMjAxOCBBZHZhbmNlZCBNaWNybyBEZXZpY2Vz LCBJbmMuCisgKi8KKyNpZiBJU19FTkFCTEVEKENPTkZJR19DR1JPVVBfRFJNKQorCisKKyNlbmRp ZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9jZ3JvdXBfZHJtLmggYi9pbmNsdWRlL2xpbnV4 L2Nncm91cF9kcm0uaAppbmRleCA3OWFiMzhiMGY0NmQuLmE3NzY2NjJkOTU5MyAxMDA2NDQKLS0t IGEvaW5jbHVkZS9saW51eC9jZ3JvdXBfZHJtLmgKKysrIGIvaW5jbHVkZS9saW51eC9jZ3JvdXBf ZHJtLmgKQEAgLTYsMTAgKzYsMzYgQEAKIAogI2lmZGVmIENPTkZJR19DR1JPVVBfRFJNCiAKKyNp bmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGxpbnV4L2Nncm91cC5oPgorI2luY2x1 ZGUgPGRybS9kcm1fZmlsZS5oPgorI2luY2x1ZGUgPGRybS9kcm1fY2dyb3VwLmg+CisKKy8qIGxp bWl0IGRlZmluZWQgcGVyIHRoZSB3YXkgZHJtX21pbm9yX2FsbG9jIG9wZXJhdGVzICovCisjZGVm aW5lIE1BWF9EUk1fREVWICg2NCAqIERSTV9NSU5PUl9SRU5ERVIpCisKK3N0cnVjdCBkcm1jZ3Jw X2RldmljZSB7CisJZW51bSBkcm1jZ3JwX3ZlbmRvcl9pZAl2aWQ7CisJc3RydWN0IGRybV9kZXZp Y2UJKmRldjsKKwlzdHJ1Y3QgbXV0ZXgJCW11dGV4OworfTsKKworLyogdmVuZG9yLWNvbW1vbiBy ZXNvdXJjZSBjb3VudGluZyBnb2VzIGhlcmUgKi8KKy8qIHRoaXMgc3RydWN0IHNob3VsZCBiZSBp bmNsdWRlZCBpbiB0aGUgdmVuZG9yIHNwZWNpZmljIHJlc291cmNlICovCitzdHJ1Y3QgZHJtY2dy cF9kZXZpY2VfcmVzb3VyY2UgeworCXN0cnVjdCBkcm1jZ3JwX2RldmljZQkqZGRldjsKK307CisK K3N0cnVjdCBkcm1jZ3JwX3ZlbmRvciB7CisJc3RydWN0IGNmdHlwZSAqKCpnZXRfY2Z0eXBlcyko dm9pZCk7CisJc3RydWN0IGRybWNncnBfZGV2aWNlX3Jlc291cmNlICooKmFsbG9jX2Rldl9yZXNv dXJjZSkodm9pZCk7CisJdm9pZCAoKmZyZWVfZGV2X3Jlc291cmNlKShzdHJ1Y3QgZHJtY2dycF9k ZXZpY2VfcmVzb3VyY2UgKmRldl9yZXNvdXJjZSk7Cit9OworCiAKIHN0cnVjdCBkcm1jZ3JwIHsK IAlzdHJ1Y3QgY2dyb3VwX3N1YnN5c19zdGF0ZQljc3M7CisJc3RydWN0IGRybWNncnBfZGV2aWNl X3Jlc291cmNlCSpkZXZfcmVzb3VyY2VzW01BWF9EUk1fREVWXTsKIH07CiAKIHN0YXRpYyBpbmxp bmUgc3RydWN0IGRybWNncnAgKmNzc19kcm1jZ3JwKHN0cnVjdCBjZ3JvdXBfc3Vic3lzX3N0YXRl ICpjc3MpCmRpZmYgLS1naXQgYS9rZXJuZWwvY2dyb3VwL2RybS5jIGIva2VybmVsL2Nncm91cC9k cm0uYwppbmRleCBkOWUxOTRiOWFlYWQuLmY5NjMwY2MzODliYyAxMDA2NDQKLS0tIGEva2VybmVs L2Nncm91cC9kcm0uYworKysgYi9rZXJuZWwvY2dyb3VwL2RybS5jCkBAIC0xLDggKzEsMzAgQEAK IC8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQKIC8vIENvcHlyaWdodCAyMDE4IEFkdmFu Y2VkIE1pY3JvIERldmljZXMsIEluYy4KKyNpbmNsdWRlIDxsaW51eC9leHBvcnQuaD4KICNpbmNs dWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvY2dyb3VwLmg+CisjaW5jbHVkZSA8 bGludXgvZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgorI2luY2x1ZGUgPGxpbnV4 L211dGV4Lmg+CiAjaW5jbHVkZSA8bGludXgvY2dyb3VwX2RybS5oPgorI2luY2x1ZGUgPGRybS9k cm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8ZHJtL2RybV9jZ3JvdXAuaD4KKworLyogZ2VuZXJhdGUg YW4gYXJyYXkgb2YgZHJtIGNncm91cCB2ZW5kb3IgcG9pbnRlcnMgKi8KKyNkZWZpbmUgRFJNQ0dS UF9WRU5ET1IoX3gpW194ICMjIF9kcm1jZ3JwX3ZlbmRvcl9pZF0gPSBOVUxMLAorc3RydWN0IGRy bWNncnBfdmVuZG9yICpkcm1jZ3JwX3ZlbmRvcnNbXSA9IHsKKyNpbmNsdWRlIDxkcm0vZHJtY2dy cF92ZW5kb3JzLmg+Cit9OworI3VuZGVmIERSTUNHUlBfVkVORE9SCitFWFBPUlRfU1lNQk9MKGRy bWNncnBfdmVuZG9ycyk7CisKK3N0YXRpYyBERUZJTkVfTVVURVgoZHJtY2dycF9tdXRleCk7CisK Ky8qIGluZGV4ZWQgYnkgZHJtX21pbm9yIGZvciBhY2Nlc3Mgc3BlZWQgKi8KK3N0YXRpYyBzdHJ1 Y3QgZHJtY2dycF9kZXZpY2UJKmtub3duX2RybWNncnBfZGV2c1tNQVhfRFJNX0RFVl07CisKK3N0 YXRpYyBpbnQgbWF4X21pbm9yOworCiAKIHN0YXRpYyB1NjQgZHJtY2dycF90ZXN0X3JlYWQoc3Ry dWN0IGNncm91cF9zdWJzeXNfc3RhdGUgKmNzcywKIAkJCQkJc3RydWN0IGNmdHlwZSAqY2Z0KQpA QCAtMTMsNiArMzUsMTIgQEAgc3RhdGljIHU2NCBkcm1jZ3JwX3Rlc3RfcmVhZChzdHJ1Y3QgY2dy b3VwX3N1YnN5c19zdGF0ZSAqY3NzLAogc3RhdGljIHZvaWQgZHJtY2dycF9jc3NfZnJlZShzdHJ1 Y3QgY2dyb3VwX3N1YnN5c19zdGF0ZSAqY3NzKQogewogCXN0cnVjdCBkcm1jZ3JwICpkcm1jZ3Jw ID0gY3NzX2RybWNncnAoY3NzKTsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPD0gbWF4X21p bm9yOyBpKyspIHsKKwkJaWYgKGRybWNncnAtPmRldl9yZXNvdXJjZXNbaV0gIT0gTlVMTCkKKwkJ CWRybWNncnBfdmVuZG9yc1trbm93bl9kcm1jZ3JwX2RldnNbaV0tPnZpZF0tPmZyZWVfZGV2X3Jl c291cmNlKGRybWNncnAtPmRldl9yZXNvdXJjZXNbaV0pOworCX0KIAogCWtmcmVlKGNzc19kcm1j Z3JwKGNzcykpOwogfQpAQCAtMjEsMTEgKzQ5LDI3IEBAIHN0YXRpYyBzdHJ1Y3QgY2dyb3VwX3N1 YnN5c19zdGF0ZSAqCiBkcm1jZ3JwX2Nzc19hbGxvYyhzdHJ1Y3QgY2dyb3VwX3N1YnN5c19zdGF0 ZSAqcGFyZW50X2NzcykKIHsKIAlzdHJ1Y3QgZHJtY2dycCAqZHJtY2dycDsKKwlpbnQgaTsKIAog CWRybWNncnAgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgZHJtY2dycCksIEdGUF9LRVJORUwpOwog CWlmICghZHJtY2dycCkKIAkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CiAKKwlmb3IgKGkgPSAw OyBpIDw9IG1heF9taW5vcjsgaSsrKSB7CisJCWlmIChrbm93bl9kcm1jZ3JwX2RldnNbaV0gIT0g TlVMTCkgeworCQkJc3RydWN0IGRybWNncnBfZGV2aWNlX3Jlc291cmNlICpkZHIgPQorCQkJCWRy bWNncnBfdmVuZG9yc1trbm93bl9kcm1jZ3JwX2RldnNbaV0tPnZpZF0tPmFsbG9jX2Rldl9yZXNv dXJjZSgpOworCisJCQlpZiAoSVNfRVJSKGRkcikpIHsKKwkJCQlkcm1jZ3JwX2Nzc19mcmVlKCZk cm1jZ3JwLT5jc3MpOworCQkJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOworCQkJfQorCisJCQlk cm1jZ3JwLT5kZXZfcmVzb3VyY2VzW2ldID0gZGRyOworCQkJZHJtY2dycC0+ZGV2X3Jlc291cmNl c1tpXS0+ZGRldiA9IGtub3duX2RybWNncnBfZGV2c1tpXTsKKwkJfQorCX0KKwogCXJldHVybiAm ZHJtY2dycC0+Y3NzOwogfQogCkBAIC00NCwzICs4OCw0MyBAQCBzdHJ1Y3QgY2dyb3VwX3N1YnN5 cyBkcm1fY2dycF9zdWJzeXMgPSB7CiAJLmxlZ2FjeV9jZnR5cGVzCT0gZmlsZXMsCiAJLmRmbF9j ZnR5cGVzCT0gZmlsZXMsCiB9OworCitpbnQgZHJtY2dycF9yZWdpc3Rlcl92ZW5kb3Ioc3RydWN0 IGRybWNncnBfdmVuZG9yICp2ZW5kb3IsIGVudW0gZHJtY2dycF92ZW5kb3JfaWQgaWQpCit7CisJ aW50IHJjID0gMDsKKwlzdHJ1Y3QgY2Z0eXBlICpjZnRzOworCisJLy8gVE9ETzogcm9vdCBjc3Mg Y3JlYXRlZCBiZWZvcmUgYW55IHJlZ2lzdHJhdGlvbgorCWlmIChkcm1jZ3JwX3ZlbmRvcnNbaWRd ID09IE5VTEwpIHsKKwkJZHJtY2dycF92ZW5kb3JzW2lkXSA9IHZlbmRvcjsKKwkJY2Z0cyA9IHZl bmRvci0+Z2V0X2NmdHlwZXMoKTsKKwkJaWYgKGNmdHMgIT0gTlVMTCkKKwkJCXJjID0gY2dyb3Vw X2FkZF9sZWdhY3lfY2Z0eXBlcygmZHJtX2NncnBfc3Vic3lzLCBjZnRzKTsKKwl9CisJcmV0dXJu IHJjOworfQorRVhQT1JUX1NZTUJPTChkcm1jZ3JwX3JlZ2lzdGVyX3ZlbmRvcik7CisKKworaW50 IGRybWNncnBfcmVnaXN0ZXJfZGV2aWNlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGVudW0gZHJt Y2dycF92ZW5kb3JfaWQgaWQpCit7CisJc3RydWN0IGRybWNncnBfZGV2aWNlICpkZGV2OworCisJ ZGRldiA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBkcm1jZ3JwX2RldmljZSksIEdGUF9LRVJORUwp OworCWlmICghZGRldikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwltdXRleF9sb2NrKCZkcm1jZ3Jw X211dGV4KTsKKworCWRkZXYtPnZpZCA9IGlkOworCWRkZXYtPmRldiA9IGRldjsKKwltdXRleF9p bml0KCZkZGV2LT5tdXRleCk7CisKKwlrbm93bl9kcm1jZ3JwX2RldnNbZGV2LT5wcmltYXJ5LT5p bmRleF0gPSBkZGV2OworCisJbWF4X21pbm9yID0gbWF4KG1heF9taW5vciwgZGV2LT5wcmltYXJ5 LT5pbmRleCk7CisKKwltdXRleF91bmxvY2soJmRybWNncnBfbXV0ZXgpOworCXJldHVybiAwOwor fQorRVhQT1JUX1NZTUJPTChkcm1jZ3JwX3JlZ2lzdGVyX2RldmljZSk7Ci0tIAoyLjE5LjEKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFp bGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=