From mboxrd@z Thu Jan 1 00:00:00 1970 From: Felix Kuehling Subject: [PATCH 4/6] drm/amdgpu: separate BO from GEM object Date: Tue, 18 Jul 2017 22:22:11 -0400 Message-ID: <1500430934-27098-5-git-send-email-Felix.Kuehling@amd.com> References: <1500430934-27098-1-git-send-email-Felix.Kuehling@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1500430934-27098-1-git-send-email-Felix.Kuehling@amd.com> 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: =?UTF-8?q?Christian=20K=C3=B6nig?= , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgoKVGhpcyBh bGxvd3MgdXMgdG8gaGF2ZSBtdWx0aXBsZSBHRU0gb2JqZWN0cyBmb3Igb25lIEJPLgoKU2lnbmVk LW9mZi1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgpSZXZp ZXdlZC1ieTogRmVsaXggS3VlaGxpbmcgPEZlbGl4Lkt1ZWhsaW5nQGFtZC5jb20+Ci0tLQogZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmggICAgICAgIHwgMTIgKysrKysrKy0tCiBk cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2VtLmMgICAgfCA0MSArKysrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9v YmplY3QuYyB8ICA3ICstLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcHJp bWUuYyAgfCAyMCArKysrKysrKysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV90dG0uYyAgICB8IDE3ICsrKysrKysrKysrLS0KIDUgZmlsZXMgY2hhbmdlZCwgNzcgaW5z ZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1LmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUu aAppbmRleCBmNjM0NWI5Li45ZmEzY2VlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHUuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUu aApAQCAtNDE3LDYgKzQxNywxMiBAQCBzdHJ1Y3QgYW1kZ3B1X2JvX3ZhIHsKIAogI2RlZmluZSBB TURHUFVfR0VNX0RPTUFJTl9NQVgJCTB4MwogCitzdHJ1Y3QgYW1kZ3B1X2dlbV9vYmplY3Qgewor CXN0cnVjdCBkcm1fZ2VtX29iamVjdAkJYmFzZTsKKwlzdHJ1Y3QgbGlzdF9oZWFkCQlsaXN0Owor CXN0cnVjdCBhbWRncHVfYm8JCSpibzsKK307CisKIHN0cnVjdCBhbWRncHVfYm8gewogCS8qIFBy b3RlY3RlZCBieSB0Ym8ucmVzZXJ2ZWQgKi8KIAl1MzIJCQkJcHJlZmVyZWRfZG9tYWluczsKQEAg LTQzMywxMiArNDM5LDE0IEBAIHN0cnVjdCBhbWRncHVfYm8gewogCXZvaWQJCQkJKm1ldGFkYXRh OwogCXUzMgkJCQltZXRhZGF0YV9zaXplOwogCXVuc2lnbmVkCQkJcHJpbWVfc2hhcmVkX2NvdW50 OworCS8qIEdFTSBvYmplY3RzIHJlZmVyZWluZyB0byB0aGlzIEJPICovCisJc3RydWN0IGxpc3Rf aGVhZAlnZW1fb2JqZWN0czsKKwogCS8qIGxpc3Qgb2YgYWxsIHZpcnR1YWwgYWRkcmVzcyB0byB3 aGljaCB0aGlzIGJvCiAJICogaXMgYXNzb2NpYXRlZCB0bwogCSAqLwogCXN0cnVjdCBsaXN0X2hl YWQJCXZhOwogCS8qIENvbnN0YW50IGFmdGVyIGluaXRpYWxpemF0aW9uICovCi0Jc3RydWN0IGRy bV9nZW1fb2JqZWN0CQlnZW1fYmFzZTsKIAlzdHJ1Y3QgYW1kZ3B1X2JvCQkqcGFyZW50OwogCXN0 cnVjdCBhbWRncHVfYm8JCSpzaGFkb3c7CiAKQEAgLTQ0Nyw3ICs0NTUsNyBAQCBzdHJ1Y3QgYW1k Z3B1X2JvIHsKIAlzdHJ1Y3QgbGlzdF9oZWFkCQltbl9saXN0OwogCXN0cnVjdCBsaXN0X2hlYWQJ CXNoYWRvd19saXN0OwogfTsKLSNkZWZpbmUgZ2VtX3RvX2FtZGdwdV9ibyhnb2JqKSBjb250YWlu ZXJfb2YoKGdvYmopLCBzdHJ1Y3QgYW1kZ3B1X2JvLCBnZW1fYmFzZSkKKyNkZWZpbmUgZ2VtX3Rv X2FtZGdwdV9ibyhnb2JqKSBjb250YWluZXJfb2YoKGdvYmopLCBzdHJ1Y3QgYW1kZ3B1X2dlbV9v YmplY3QsIGJhc2UpLT5ibwogCiB2b2lkIGFtZGdwdV9nZW1fb2JqZWN0X2ZyZWUoc3RydWN0IGRy bV9nZW1fb2JqZWN0ICpvYmopOwogaW50IGFtZGdwdV9nZW1fb2JqZWN0X29wZW4oc3RydWN0IGRy bV9nZW1fb2JqZWN0ICpvYmosCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2VtLmMK aW5kZXggOTE3YWM1ZS4uYjYyNWVlNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9nZW0uYwpAQCAtMzMsMTQgKzMzLDIwIEBACiAKIHZvaWQgYW1kZ3B1X2dlbV9vYmplY3RfZnJl ZShzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdvYmopCiB7Ci0Jc3RydWN0IGFtZGdwdV9ibyAqcm9i aiA9IGdlbV90b19hbWRncHVfYm8oZ29iaik7CisJc3RydWN0IGFtZGdwdV9nZW1fb2JqZWN0ICph b2JqOwogCi0JaWYgKHJvYmopIHsKLQkJaWYgKHJvYmotPmdlbV9iYXNlLmltcG9ydF9hdHRhY2gp Ci0JCQlkcm1fcHJpbWVfZ2VtX2Rlc3Ryb3koJnJvYmotPmdlbV9iYXNlLCByb2JqLT50Ym8uc2cp OwotCQlhbWRncHVfbW5fdW5yZWdpc3Rlcihyb2JqKTsKLQkJYW1kZ3B1X2JvX3VucmVmKCZyb2Jq KTsKLQl9CisJYW9iaiA9IGNvbnRhaW5lcl9vZigoZ29iaiksIHN0cnVjdCBhbWRncHVfZ2VtX29i amVjdCwgYmFzZSk7CisJaWYgKGFvYmotPmJhc2UuaW1wb3J0X2F0dGFjaCkKKwkJZHJtX3ByaW1l X2dlbV9kZXN0cm95KCZhb2JqLT5iYXNlLCBhb2JqLT5iby0+dGJvLnNnKTsKKworCXd3X211dGV4 X2xvY2soJmFvYmotPmJvLT50Ym8ucmVzdi0+bG9jaywgTlVMTCk7CisJbGlzdF9kZWwoJmFvYmot Pmxpc3QpOworCXd3X211dGV4X3VubG9jaygmYW9iai0+Ym8tPnRiby5yZXN2LT5sb2NrKTsKKwor CWFtZGdwdV9tbl91bnJlZ2lzdGVyKGFvYmotPmJvKTsKKwlhbWRncHVfYm9fdW5yZWYoJmFvYmot PmJvKTsKKwlkcm1fZ2VtX29iamVjdF9yZWxlYXNlKCZhb2JqLT5iYXNlKTsKKwlrZnJlZShhb2Jq KTsKIH0KIAogaW50IGFtZGdwdV9nZW1fb2JqZWN0X2NyZWF0ZShzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiwgdW5zaWduZWQgbG9uZyBzaXplLApAQCAtNDksNiArNTUsNyBAQCBpbnQgYW1kZ3B1 X2dlbV9vYmplY3RfY3JlYXRlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCB1bnNpZ25lZCBs b25nIHNpemUsCiAJCQkJc3RydWN0IGRybV9nZW1fb2JqZWN0ICoqb2JqKQogewogCXN0cnVjdCBh bWRncHVfYm8gKnJvYmo7CisJc3RydWN0IGFtZGdwdV9nZW1fb2JqZWN0ICpnb2JqOwogCWludCBy OwogCiAJKm9iaiA9IE5VTEw7CkBAIC03MSw3ICs3OCwyMyBAQCBpbnQgYW1kZ3B1X2dlbV9vYmpl Y3RfY3JlYXRlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCB1bnNpZ25lZCBsb25nIHNpemUs CiAJCX0KIAkJcmV0dXJuIHI7CiAJfQotCSpvYmogPSAmcm9iai0+Z2VtX2Jhc2U7CisKKwlnb2Jq ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGFtZGdwdV9nZW1fb2JqZWN0KSwgR0ZQX0tFUk5FTCk7 CisJaWYgKHVubGlrZWx5KCFnb2JqKSkgeworCQlhbWRncHVfYm9fdW5yZWYoJnJvYmopOworCQly ZXR1cm4gLUVOT01FTTsKKwl9CisKKwlyID0gZHJtX2dlbV9vYmplY3RfaW5pdChhZGV2LT5kZGV2 LCAmZ29iai0+YmFzZSwgYW1kZ3B1X2JvX3NpemUocm9iaikpOworCWlmICh1bmxpa2VseShyKSkg eworCQlrZnJlZShnb2JqKTsKKwkJYW1kZ3B1X2JvX3VucmVmKCZyb2JqKTsKKwkJcmV0dXJuIHI7 CisJfQorCisJbGlzdF9hZGQoJmdvYmotPmxpc3QsICZyb2JqLT5nZW1fb2JqZWN0cyk7CisJZ29i ai0+Ym8gPSByb2JqOworCSpvYmogPSAmZ29iai0+YmFzZTsKIAogCXJldHVybiAwOwogfQpAQCAt NjkxLDcgKzcxNCw3IEBAIGludCBhbWRncHVfZ2VtX29wX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHZvaWQgKmRhdGEsCiAJCXN0cnVjdCBkcm1fYW1kZ3B1X2dlbV9jcmVhdGVfaW4gaW5m bzsKIAkJdm9pZCBfX3VzZXIgKm91dCA9ICh2b2lkIF9fdXNlciAqKSh1aW50cHRyX3QpYXJncy0+ dmFsdWU7CiAKLQkJaW5mby5ib19zaXplID0gcm9iai0+Z2VtX2Jhc2Uuc2l6ZTsKKwkJaW5mby5i b19zaXplID0gYW1kZ3B1X2JvX3NpemUocm9iaik7CiAJCWluZm8uYWxpZ25tZW50ID0gcm9iai0+ dGJvLm1lbS5wYWdlX2FsaWdubWVudCA8PCBQQUdFX1NISUZUOwogCQlpbmZvLmRvbWFpbnMgPSBy b2JqLT5wcmVmZXJlZF9kb21haW5zOwogCQlpbmZvLmRvbWFpbl9mbGFncyA9IHJvYmotPmZsYWdz OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5j IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5jCmluZGV4IGEwMTk1 NTYuLmJkNzBiYWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9vYmplY3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0 LmMKQEAgLTk2LDcgKzk2LDYgQEAgc3RhdGljIHZvaWQgYW1kZ3B1X3R0bV9ib19kZXN0cm95KHN0 cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqdGJvKQogCWFtZGdwdV9ib19rdW5tYXAoYm8pOwogCWFt ZGdwdV91cGRhdGVfbWVtb3J5X3VzYWdlKGFkZXYsICZiby0+dGJvLm1lbSwgTlVMTCk7CiAKLQlk cm1fZ2VtX29iamVjdF9yZWxlYXNlKCZiby0+Z2VtX2Jhc2UpOwogCWFtZGdwdV9ib191bnJlZigm Ym8tPnBhcmVudCk7CiAJaWYgKCFsaXN0X2VtcHR5KCZiby0+c2hhZG93X2xpc3QpKSB7CiAJCW11 dGV4X2xvY2soJmFkZXYtPnNoYWRvd19saXN0X2xvY2spOwpAQCAtMzQ1LDEzICszNDQsOSBAQCBp bnQgYW1kZ3B1X2JvX2NyZWF0ZV9yZXN0cmljdGVkKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2 LAogCWJvID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGFtZGdwdV9ibyksIEdGUF9LRVJORUwpOwog CWlmIChibyA9PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsKLQlyID0gZHJtX2dlbV9vYmplY3Rf aW5pdChhZGV2LT5kZGV2LCAmYm8tPmdlbV9iYXNlLCBzaXplKTsKLQlpZiAodW5saWtlbHkocikp IHsKLQkJa2ZyZWUoYm8pOwotCQlyZXR1cm4gcjsKLQl9CiAJSU5JVF9MSVNUX0hFQUQoJmJvLT5z aGFkb3dfbGlzdCk7CiAJSU5JVF9MSVNUX0hFQUQoJmJvLT52YSk7CisJSU5JVF9MSVNUX0hFQUQo JmJvLT5nZW1fb2JqZWN0cyk7CiAJYm8tPnByZWZlcmVkX2RvbWFpbnMgPSBkb21haW4gJiAoQU1E R1BVX0dFTV9ET01BSU5fVlJBTSB8CiAJCQkJCSBBTURHUFVfR0VNX0RPTUFJTl9HVFQgfAogCQkJ CQkgQU1ER1BVX0dFTV9ET01BSU5fQ1BVIHwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9wcmltZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X3ByaW1lLmMKaW5kZXggNmJkYzg2Ni4uYjk0MjVlZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ByaW1lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X3ByaW1lLmMKQEAgLTY1LDYgKzY1LDcgQEAgc3RydWN0IGRybV9nZW1f b2JqZWN0ICoKIAlzdHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0ICpyZXN2ID0gYXR0YWNoLT5kbWFi dWYtPnJlc3Y7CiAJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBkZXYtPmRldl9wcml2YXRl OwogCXN0cnVjdCBhbWRncHVfYm8gKmJvOworCXN0cnVjdCBhbWRncHVfZ2VtX29iamVjdCAqZ29i ajsKIAlpbnQgcmV0OwogCiAJd3dfbXV0ZXhfbG9jaygmcmVzdi0+bG9jaywgTlVMTCk7CkBAIC03 NSw3ICs3NiwyNCBAQCBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKgogCQlyZXR1cm4gRVJSX1BUUihy ZXQpOwogCiAJYm8tPnByaW1lX3NoYXJlZF9jb3VudCA9IDE7Ci0JcmV0dXJuICZiby0+Z2VtX2Jh c2U7CisKKwlnb2JqID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGFtZGdwdV9nZW1fb2JqZWN0KSwg R0ZQX0tFUk5FTCk7CisJaWYgKHVubGlrZWx5KCFnb2JqKSkgeworCQlhbWRncHVfYm9fdW5yZWYo JmJvKTsKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CisJfQorCisJcmV0ID0gZHJtX2dlbV9v YmplY3RfaW5pdChhZGV2LT5kZGV2LCAmZ29iai0+YmFzZSwgYW1kZ3B1X2JvX3NpemUoYm8pKTsK KwlpZiAodW5saWtlbHkocmV0KSkgeworCQlrZnJlZShnb2JqKTsKKwkJYW1kZ3B1X2JvX3VucmVm KCZibyk7CisJCXJldHVybiBFUlJfUFRSKHJldCk7CisJfQorCisJbGlzdF9hZGQoJmdvYmotPmxp c3QsICZiby0+Z2VtX29iamVjdHMpOworCWdvYmotPmJvID0gYW1kZ3B1X2JvX3JlZihibyk7CisK KwlyZXR1cm4gJmdvYmotPmJhc2U7CiB9CiAKIGludCBhbWRncHVfZ2VtX3ByaW1lX3BpbihzdHJ1 Y3QgZHJtX2dlbV9vYmplY3QgKm9iaikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV90dG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90 dG0uYwppbmRleCA0ZDJhNDU0Li41M2NiN2ZiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfdHRtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X3R0bS5jCkBAIC0yNTYsMTEgKzI1NiwyNCBAQCBzdGF0aWMgdm9pZCBhbWRncHVfZXZp Y3RfZmxhZ3Moc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKIHN0YXRpYyBpbnQgYW1kZ3B1 X3ZlcmlmeV9hY2Nlc3Moc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywgc3RydWN0IGZpbGUg KmZpbHApCiB7CiAJc3RydWN0IGFtZGdwdV9ibyAqYWJvID0gY29udGFpbmVyX29mKGJvLCBzdHJ1 Y3QgYW1kZ3B1X2JvLCB0Ym8pOworCXN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2ID0gZmlscC0+ cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhbWRncHVfZ2VtX29iamVjdCAqZ29iajsKIAogCWlmIChh bWRncHVfdHRtX3R0X2dldF91c2VybW0oYm8tPnR0bSkpCiAJCXJldHVybiAtRVBFUk07Ci0JcmV0 dXJuIGRybV92bWFfbm9kZV92ZXJpZnlfYWNjZXNzKCZhYm8tPmdlbV9iYXNlLnZtYV9ub2RlLAot CQkJCQkgIGZpbHAtPnByaXZhdGVfZGF0YSk7CisKKwl3d19tdXRleF9sb2NrKCZhYm8tPnRiby5y ZXN2LT5sb2NrLCBOVUxMKTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGdvYmosICZhYm8tPmdlbV9v YmplY3RzLCBsaXN0KSB7CisJCWlmIChnb2JqLT5iYXNlLmRldiAhPSBmaWxlX3ByaXYtPm1pbm9y LT5kZXYpCisJCQljb250aW51ZTsKKworCQl3d19tdXRleF91bmxvY2soJmFiby0+dGJvLnJlc3Yt PmxvY2spOworCQlyZXR1cm4gZHJtX3ZtYV9ub2RlX3ZlcmlmeV9hY2Nlc3MoJmdvYmotPmJhc2Uu dm1hX25vZGUsCisJCQkJCQkgIGZpbGVfcHJpdik7CisJfQorCXd3X211dGV4X3VubG9jaygmYWJv LT50Ym8ucmVzdi0+bG9jayk7CisKKwlyZXR1cm4gLUVQRVJNOwogfQogCiBzdGF0aWMgdm9pZCBh bWRncHVfbW92ZV9udWxsKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCi0tIAoxLjkuMQoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==