From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Subject: [PATCH 06/13] drm/radeon: improve sub allocator Date: Fri, 20 Apr 2012 00:39:13 +0200 Message-ID: <1334875160-5454-7-git-send-email-deathsimple@vodafone.de> References: <1334875160-5454-1-git-send-email-deathsimple@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from outgoing.email.vodafone.de (outgoing.email.vodafone.de [139.7.28.128]) by gabe.freedesktop.org (Postfix) with ESMTP id 48F1E9EFE7 for ; Thu, 19 Apr 2012 15:39:26 -0700 (PDT) In-Reply-To: <1334875160-5454-1-git-send-email-deathsimple@vodafone.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: dri-devel@lists.freedesktop.org Cc: =?UTF-8?q?Christian=20K=C3=B6nig?= List-Id: dri-devel@lists.freedesktop.org TWFrZSB0aGUgc3ViYWxsb2NhdG9yIHNlbGYgY29udGFpbmluZyB0byBsb2NraW5nCmFuZCBmaXgg YSBvdmVycnVuIGJ1ZyB3aGljaCBoYXBwZW5zIHdpdGgKYWxsb2NhdGlvbnMgb2YgZGlmZmVyZW50 IGFsaWdubWVudHMuCgpTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIDxkZWF0aHNpbXBs ZUB2b2RhZm9uZS5kZT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oICAgIHwg ICAgMSArCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9zYS5jIHwgICAxOSArKysrKysr KysrKystLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDcgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaCBiL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmgKaW5kZXggODVhM2FhOS4uMWFlZmJkOSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vcmFkZW9uL3JhZGVvbi5oCkBAIC0zODEsNiArMzgxLDcgQEAgc3RydWN0IHJhZGVvbl9i b19saXN0IHsKICAqIGFsaWdubWVudCkuCiAgKi8KIHN0cnVjdCByYWRlb25fc2FfbWFuYWdlciB7 CisJc3BpbmxvY2tfdAkJbG9jazsKIAlzdHJ1Y3QgcmFkZW9uX2JvCSpibzsKIAlzdHJ1Y3QgbGlz dF9oZWFkCXNhX2JvOwogCXVuc2lnbmVkCQlzaXplOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9yYWRlb25fc2EuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3Nh LmMKaW5kZXggNGNjZTQ3ZS4uNGNlNWM1MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yYWRlb25fc2EuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9zYS5j CkBAIC0zNyw2ICszNyw3IEBAIGludCByYWRlb25fc2FfYm9fbWFuYWdlcl9pbml0KHN0cnVjdCBy YWRlb25fZGV2aWNlICpyZGV2LAogewogCWludCByOwogCisJc3Bpbl9sb2NrX2luaXQoJnNhX21h bmFnZXItPmxvY2spOwogCXNhX21hbmFnZXItPmJvID0gTlVMTDsKIAlzYV9tYW5hZ2VyLT5zaXpl ID0gc2l6ZTsKIAlzYV9tYW5hZ2VyLT5kb21haW4gPSBkb21haW47CkBAIC0xMzYsMzAgKzEzNywz MCBAQCBpbnQgcmFkZW9uX3NhX2JvX25ldyhzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKIAlz dHJ1Y3QgcmFkZW9uX3NhX2JvICp0bXA7CiAJc3RydWN0IGxpc3RfaGVhZCAqaGVhZDsKIAl1bnNp Z25lZCBvZmZzZXQgPSAwLCB3YXN0ZWQgPSAwOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKIAlC VUdfT04oYWxpZ24gPiBSQURFT05fR1BVX1BBR0VfU0laRSk7CiAJQlVHX09OKHNpemUgPiBzYV9t YW5hZ2VyLT5zaXplKTsKKwlzcGluX2xvY2tfaXJxc2F2ZSgmc2FfbWFuYWdlci0+bG9jaywgZmxh Z3MpOwogCiAJLyogbm8gb25lID8gKi8KLQloZWFkID0gc2FfbWFuYWdlci0+c2FfYm8ucHJldjsK IAlpZiAobGlzdF9lbXB0eSgmc2FfbWFuYWdlci0+c2FfYm8pKSB7CisJCWhlYWQgPSAmc2FfbWFu YWdlci0+c2FfYm87CiAJCWdvdG8gb3V0OwogCX0KIAogCS8qIGxvb2sgZm9yIGEgaG9sZSBiaWcg ZW5vdWdoICovCi0Jb2Zmc2V0ID0gMDsKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KHRtcCwgJnNhX21h bmFnZXItPnNhX2JvLCBsaXN0KSB7CiAJCS8qIHJvb20gYmVmb3JlIHRoaXMgb2JqZWN0ID8gKi8K LQkJaWYgKCh0bXAtPm9mZnNldCAtIG9mZnNldCkgPj0gc2l6ZSkgeworCQlpZiAob2Zmc2V0IDwg dG1wLT5vZmZzZXQgJiYgKHRtcC0+b2Zmc2V0IC0gb2Zmc2V0KSA+PSBzaXplKSB7CiAJCQloZWFk ID0gdG1wLT5saXN0LnByZXY7CiAJCQlnb3RvIG91dDsKIAkJfQogCQlvZmZzZXQgPSB0bXAtPm9m ZnNldCArIHRtcC0+c2l6ZTsKIAkJd2FzdGVkID0gb2Zmc2V0ICUgYWxpZ247CiAJCWlmICh3YXN0 ZWQpIHsKLQkJCXdhc3RlZCA9IGFsaWduIC0gd2FzdGVkOworCQkJb2Zmc2V0ICs9IGFsaWduIC0g d2FzdGVkOwogCQl9Ci0JCW9mZnNldCArPSB3YXN0ZWQ7CiAJfQogCS8qIHJvb20gYXQgdGhlIGVu ZCA/ICovCiAJaGVhZCA9IHNhX21hbmFnZXItPnNhX2JvLnByZXY7CkBAIC0xNjcsMTEgKzE2OCwx MSBAQCBpbnQgcmFkZW9uX3NhX2JvX25ldyhzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKIAlv ZmZzZXQgPSB0bXAtPm9mZnNldCArIHRtcC0+c2l6ZTsKIAl3YXN0ZWQgPSBvZmZzZXQgJSBhbGln bjsKIAlpZiAod2FzdGVkKSB7Ci0JCXdhc3RlZCA9IGFsaWduIC0gd2FzdGVkOworCQlvZmZzZXQg Kz0gd2FzdGVkID0gYWxpZ24gLSB3YXN0ZWQ7CiAJfQotCW9mZnNldCArPSB3YXN0ZWQ7CiAJaWYg KChzYV9tYW5hZ2VyLT5zaXplIC0gb2Zmc2V0KSA8IHNpemUpIHsKIAkJLyogZmFpbGVkIHRvIGZp bmQgc29tZXRoaW5ncyBiaWcgZW5vdWdoICovCisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNh X21hbmFnZXItPmxvY2ssIGZsYWdzKTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQogCkBAIC0xODAs MTAgKzE4MSwxNCBAQCBvdXQ6CiAJc2FfYm8tPm9mZnNldCA9IG9mZnNldDsKIAlzYV9iby0+c2l6 ZSA9IHNpemU7CiAJbGlzdF9hZGQoJnNhX2JvLT5saXN0LCBoZWFkKTsKKwlzcGluX3VubG9ja19p cnFyZXN0b3JlKCZzYV9tYW5hZ2VyLT5sb2NrLCBmbGFncyk7CiAJcmV0dXJuIDA7CiB9CiAKIHZv aWQgcmFkZW9uX3NhX2JvX2ZyZWUoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHN0cnVjdCBy YWRlb25fc2FfYm8gKnNhX2JvKQogeworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3Bpbl9sb2Nr X2lycXNhdmUoJnNhX2JvLT5tYW5hZ2VyLT5sb2NrLCBmbGFncyk7CiAJbGlzdF9kZWxfaW5pdCgm c2FfYm8tPmxpc3QpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNhX2JvLT5tYW5hZ2VyLT5s b2NrLCBmbGFncyk7CiB9Ci0tIAoxLjcuNS40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2RyaS1kZXZlbAo=