From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gerd Hoffmann Subject: [PATCH v3 12/15] drm/bochs: add basic prime support Date: Thu, 10 Jan 2019 09:28:42 +0100 Message-ID: <20190110082845.3453-13-kraxel@redhat.com> References: <20190110082845.3453-1-kraxel@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by gabe.freedesktop.org (Postfix) with ESMTPS id 502A46ED51 for ; Thu, 10 Jan 2019 08:28:54 +0000 (UTC) In-Reply-To: <20190110082845.3453-1-kraxel@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, David Airlie Cc: andr2000@gmail.com, David Airlie , Gerd Hoffmann , open list , "open list:DRM DRIVER FOR BOCHS VIRTUAL GPU" List-Id: dri-devel@lists.freedesktop.org SnVzdCBlbm91Z2ggdG8gbWFrZSB0aGUgZ2VuZXJpYyBmcmFtZWJ1ZmZlciBlbXVsYXRpb24gaGFw cHkuCgpTaWduZWQtb2ZmLWJ5OiBHZXJkIEhvZmZtYW5uIDxrcmF4ZWxAcmVkaGF0LmNvbT4KUmV2 aWV3ZWQtYnk6IE9sZWtzYW5kciBBbmRydXNoY2hlbmtvIDxvbGVrc2FuZHJfYW5kcnVzaGNoZW5r b0BlcGFtLmNvbT4KQWNrZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwu Y2g+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2JvY2hzL2JvY2hzLmggICAgIHwgIDcgKysrKysrCiBk cml2ZXJzL2dwdS9kcm0vYm9jaHMvYm9jaHNfZHJ2LmMgfCAxMSArKysrKysrKy0KIGRyaXZlcnMv Z3B1L2RybS9ib2Nocy9ib2Noc19tbS5jICB8IDQ5ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA2NiBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JvY2hzL2JvY2hzLmggYi9kcml2 ZXJzL2dwdS9kcm0vYm9jaHMvYm9jaHMuaAppbmRleCBkMGQ0NzRlMDZmLi5lZGUyMmJlYjg1IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYm9jaHMvYm9jaHMuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vYm9jaHMvYm9jaHMuaApAQCAtMTQ1LDYgKzE0NSwxMyBAQCBpbnQgYm9jaHNfZHVtYl9t bWFwX29mZnNldChzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs CiBpbnQgYm9jaHNfYm9fcGluKHN0cnVjdCBib2Noc19ibyAqYm8sIHUzMiBwbF9mbGFnKTsKIGlu dCBib2Noc19ib191bnBpbihzdHJ1Y3QgYm9jaHNfYm8gKmJvKTsKIAoraW50IGJvY2hzX2dlbV9w cmltZV9waW4oc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmopOwordm9pZCBib2Noc19nZW1fcHJp bWVfdW5waW4oc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmopOwordm9pZCAqYm9jaHNfZ2VtX3By aW1lX3ZtYXAoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmopOwordm9pZCBib2Noc19nZW1fcHJp bWVfdnVubWFwKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLCB2b2lkICp2YWRkcik7CitpbnQg Ym9jaHNfZ2VtX3ByaW1lX21tYXAoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosCisJCQkgc3Ry dWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpOworCiAvKiBib2Noc19rbXMuYyAqLwogaW50IGJvY2hz X2ttc19pbml0KHN0cnVjdCBib2Noc19kZXZpY2UgKmJvY2hzKTsKIHZvaWQgYm9jaHNfa21zX2Zp bmkoc3RydWN0IGJvY2hzX2RldmljZSAqYm9jaHMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2JvY2hzL2JvY2hzX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2JvY2hzL2JvY2hzX2Rydi5j CmluZGV4IDI3OGY5ZDJlN2YuLjM3OTExMWY1YTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9ib2Nocy9ib2Noc19kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYm9jaHMvYm9jaHNfZHJ2 LmMKQEAgLTgxLDcgKzgxLDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMg Ym9jaHNfZm9wcyA9IHsKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgZHJtX2RyaXZlciBib2Noc19kcml2 ZXIgPSB7Ci0JLmRyaXZlcl9mZWF0dXJlcwk9IERSSVZFUl9HRU0gfCBEUklWRVJfTU9ERVNFVCB8 IERSSVZFUl9BVE9NSUMsCisJLmRyaXZlcl9mZWF0dXJlcwk9IERSSVZFUl9HRU0gfCBEUklWRVJf TU9ERVNFVCB8IERSSVZFUl9BVE9NSUMgfAorCQkJCSAgRFJJVkVSX1BSSU1FLAogCS5mb3BzCQkJ PSAmYm9jaHNfZm9wcywKIAkubmFtZQkJCT0gImJvY2hzLWRybSIsCiAJLmRlc2MJCQk9ICJib2No cyBkaXNwaSB2Z2EgaW50ZXJmYWNlIChxZW11IHN0ZHZnYSkiLApAQCAtOTEsNiArOTIsMTQgQEAg c3RhdGljIHN0cnVjdCBkcm1fZHJpdmVyIGJvY2hzX2RyaXZlciA9IHsKIAkuZ2VtX2ZyZWVfb2Jq ZWN0X3VubG9ja2VkID0gYm9jaHNfZ2VtX2ZyZWVfb2JqZWN0LAogCS5kdW1iX2NyZWF0ZSAgICAg ICAgICAgID0gYm9jaHNfZHVtYl9jcmVhdGUsCiAJLmR1bWJfbWFwX29mZnNldCAgICAgICAgPSBi b2Noc19kdW1iX21tYXBfb2Zmc2V0LAorCisJLmdlbV9wcmltZV9leHBvcnQgPSBkcm1fZ2VtX3By aW1lX2V4cG9ydCwKKwkuZ2VtX3ByaW1lX2ltcG9ydCA9IGRybV9nZW1fcHJpbWVfaW1wb3J0LAor CS5nZW1fcHJpbWVfcGluID0gYm9jaHNfZ2VtX3ByaW1lX3BpbiwKKwkuZ2VtX3ByaW1lX3VucGlu ID0gYm9jaHNfZ2VtX3ByaW1lX3VucGluLAorCS5nZW1fcHJpbWVfdm1hcCA9IGJvY2hzX2dlbV9w cmltZV92bWFwLAorCS5nZW1fcHJpbWVfdnVubWFwID0gYm9jaHNfZ2VtX3ByaW1lX3Z1bm1hcCwK KwkuZ2VtX3ByaW1lX21tYXAgPSBib2Noc19nZW1fcHJpbWVfbW1hcCwKIH07CiAKIC8qIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ib2Nocy9ib2Noc19tbS5j IGIvZHJpdmVycy9ncHUvZHJtL2JvY2hzL2JvY2hzX21tLmMKaW5kZXggZmNiZjM1NDU2ZC4uNjQx YTMzZjEzNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JvY2hzL2JvY2hzX21tLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2JvY2hzL2JvY2hzX21tLmMKQEAgLTM5NSwzICszOTUsNTIgQEAg aW50IGJvY2hzX2R1bWJfbW1hcF9vZmZzZXQoc3RydWN0IGRybV9maWxlICpmaWxlLCBzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAogCWRybV9nZW1fb2JqZWN0X3B1dF91bmxvY2tlZChvYmopOwogCXJl dHVybiAwOwogfQorCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKK2ludCBib2Noc19nZW1fcHJpbWVf cGluKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKQoreworCXN0cnVjdCBib2Noc19ibyAqYm8g PSBnZW1fdG9fYm9jaHNfYm8ob2JqKTsKKworCXJldHVybiBib2Noc19ib19waW4oYm8sIFRUTV9Q TF9GTEFHX1ZSQU0pOworfQorCit2b2lkIGJvY2hzX2dlbV9wcmltZV91bnBpbihzdHJ1Y3QgZHJt X2dlbV9vYmplY3QgKm9iaikKK3sKKwlzdHJ1Y3QgYm9jaHNfYm8gKmJvID0gZ2VtX3RvX2JvY2hz X2JvKG9iaik7CisKKwlib2Noc19ib191bnBpbihibyk7Cit9CisKK3ZvaWQgKmJvY2hzX2dlbV9w cmltZV92bWFwKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKQoreworCXN0cnVjdCBib2Noc19i byAqYm8gPSBnZW1fdG9fYm9jaHNfYm8ob2JqKTsKKwlib29sIGlzX2lvbWVtOworCWludCByZXQ7 CisKKwlyZXQgPSBib2Noc19ib19waW4oYm8sIFRUTV9QTF9GTEFHX1ZSQU0pOworCWlmIChyZXQp CisJCXJldHVybiBOVUxMOworCXJldCA9IHR0bV9ib19rbWFwKCZiby0+Ym8sIDAsIGJvLT5iby5u dW1fcGFnZXMsICZiby0+a21hcCk7CisJaWYgKHJldCkgeworCQlib2Noc19ib191bnBpbihibyk7 CisJCXJldHVybiBOVUxMOworCX0KKwlyZXR1cm4gdHRtX2ttYXBfb2JqX3ZpcnR1YWwoJmJvLT5r bWFwLCAmaXNfaW9tZW0pOworfQorCit2b2lkIGJvY2hzX2dlbV9wcmltZV92dW5tYXAoc3RydWN0 IGRybV9nZW1fb2JqZWN0ICpvYmosIHZvaWQgKnZhZGRyKQoreworCXN0cnVjdCBib2Noc19ibyAq Ym8gPSBnZW1fdG9fYm9jaHNfYm8ob2JqKTsKKworCXR0bV9ib19rdW5tYXAoJmJvLT5rbWFwKTsK Kwlib2Noc19ib191bnBpbihibyk7Cit9CisKK2ludCBib2Noc19nZW1fcHJpbWVfbW1hcChzdHJ1 Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwKKwkJCSBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkK K3sKKwlzdHJ1Y3QgYm9jaHNfYm8gKmJvID0gZ2VtX3RvX2JvY2hzX2JvKG9iaik7CisKKwlyZXR1 cm4gdHRtX2ZiZGV2X21tYXAodm1hLCAmYm8tPmJvKTsKK30KLS0gCjIuOS4zCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBs aXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK