From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: [PATCH v3 16/16] drm/nouveau: Use atomic VCPI helpers for MST Date: Wed, 2 Jan 2019 19:06:35 -0500 Message-ID: <20190103000635.13628-17-lyude@redhat.com> References: <20190103000635.13628-1-lyude@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190103000635.13628-1-lyude-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, intel-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Daniel Vetter , Jerry Zuo , David Airlie , Harry Wentland , Juston Li List-Id: nouveau.vger.kernel.org Q3VycmVudGx5LCBub3V2ZWF1IHVzZXMgdGhlIHlvbG8gbWV0aG9kIG9mIHNldHRpbmcgdXAgTVNU IGRpc3BsYXlzOiBpdAp1c2VzIHRoZSBvbGQgVkNQSSBoZWxwZXJzIChkcm1fZHBfZmluZF92Y3Bp X3Nsb3RzKCkpIGZvciBjb21wdXRpbmcgdGhlCmRpc3BsYXkgY29uZmlndXJhdGlvbi4gVGhlc2Ug aGVscGVycyBkb24ndCB0YWtlIGNhcmUgdG8gbWFrZSBzdXJlIHRoZXkKdGFrZSBhIHJlZmVyZW5j ZSB0byB0aGUgbXN0YiBwb3J0IHRoYXQgdGhleSdyZSBjaGVja2luZywgYW5kCmFkZGl0aW9uYWxs eSBkb24ndCBhY3R1YWxseSBjaGVjayB3aGV0aGVyIG9yIG5vdCB0aGUgdG9wb2xvZ3kgc3RpbGwg aGFzCmVub3VnaCBiYW5kd2lkdGggdG8gcHJvdmlkZSB0aGUgVkNQSSB0b2tlbnMgcmVxdWlyZWQu CgpTbywgZHJvcCB1c2FnZSBvZiB0aGUgb2xkIGhlbHBlcnMgYW5kIG1vdmUgZW50aXJlbHkgb3Zl ciB0byB0aGUgYXRvbWljCmhlbHBlcnMuCgpDaGFuZ2VzIHNpbmNlIHY1OgogLSBVcGRhdGUgbnY1 MF9tc3RvX2F0b21pY19jaGVjaygpIGFuZCBudjUwX21zdGNfYXRvbWljX2NoZWNrKCkgdG8gdGhl CiAgIG5ldyByZXF1aXJlbWVudHMgZm9yIGRybV9kcF9hdG9taWNfZmluZF92Y3BpX3Nsb3RzKCkg YW5kCiAgIGRybV9kcF9hdG9taWNfcmVsZWFzZV92Y3BpX3Nsb3RzKCkKClNpZ25lZC1vZmYtYnk6 IEx5dWRlIFBhdWwgPGx5dWRlQHJlZGhhdC5jb20+CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwu dmV0dGVyQGZmd2xsLmNoPgpDYzogRGF2aWQgQWlybGllIDxhaXJsaWVkQHJlZGhhdC5jb20+CkNj OiBKZXJyeSBadW8gPEplcnJ5Llp1b0BhbWQuY29tPgpDYzogSGFycnkgV2VudGxhbmQgPGhhcnJ5 LndlbnRsYW5kQGFtZC5jb20+CkNjOiBKdXN0b24gTGkgPGp1c3Rvbi5saUBpbnRlbC5jb20+Ci0t LQogZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAvZGlzcC5jIHwgNTIgKysrKysrKysr KysrKysrKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDQ2IGluc2VydGlvbnMoKyksIDYgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAv ZGlzcC5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAvZGlzcC5jCmluZGV4IDY3 ZjdiZjk3ZTVkOS4uZGY2OTYwMDhkMjA1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91 dmVhdS9kaXNwbnY1MC9kaXNwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52 NTAvZGlzcC5jCkBAIC03NjIsMTYgKzc2MiwyMiBAQCBudjUwX21zdG9fYXRvbWljX2NoZWNrKHN0 cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAkJICAgICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSwKIAkJICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25u X3N0YXRlKQogewotCXN0cnVjdCBudjUwX21zdGMgKm1zdGMgPSBudjUwX21zdGMoY29ubl9zdGF0 ZS0+Y29ubmVjdG9yKTsKKwlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUgPSBjcnRjX3N0 YXRlLT5zdGF0ZTsKKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gY29ubl9zdGF0 ZS0+Y29ubmVjdG9yOworCXN0cnVjdCBudjUwX21zdGMgKm1zdGMgPSBudjUwX21zdGMoY29ubmVj dG9yKTsKIAlzdHJ1Y3QgbnY1MF9tc3RtICptc3RtID0gbXN0Yy0+bXN0bTsKLQlpbnQgYnBwID0g Y29ubl9zdGF0ZS0+Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8uYnBjICogMzsKKwlpbnQgYnBwID0g Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8uYnBjICogMzsKIAlpbnQgc2xvdHM7CiAKLQltc3RjLT5w Ym4gPSBkcm1fZHBfY2FsY19wYm5fbW9kZShjcnRjX3N0YXRlLT5hZGp1c3RlZF9tb2RlLmNsb2Nr LCBicHApOworCW1zdGMtPnBibiA9IGRybV9kcF9jYWxjX3Bibl9tb2RlKGNydGNfc3RhdGUtPmFk anVzdGVkX21vZGUuY2xvY2ssCisJCQkJCSBicHApOwogCi0Jc2xvdHMgPSBkcm1fZHBfZmluZF92 Y3BpX3Nsb3RzKCZtc3RtLT5tZ3IsIG1zdGMtPnBibik7Ci0JaWYgKHNsb3RzIDwgMCkKLQkJcmV0 dXJuIHNsb3RzOworCWlmIChjcnRjX3N0YXRlLT5jb25uZWN0b3JzX2NoYW5nZWQgfHwgY3J0Y19z dGF0ZS0+bW9kZV9jaGFuZ2VkKSB7CisJCXNsb3RzID0gZHJtX2RwX2F0b21pY19maW5kX3ZjcGlf c2xvdHMoc3RhdGUsICZtc3RtLT5tZ3IsCisJCQkJCQkgICAgICBtc3RjLT5wb3J0LCBtc3RjLT5w Ym4pOworCQlpZiAoc2xvdHMgPCAwKQorCQkJcmV0dXJuIHNsb3RzOworCX0KIAogCXJldHVybiBu djUwX291dHBfYXRvbWljX2NoZWNrX3ZpZXcoZW5jb2RlciwgY3J0Y19zdGF0ZSwgY29ubl9zdGF0 ZSwKIAkJCQkJICAgbXN0Yy0+bmF0aXZlKTsKQEAgLTkzNCwxMiArOTQwLDQyIEBAIG52NTBfbXN0 Y19nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAlyZXR1cm4gcmV0 OwogfQogCitzdGF0aWMgaW50CitudjUwX21zdGNfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IsCisJCSAgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAq bmV3X2Nvbm5fc3RhdGUpCit7CisJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlID0gbmV3 X2Nvbm5fc3RhdGUtPnN0YXRlOworCXN0cnVjdCBudjUwX21zdGMgKm1zdGMgPSBudjUwX21zdGMo Y29ubmVjdG9yKTsKKwlzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1nciA9ICZtc3Rj LT5tc3RtLT5tZ3I7CisJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9jb25uX3N0YXRl ID0KKwkJZHJtX2F0b21pY19nZXRfb2xkX2Nvbm5lY3Rvcl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9y KTsKKwlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlOworCXN0cnVjdCBkcm1f Y3J0YyAqbmV3X2NydGMgPSBuZXdfY29ubl9zdGF0ZS0+Y3J0YywKKwkJCSpvbGRfY3J0YyA9IG9s ZF9jb25uX3N0YXRlLT5jcnRjOworCisJaWYgKCFvbGRfY3J0YykKKwkJcmV0dXJuIDA7CisKKwlv bGRfY3J0Y19zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X29sZF9jcnRjX3N0YXRlKHN0YXRlLCBvbGRf Y3J0Yyk7CisJaWYgKCFvbGRfY3J0Y19zdGF0ZSB8fCAhb2xkX2NydGNfc3RhdGUtPmVuYWJsZSkK KwkJcmV0dXJuIDA7CisKKwlpZiAobmV3X2NydGMpCisJCXJldHVybiAwOworCisJLyogVGhpcyBj b25uZWN0b3Igd2lsbCBiZSBsZWZ0IHdpdGhvdXQgYW4gZW5hYmxlZCBDUlRDLCBzbyBpdHMgVkNQ SQorCSAqIG11c3QgYmUgcmVsZWFzZWQgaGVyZQorCSAqLworCXJldHVybiBkcm1fZHBfYXRvbWlj X3JlbGVhc2VfdmNwaV9zbG90cyhzdGF0ZSwgbWdyLCBtc3RjLT5wb3J0KTsKK30KKwogc3RhdGlj IGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2hlbHBlcl9mdW5jcwogbnY1MF9tc3RjX2hlbHAg PSB7CiAJLmdldF9tb2RlcyA9IG52NTBfbXN0Y19nZXRfbW9kZXMsCiAJLm1vZGVfdmFsaWQgPSBu djUwX21zdGNfbW9kZV92YWxpZCwKIAkuYmVzdF9lbmNvZGVyID0gbnY1MF9tc3RjX2Jlc3RfZW5j b2RlciwKIAkuYXRvbWljX2Jlc3RfZW5jb2RlciA9IG52NTBfbXN0Y19hdG9taWNfYmVzdF9lbmNv ZGVyLAorCS5hdG9taWNfY2hlY2sgPSBudjUwX21zdGNfYXRvbWljX2NoZWNrLAogfTsKIAogc3Rh dGljIGVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMKQEAgLTIxMjEsNiArMjE1NywxMCBAQCBudjUw X2Rpc3BfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fYXRv bWljX3N0YXRlICpzdGF0ZSkKIAkJCXJldHVybiByZXQ7CiAJfQogCisJcmV0ID0gZHJtX2RwX21z dF9hdG9taWNfY2hlY2soc3RhdGUpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKIAlyZXR1 cm4gMDsKIH0KIAotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ft ZC1nZngK