From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Subject: [PATCH libdrm 6/9] amdgpu: Re-use an existing amdgpu_device when possible Date: Mon, 24 Jun 2019 18:54:03 +0200 Message-ID: <20190624165406.13682-7-michel@daenzer.net> References: <20190624165406.13682-1-michel@daenzer.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190624165406.13682-1-michel@daenzer.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: amd-gfx@lists.freedesktop.org Cc: Emil Velikov , dri-devel@lists.freedesktop.org List-Id: amd-gfx.lists.freedesktop.org RnJvbTogTWljaGVsIETDpG56ZXIgPG1pY2hlbC5kYWVuemVyQGFtZC5jb20+CgpJdCdzIHBvc3Np YmxlIGlmIGFtZGdwdV9kZXZpY2UncyB1c2VyX2ZkIHJlZmVyZW5jZXMgdGhlIHNhbWUgZmlsZQpk ZXNjcmlwdGlvbiBhcyB0aGUgZmQgcGFzc2VkIHRvIGFtZGdwdV9kZXZpY2VfaW5pdGlhbGl6ZS4K ClNpZ25lZC1vZmYtYnk6IE1pY2hlbCBEw6RuemVyIDxtaWNoZWwuZGFlbnplckBhbWQuY29tPgot LS0KIGFtZGdwdS9hbWRncHVfZGV2aWNlLmMgICB8IDc2ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0KIGFtZGdwdS9hbWRncHVfaW50ZXJuYWwuaCB8ICAzICstCiAyIGZp bGVzIGNoYW5nZWQsIDU4IGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMgYi9hbWRncHUvYW1kZ3B1X2RldmljZS5jCmluZGV4 IGFiZjVmOTQyLi44ZDlhODVjMiAxMDA2NDQKLS0tIGEvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYwor KysgYi9hbWRncHUvYW1kZ3B1X2RldmljZS5jCkBAIC0yOCw2ICsyOCwxMSBAQAogICoKICAqLwog CisjaWZkZWYgX19saW51eF9fCisjaW5jbHVkZSA8bGludXgva2NtcC5oPgorI2luY2x1ZGUgPHN5 cy9zeXNjYWxsLmg+CisjZW5kaWYKKwogI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CiAjaW5jbHVkZSA8 ZXJybm8uaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KQEAgLTQ0LDcgKzQ5LDcgQEAKICNkZWZpbmUg UFRSX1RPX1VJTlQoeCkgKCh1bnNpZ25lZCkoKGludHB0cl90KSh4KSkpCiAKIHN0YXRpYyBwdGhy ZWFkX211dGV4X3QgZGV2X211dGV4ID0gUFRIUkVBRF9NVVRFWF9JTklUSUFMSVpFUjsKLXN0YXRp YyBzdHJ1Y3QgYW1kZ3B1X2NvcmVfZGV2aWNlICpkZXZfbGlzdDsKK3N0YXRpYyBhbWRncHVfZGV2 aWNlX2hhbmRsZSBkZXZfbGlzdDsKIAogc3RhdGljIGludCBmZF9jb21wYXJlKGludCBmZDEsIGlu dCBmZDIpCiB7CkBAIC02NywxMiArNzIsNiBAQCBzdGF0aWMgaW50IGZkX2NvbXBhcmUoaW50IGZk MSwgaW50IGZkMikKIAogc3RhdGljIHZvaWQgYW1kZ3B1X2RldmljZV9mcmVlKHN0cnVjdCBhbWRn cHVfY29yZV9kZXZpY2UgKmRldikKIHsKLQlzdHJ1Y3QgYW1kZ3B1X2NvcmVfZGV2aWNlICoqbm9k ZSA9ICZkZXZfbGlzdDsKLQotCXdoaWxlICgqbm9kZSAhPSBkZXYgJiYgKCpub2RlKS0+bmV4dCkK LQkJbm9kZSA9ICYoKm5vZGUpLT5uZXh0OwotCSpub2RlID0gKCpub2RlKS0+bmV4dDsKLQogCWNs b3NlKGRldi0+ZmQpOwogCiAJYW1kZ3B1X3ZhbWdyX2RlaW5pdCgmZGV2LT52YW1ncl8zMik7CkBA IC04NiwyMCArODUsMzUgQEAgc3RhdGljIHZvaWQgYW1kZ3B1X2RldmljZV9mcmVlKHN0cnVjdCBh bWRncHVfY29yZV9kZXZpY2UgKmRldikKIAlmcmVlKGRldik7CiB9CiAKK3N0YXRpYyBib29sIHNh bWVfZmlsZV9kZXNjcmlwdGlvbihpbnQgZmQxLCBpbnQgZmQyKQoreworI2lmZGVmIF9fbGludXhf XworCXBpZF90IHBpZCA9IGdldHBpZCgpOworCisJcmV0dXJuIHN5c2NhbGwoU1lTX2tjbXAsIHBp ZCwgcGlkLCBLQ01QX0ZJTEUsIGZkMSwgZmQyKSA9PSAwOworI2VuZGlmCisKKwkvKiBOT1RFOiBU aGlzIGlzIG5ldmVyIHRydWUgYXQgdGhpcyBwb2ludCwgc2luY2Ugd2UgYWx3YXlzIGR1cGxpY2F0 ZSB0aGUKKwkgKiBmZCBwYXNzZWQgdG8gYW1kZ3B1X2RldmljZV9pbml0aWFsaXplCisJICovCisJ cmV0dXJuIGZkMSA9PSBmZDI7Cit9CisKIHN0YXRpYyBpbnQgYW1kZ3B1X2RldmljZV9pbml0KGFt ZGdwdV9kZXZpY2VfaGFuZGxlIHVzZXJfZGV2KQogeworCXN0cnVjdCBhbWRncHVfZGV2aWNlICpk ZXZfaXRlcjsKIAlzdHJ1Y3QgYW1kZ3B1X2NvcmVfZGV2aWNlICpkZXY7CiAJZHJtVmVyc2lvblB0 ciB2ZXJzaW9uOwogCXVpbnQ2NF90IHN0YXJ0LCBtYXg7CiAJaW50IHI7CiAKLQlmb3IgKGRldiA9 IGRldl9saXN0OyBkZXY7IGRldiA9IGRldi0+bmV4dCkKLQkJaWYgKGZkX2NvbXBhcmUoZGV2LT5m ZCwgdXNlcl9kZXYtPnVzZXJfZmQpID09IDApCisJZm9yIChkZXZfaXRlciA9IGRldl9saXN0OyBk ZXZfaXRlcjsgZGV2X2l0ZXIgPSBkZXZfaXRlci0+bmV4dCkKKwkJaWYgKGZkX2NvbXBhcmUoZGV2 X2l0ZXItPmNvcmUtPmZkLCB1c2VyX2Rldi0+dXNlcl9mZCkgPT0gMCkKIAkJCWJyZWFrOwogCi0J aWYgKGRldikgewotCQlhdG9taWNfaW5jKCZkZXYtPnJlZmNvdW50KTsKLQkJdXNlcl9kZXYtPmNv cmUgPSBkZXY7CisJaWYgKGRldl9pdGVyKSB7CisJCWF0b21pY19pbmMoJmRldl9pdGVyLT5jb3Jl LT5yZWZjb3VudCk7CisJCXVzZXJfZGV2LT5jb3JlID0gZGV2X2l0ZXItPmNvcmU7CiAJCXJldHVy biAwOwogCX0KIApAQCAtMTE1LDkgKzEyOSw2IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2RldmljZV9p bml0KGFtZGdwdV9kZXZpY2VfaGFuZGxlIHVzZXJfZGV2KQogCWRldi0+ZmQgPSB1c2VyX2Rldi0+ dXNlcl9mZDsKIAl1c2VyX2Rldi0+Y29yZSA9IGRldjsKIAotCWRldi0+bmV4dCA9IGRldl9saXN0 OwotCWRldl9saXN0ID0gZGV2OwotCiAJdmVyc2lvbiA9IGRybUdldFZlcnNpb24oZGV2LT5mZCk7 CiAJaWYgKHZlcnNpb24tPnZlcnNpb25fbWFqb3IgIT0gMykgewogCQlmcHJpbnRmKHN0ZGVyciwg IiVzOiBEUk0gdmVyc2lvbiBpcyAlZC4lZC4lZCBidXQgdGhpcyBkcml2ZXIgaXMgIgpAQCAtMTg0 LDYgKzE5NSwxNyBAQCBkcm1fcHVibGljIGludCBhbWRncHVfZGV2aWNlX2luaXRpYWxpemUoaW50 IGZkLAogCiAJKmRldmljZV9oYW5kbGUgPSBOVUxMOwogCisJcHRocmVhZF9tdXRleF9sb2NrKCZk ZXZfbXV0ZXgpOworCisJZm9yICh1c2VyX2RldiA9IGRldl9saXN0OyB1c2VyX2RldjsgdXNlcl9k ZXYgPSB1c2VyX2Rldi0+bmV4dCkgeworCQlpZiAoc2FtZV9maWxlX2Rlc2NyaXB0aW9uKHVzZXJf ZGV2LT51c2VyX2ZkLCBmZCkpIHsKKwkJCWF0b21pY19pbmMoJnVzZXJfZGV2LT5yZWZjb3VudCk7 CisJCQlnb3RvIG91dDsKKwkJfQorCX0KKworCXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZkZXZfbXV0 ZXgpOworCiAJdXNlcl9kZXYgPSBjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBhbWRncHVfZGV2aWNl KSk7CiAJaWYgKCF1c2VyX2RldikgewogCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiBjYWxsb2MgZmFp bGVkXG4iLCBfX2Z1bmNfXyk7CkBAIC0yMTEsNiArMjMzLDExIEBAIGRybV9wdWJsaWMgaW50IGFt ZGdwdV9kZXZpY2VfaW5pdGlhbGl6ZShpbnQgZmQsCiAJCWdvdG8gY2xlYW51cDsKIAl9CiAKKwlh dG9taWNfc2V0KCZ1c2VyX2Rldi0+cmVmY291bnQsIDEpOworCXVzZXJfZGV2LT5uZXh0ID0gZGV2 X2xpc3Q7CisJZGV2X2xpc3QgPSB1c2VyX2RldjsKKworb3V0OgogCSptYWpvcl92ZXJzaW9uID0g dXNlcl9kZXYtPmNvcmUtPm1ham9yX3ZlcnNpb247CiAJKm1pbm9yX3ZlcnNpb24gPSB1c2VyX2Rl di0+Y29yZS0+bWlub3JfdmVyc2lvbjsKIAkqZGV2aWNlX2hhbmRsZSA9IHVzZXJfZGV2OwpAQCAt MjM0LDE0ICsyNjEsMjMgQEAgZHJtX3B1YmxpYyBpbnQgYW1kZ3B1X2RldmljZV9kZWluaXRpYWxp emUoYW1kZ3B1X2RldmljZV9oYW5kbGUgdXNlcl9kZXYpCiAKIAlwdGhyZWFkX211dGV4X2xvY2so JmRldl9tdXRleCk7CiAKLQlpZiAodXNlcl9kZXYtPnVzZXJfZmQgIT0gZGV2LT5mZCkKLQkJY2xv c2UodXNlcl9kZXYtPnVzZXJfZmQpOworCWlmICh1cGRhdGVfcmVmZXJlbmNlcygmdXNlcl9kZXYt PnJlZmNvdW50LCBOVUxMKSkgeworCQlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqKm5vZGUgPSAmZGV2 X2xpc3Q7CiAKLQlpZiAodXBkYXRlX3JlZmVyZW5jZXMoJmRldi0+cmVmY291bnQsIE5VTEwpKQot CQlhbWRncHVfZGV2aWNlX2ZyZWUoZGV2KTsKKwkJd2hpbGUgKCpub2RlICE9IHVzZXJfZGV2ICYm ICgqbm9kZSktPm5leHQpCisJCQlub2RlID0gJigqbm9kZSktPm5leHQ7CisJCSpub2RlID0gKCpu b2RlKS0+bmV4dDsKKworCQlpZiAodXNlcl9kZXYtPnVzZXJfZmQgIT0gZGV2LT5mZCkKKwkJCWNs b3NlKHVzZXJfZGV2LT51c2VyX2ZkKTsKKworCQlpZiAodXBkYXRlX3JlZmVyZW5jZXMoJmRldi0+ cmVmY291bnQsIE5VTEwpKQorCQkJYW1kZ3B1X2RldmljZV9mcmVlKGRldik7CisKKwkJZnJlZSh1 c2VyX2Rldik7CisJfQogCiAJcHRocmVhZF9tdXRleF91bmxvY2soJmRldl9tdXRleCk7Ci0JZnJl ZSh1c2VyX2Rldik7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2FtZGdwdS9hbWRncHVf aW50ZXJuYWwuaCBiL2FtZGdwdS9hbWRncHVfaW50ZXJuYWwuaAppbmRleCBhMDhhNGFlOC4uNjg2 ZDUwZWMgMTAwNjQ0Ci0tLSBhL2FtZGdwdS9hbWRncHVfaW50ZXJuYWwuaAorKysgYi9hbWRncHUv YW1kZ3B1X2ludGVybmFsLmgKQEAgLTcwLDcgKzcwLDYgQEAgc3RydWN0IGFtZGdwdV9jb3JlX2Rl dmljZSB7CiAJdW5zaWduZWQgbWFqb3JfdmVyc2lvbjsKIAl1bnNpZ25lZCBtaW5vcl92ZXJzaW9u OwogCi0Jc3RydWN0IGFtZGdwdV9jb3JlX2RldmljZSAqbmV4dDsKIAljaGFyICptYXJrZXRpbmdf bmFtZTsKIAkvKiogTGlzdCBvZiBidWZmZXIgaGFuZGxlcy4gUHJvdGVjdGVkIGJ5IGJvX3RhYmxl X211dGV4LiAqLwogCXN0cnVjdCBoYW5kbGVfdGFibGUgYm9faGFuZGxlczsKQEAgLTkxLDggKzkw LDEwIEBAIHN0cnVjdCBhbWRncHVfY29yZV9kZXZpY2UgewogfTsKIAogc3RydWN0IGFtZGdwdV9k ZXZpY2UgeworCWF0b21pY190IHJlZmNvdW50OwogCWludCB1c2VyX2ZkOwogCXN0cnVjdCBhbWRn cHVfY29yZV9kZXZpY2UgKmNvcmU7CisJc3RydWN0IGFtZGdwdV9kZXZpY2UgKm5leHQ7CiB9Owog CiBzdHJ1Y3QgYW1kZ3B1X2NvcmVfYm8gewotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1k ZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=