From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kenny Ho Subject: [RFC PATCH v3 02/11] cgroup: Add mechanism to register DRM devices Date: Wed, 26 Jun 2019 11:05:13 -0400 Message-ID: <20190626150522.11618-3-Kenny.Ho@amd.com> References: <20190626150522.11618-1-Kenny.Ho@amd.com> Mime-Version: 1.0 Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190626150522.11618-1-Kenny.Ho@amd.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Content-Type: text/plain; charset="us-ascii" To: y2kenny@gmail.com, cgroups@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, tj@kernel.org, alexander.deucher@amd.com, christian.koenig@amd.com, joseph.greathouse@amd.com, jsparks@cray.com, lkaplan@cray.com Cc: Kenny Ho Q2hhbmdlLUlkOiBJOTA4ZWU2OTc1ZWEwNTg1ZTRjMzBlYWZkZTQ1OTlmODcwOTRkOGM2NQpTaWdu ZWQtb2ZmLWJ5OiBLZW5ueSBIbyA8S2VubnkuSG9AYW1kLmNvbT4KLS0tCiBpbmNsdWRlL2RybS9k cm1fY2dyb3VwLmggICB8ICAyNCArKysrKysrKwogaW5jbHVkZS9saW51eC9jZ3JvdXBfZHJtLmgg fCAgMTAgKysrKwoga2VybmVsL2Nncm91cC9kcm0uYyAgICAgICAgfCAxMTYgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAxNTAgaW5zZXJ0aW9u cygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvZHJtL2RybV9jZ3JvdXAuaAoKZGlmZiAt LWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jZ3JvdXAuaCBiL2luY2x1ZGUvZHJtL2RybV9jZ3JvdXAu aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmRkYjllYWI2NDM2MAot LS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvZHJtL2RybV9jZ3JvdXAuaApAQCAtMCwwICsxLDI0 IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUCisgKiBDb3B5cmlnaHQgMjAxOSBB ZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuCisgKi8KKyNpZm5kZWYgX19EUk1fQ0dST1VQX0hf XworI2RlZmluZSBfX0RSTV9DR1JPVVBfSF9fCisKKyNpZmRlZiBDT05GSUdfQ0dST1VQX0RSTQor CitpbnQgZHJtY2dycF9yZWdpc3Rlcl9kZXZpY2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldmljZSk7 CisKK2ludCBkcm1jZ3JwX3VucmVnaXN0ZXJfZGV2aWNlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXZp Y2UpOworCisjZWxzZQorc3RhdGljIGlubGluZSBpbnQgZHJtY2dycF9yZWdpc3Rlcl9kZXZpY2Uo c3RydWN0IGRybV9kZXZpY2UgKmRldmljZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlu bGluZSBpbnQgZHJtY2dycF91bnJlZ2lzdGVyX2RldmljZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 aWNlKQoreworCXJldHVybiAwOworfQorI2VuZGlmIC8qIENPTkZJR19DR1JPVVBfRFJNICovCisj ZW5kaWYgLyogX19EUk1fQ0dST1VQX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9j Z3JvdXBfZHJtLmggYi9pbmNsdWRlL2xpbnV4L2Nncm91cF9kcm0uaAppbmRleCA5OTI4ZTYwMDM3 YTUuLjI3NDk3Zjc4NmM5MyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9jZ3JvdXBfZHJtLmgK KysrIGIvaW5jbHVkZS9saW51eC9jZ3JvdXBfZHJtLmgKQEAgLTYsMTAgKzYsMjAgQEAKIAogI2lm ZGVmIENPTkZJR19DR1JPVVBfRFJNCiAKKyNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1 ZGUgPGxpbnV4L2Nncm91cC5oPgorI2luY2x1ZGUgPGRybS9kcm1fZmlsZS5oPgorCisvKiBsaW1p dCBkZWZpbmVkIHBlciB0aGUgd2F5IGRybV9taW5vcl9hbGxvYyBvcGVyYXRlcyAqLworI2RlZmlu ZSBNQVhfRFJNX0RFViAoNjQgKiBEUk1fTUlOT1JfUkVOREVSKQorCitzdHJ1Y3QgZHJtY2dycF9k ZXZpY2VfcmVzb3VyY2UgeworCS8qIGZvciBwZXIgZGV2aWNlIHN0YXRzICovCit9OwogCiBzdHJ1 Y3QgZHJtY2dycCB7CiAJc3RydWN0IGNncm91cF9zdWJzeXNfc3RhdGUJY3NzOworCXN0cnVjdCBk cm1jZ3JwX2RldmljZV9yZXNvdXJjZQkqZGV2X3Jlc291cmNlc1tNQVhfRFJNX0RFVl07CiB9Owog CiBzdGF0aWMgaW5saW5lIHN0cnVjdCBkcm1jZ3JwICpjc3NfZHJtY2dycChzdHJ1Y3QgY2dyb3Vw X3N1YnN5c19zdGF0ZSAqY3NzKQpkaWZmIC0tZ2l0IGEva2VybmVsL2Nncm91cC9kcm0uYyBiL2tl cm5lbC9jZ3JvdXAvZHJtLmMKaW5kZXggNjZjYjFkZGEwMjNkLi43ZGE2ZTBkOTM5OTEgMTAwNjQ0 Ci0tLSBhL2tlcm5lbC9jZ3JvdXAvZHJtLmMKKysrIGIva2VybmVsL2Nncm91cC9kcm0uYwpAQCAt MSwyOCArMSw5OSBAQAogLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAogLy8gQ29weXJp Z2h0IDIwMTkgQWR2YW5jZWQgTWljcm8gRGV2aWNlcywgSW5jLgorI2luY2x1ZGUgPGxpbnV4L2V4 cG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC9jZ3JvdXAu aD4KKyNpbmNsdWRlIDxsaW51eC9mcy5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+Cisj aW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9jZ3JvdXBfZHJtLmg+Cisj aW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8ZHJtL2RybV9kZXZpY2UuaD4KKyNp bmNsdWRlIDxkcm0vZHJtX2Nncm91cC5oPgorCitzdGF0aWMgREVGSU5FX01VVEVYKGRybWNncnBf bXV0ZXgpOworCitzdHJ1Y3QgZHJtY2dycF9kZXZpY2UgeworCXN0cnVjdCBkcm1fZGV2aWNlCSpk ZXY7CisJc3RydWN0IG11dGV4CQltdXRleDsKK307CisKKy8qIGluZGV4ZWQgYnkgZHJtX21pbm9y IGZvciBhY2Nlc3Mgc3BlZWQgKi8KK3N0YXRpYyBzdHJ1Y3QgZHJtY2dycF9kZXZpY2UJKmtub3du X2RybWNncnBfZGV2c1tNQVhfRFJNX0RFVl07CisKK3N0YXRpYyBpbnQgbWF4X21pbm9yOworCiAK IHN0YXRpYyBzdHJ1Y3QgZHJtY2dycCAqcm9vdF9kcm1jZ3JwIF9fcmVhZF9tb3N0bHk7CiAKIHN0 YXRpYyB2b2lkIGRybWNncnBfY3NzX2ZyZWUoc3RydWN0IGNncm91cF9zdWJzeXNfc3RhdGUgKmNz cykKIHsKIAlzdHJ1Y3QgZHJtY2dycCAqZHJtY2dycCA9IGNzc19kcm1jZ3JwKGNzcyk7CisJaW50 IGk7CisKKwlmb3IgKGkgPSAwOyBpIDw9IG1heF9taW5vcjsgaSsrKSB7CisJCWlmIChkcm1jZ3Jw LT5kZXZfcmVzb3VyY2VzW2ldICE9IE5VTEwpCisJCQlrZnJlZShkcm1jZ3JwLT5kZXZfcmVzb3Vy Y2VzW2ldKTsKKwl9CiAKIAlrZnJlZShkcm1jZ3JwKTsKIH0KIAorc3RhdGljIGlubGluZSBpbnQg aW5pdF9kcm1jZ3JwX3NpbmdsZShzdHJ1Y3QgZHJtY2dycCAqZHJtY2dycCwgaW50IG1pbm9yKQor eworCXN0cnVjdCBkcm1jZ3JwX2RldmljZV9yZXNvdXJjZSAqZGRyID0gZHJtY2dycC0+ZGV2X3Jl c291cmNlc1ttaW5vcl07CisKKwlpZiAoZGRyID09IE5VTEwpIHsKKwkJZGRyID0ga3phbGxvYyhz aXplb2Yoc3RydWN0IGRybWNncnBfZGV2aWNlX3Jlc291cmNlKSwKKwkJCUdGUF9LRVJORUwpOwor CisJCWlmICghZGRyKQorCQkJcmV0dXJuIC1FTk9NRU07CisKKwkJZHJtY2dycC0+ZGV2X3Jlc291 cmNlc1ttaW5vcl0gPSBkZHI7CisJfQorCisJLyogc2V0IGRlZmF1bHRzIGhlcmUgKi8KKworCXJl dHVybiAwOworfQorCitzdGF0aWMgaW5saW5lIGludCBpbml0X2RybWNncnAoc3RydWN0IGRybWNn cnAgKmRybWNncnAsIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCit7CisJaW50IHJjID0gMDsKKwlp bnQgaTsKKworCWlmIChkZXYgIT0gTlVMTCkgeworCQlyYyA9IGluaXRfZHJtY2dycF9zaW5nbGUo ZHJtY2dycCwgZGV2LT5wcmltYXJ5LT5pbmRleCk7CisJCXJldHVybiByYzsKKwl9CisKKwlmb3Ig KGkgPSAwOyBpIDw9IG1heF9taW5vcjsgaSsrKSB7CisJCXJjID0gaW5pdF9kcm1jZ3JwX3Npbmds ZShkcm1jZ3JwLCBpKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCX0KKworCXJldHVybiAw OworfQorCiBzdGF0aWMgc3RydWN0IGNncm91cF9zdWJzeXNfc3RhdGUgKgogZHJtY2dycF9jc3Nf YWxsb2Moc3RydWN0IGNncm91cF9zdWJzeXNfc3RhdGUgKnBhcmVudF9jc3MpCiB7CiAJc3RydWN0 IGRybWNncnAgKnBhcmVudCA9IGNzc19kcm1jZ3JwKHBhcmVudF9jc3MpOwogCXN0cnVjdCBkcm1j Z3JwICpkcm1jZ3JwOworCWludCByYzsKIAogCWRybWNncnAgPSBremFsbG9jKHNpemVvZihzdHJ1 Y3QgZHJtY2dycCksIEdGUF9LRVJORUwpOwogCWlmICghZHJtY2dycCkKIAkJcmV0dXJuIEVSUl9Q VFIoLUVOT01FTSk7CiAKKwlyYyA9IGluaXRfZHJtY2dycChkcm1jZ3JwLCBOVUxMKTsKKwlpZiAo cmMpIHsKKwkJZHJtY2dycF9jc3NfZnJlZSgmZHJtY2dycC0+Y3NzKTsKKwkJcmV0dXJuIEVSUl9Q VFIocmMpOworCX0KKwogCWlmICghcGFyZW50KQogCQlyb290X2RybWNncnAgPSBkcm1jZ3JwOwog CkBAIC00MCwzICsxMTEsNDggQEAgc3RydWN0IGNncm91cF9zdWJzeXMgZHJtX2NncnBfc3Vic3lz ID0gewogCS5sZWdhY3lfY2Z0eXBlcwk9IGZpbGVzLAogCS5kZmxfY2Z0eXBlcwk9IGZpbGVzLAog fTsKKworaW50IGRybWNncnBfcmVnaXN0ZXJfZGV2aWNlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp Cit7CisJc3RydWN0IGRybWNncnBfZGV2aWNlICpkZGV2OworCisJZGRldiA9IGt6YWxsb2Moc2l6 ZW9mKHN0cnVjdCBkcm1jZ3JwX2RldmljZSksIEdGUF9LRVJORUwpOworCWlmICghZGRldikKKwkJ cmV0dXJuIC1FTk9NRU07CisKKwlkZGV2LT5kZXYgPSBkZXY7CisJbXV0ZXhfaW5pdCgmZGRldi0+ bXV0ZXgpOworCisJbXV0ZXhfbG9jaygmZHJtY2dycF9tdXRleCk7CisJa25vd25fZHJtY2dycF9k ZXZzW2Rldi0+cHJpbWFyeS0+aW5kZXhdID0gZGRldjsKKwltYXhfbWlub3IgPSBtYXgobWF4X21p bm9yLCBkZXYtPnByaW1hcnktPmluZGV4KTsKKwltdXRleF91bmxvY2soJmRybWNncnBfbXV0ZXgp OworCisJLyogaW5pdCBjZ3JvdXBzIGNyZWF0ZWQgYmVmb3JlIHJlZ2lzdHJhdGlvbiAoaS5lLiBy b290IGNncm91cCkgKi8KKwlpZiAocm9vdF9kcm1jZ3JwICE9IE5VTEwpIHsKKwkJc3RydWN0IGNn cm91cF9zdWJzeXNfc3RhdGUgKnBvczsKKwkJc3RydWN0IGRybWNncnAgKmNoaWxkOworCisJCXJj dV9yZWFkX2xvY2soKTsKKwkJY3NzX2Zvcl9lYWNoX2Rlc2NlbmRhbnRfcHJlKHBvcywgJnJvb3Rf ZHJtY2dycC0+Y3NzKSB7CisJCQljaGlsZCA9IGNzc19kcm1jZ3JwKHBvcyk7CisJCQlpbml0X2Ry bWNncnAoY2hpbGQsIGRldik7CisJCX0KKwkJcmN1X3JlYWRfdW5sb2NrKCk7CisJfQorCisJcmV0 dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKGRybWNncnBfcmVnaXN0ZXJfZGV2aWNlKTsKKworaW50 IGRybWNncnBfdW5yZWdpc3Rlcl9kZXZpY2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldikKK3sKKwlt dXRleF9sb2NrKCZkcm1jZ3JwX211dGV4KTsKKworCWtmcmVlKGtub3duX2RybWNncnBfZGV2c1tk ZXYtPnByaW1hcnktPmluZGV4XSk7CisJa25vd25fZHJtY2dycF9kZXZzW2Rldi0+cHJpbWFyeS0+ aW5kZXhdID0gTlVMTDsKKworCW11dGV4X3VubG9jaygmZHJtY2dycF9tdXRleCk7CisJcmV0dXJu IDA7Cit9CitFWFBPUlRfU1lNQk9MKGRybWNncnBfdW5yZWdpc3Rlcl9kZXZpY2UpOwotLSAKMi4y MS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmkt ZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=