From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oded Gabbay Subject: [PATCH 2/9] drm/radeon: Impl. new gtt allocate/free functions Date: Wed, 31 Dec 2014 15:39:20 +0200 Message-ID: <1420033167-15565-3-git-send-email-oded.gabbay@amd.com> References: <1420033167-15565-1-git-send-email-oded.gabbay@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0102.outbound.protection.outlook.com [207.46.100.102]) by gabe.freedesktop.org (Postfix) with ESMTP id 889DC6E23C for ; Wed, 31 Dec 2014 05:40:38 -0800 (PST) In-Reply-To: <1420033167-15565-1-git-send-email-oded.gabbay@amd.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, Alexander.Deucher@amd.com Cc: Christian Koenig List-Id: dri-devel@lists.freedesktop.org VGhpcyBwYXRjaCBhZGRzIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgZ3R0IGludGVyZmFjZSBm dW5jdGlvbnMuCgpUaGUgYWxsb2NhdGUgZnVuY3Rpb24gd2lsbCBhbGxvY2F0ZSBhIHNpbmdsZSBi bywgcGluIGFuZCBtYXAgaXQgdG8ga2VybmVsCm1lbW9yeS4gSXQgd2lsbCByZXR1cm4gdGhlIGdw dSBhZGRyZXNzIGFuZCBjcHUgcHRyIGFzIGFyZ3VtZW50cy4KClJldmlld2VkLWJ5OiBBbGV4ZXkg U2tpZGFub3YgPEFsZXhleS5za2lkYW5vdkBhbWQuY29tPgpTaWduZWQtb2ZmLWJ5OiBPZGVkIEdh YmJheSA8b2RlZC5nYWJiYXlAYW1kLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbl9rZmQuYyB8IDg1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEg ZmlsZSBjaGFuZ2VkLCA4NSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9yYWRlb25fa2ZkLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9r ZmQuYwppbmRleCBkM2U3OGI0Li5kZGQyYWZkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3JhZGVvbl9rZmQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9r ZmQuYwpAQCAtMzcsNiArMzcsOCBAQCBzdHJ1Y3Qga2dkX21lbSB7CiAJc3RydWN0IHJhZGVvbl9z YV9ibyAqc2FfYm87CiAJdWludDY0X3QgZ3B1X2FkZHI7CiAJdm9pZCAqcHRyOworCXN0cnVjdCBy YWRlb25fYm8gKmJvOworCXZvaWQgKmNwdV9wdHI7CiB9OwogCiBzdGF0aWMgaW50IGluaXRfc2Ff bWFuYWdlcihzdHJ1Y3Qga2dkX2RldiAqa2dkLCB1bnNpZ25lZCBpbnQgc2l6ZSk7CkBAIC00Nyw2 ICs0OSwxMiBAQCBzdGF0aWMgaW50IGFsbG9jYXRlX21lbShzdHJ1Y3Qga2dkX2RldiAqa2dkLCBz aXplX3Qgc2l6ZSwgc2l6ZV90IGFsaWdubWVudCwKIAogc3RhdGljIHZvaWQgZnJlZV9tZW0oc3Ry dWN0IGtnZF9kZXYgKmtnZCwgc3RydWN0IGtnZF9tZW0gKm1lbSk7CiAKK3N0YXRpYyBpbnQgYWxs b2NfZ3R0X21lbShzdHJ1Y3Qga2dkX2RldiAqa2dkLCBzaXplX3Qgc2l6ZSwKKwkJCXZvaWQgKipt ZW1fb2JqLCB1aW50NjRfdCAqZ3B1X2FkZHIsCisJCQl2b2lkICoqY3B1X3B0cik7CisKK3N0YXRp YyB2b2lkIGZyZWVfZ3R0X21lbShzdHJ1Y3Qga2dkX2RldiAqa2dkLCB2b2lkICptZW1fb2JqKTsK Kwogc3RhdGljIHVpbnQ2NF90IGdldF92bWVtX3NpemUoc3RydWN0IGtnZF9kZXYgKmtnZCk7CiBz dGF0aWMgdWludDY0X3QgZ2V0X2dwdV9jbG9ja19jb3VudGVyKHN0cnVjdCBrZ2RfZGV2ICprZ2Qp OwogCkBAIC04NCw2ICs5Miw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qga2ZkMmtnZF9jYWxscyBr ZmQya2dkID0gewogCS5maW5pX3NhX21hbmFnZXIgPSBmaW5pX3NhX21hbmFnZXIsCiAJLmFsbG9j YXRlX21lbSA9IGFsbG9jYXRlX21lbSwKIAkuZnJlZV9tZW0gPSBmcmVlX21lbSwKKwkuaW5pdF9n dHRfbWVtX2FsbG9jYXRpb24gPSBhbGxvY19ndHRfbWVtLAorCS5mcmVlX2d0dF9tZW0gPSBmcmVl X2d0dF9tZW0sCiAJLmdldF92bWVtX3NpemUgPSBnZXRfdm1lbV9zaXplLAogCS5nZXRfZ3B1X2Ns b2NrX2NvdW50ZXIgPSBnZXRfZ3B1X2Nsb2NrX2NvdW50ZXIsCiAJLmdldF9tYXhfZW5naW5lX2Ns b2NrX2luX21oeiA9IGdldF9tYXhfZW5naW5lX2Nsb2NrX2luX21oeiwKQEAgLTI3OCw2ICsyODgs ODEgQEAgc3RhdGljIHZvaWQgZnJlZV9tZW0oc3RydWN0IGtnZF9kZXYgKmtnZCwgc3RydWN0IGtn ZF9tZW0gKm1lbSkKIAlrZnJlZShtZW0pOwogfQogCitzdGF0aWMgaW50IGFsbG9jX2d0dF9tZW0o c3RydWN0IGtnZF9kZXYgKmtnZCwgc2l6ZV90IHNpemUsCisJCQl2b2lkICoqbWVtX29iaiwgdWlu dDY0X3QgKmdwdV9hZGRyLAorCQkJdm9pZCAqKmNwdV9wdHIpCit7CisJc3RydWN0IHJhZGVvbl9k ZXZpY2UgKnJkZXYgPSAoc3RydWN0IHJhZGVvbl9kZXZpY2UgKilrZ2Q7CisJc3RydWN0IGtnZF9t ZW0gKiptZW0gPSAoc3RydWN0IGtnZF9tZW0gKiopIG1lbV9vYmo7CisJaW50IHI7CisKKwlCVUdf T04oa2dkID09IE5VTEwpOworCUJVR19PTihncHVfYWRkciA9PSBOVUxMKTsKKwlCVUdfT04oY3B1 X3B0ciA9PSBOVUxMKTsKKworCSptZW0gPSBrbWFsbG9jKHNpemVvZihzdHJ1Y3Qga2dkX21lbSks IEdGUF9LRVJORUwpOworCWlmICgoKm1lbSkgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisK KwlyID0gcmFkZW9uX2JvX2NyZWF0ZShyZGV2LCBzaXplLCBQQUdFX1NJWkUsIHRydWUsIFJBREVP Tl9HRU1fRE9NQUlOX0dUVCwKKwkJCQlSQURFT05fR0VNX0dUVF9XQywgTlVMTCwgTlVMTCwgJigq bWVtKS0+Ym8pOworCWlmIChyKSB7CisJCWRldl9lcnIocmRldi0+ZGV2LAorCQkJImZhaWxlZCB0 byBhbGxvY2F0ZSBCTyBmb3IgYW1ka2ZkICglZClcbiIsIHIpOworCQlyZXR1cm4gcjsKKwl9CisK KwkvKiBtYXAgdGhlIGJ1ZmZlciAqLworCXIgPSByYWRlb25fYm9fcmVzZXJ2ZSgoKm1lbSktPmJv LCB0cnVlKTsKKwlpZiAocikgeworCQlkZXZfZXJyKHJkZXYtPmRldiwgIiglZCkgZmFpbGVkIHRv IHJlc2VydmUgYm8gZm9yIGFtZGtmZFxuIiwgcik7CisJCWdvdG8gYWxsb2NhdGVfbWVtX3Jlc2Vy dmVfYm9fZmFpbGVkOworCX0KKworCXIgPSByYWRlb25fYm9fcGluKCgqbWVtKS0+Ym8sIFJBREVP Tl9HRU1fRE9NQUlOX0dUVCwKKwkJCQkmKCptZW0pLT5ncHVfYWRkcik7CisJaWYgKHIpIHsKKwkJ ZGV2X2VycihyZGV2LT5kZXYsICIoJWQpIGZhaWxlZCB0byBwaW4gYm8gZm9yIGFtZGtmZFxuIiwg cik7CisJCWdvdG8gYWxsb2NhdGVfbWVtX3Bpbl9ib19mYWlsZWQ7CisJfQorCSpncHVfYWRkciA9 ICgqbWVtKS0+Z3B1X2FkZHI7CisKKwlyID0gcmFkZW9uX2JvX2ttYXAoKCptZW0pLT5ibywgJigq bWVtKS0+Y3B1X3B0cik7CisJaWYgKHIpIHsKKwkJZGV2X2VycihyZGV2LT5kZXYsCisJCQkiKCVk KSBmYWlsZWQgdG8gbWFwIGJvIHRvIGtlcm5lbCBmb3IgYW1ka2ZkXG4iLCByKTsKKwkJZ290byBh bGxvY2F0ZV9tZW1fa21hcF9ib19mYWlsZWQ7CisJfQorCSpjcHVfcHRyID0gKCptZW0pLT5jcHVf cHRyOworCisJcmFkZW9uX2JvX3VucmVzZXJ2ZSgoKm1lbSktPmJvKTsKKworCXJldHVybiAwOwor CithbGxvY2F0ZV9tZW1fa21hcF9ib19mYWlsZWQ6CisJcmFkZW9uX2JvX3VucGluKCgqbWVtKS0+ Ym8pOworYWxsb2NhdGVfbWVtX3Bpbl9ib19mYWlsZWQ6CisJcmFkZW9uX2JvX3VucmVzZXJ2ZSgo Km1lbSktPmJvKTsKK2FsbG9jYXRlX21lbV9yZXNlcnZlX2JvX2ZhaWxlZDoKKwlyYWRlb25fYm9f dW5yZWYoJigqbWVtKS0+Ym8pOworCisJcmV0dXJuIHI7Cit9CisKK3N0YXRpYyB2b2lkIGZyZWVf Z3R0X21lbShzdHJ1Y3Qga2dkX2RldiAqa2dkLCB2b2lkICptZW1fb2JqKQoreworCXN0cnVjdCBr Z2RfbWVtICptZW0gPSAoc3RydWN0IGtnZF9tZW0gKikgbWVtX29iajsKKworCUJVR19PTihtZW0g PT0gTlVMTCk7CisKKwlyYWRlb25fYm9fcmVzZXJ2ZShtZW0tPmJvLCB0cnVlKTsKKwlyYWRlb25f Ym9fa3VubWFwKG1lbS0+Ym8pOworCXJhZGVvbl9ib191bnBpbihtZW0tPmJvKTsKKwlyYWRlb25f Ym9fdW5yZXNlcnZlKG1lbS0+Ym8pOworCXJhZGVvbl9ib191bnJlZigmKG1lbS0+Ym8pKTsKKwlr ZnJlZShtZW0pOworfQorCiBzdGF0aWMgdWludDY0X3QgZ2V0X3ZtZW1fc2l6ZShzdHJ1Y3Qga2dk X2RldiAqa2dkKQogewogCXN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2ID0gKHN0cnVjdCByYWRl b25fZGV2aWNlICopa2dkOwotLSAKMi4xLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZHJpLWRldmVsCg==