From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jordan Crouse Subject: [PATCH 09/11] drm/msm: Shadow current pointer in the ring until command is complete Date: Tue, 7 Mar 2017 09:58:18 -0700 Message-ID: <1488905900-6603-10-git-send-email-jcrouse@codeaurora.org> References: <1486402779-9024-1-git-send-email-jcrouse@codeaurora.org> <1488905900-6603-1-git-send-email-jcrouse@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1488905900-6603-1-git-send-email-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: dri-devel@lists.freedesktop.org QWRkIGEgc2hhZG93IHBvaW50ZXIgdG8gdHJhY2sgdGhlIGN1cnJlbnQgY29tbWFuZCBiZWluZyB3 cml0dGVuIGludG8KdGhlIHJpbmcuIERvbid0IGNvbW1pdCBpdCBhcyAnY3VyJyB1bnRpbCB0aGUg Y29tbWFuZCBpcyBzdWJtaXR0ZWQuCkJlY2F1c2UgJ2N1cicgaXMgdXNlZCB0byBjb25zdHJ1Y3Qg dGhlIHNvZnR3YXJlIGNvcHkgb2YgdGhlIHdwdHIgdGhpcwplbnN1cmVzIHRoYXQgc29tZWJvZHkg cGVla2luZyBpbiBvbiB0aGUgcmluZyBkb2Vzbid0IGFzc3VtZSB0aGF0IGEKY29tbWFuZCBpcyBp bmZsaWdodCB3aGlsZSBpdCBpcyBiZWluZyB3cml0dGVuLiBUaGlzIGlzbid0IGEgaHVnZSBkZWFs CndpdGggYSBzaW5nbGUgcmluZyAodGhvdWdoIHRlY2huaWNhbGx5IHRoZSBoYW5nY2hlY2sgY291 bGQgYXNzdW1lCnRoZSBzeXN0ZW0gaXMgcHJlbWF0dXJlbHkgYnVzeSB3aGVuIGl0IGlzbid0KSBi dXQgaXQgd2lsbCBiZSByYXRoZXIKaW1wb3J0YW50IGZvciBwcmVlbXB0aW9uIHdoZXJlIHRoZSBk ZWNpc2lvbiB0byBwcmVlbXB0IGlzIGJhc2VkCm9uIGEgbm9uLWVtcHR5IHJpbmdidWZmZXIuIFdp dGhvdXQgYSBzaGFkb3cgYW4gYWdncmVzc2l2ZSBwcmVlbXB0aW9uCnNjaGVtZSBjb3VsZCBhc3N1 bWUgdGhhdCB0aGUgcmluZ2J1ZmZlciBpcyBub24gZW1wdHkgYW5kIHN3aXRjaCB0byBpdApiZWZv cmUgdGhlIENQVSBpcyBkb25lIHdyaXRpbmcgdGhlIGNvbW1hbmQgYW5kIGJvb20uCgpFdmVuIHRo b3VnaCBwcmVlbXB0aW9uIHdvbid0IGJlIHN1cHBvcnRlZCBmb3IgYWxsIHRhcmdldHMgYmVjYXVz ZSBvZgp0aGUgd2F5IHRoZSBjb2RlIGlzIG9yZ2FuaXplZCBpdCBpcyBzaW1wbGVyIHRvIG1ha2Ug dGhpcyBnZW5lcmljIGZvcgphbGwgdGFyZ2V0cy4gVGhlIGV4dHJhIGxvYWQgZm9yIG5vbi1wcmVl bXB0aW9uIHRhcmdldHMgc2hvdWxkIGJlCm1pbmltYWwuCgpTaWduZWQtb2ZmLWJ5OiBKb3JkYW4g Q3JvdXNlIDxqY3JvdXNlQGNvZGVhdXJvcmEub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20v YWRyZW5vL2FkcmVub19ncHUuYyB8ICA5ICsrKysrKystLQogZHJpdmVycy9ncHUvZHJtL21zbS9t c21fcmluZ2J1ZmZlci5jICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL21zbS9tc21fcmluZ2J1 ZmZlci5oICAgIHwgMTIgKysrKysrKystLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlv bnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9h ZHJlbm8vYWRyZW5vX2dwdS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYWRyZW5vX2dw dS5jCmluZGV4IDIxYzgzOWYuLmI4YzExYTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9t c20vYWRyZW5vL2FkcmVub19ncHUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9h ZHJlbm9fZ3B1LmMKQEAgLTE0NCw2ICsxNDQsNyBAQCB2b2lkIGFkcmVub19yZWNvdmVyKHN0cnVj dCBtc21fZ3B1ICpncHUpCiAJCQljb250aW51ZTsKIAogCQlyaW5nLT5jdXIgPSByaW5nLT5zdGFy dDsKKwkJcmluZy0+bmV4dCA9IHJpbmctPnN0YXJ0OwogCiAJCS8qIHJlc2V0IGNvbXBsZXRlZCBm ZW5jZSBzZXFubywgZGlzY2FyZCBhbnl0aGluZyBwZW5kaW5nOiAqLwogCQlhZHJlbm9fZ3B1LT5t ZW1wdHJzLT5mZW5jZVtyaW5nLT5pZF0gPSByaW5nLT5jb21wbGV0ZWRfZmVuY2U7CkBAIC0yNDAs MTIgKzI0MSwxNSBAQCB2b2lkIGFkcmVub19mbHVzaChzdHJ1Y3QgbXNtX2dwdSAqZ3B1LCBzdHJ1 Y3QgbXNtX3JpbmdidWZmZXIgKnJpbmcpCiAJc3RydWN0IGFkcmVub19ncHUgKmFkcmVub19ncHUg PSB0b19hZHJlbm9fZ3B1KGdwdSk7CiAJdWludDMyX3Qgd3B0cjsKIAorCS8qIENvcHkgdGhlIHNo YWRvdyB0byB0aGUgYWN0dWFsIHJlZ2lzdGVyICovCisJcmluZy0+Y3VyID0gcmluZy0+bmV4dDsK KwogCS8qCiAJICogTWFzayB3cHRyIHZhbHVlIHRoYXQgd2UgY2FsY3VsYXRlIHRvIGZpdCBpbiB0 aGUgSFcgcmFuZ2UuIFRoaXMgaXMKIAkgKiB0byBhY2NvdW50IGZvciB0aGUgcG9zc2liaWxpdHkg dGhhdCB0aGUgbGFzdCBjb21tYW5kIGZpdCBleGFjdGx5IGludG8KIAkgKiB0aGUgcmluZ2J1ZmZl ciBhbmQgcmItPm5leHQgaGFzbid0IHdyYXBwZWQgdG8gemVybyB5ZXQKIAkgKi8KLQl3cHRyID0g Z2V0X3dwdHIocmluZykgJSAoTVNNX0dQVV9SSU5HQlVGRkVSX1NaID4+IDIpOworCXdwdHIgPSAo cmluZy0+Y3VyIC0gcmluZy0+c3RhcnQpICUgKE1TTV9HUFVfUklOR0JVRkZFUl9TWiA+PiAyKTsK IAogCS8qIGVuc3VyZSB3cml0ZXMgdG8gcmluZ2J1ZmZlciBoYXZlIGhpdCBzeXN0ZW0gbWVtb3J5 OiAqLwogCW1iKCk7CkBAIC0zNjYsNyArMzcwLDggQEAgc3RhdGljIHVpbnQzMl90IHJpbmdfZnJl ZXdvcmRzKHN0cnVjdCBtc21fcmluZ2J1ZmZlciAqcmluZykKIHsKIAlzdHJ1Y3QgYWRyZW5vX2dw dSAqYWRyZW5vX2dwdSA9IHRvX2FkcmVub19ncHUocmluZy0+Z3B1KTsKIAl1aW50MzJfdCBzaXpl ID0gTVNNX0dQVV9SSU5HQlVGRkVSX1NaID4+IDI7Ci0JdWludDMyX3Qgd3B0ciA9IGdldF93cHRy KHJpbmcpOworCS8qIFVzZSByaW5nLT5uZXh0IHRvIGNhbGN1bGF0ZSBmcmVlIHNpemUgKi8KKwl1 aW50MzJfdCB3cHRyID0gcmluZy0+bmV4dCAtIHJpbmctPnN0YXJ0OwogCXVpbnQzMl90IHJwdHIg PSBnZXRfcnB0cihhZHJlbm9fZ3B1LCByaW5nKTsKIAlyZXR1cm4gKHJwdHIgKyAoc2l6ZSAtIDEp IC0gd3B0cikgJSBzaXplOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21f cmluZ2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fcmluZ2J1ZmZlci5jCmluZGV4 IDJhYjMxYzcuLmI4ODU5NzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX3Jp bmdidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9yaW5nYnVmZmVyLmMKQEAg LTQ3LDYgKzQ3LDcgQEAgc3RydWN0IG1zbV9yaW5nYnVmZmVyICptc21fcmluZ2J1ZmZlcl9uZXco c3RydWN0IG1zbV9ncHUgKmdwdSwgaW50IGlkKQogCQlnb3RvIGZhaWw7CiAJfQogCXJpbmctPmVu ZCAgID0gcmluZy0+c3RhcnQgKyAoTVNNX0dQVV9SSU5HQlVGRkVSX1NaID4+IDIpOworCXJpbmct Pm5leHQgID0gcmluZy0+c3RhcnQ7CiAJcmluZy0+Y3VyICAgPSByaW5nLT5zdGFydDsKIAogCXJl dHVybiByaW5nOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fcmluZ2J1ZmZl ci5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fcmluZ2J1ZmZlci5oCmluZGV4IDRlYjA1ZmUu Ljg2NWIyMWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX3JpbmdidWZmZXIu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9yaW5nYnVmZmVyLmgKQEAgLTI0LDcgKzI0 LDcgQEAgc3RydWN0IG1zbV9yaW5nYnVmZmVyIHsKIAlzdHJ1Y3QgbXNtX2dwdSAqZ3B1OwogCWlu dCBpZDsKIAlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmJvOwotCXVpbnQzMl90ICpzdGFydCwgKmVu ZCwgKmN1cjsKKwl1aW50MzJfdCAqc3RhcnQsICplbmQsICpjdXIsICpuZXh0OwogCXVpbnQ2NF90 IGlvdmE7CiAJLyogbGFzdF9mZW5jZSA9PSBjb21wbGV0ZWRfZmVuY2UgLS0+IG5vIHBlbmRpbmcg d29yayAqLwogCXVpbnQzMl90IGxhc3RfZmVuY2U7CkBAIC0zOSw5ICszOSwxMyBAQCBzdHJ1Y3Qg bXNtX3JpbmdidWZmZXIgewogc3RhdGljIGlubGluZSB2b2lkCiBPVVRfUklORyhzdHJ1Y3QgbXNt X3JpbmdidWZmZXIgKnJpbmcsIHVpbnQzMl90IGRhdGEpCiB7Ci0JaWYgKHJpbmctPmN1ciA9PSBy aW5nLT5lbmQpCi0JCXJpbmctPmN1ciA9IHJpbmctPnN0YXJ0OwotCSoocmluZy0+Y3VyKyspID0g ZGF0YTsKKwkvKgorCSAqIHJpbmctPm5leHQgcG9pbnRzIHRvIHRoZSBjdXJyZW50IGNvbW1hbmQg YmVpbmcgd3JpdHRlbiAtIGl0IHdvbid0IGJlCisJICogY29tbWl0dGVkIGFzIHJpbmctPmN1ciB1 bnRpbCB0aGUgZmx1c2gKKwkgKi8KKwlpZiAocmluZy0+bmV4dCA9PSByaW5nLT5lbmQpCisJCXJp bmctPm5leHQgPSByaW5nLT5zdGFydDsKKwkqKHJpbmctPm5leHQrKykgPSBkYXRhOwogfQogCiAj ZW5kaWYgLyogX19NU01fUklOR0JVRkZFUl9IX18gKi8KLS0gCjEuOS4xCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpGcmVlZHJlbm8gbWFpbGluZyBsaXN0 CkZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8K