From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gerd Hoffmann Subject: [PATCH v3 13/23] drm/qxl: use shadow bo directly Date: Fri, 18 Jan 2019 13:20:10 +0100 Message-ID: <20190118122020.27596-14-kraxel@redhat.com> References: <20190118122020.27596-1-kraxel@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190118122020.27596-1-kraxel@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: spice-devel-bounces@lists.freedesktop.org Sender: "Spice-devel" To: dri-devel@lists.freedesktop.org Cc: David Airlie , open list , "open list:DRM DRIVER FOR QXL VIRTUAL GPU" , Gerd Hoffmann , Daniel Vetter , "open list:DRM DRIVER FOR QXL VIRTUAL GPU" , Dave Airlie List-Id: dri-devel@lists.freedesktop.org UGFzcyB0aGUgc2hhZG93IGJvIHRvIHF4bF9pb19jcmVhdGVfcHJpbWFyeSgpIGluc3RlYWQgb2Yg ZXhwZWN0aW5nCnF4bF9pb19jcmVhdGVfcHJpbWFyeSB0byBjaGVjayBiby0+c2hhZG93LiAgU2V0 IGlzX3ByaW1hcnkgZmxhZyBvbiB0aGUKc2hhZG93IGJvLiAgTW92ZSB0aGUgaXNfcHJpbWFyeSB0 cmFja2luZyBpbnRvIHF4bF9pb19jcmVhdGVfcHJpbWFyeSgpCmFuZCBxeGxfaW9fZGVzdHJveV9w cmltYXJ5KCkgZnVuY3Rpb25zLgoKVGhhdCBzaW1wbGlmaWVzIHByaW1hcnkgc3VyZmFjZSB0cmFj a2luZyBhbmQgdGhlIHdvcmtmbG93IGluCnF4bF9wcmltYXJ5X2F0b21pY191cGRhdGUoKS4KClNp Z25lZC1vZmYtYnk6IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgoKcXhsX2lvX2Ny ZWF0ZS9kZXN0cm95X3ByaW1hcnk6IHByaW1hcnlfYm8gdHJhY2tpbmcgW2ZpeHVwXQotLS0KIGRy aXZlcnMvZ3B1L2RybS9xeGwvcXhsX2NtZC5jICAgICB8IDEwICsrKysrLS0tLS0KIGRyaXZlcnMv Z3B1L2RybS9xeGwvcXhsX2Rpc3BsYXkuYyB8IDMzICsrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAyNyBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9jbWQuYyBiL2RyaXZlcnMv Z3B1L2RybS9xeGwvcXhsX2NtZC5jCmluZGV4IDhlNjQxMjcyNTkuLjBhMmU1MWFmMTIgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2NtZC5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9xeGwvcXhsX2NtZC5jCkBAIC0zNzQsNiArMzc0LDggQEAgdm9pZCBxeGxfaW9fZmx1c2hfc3Vy ZmFjZXMoc3RydWN0IHF4bF9kZXZpY2UgKnFkZXYpCiB2b2lkIHF4bF9pb19kZXN0cm95X3ByaW1h cnkoc3RydWN0IHF4bF9kZXZpY2UgKnFkZXYpCiB7CiAJd2FpdF9mb3JfaW9fY21kKHFkZXYsIDAs IFFYTF9JT19ERVNUUk9ZX1BSSU1BUllfQVNZTkMpOworCXFkZXYtPnByaW1hcnlfYm8tPmlzX3By aW1hcnkgPSBmYWxzZTsKKwlkcm1fZ2VtX29iamVjdF9wdXRfdW5sb2NrZWQoJnFkZXYtPnByaW1h cnlfYm8tPmdlbV9iYXNlKTsKIAlxZGV2LT5wcmltYXJ5X2JvID0gTlVMTDsKIH0KIApAQCAtMzkw LDExICszOTIsNyBAQCB2b2lkIHF4bF9pb19jcmVhdGVfcHJpbWFyeShzdHJ1Y3QgcXhsX2Rldmlj ZSAqcWRldiwgc3RydWN0IHF4bF9ibyAqYm8pCiAJY3JlYXRlLT53aWR0aCA9IGJvLT5zdXJmLndp ZHRoOwogCWNyZWF0ZS0+aGVpZ2h0ID0gYm8tPnN1cmYuaGVpZ2h0OwogCWNyZWF0ZS0+c3RyaWRl ID0gYm8tPnN1cmYuc3RyaWRlOwotCWlmIChiby0+c2hhZG93KSB7Ci0JCWNyZWF0ZS0+bWVtID0g cXhsX2JvX3BoeXNpY2FsX2FkZHJlc3MocWRldiwgYm8tPnNoYWRvdywgMCk7Ci0JfSBlbHNlIHsK LQkJY3JlYXRlLT5tZW0gPSBxeGxfYm9fcGh5c2ljYWxfYWRkcmVzcyhxZGV2LCBibywgMCk7Ci0J fQorCWNyZWF0ZS0+bWVtID0gcXhsX2JvX3BoeXNpY2FsX2FkZHJlc3MocWRldiwgYm8sIDApOwog CiAJRFJNX0RFQlVHX0RSSVZFUigibWVtID0gJWxseCwgZnJvbSAlcFxuIiwgY3JlYXRlLT5tZW0s IGJvLT5rcHRyKTsKIApAQCAtNDAzLDYgKzQwMSw4IEBAIHZvaWQgcXhsX2lvX2NyZWF0ZV9wcmlt YXJ5KHN0cnVjdCBxeGxfZGV2aWNlICpxZGV2LCBzdHJ1Y3QgcXhsX2JvICpibykKIAogCXdhaXRf Zm9yX2lvX2NtZChxZGV2LCAwLCBRWExfSU9fQ1JFQVRFX1BSSU1BUllfQVNZTkMpOwogCXFkZXYt PnByaW1hcnlfYm8gPSBibzsKKwlxZGV2LT5wcmltYXJ5X2JvLT5pc19wcmltYXJ5ID0gdHJ1ZTsK Kwlkcm1fZ2VtX29iamVjdF9nZXQoJnFkZXYtPnByaW1hcnlfYm8tPmdlbV9iYXNlKTsKIH0KIAog dm9pZCBxeGxfaW9fbWVtc2xvdF9hZGQoc3RydWN0IHF4bF9kZXZpY2UgKnFkZXYsIHVpbnQ4X3Qg aWQpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9kaXNwbGF5LmMgYi9kcml2 ZXJzL2dwdS9kcm0vcXhsL3F4bF9kaXNwbGF5LmMKaW5kZXggZDMyMTVlYWM5Yi4uZmYxM2JjNmE0 YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfZGlzcGxheS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9xeGwvcXhsX2Rpc3BsYXkuYwpAQCAtNDAxLDEzICs0MDEsMTUgQEAgc3Rh dGljIGludCBxeGxfZnJhbWVidWZmZXJfc3VyZmFjZV9kaXJ0eShzdHJ1Y3QgZHJtX2ZyYW1lYnVm ZmVyICpmYiwKIAlzdHJ1Y3QgcXhsX2RldmljZSAqcWRldiA9IGZiLT5kZXYtPmRldl9wcml2YXRl OwogCXN0cnVjdCBkcm1fY2xpcF9yZWN0IG5vcmVjdDsKIAlzdHJ1Y3QgcXhsX2JvICpxb2JqOwor CWJvb2wgaXNfcHJpbWFyeTsKIAlpbnQgaW5jID0gMTsKIAogCWRybV9tb2Rlc2V0X2xvY2tfYWxs KGZiLT5kZXYpOwogCiAJcW9iaiA9IGdlbV90b19xeGxfYm8oZmItPm9ialswXSk7CiAJLyogaWYg d2UgYXJlbid0IHByaW1hcnkgc3VyZmFjZSBpZ25vcmUgdGhpcyAqLwotCWlmICghcW9iai0+aXNf cHJpbWFyeSkgeworCWlzX3ByaW1hcnkgPSBxb2JqLT5zaGFkb3cgPyBxb2JqLT5zaGFkb3ctPmlz X3ByaW1hcnkgOiBxb2JqLT5pc19wcmltYXJ5OworCWlmICghaXNfcHJpbWFyeSkgewogCQlkcm1f bW9kZXNldF91bmxvY2tfYWxsKGZiLT5kZXYpOwogCQlyZXR1cm4gMDsKIAl9CkBAIC01MjYsMTQg KzUyOCwxMyBAQCBzdGF0aWMgdm9pZCBxeGxfcHJpbWFyeV9hdG9taWNfdXBkYXRlKHN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lLAogewogCXN0cnVjdCBxeGxfZGV2aWNlICpxZGV2ID0gcGxhbmUtPmRl di0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IHF4bF9ibyAqYm8gPSBnZW1fdG9fcXhsX2JvKHBsYW5l LT5zdGF0ZS0+ZmItPm9ialswXSk7Ci0Jc3RydWN0IHF4bF9ibyAqYm9fb2xkOworCXN0cnVjdCBx eGxfYm8gKmJvX29sZCwgKnByaW1hcnk7CiAJc3RydWN0IGRybV9jbGlwX3JlY3Qgbm9yZWN0ID0g ewogCSAgICAueDEgPSAwLAogCSAgICAueTEgPSAwLAogCSAgICAueDIgPSBwbGFuZS0+c3RhdGUt PmZiLT53aWR0aCwKIAkgICAgLnkyID0gcGxhbmUtPnN0YXRlLT5mYi0+aGVpZ2h0CiAJfTsKLQli b29sIHNhbWVfc2hhZG93ID0gZmFsc2U7CiAKIAlpZiAob2xkX3N0YXRlLT5mYikgewogCQlib19v bGQgPSBnZW1fdG9fcXhsX2JvKG9sZF9zdGF0ZS0+ZmItPm9ialswXSk7CkBAIC01NDEsMjYgKzU0 MiwxMyBAQCBzdGF0aWMgdm9pZCBxeGxfcHJpbWFyeV9hdG9taWNfdXBkYXRlKHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lLAogCQlib19vbGQgPSBOVUxMOwogCX0KIAotCWlmIChibyA9PSBib19vbGQp Ci0JCXJldHVybjsKKwlwcmltYXJ5ID0gYm8tPnNoYWRvdyA/IGJvLT5zaGFkb3cgOiBibzsKIAot CWlmIChib19vbGQgJiYgYm9fb2xkLT5zaGFkb3cgJiYgYm8tPnNoYWRvdyAmJgotCSAgICBib19v bGQtPnNoYWRvdyA9PSBiby0+c2hhZG93KSB7Ci0JCXNhbWVfc2hhZG93ID0gdHJ1ZTsKLQl9Ci0K LQlpZiAoYm9fb2xkICYmIGJvX29sZC0+aXNfcHJpbWFyeSkgewotCQlpZiAoIXNhbWVfc2hhZG93 KQorCWlmICghcHJpbWFyeS0+aXNfcHJpbWFyeSkgeworCQlpZiAocWRldi0+cHJpbWFyeV9ibykK IAkJCXF4bF9pb19kZXN0cm95X3ByaW1hcnkocWRldik7Ci0JCWJvX29sZC0+aXNfcHJpbWFyeSA9 IGZhbHNlOwotCX0KLQotCWlmICghYm8tPmlzX3ByaW1hcnkpIHsKLQkJaWYgKCFzYW1lX3NoYWRv dykgewotCQkJcXhsX2lvX2NyZWF0ZV9wcmltYXJ5KHFkZXYsIGJvKTsKLQkJCXF4bF9wcmltYXJ5 X2FwcGx5X2N1cnNvcihwbGFuZSk7Ci0JCX0KLQkJYm8tPmlzX3ByaW1hcnkgPSB0cnVlOworCQlx eGxfaW9fY3JlYXRlX3ByaW1hcnkocWRldiwgcHJpbWFyeSk7CisJCXF4bF9wcmltYXJ5X2FwcGx5 X2N1cnNvcihwbGFuZSk7CiAJfQogCiAJcXhsX2RyYXdfZGlydHlfZmIocWRldiwgcGxhbmUtPnN0 YXRlLT5mYiwgYm8sIDAsIDAsICZub3JlY3QsIDEsIDEpOwpAQCAtNzU2LDYgKzc0NCw3IEBAIHN0 YXRpYyBpbnQgcXhsX3BsYW5lX3ByZXBhcmVfZmIoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJ CQlxeGxfYm9fY3JlYXRlKHFkZXYsIHVzZXJfYm8tPmdlbV9iYXNlLnNpemUsCiAJCQkJICAgICAg dHJ1ZSwgdHJ1ZSwgUVhMX0dFTV9ET01BSU5fU1VSRkFDRSwgTlVMTCwKIAkJCQkgICAgICAmdXNl cl9iby0+c2hhZG93KTsKKwkJCXVzZXJfYm8tPnNoYWRvdy0+c3VyZiA9IHVzZXJfYm8tPnN1cmY7 CiAJCX0KIAl9CiAKQEAgLTc4NCw3ICs3NzMsNyBAQCBzdGF0aWMgdm9pZCBxeGxfcGxhbmVfY2xl YW51cF9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAl1c2VyX2JvID0gZ2VtX3RvX3F4bF9i byhvYmopOwogCXF4bF9ib191bnBpbih1c2VyX2JvKTsKIAotCWlmICh1c2VyX2JvLT5zaGFkb3cg JiYgIXVzZXJfYm8tPmlzX3ByaW1hcnkpIHsKKwlpZiAodXNlcl9iby0+c2hhZG93ICYmICF1c2Vy X2JvLT5zaGFkb3ctPmlzX3ByaW1hcnkpIHsKIAkJZHJtX2dlbV9vYmplY3RfcHV0X3VubG9ja2Vk KCZ1c2VyX2JvLT5zaGFkb3ctPmdlbV9iYXNlKTsKIAkJdXNlcl9iby0+c2hhZG93ID0gTlVMTDsK IAl9Ci0tIAoyLjkuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KU3BpY2UtZGV2ZWwgbWFpbGluZyBsaXN0ClNwaWNlLWRldmVsQGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3Nw aWNlLWRldmVsCg==