From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: [PATCH v7 20/20] drm/nouveau: Use atomic VCPI helpers for MST Date: Thu, 10 Jan 2019 19:53:43 -0500 Message-ID: <20190111005343.17443-21-lyude@redhat.com> References: <20190111005343.17443-1-lyude@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190111005343.17443-1-lyude@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, nouveau@lists.freedesktop.org, intel-gfx@lists.freedesktop.org Cc: Daniel Vetter , Jerry Zuo , Ben Skeggs , David Airlie , Harry Wentland List-Id: nouveau.vger.kernel.org Q3VycmVudGx5LCBub3V2ZWF1IHVzZXMgdGhlIHlvbG8gbWV0aG9kIG9mIHNldHRpbmcgdXAgTVNU IGRpc3BsYXlzOiBpdAp1c2VzIHRoZSBvbGQgVkNQSSBoZWxwZXJzIChkcm1fZHBfZmluZF92Y3Bp X3Nsb3RzKCkpIGZvciBjb21wdXRpbmcgdGhlCmRpc3BsYXkgY29uZmlndXJhdGlvbi4gVGhlc2Ug aGVscGVycyBkb24ndCB0YWtlIGNhcmUgdG8gbWFrZSBzdXJlIHRoZXkKdGFrZSBhIHJlZmVyZW5j ZSB0byB0aGUgbXN0YiBwb3J0IHRoYXQgdGhleSdyZSBjaGVja2luZywgYW5kCmFkZGl0aW9uYWxs eSBkb24ndCBhY3R1YWxseSBjaGVjayB3aGV0aGVyIG9yIG5vdCB0aGUgdG9wb2xvZ3kgc3RpbGwg aGFzCmVub3VnaCBiYW5kd2lkdGggdG8gcHJvdmlkZSB0aGUgVkNQSSB0b2tlbnMgcmVxdWlyZWQu CgpTbywgZHJvcCB1c2FnZSBvZiB0aGUgb2xkIGhlbHBlcnMgYW5kIG1vdmUgZW50aXJlbHkgb3Zl ciB0byB0aGUgYXRvbWljCmhlbHBlcnMuCgpDaGFuZ2VzIHNpbmNlIHY2OgoqIENsZWFudXAgYXRv bWljIGNoZWNrIGxvZ2ljIGFuZCByZW1vdmUgYSBidW5jaCBvZiB1bm5lZWRlZCBjaGVja3MgLQog IGRhbnZldApDaGFuZ2VzIHNpbmNlIHY1OgoqIFVwZGF0ZSBudjUwX21zdG9fYXRvbWljX2NoZWNr KCkgYW5kIG52NTBfbXN0Y19hdG9taWNfY2hlY2soKSB0byB0aGUKICBuZXcgcmVxdWlyZW1lbnRz IGZvciBkcm1fZHBfYXRvbWljX2ZpbmRfdmNwaV9zbG90cygpIGFuZAogIGRybV9kcF9hdG9taWNf cmVsZWFzZV92Y3BpX3Nsb3RzKCkKClNpZ25lZC1vZmYtYnk6IEx5dWRlIFBhdWwgPGx5dWRlQHJl ZGhhdC5jb20+ClJldmlld2VkLUJ5OiBCZW4gU2tlZ2dzIDxic2tlZ2dzQHJlZGhhdC5jb20+CkNj OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgpDYzogRGF2aWQgQWlybGll IDxhaXJsaWVkQHJlZGhhdC5jb20+CkNjOiBKZXJyeSBadW8gPEplcnJ5Llp1b0BhbWQuY29tPgpD YzogSGFycnkgV2VudGxhbmQgPGhhcnJ5LndlbnRsYW5kQGFtZC5jb20+CkNjOiBKdXN0b24gTGkg PGp1c3Rvbi5saUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52 NTAvZGlzcC5jIHwgNTQgKysrKysrKysrKysrKysrKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQs IDQ4IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL25vdXZlYXUvZGlzcG52NTAvZGlzcC5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUv ZGlzcG52NTAvZGlzcC5jCmluZGV4IDgwNDRlYmJhNTZhNC4uNjcxMDdmMGIxMjk5IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9kaXNwLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAvZGlzcC5jCkBAIC03NjEsMTYgKzc2MSwyMyBAQCBu djUwX21zdG9fYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAkJICAg ICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJICAgICAgIHN0cnVjdCBk cm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQogewotCXN0cnVjdCBudjUwX21zdGMgKm1z dGMgPSBudjUwX21zdGMoY29ubl9zdGF0ZS0+Y29ubmVjdG9yKTsKKwlzdHJ1Y3QgZHJtX2F0b21p Y19zdGF0ZSAqc3RhdGUgPSBjcnRjX3N0YXRlLT5zdGF0ZTsKKwlzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yID0gY29ubl9zdGF0ZS0+Y29ubmVjdG9yOworCXN0cnVjdCBudjUwX21zdGMg Km1zdGMgPSBudjUwX21zdGMoY29ubmVjdG9yKTsKIAlzdHJ1Y3QgbnY1MF9tc3RtICptc3RtID0g bXN0Yy0+bXN0bTsKLQlpbnQgYnBwID0gY29ubl9zdGF0ZS0+Y29ubmVjdG9yLT5kaXNwbGF5X2lu Zm8uYnBjICogMzsKKwlpbnQgYnBwID0gY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uYnBjICogMzsK IAlpbnQgc2xvdHM7CiAKLQltc3RjLT5wYm4gPSBkcm1fZHBfY2FsY19wYm5fbW9kZShjcnRjX3N0 YXRlLT5hZGp1c3RlZF9tb2RlLmNsb2NrLCBicHApOworCW1zdGMtPnBibiA9IGRybV9kcF9jYWxj X3Bibl9tb2RlKGNydGNfc3RhdGUtPmFkanVzdGVkX21vZGUuY2xvY2ssCisJCQkJCSBicHApOwog Ci0Jc2xvdHMgPSBkcm1fZHBfZmluZF92Y3BpX3Nsb3RzKCZtc3RtLT5tZ3IsIG1zdGMtPnBibik7 Ci0JaWYgKHNsb3RzIDwgMCkKLQkJcmV0dXJuIHNsb3RzOworCWlmIChkcm1fYXRvbWljX2NydGNf bmVlZHNfbW9kZXNldChjcnRjX3N0YXRlKSAmJgorCSAgICAhZHJtX2Nvbm5lY3Rvcl9pc191bnJl Z2lzdGVyZWQoY29ubmVjdG9yKSkgeworCQlzbG90cyA9IGRybV9kcF9hdG9taWNfZmluZF92Y3Bp X3Nsb3RzKHN0YXRlLCAmbXN0bS0+bWdyLAorCQkJCQkJICAgICAgbXN0Yy0+cG9ydCwgbXN0Yy0+ cGJuKTsKKwkJaWYgKHNsb3RzIDwgMCkKKwkJCXJldHVybiBzbG90czsKKwl9CiAKIAlyZXR1cm4g bnY1MF9vdXRwX2F0b21pY19jaGVja192aWV3KGVuY29kZXIsIGNydGNfc3RhdGUsIGNvbm5fc3Rh dGUsCiAJCQkJCSAgIG1zdGMtPm5hdGl2ZSk7CkBAIC05MzMsMTIgKzk0MCw0MyBAQCBudjUwX21z dGNfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAJcmV0dXJuIHJl dDsKIH0KIAorc3RhdGljIGludAorbnY1MF9tc3RjX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yLAorCQkgICAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUg Km5ld19jb25uX3N0YXRlKQoreworCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSA9IG5l d19jb25uX3N0YXRlLT5zdGF0ZTsKKwlzdHJ1Y3QgbnY1MF9tc3RjICptc3RjID0gbnY1MF9tc3Rj KGNvbm5lY3Rvcik7CisJc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IgPSAmbXN0 Yy0+bXN0bS0+bWdyOworCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpvbGRfY29ubl9zdGF0 ZSA9CisJCWRybV9hdG9taWNfZ2V0X29sZF9jb25uZWN0b3Jfc3RhdGUoc3RhdGUsIGNvbm5lY3Rv cik7CisJc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOworCXN0cnVjdCBkcm1fY3J0 YyAqbmV3X2NydGMgPSBuZXdfY29ubl9zdGF0ZS0+Y3J0YzsKKworCWlmICghb2xkX2Nvbm5fc3Rh dGUtPmNydGMpCisJCXJldHVybiAwOworCisJLyogV2Ugb25seSB3YW50IHRvIGZyZWUgVkNQSSBp ZiB0aGlzIHN0YXRlIGRpc2FibGVzIHRoZSBDUlRDIG9uIHRoaXMKKwkgKiBjb25uZWN0b3IKKwkg Ki8KKwlpZiAobmV3X2NydGMpIHsKKwkJY3J0Y19zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X25ld19j cnRjX3N0YXRlKHN0YXRlLCBuZXdfY3J0Yyk7CisKKwkJaWYgKCFjcnRjX3N0YXRlIHx8CisJCSAg ICAhZHJtX2F0b21pY19jcnRjX25lZWRzX21vZGVzZXQoY3J0Y19zdGF0ZSkgfHwKKwkJICAgIGNy dGNfc3RhdGUtPmVuYWJsZSkKKwkJCXJldHVybiAwOworCX0KKworCXJldHVybiBkcm1fZHBfYXRv bWljX3JlbGVhc2VfdmNwaV9zbG90cyhzdGF0ZSwgbWdyLCBtc3RjLT5wb3J0KTsKK30KKwogc3Rh dGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2hlbHBlcl9mdW5jcwogbnY1MF9tc3RjX2hl bHAgPSB7CiAJLmdldF9tb2RlcyA9IG52NTBfbXN0Y19nZXRfbW9kZXMsCiAJLm1vZGVfdmFsaWQg PSBudjUwX21zdGNfbW9kZV92YWxpZCwKIAkuYmVzdF9lbmNvZGVyID0gbnY1MF9tc3RjX2Jlc3Rf ZW5jb2RlciwKIAkuYXRvbWljX2Jlc3RfZW5jb2RlciA9IG52NTBfbXN0Y19hdG9taWNfYmVzdF9l bmNvZGVyLAorCS5hdG9taWNfY2hlY2sgPSBudjUwX21zdGNfYXRvbWljX2NoZWNrLAogfTsKIAog c3RhdGljIGVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMKQEAgLTIxMjAsNiArMjE1OCwxMCBAQCBu djUwX2Rpc3BfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1f YXRvbWljX3N0YXRlICpzdGF0ZSkKIAkJCXJldHVybiByZXQ7CiAJfQogCisJcmV0ID0gZHJtX2Rw X21zdF9hdG9taWNfY2hlY2soc3RhdGUpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKIAly ZXR1cm4gMDsKIH0KIAotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK