From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Subject: [PATCH 12/13] drm/radeon: fix a bug with the ring syncing code Date: Fri, 20 Apr 2012 00:39:19 +0200 Message-ID: <1334875160-5454-13-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 A24D29EF58 for ; Thu, 19 Apr 2012 15:39:28 -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 UmluZ3MgbmVlZCB0byBsb2NrIGluIG9yZGVyLCBvdGhlcndpc2UKdGhlIHJpbmcgc3Vic3lzdGVt IGNhbiBkZWFkbG9jay4KClNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBLw7ZuaWcgPGRlYXRoc2lt cGxlQHZvZGFmb25lLmRlPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmggICAg ICAgICAgIHwgICAgNCArKwogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fY3MuYyAgICAg ICAgfCAgIDMzICsrKysrKy0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fc2VtYXBob3JlLmMgfCAgIDUzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl90dG0uYyAgICAgICB8ICAgNDYgKysrKysrKysrKyst LS0tLS0tLS0tLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCA4OCBpbnNlcnRpb25zKCspLCA0OCBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oIGIv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaAppbmRleCBkNDZkNWFjLi41OTEyY2FiIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uLmgKQEAgLTQ0Miw2ICs0NDIsMTAgQEAgdm9pZCByYWRlb25f c2VtYXBob3JlX2VtaXRfc2lnbmFsKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgcmlu ZywKIAkJCQkgIHN0cnVjdCByYWRlb25fc2VtYXBob3JlICpzZW1hcGhvcmUpOwogdm9pZCByYWRl b25fc2VtYXBob3JlX2VtaXRfd2FpdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgaW50IHJp bmcsCiAJCQkJc3RydWN0IHJhZGVvbl9zZW1hcGhvcmUgKnNlbWFwaG9yZSk7CitpbnQgcmFkZW9u X3NlbWFwaG9yZV9zeW5jX3JpbmdzKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAorCQkJCXN0 cnVjdCByYWRlb25fc2VtYXBob3JlICpzZW1hcGhvcmUsCisJCQkJYm9vbCBzeW5jX3RvW1JBREVP Tl9OVU1fUklOR1NdLAorCQkJCWludCBkc3RfcmluZyk7CiB2b2lkIHJhZGVvbl9zZW1hcGhvcmVf ZnJlZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKIAkJCSAgIHN0cnVjdCByYWRlb25fc2Vt YXBob3JlICpzZW1hcGhvcmUpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3JhZGVvbl9jcy5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fY3MuYwppbmRleCBl N2IwYjVkLi5kZTQwZDMzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVv bl9jcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2NzLmMKQEAgLTExOCw2 ICsxMTgsNyBAQCBzdGF0aWMgaW50IHJhZGVvbl9jc19nZXRfcmluZyhzdHJ1Y3QgcmFkZW9uX2Nz X3BhcnNlciAqcCwgdTMyIHJpbmcsIHMzMiBwcmlvcml0eQogc3RhdGljIGludCByYWRlb25fY3Nf c3luY19yaW5ncyhzdHJ1Y3QgcmFkZW9uX2NzX3BhcnNlciAqcCkKIHsKIAlib29sIHN5bmNfdG9f cmluZ1tSQURFT05fTlVNX1JJTkdTXSA9IHsgfTsKKwlib29sIG5lZWRfc3luYyA9IGZhbHNlOwog CWludCBpLCByOwogCiAJZm9yIChpID0gMDsgaSA8IHAtPm5yZWxvY3M7IGkrKykgewpAQCAtMTI4 LDM0ICsxMjksMjIgQEAgc3RhdGljIGludCByYWRlb25fY3Nfc3luY19yaW5ncyhzdHJ1Y3QgcmFk ZW9uX2NzX3BhcnNlciAqcCkKIAkJCXN0cnVjdCByYWRlb25fZmVuY2UgKmZlbmNlID0gcC0+cmVs b2NzW2ldLnJvYmotPnRiby5zeW5jX29iajsKIAkJCWlmICghcmFkZW9uX2ZlbmNlX3NpZ25hbGVk KGZlbmNlKSkgewogCQkJCXN5bmNfdG9fcmluZ1tmZW5jZS0+cmluZ10gPSB0cnVlOworCQkJCW5l ZWRfc3luYyA9IHRydWU7CiAJCQl9CiAJCX0KIAl9CiAKLQlmb3IgKGkgPSAwOyBpIDwgUkFERU9O X05VTV9SSU5HUzsgKytpKSB7Ci0JCS8qIG5vIG5lZWQgdG8gc3luYyB0byBvdXIgb3duIG9yIHVu dXNlZCByaW5ncyAqLwotCQlpZiAoaSA9PSBwLT5yaW5nIHx8ICFzeW5jX3RvX3JpbmdbaV0gfHwg IXAtPnJkZXYtPnJpbmdbaV0ucmVhZHkpCi0JCQljb250aW51ZTsKLQotCQlpZiAoIXAtPmliLT5m ZW5jZS0+c2VtYXBob3JlKSB7Ci0JCQlyID0gcmFkZW9uX3NlbWFwaG9yZV9jcmVhdGUocC0+cmRl diwgJnAtPmliLT5mZW5jZS0+c2VtYXBob3JlKTsKLQkJCWlmIChyKQotCQkJCXJldHVybiByOwot CQl9Ci0KLQkJciA9IHJhZGVvbl9yaW5nX2xvY2socC0+cmRldiwgJnAtPnJkZXYtPnJpbmdbaV0s IDMpOwotCQlpZiAocikKLQkJCXJldHVybiByOwotCQlyYWRlb25fc2VtYXBob3JlX2VtaXRfc2ln bmFsKHAtPnJkZXYsIGksIHAtPmliLT5mZW5jZS0+c2VtYXBob3JlKTsKLQkJcmFkZW9uX3Jpbmdf dW5sb2NrX2NvbW1pdChwLT5yZGV2LCAmcC0+cmRldi0+cmluZ1tpXSk7CisJaWYgKCFuZWVkX3N5 bmMpIHsKKwkJcmV0dXJuIDA7CisJfQogCi0JCXIgPSByYWRlb25fcmluZ19sb2NrKHAtPnJkZXYs ICZwLT5yZGV2LT5yaW5nW3AtPnJpbmddLCAzKTsKLQkJaWYgKHIpCi0JCQlyZXR1cm4gcjsKLQkJ cmFkZW9uX3NlbWFwaG9yZV9lbWl0X3dhaXQocC0+cmRldiwgcC0+cmluZywgcC0+aWItPmZlbmNl LT5zZW1hcGhvcmUpOwotCQlyYWRlb25fcmluZ191bmxvY2tfY29tbWl0KHAtPnJkZXYsICZwLT5y ZGV2LT5yaW5nW3AtPnJpbmddKTsKKwlyID0gcmFkZW9uX3NlbWFwaG9yZV9jcmVhdGUocC0+cmRl diwgJnAtPmliLT5mZW5jZS0+c2VtYXBob3JlKTsKKwlpZiAocikgeworCQlyZXR1cm4gcjsKIAl9 Ci0JcmV0dXJuIDA7CisKKwlyZXR1cm4gcmFkZW9uX3NlbWFwaG9yZV9zeW5jX3JpbmdzKHAtPnJk ZXYsIHAtPmliLT5mZW5jZS0+c2VtYXBob3JlLAorCQkJCQkgICBzeW5jX3RvX3JpbmcsIHAtPnJp bmcpOwogfQogCiBpbnQgcmFkZW9uX2NzX3BhcnNlcl9pbml0KHN0cnVjdCByYWRlb25fY3NfcGFy c2VyICpwLCB2b2lkICpkYXRhKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9y YWRlb25fc2VtYXBob3JlLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9zZW1hcGhv cmUuYwppbmRleCBhMDljYzA1Li5mZjFjZTkwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3JhZGVvbl9zZW1hcGhvcmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbl9zZW1hcGhvcmUuYwpAQCAtNzUsNiArNzUsNTkgQEAgdm9pZCByYWRlb25fc2VtYXBob3Jl X2VtaXRfd2FpdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgaW50IHJpbmcsCiAJcmFkZW9u X3NlbWFwaG9yZV9yaW5nX2VtaXQocmRldiwgcmluZywgJnJkZXYtPnJpbmdbcmluZ10sIHNlbWFw aG9yZSwgdHJ1ZSk7CiB9CiAKK2ludCByYWRlb25fc2VtYXBob3JlX3N5bmNfcmluZ3Moc3RydWN0 IHJhZGVvbl9kZXZpY2UgKnJkZXYsCisJCQkJc3RydWN0IHJhZGVvbl9zZW1hcGhvcmUgKnNlbWFw aG9yZSwKKwkJCQlib29sIHN5bmNfdG9bUkFERU9OX05VTV9SSU5HU10sCisJCQkJaW50IGRzdF9y aW5nKQoreworCWludCBpLCByOworCisJZm9yIChpID0gMDsgaSA8IFJBREVPTl9OVU1fUklOR1M7 ICsraSkgeworCQl1bnNpZ25lZCBudW1fb3BzID0gaSA9PSBkc3RfcmluZyA/IFJBREVPTl9OVU1f UklOR1MgOiAxOworCisJCS8qIGRvbid0IGxvY2sgdW51c2VkIHJpbmdzICovCisJCWlmICghc3lu Y190b1tpXSAmJiBpICE9IGRzdF9yaW5nKQorCQkJY29udGludWU7CisKKwkJLyogcHJldmVudCBH UFUgZGVhZGxvY2tzICovCisJCWlmICghcmRldi0+cmluZ1tpXS5yZWFkeSkgeworCQkJZGV2X2Vy cihyZGV2LT5kZXYsICJUcnlpbmcgdG8gc3luYyB0byBhIGRpc2FibGVkIHJpbmchIik7CisJCQly ID0gLUVJTlZBTDsKKwkJCWdvdG8gZXJyb3I7CisJCX0KKworICAgICAgICAgICAgICAgIHIgPSBy YWRlb25fcmluZ19sb2NrKHJkZXYsICZyZGV2LT5yaW5nW2ldLCBudW1fb3BzICogNCk7CisgICAg ICAgICAgICAgICAgaWYgKHIpCisJCQlnb3RvIGVycm9yOworCX0KKworCWZvciAoaSA9IDA7IGkg PCBSQURFT05fTlVNX1JJTkdTOyArK2kpIHsKKwkJLyogbm8gbmVlZCB0byBzeW5jIHRvIG91ciBv d24gb3IgdW51c2VkIHJpbmdzICovCisJCWlmICghc3luY190b1tpXSB8fCBpID09IGRzdF9yaW5n KQorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisKKwkJcmFkZW9uX3NlbWFwaG9y ZV9lbWl0X3NpZ25hbChyZGV2LCBpLCBzZW1hcGhvcmUpOworCQlyYWRlb25fc2VtYXBob3JlX2Vt aXRfd2FpdChyZGV2LCBkc3RfcmluZywgc2VtYXBob3JlKTsKKwl9CisKKwlmb3IgKGkgPSAwOyBp IDwgUkFERU9OX05VTV9SSU5HUzsgKytpKSB7CisKKwkJLyogZG9uJ3QgdW5sb2NrIHVudXNlZCBy aW5ncyAqLworCQlpZiAoIXN5bmNfdG9baV0gJiYgaSAhPSBkc3RfcmluZykKKwkJCWNvbnRpbnVl OworCisJCXJhZGVvbl9yaW5nX3VubG9ja19jb21taXQocmRldiwgJnJkZXYtPnJpbmdbaV0pOwor CX0KKworCXJldHVybiAwOworCitlcnJvcjoKKwkvKiB1bmxvY2sgYWxsIGxvY2tzIHRha2VuIHNv IGZhciAqLworCWZvciAoLS1pOyBpID49IDA7IC0taSkKKwkJcmFkZW9uX3JpbmdfdW5sb2NrX3Vu ZG8ocmRldiwgJnJkZXYtPnJpbmdbaV0pOworCXJldHVybiByOworfQorCiB2b2lkIHJhZGVvbl9z ZW1hcGhvcmVfZnJlZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKIAkJCSAgIHN0cnVjdCBy YWRlb25fc2VtYXBob3JlICpzZW1hcGhvcmUpCiB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JhZGVvbl90dG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3R0 bS5jCmluZGV4IGY0OTNjNjQuLjVlM2Q1NGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vcmFkZW9uX3R0bS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3R0 bS5jCkBAIC0yMjIsOCArMjIyLDggQEAgc3RhdGljIGludCByYWRlb25fbW92ZV9ibGl0KHN0cnVj dCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCiB7CiAJc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXY7 CiAJdWludDY0X3Qgb2xkX3N0YXJ0LCBuZXdfc3RhcnQ7Ci0Jc3RydWN0IHJhZGVvbl9mZW5jZSAq ZmVuY2U7Ci0JaW50IHIsIGk7CisJc3RydWN0IHJhZGVvbl9mZW5jZSAqZmVuY2UsICpvbGRfZmVu Y2U7CisJaW50IHI7CiAKIAlyZGV2ID0gcmFkZW9uX2dldF9yZGV2KGJvLT5iZGV2KTsKIAlyID0g cmFkZW9uX2ZlbmNlX2NyZWF0ZShyZGV2LCAmZmVuY2UsIHJhZGVvbl9jb3B5X3JpbmdfaW5kZXgo cmRldikpOwpAQCAtMjQyLDYgKzI0Miw3IEBAIHN0YXRpYyBpbnQgcmFkZW9uX21vdmVfYmxpdChz dHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAogCQlicmVhazsKIAlkZWZhdWx0OgogCQlEUk1f RVJST1IoIlVua25vd24gcGxhY2VtZW50ICVkXG4iLCBvbGRfbWVtLT5tZW1fdHlwZSk7CisJCXJh ZGVvbl9mZW5jZV91bnJlZigmZmVuY2UpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAJc3dpdGNo IChuZXdfbWVtLT5tZW1fdHlwZSkgewpAQCAtMjUzLDQyICsyNTQsMzUgQEAgc3RhdGljIGludCBy YWRlb25fbW92ZV9ibGl0KHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCiAJCWJyZWFrOwog CWRlZmF1bHQ6CiAJCURSTV9FUlJPUigiVW5rbm93biBwbGFjZW1lbnQgJWRcbiIsIG9sZF9tZW0t Pm1lbV90eXBlKTsKKwkJcmFkZW9uX2ZlbmNlX3VucmVmKCZmZW5jZSk7CiAJCXJldHVybiAtRUlO VkFMOwogCX0KIAlpZiAoIXJkZXYtPnJpbmdbcmFkZW9uX2NvcHlfcmluZ19pbmRleChyZGV2KV0u cmVhZHkpIHsKIAkJRFJNX0VSUk9SKCJUcnlpbmcgdG8gbW92ZSBtZW1vcnkgd2l0aCByaW5nIHR1 cm5lZCBvZmYuXG4iKTsKKwkJcmFkZW9uX2ZlbmNlX3VucmVmKCZmZW5jZSk7CiAJCXJldHVybiAt RUlOVkFMOwogCX0KIAogCUJVSUxEX0JVR19PTigoUEFHRV9TSVpFICUgUkFERU9OX0dQVV9QQUdF X1NJWkUpICE9IDApOwogCiAJLyogc3luYyBvdGhlciByaW5ncyAqLwotCWlmIChyZGV2LT5mYW1p bHkgPj0gQ0hJUF9SNjAwKSB7Ci0JCWZvciAoaSA9IDA7IGkgPCBSQURFT05fTlVNX1JJTkdTOyAr K2kpIHsKLQkJCS8qIG5vIG5lZWQgdG8gc3luYyB0byBvdXIgb3duIG9yIHVudXNlZCByaW5ncyAq LwotCQkJaWYgKGkgPT0gcmFkZW9uX2NvcHlfcmluZ19pbmRleChyZGV2KSB8fCAhcmRldi0+cmlu Z1tpXS5yZWFkeSkKLQkJCQljb250aW51ZTsKLQotCQkJaWYgKCFmZW5jZS0+c2VtYXBob3JlKSB7 Ci0JCQkJciA9IHJhZGVvbl9zZW1hcGhvcmVfY3JlYXRlKHJkZXYsICZmZW5jZS0+c2VtYXBob3Jl KTsKLQkJCQkvKiBGSVhNRTogaGFuZGxlIHNlbWFwaG9yZSBlcnJvciAqLwotCQkJCWlmIChyKQot CQkJCQljb250aW51ZTsKLQkJCX0KKwlvbGRfZmVuY2UgPSBiby0+c3luY19vYmo7CisJaWYgKG9s ZF9mZW5jZSAmJiBvbGRfZmVuY2UtPnJpbmcgIT0gZmVuY2UtPnJpbmcKKwkgICAgJiYgIXJhZGVv bl9mZW5jZV9zaWduYWxlZChvbGRfZmVuY2UpKSB7CisJCWJvb2wgc3luY190b19yaW5nW1JBREVP Tl9OVU1fUklOR1NdID0geyB9OworCQlzeW5jX3RvX3Jpbmdbb2xkX2ZlbmNlLT5yaW5nXSA9IHRy dWU7CisKKwkJciA9IHJhZGVvbl9zZW1hcGhvcmVfY3JlYXRlKHJkZXYsICZmZW5jZS0+c2VtYXBo b3JlKTsKKwkJaWYgKHIpIHsKKwkJCXJhZGVvbl9mZW5jZV91bnJlZigmZmVuY2UpOworCQkJcmV0 dXJuIHI7CisJCX0KIAotCQkJciA9IHJhZGVvbl9yaW5nX2xvY2socmRldiwgJnJkZXYtPnJpbmdb aV0sIDMpOwotCQkJLyogRklYTUU6IGhhbmRsZSByaW5nIGxvY2sgZXJyb3IgKi8KLQkJCWlmIChy KQotCQkJCWNvbnRpbnVlOwotCQkJcmFkZW9uX3NlbWFwaG9yZV9lbWl0X3NpZ25hbChyZGV2LCBp LCBmZW5jZS0+c2VtYXBob3JlKTsKLQkJCXJhZGVvbl9yaW5nX3VubG9ja19jb21taXQocmRldiwg JnJkZXYtPnJpbmdbaV0pOwotCi0JCQlyID0gcmFkZW9uX3JpbmdfbG9jayhyZGV2LCAmcmRldi0+ cmluZ1tyYWRlb25fY29weV9yaW5nX2luZGV4KHJkZXYpXSwgMyk7Ci0JCQkvKiBGSVhNRTogaGFu ZGxlIHJpbmcgbG9jayBlcnJvciAqLwotCQkJaWYgKHIpCi0JCQkJY29udGludWU7Ci0JCQlyYWRl b25fc2VtYXBob3JlX2VtaXRfd2FpdChyZGV2LCByYWRlb25fY29weV9yaW5nX2luZGV4KHJkZXYp LCBmZW5jZS0+c2VtYXBob3JlKTsKLQkJCXJhZGVvbl9yaW5nX3VubG9ja19jb21taXQocmRldiwg JnJkZXYtPnJpbmdbcmFkZW9uX2NvcHlfcmluZ19pbmRleChyZGV2KV0pOworCQlyID0gcmFkZW9u X3NlbWFwaG9yZV9zeW5jX3JpbmdzKHJkZXYsIGZlbmNlLT5zZW1hcGhvcmUsCisJCQkJCQlzeW5j X3RvX3JpbmcsIGZlbmNlLT5yaW5nKTsKKwkJaWYgKHIpIHsKKwkJCXJhZGVvbl9mZW5jZV91bnJl ZigmZmVuY2UpOworCQkJcmV0dXJuIHI7CiAJCX0KIAl9CiAKLS0gCjEuNy41LjQKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5n IGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==