From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Subject: [PATCH 14/15] drm/radeon: record what is next valid wptr for each ring v2 Date: Tue, 10 Jul 2012 14:51:23 +0200 Message-ID: <1341924684-563-14-git-send-email-deathsimple@vodafone.de> References: <1341924684-563-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 21037A09E8 for ; Tue, 10 Jul 2012 05:51:34 -0700 (PDT) In-Reply-To: <1341924684-563-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 List-Id: dri-devel@lists.freedesktop.org QmVmb3JlIGVtaXR0aW5nIGFueSBpbmRpcmVjdCBidWZmZXIsIGVtaXQgdGhlIG9mZnNldCBvZiB0 aGUgbmV4dAp2YWxpZCByaW5nIGNvbnRlbnQgaWYgYW55LiBUaGlzIGFsbG93IGNvZGUgdGhhdCB3 YW50IHRvIHJlc3VtZQpyaW5nIHRvIHJlc3VtZSByaW5nIHJpZ2h0IGFmdGVyIGliIHRoYXQgY2F1 c2VkIEdQVSBsb2NrdXAuCgp2MjogdXNlIHNjcmF0Y2ggcmVnaXN0ZXJzIGluc3RlYWQgb2Ygc3Rv cmluZyBpdCBpbnRvIG1lbW9yeQoKU2lnbmVkLW9mZi1ieTogSmVyb21lIEdsaXNzZSA8amdsaXNz ZUByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIDxkZWF0aHNpbXBs ZUB2b2RhZm9uZS5kZT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVlbi5jICAg fCAgICA4ICsrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL25pLmMgICAgICAgICAgfCAg IDExICsrKysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3I2MDAuYyAgICAgICAgfCAg IDE4ICsrKysrKysrKysrKysrKystLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaCAg ICAgIHwgICAgMSArCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9yaW5nLmMgfCAgICA0 ICsrKysKIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcnY3NzAuYyAgICAgICB8ICAgIDQgKysrLQog ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9zaS5jICAgICAgICAgIHwgICAyMiArKysrKysrKysrKysr KysrKysrLS0tCiA3IGZpbGVzIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ldmVyZ3JlZW4uYyBiL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vZXZlcmdyZWVuLmMKaW5kZXggZjM5YjkwMC4uNDBkZTM0NyAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ldmVyZ3JlZW4uYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVlbi5jCkBAIC0xMzY4LDcgKzEzNjgsMTMgQEAgdm9p ZCBldmVyZ3JlZW5fcmluZ19pYl9leGVjdXRlKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBz dHJ1Y3QgcmFkZW9uX2liICppYikKIAkvKiBzZXQgdG8gRFgxMC8xMSBtb2RlICovCiAJcmFkZW9u X3Jpbmdfd3JpdGUocmluZywgUEFDS0VUMyhQQUNLRVQzX01PREVfQ09OVFJPTCwgMCkpOwogCXJh ZGVvbl9yaW5nX3dyaXRlKHJpbmcsIDEpOwotCS8qIEZJWE1FOiBpbXBsZW1lbnQgKi8KKworCWlm IChyaW5nLT5ycHRyX3NhdmVfcmVnKSB7CisJCXVpbnQzMl90IG5leHRfcnB0ciA9IHJpbmctPndw dHIgKyAyICsgNDsKKwkJcmFkZW9uX3Jpbmdfd3JpdGUocmluZywgUEFDS0VUMChyaW5nLT5ycHRy X3NhdmVfcmVnLCAwKSk7CisJCXJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIG5leHRfcnB0cik7CisJ fQorCiAJcmFkZW9uX3Jpbmdfd3JpdGUocmluZywgUEFDS0VUMyhQQUNLRVQzX0lORElSRUNUX0JV RkZFUiwgMikpOwogCXJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsCiAjaWZkZWYgX19CSUdfRU5ESUFO CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL25pLmMgYi9kcml2ZXJzL2dwdS9k cm0vcmFkZW9uL25pLmMKaW5kZXggZjJhZmVmYi4uNmUzZDQ0OCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9uaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vbmkuYwpA QCAtODU1LDYgKzg1NSwxMyBAQCB2b2lkIGNheW1hbl9yaW5nX2liX2V4ZWN1dGUoc3RydWN0IHJh ZGVvbl9kZXZpY2UgKnJkZXYsIHN0cnVjdCByYWRlb25faWIgKmliKQogCS8qIHNldCB0byBEWDEw LzExIG1vZGUgKi8KIAlyYWRlb25fcmluZ193cml0ZShyaW5nLCBQQUNLRVQzKFBBQ0tFVDNfTU9E RV9DT05UUk9MLCAwKSk7CiAJcmFkZW9uX3Jpbmdfd3JpdGUocmluZywgMSk7CisKKwlpZiAocmlu Zy0+cnB0cl9zYXZlX3JlZykgeworCQl1aW50MzJfdCBuZXh0X3JwdHIgPSByaW5nLT53cHRyICsg MiArIDQ7CisJCXJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIFBBQ0tFVDAocmluZy0+cnB0cl9zYXZl X3JlZywgMCkpOworCQlyYWRlb25fcmluZ193cml0ZShyaW5nLCBuZXh0X3JwdHIpOworCX0KKwog CXJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIFBBQ0tFVDMoUEFDS0VUM19JTkRJUkVDVF9CVUZGRVIs IDIpKTsKIAlyYWRlb25fcmluZ193cml0ZShyaW5nLAogI2lmZGVmIF9fQklHX0VORElBTgpAQCAt OTgxLDggKzk4OCwxMCBAQCBzdGF0aWMgaW50IGNheW1hbl9jcF9zdGFydChzdHJ1Y3QgcmFkZW9u X2RldmljZSAqcmRldikKIAogc3RhdGljIHZvaWQgY2F5bWFuX2NwX2Zpbmkoc3RydWN0IHJhZGVv bl9kZXZpY2UgKnJkZXYpCiB7CisJc3RydWN0IHJhZGVvbl9yaW5nICpyaW5nID0gJnJkZXYtPnJp bmdbUkFERU9OX1JJTkdfVFlQRV9HRlhfSU5ERVhdOwogCWNheW1hbl9jcF9lbmFibGUocmRldiwg ZmFsc2UpOwotCXJhZGVvbl9yaW5nX2ZpbmkocmRldiwgJnJkZXYtPnJpbmdbUkFERU9OX1JJTkdf VFlQRV9HRlhfSU5ERVhdKTsKKwlyYWRlb25fcmluZ19maW5pKHJkZXYsIHJpbmcpOworCXJhZGVv bl9zY3JhdGNoX2ZyZWUocmRldiwgcmluZy0+cnB0cl9zYXZlX3JlZyk7CiB9CiAKIGludCBjYXlt YW5fY3BfcmVzdW1lKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yNjAwLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3I2MDAu YwppbmRleCBjODA4ZmE5Li43NGZjYTE1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3I2MDAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3I2MDAuYwpAQCAtMjE1NSwx OCArMjE1NSwyNyBAQCBpbnQgcjYwMF9jcF9yZXN1bWUoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJk ZXYpCiB2b2lkIHI2MDBfcmluZ19pbml0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBzdHJ1 Y3QgcmFkZW9uX3JpbmcgKnJpbmcsIHVuc2lnbmVkIHJpbmdfc2l6ZSkKIHsKIAl1MzIgcmJfYnVm c3o7CisJaW50IHI7CiAKIAkvKiBBbGlnbiByaW5nIHNpemUgKi8KIAlyYl9idWZzeiA9IGRybV9v cmRlcihyaW5nX3NpemUgLyA4KTsKIAlyaW5nX3NpemUgPSAoMSA8PCAocmJfYnVmc3ogKyAxKSkg KiA0OwogCXJpbmctPnJpbmdfc2l6ZSA9IHJpbmdfc2l6ZTsKIAlyaW5nLT5hbGlnbl9tYXNrID0g MTYgLSAxOworCisJciA9IHJhZGVvbl9zY3JhdGNoX2dldChyZGV2LCAmcmluZy0+cnB0cl9zYXZl X3JlZyk7CisJaWYgKHIpIHsKKwkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gZ2V0IHNjcmF0Y2ggcmVn IGZvciBycHRyIHNhdmUgKCVkKS5cbiIsIHIpOworCQlyaW5nLT5ycHRyX3NhdmVfcmVnID0gMDsK Kwl9CiB9CiAKIHZvaWQgcjYwMF9jcF9maW5pKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQog eworCXN0cnVjdCByYWRlb25fcmluZyAqcmluZyA9ICZyZGV2LT5yaW5nW1JBREVPTl9SSU5HX1RZ UEVfR0ZYX0lOREVYXTsKIAlyNjAwX2NwX3N0b3AocmRldik7Ci0JcmFkZW9uX3JpbmdfZmluaShy ZGV2LCAmcmRldi0+cmluZ1tSQURFT05fUklOR19UWVBFX0dGWF9JTkRFWF0pOworCXJhZGVvbl9y aW5nX2ZpbmkocmRldiwgcmluZyk7CisJcmFkZW9uX3NjcmF0Y2hfZnJlZShyZGV2LCByaW5nLT5y cHRyX3NhdmVfcmVnKTsKIH0KIAogCkBAIC0yNTY4LDcgKzI1NzcsMTIgQEAgdm9pZCByNjAwX3Jp bmdfaWJfZXhlY3V0ZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgc3RydWN0IHJhZGVvbl9p YiAqaWIpCiB7CiAJc3RydWN0IHJhZGVvbl9yaW5nICpyaW5nID0gJnJkZXYtPnJpbmdbaWItPnJp bmddOwogCi0JLyogRklYTUU6IGltcGxlbWVudCAqLworCWlmIChyaW5nLT5ycHRyX3NhdmVfcmVn KSB7CisJCXVpbnQzMl90IG5leHRfcnB0ciA9IHJpbmctPndwdHIgKyAyICsgNDsKKwkJcmFkZW9u X3Jpbmdfd3JpdGUocmluZywgUEFDS0VUMChyaW5nLT5ycHRyX3NhdmVfcmVnLCAwKSk7CisJCXJh ZGVvbl9yaW5nX3dyaXRlKHJpbmcsIG5leHRfcnB0cik7CisJfQorCiAJcmFkZW9uX3Jpbmdfd3Jp dGUocmluZywgUEFDS0VUMyhQQUNLRVQzX0lORElSRUNUX0JVRkZFUiwgMikpOwogCXJhZGVvbl9y aW5nX3dyaXRlKHJpbmcsCiAjaWZkZWYgX19CSUdfRU5ESUFOCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24u aAppbmRleCA4NzIyNzBjLi42NGQzOWFkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmgKQEAgLTYy Miw2ICs2MjIsNyBAQCBzdHJ1Y3QgcmFkZW9uX3JpbmcgewogCXVuc2lnbmVkCQlycHRyOwogCXVu c2lnbmVkCQlycHRyX29mZnM7CiAJdW5zaWduZWQJCXJwdHJfcmVnOworCXVuc2lnbmVkCQlycHRy X3NhdmVfcmVnOwogCXVuc2lnbmVkCQl3cHRyOwogCXVuc2lnbmVkCQl3cHRyX29sZDsKIAl1bnNp Z25lZAkJd3B0cl9yZWc7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVv bl9yaW5nLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9yaW5nLmMKaW5kZXggMDg3 MzgzNC4uY2U4ZWI5ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25f cmluZy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3JpbmcuYwpAQCAtNDUx LDYgKzQ1MSwxMCBAQCBzdGF0aWMgaW50IHJhZGVvbl9kZWJ1Z2ZzX3JpbmdfaW5mbyhzdHJ1Y3Qg c2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCiAJY291bnQgPSAocmluZy0+cmluZ19zaXplIC8gNCkg LSByaW5nLT5yaW5nX2ZyZWVfZHc7CiAJc2VxX3ByaW50ZihtLCAid3B0cigweCUwNHgpOiAweCUw OHhcbiIsIHJpbmctPndwdHJfcmVnLCBSUkVHMzIocmluZy0+d3B0cl9yZWcpKTsKIAlzZXFfcHJp bnRmKG0sICJycHRyKDB4JTA0eCk6IDB4JTA4eFxuIiwgcmluZy0+cnB0cl9yZWcsIFJSRUczMihy aW5nLT5ycHRyX3JlZykpOworCWlmIChyaW5nLT5ycHRyX3NhdmVfcmVnKSB7CisJCXNlcV9wcmlu dGYobSwgInJwdHIgbmV4dCgweCUwNHgpOiAweCUwOHhcbiIsIHJpbmctPnJwdHJfc2F2ZV9yZWcs CisJCQkgICBSUkVHMzIocmluZy0+cnB0cl9zYXZlX3JlZykpOworCX0KIAlzZXFfcHJpbnRmKG0s ICJkcml2ZXIncyBjb3B5IG9mIHRoZSB3cHRyOiAweCUwOHhcbiIsIHJpbmctPndwdHIpOwogCXNl cV9wcmludGYobSwgImRyaXZlcidzIGNvcHkgb2YgdGhlIHJwdHI6IDB4JTA4eFxuIiwgcmluZy0+ cnB0cik7CiAJc2VxX3ByaW50ZihtLCAiJXUgZnJlZSBkd29yZHMgaW4gcmluZ1xuIiwgcmluZy0+ cmluZ19mcmVlX2R3KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcnY3NzAu YyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcnY3NzAuYwppbmRleCBiNGIxMjU2Li5lYjQ3MDRl IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3J2NzcwLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9ydjc3MC5jCkBAIC0zNTgsOCArMzU4LDEwIEBAIHN0YXRpYyBpbnQg cnY3NzBfY3BfbG9hZF9taWNyb2NvZGUoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCiAKIHZv aWQgcjcwMF9jcF9maW5pKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQogeworCXN0cnVjdCBy YWRlb25fcmluZyAqcmluZyA9ICZyZGV2LT5yaW5nW1JBREVPTl9SSU5HX1RZUEVfR0ZYX0lOREVY XTsKIAlyNzAwX2NwX3N0b3AocmRldik7Ci0JcmFkZW9uX3JpbmdfZmluaShyZGV2LCAmcmRldi0+ cmluZ1tSQURFT05fUklOR19UWVBFX0dGWF9JTkRFWF0pOworCXJhZGVvbl9yaW5nX2ZpbmkocmRl diwgcmluZyk7CisJcmFkZW9uX3NjcmF0Y2hfZnJlZShyZGV2LCByaW5nLT5ycHRyX3NhdmVfcmVn KTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vc2kuYyBiL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vc2kuYwppbmRleCBmNjFiNTUwLi5jN2FjZTIxIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3NpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9zaS5jCkBAIC0xNzY1LDYgKzE3NjUsMTIgQEAgdm9pZCBzaV9yaW5nX2liX2V4ZWN1dGUo c3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHN0cnVjdCByYWRlb25faWIgKmliKQogCXN0cnVj dCByYWRlb25fcmluZyAqcmluZyA9ICZyZGV2LT5yaW5nW2liLT5yaW5nXTsKIAl1MzIgaGVhZGVy OwogCisJaWYgKHJpbmctPnJwdHJfc2F2ZV9yZWcpIHsKKwkJdWludDMyX3QgbmV4dF9ycHRyID0g cmluZy0+d3B0ciArIDIgKyA0OworCQlyYWRlb25fcmluZ193cml0ZShyaW5nLCBQQUNLRVQwKHJp bmctPnJwdHJfc2F2ZV9yZWcsIDApKTsKKwkJcmFkZW9uX3Jpbmdfd3JpdGUocmluZywgbmV4dF9y cHRyKTsKKwl9CisKIAlpZiAoaWItPmlzX2NvbnN0X2liKQogCQloZWFkZXIgPSBQQUNLRVQzKFBB Q0tFVDNfSU5ESVJFQ1RfQlVGRkVSX0NPTlNULCAyKTsKIAllbHNlCkBAIC0xOTE3LDEwICsxOTIz LDIwIEBAIHN0YXRpYyBpbnQgc2lfY3Bfc3RhcnQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYp CiAKIHN0YXRpYyB2b2lkIHNpX2NwX2Zpbmkoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCiB7 CisJc3RydWN0IHJhZGVvbl9yaW5nICpyaW5nOwogCXNpX2NwX2VuYWJsZShyZGV2LCBmYWxzZSk7 Ci0JcmFkZW9uX3JpbmdfZmluaShyZGV2LCAmcmRldi0+cmluZ1tSQURFT05fUklOR19UWVBFX0dG WF9JTkRFWF0pOwotCXJhZGVvbl9yaW5nX2ZpbmkocmRldiwgJnJkZXYtPnJpbmdbQ0FZTUFOX1JJ TkdfVFlQRV9DUDFfSU5ERVhdKTsKLQlyYWRlb25fcmluZ19maW5pKHJkZXYsICZyZGV2LT5yaW5n W0NBWU1BTl9SSU5HX1RZUEVfQ1AyX0lOREVYXSk7CisKKwlyaW5nID0gJnJkZXYtPnJpbmdbUkFE RU9OX1JJTkdfVFlQRV9HRlhfSU5ERVhdOworCXJhZGVvbl9yaW5nX2ZpbmkocmRldiwgcmluZyk7 CisJcmFkZW9uX3NjcmF0Y2hfZnJlZShyZGV2LCByaW5nLT5ycHRyX3NhdmVfcmVnKTsKKworCXJp bmcgPSAmcmRldi0+cmluZ1tDQVlNQU5fUklOR19UWVBFX0NQMV9JTkRFWF07CisJcmFkZW9uX3Jp bmdfZmluaShyZGV2LCByaW5nKTsKKwlyYWRlb25fc2NyYXRjaF9mcmVlKHJkZXYsIHJpbmctPnJw dHJfc2F2ZV9yZWcpOworCisJcmluZyA9ICZyZGV2LT5yaW5nW0NBWU1BTl9SSU5HX1RZUEVfQ1Ay X0lOREVYXTsKKwlyYWRlb25fcmluZ19maW5pKHJkZXYsIHJpbmcpOworCXJhZGVvbl9zY3JhdGNo X2ZyZWUocmRldiwgcmluZy0+cnB0cl9zYXZlX3JlZyk7CiB9CiAKIHN0YXRpYyBpbnQgc2lfY3Bf cmVzdW1lKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQotLSAKMS43LjkuNQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcg bGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK