From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas Stach Subject: [PATCH RFC 045/111] staging: etnaviv: add support to insert a MMU flush into GPU stream Date: Thu, 2 Apr 2015 17:29:47 +0200 Message-ID: <1427988653-754-46-git-send-email-l.stach@pengutronix.de> References: <1427988653-754-1-git-send-email-l.stach@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [92.198.50.35]) by gabe.freedesktop.org (Postfix) with ESMTP id 919B86EA4B for ; Thu, 2 Apr 2015 08:30:58 -0700 (PDT) In-Reply-To: <1427988653-754-1-git-send-email-l.stach@pengutronix.de> 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 Cc: Russell King , kernel@pengutronix.de List-Id: dri-devel@lists.freedesktop.org RnJvbTogUnVzc2VsbCBLaW5nIDxybWsra2VybmVsQGFybS5saW51eC5vcmcudWs+CgpBZGQgYSBm bGFnIHRvIGluZGljYXRlIHRoYXQgdGhlIEdQVSBNTVUgbmVlZHMgdG8gYmUgZmx1c2hlZCBiZWZv cmUKZXhlY3V0aW5nIHRoZSBuZXh0IHNldCBvZiBjb21tYW5kIGJ1ZmZlcnMuICBUaGlzIGlzIG5l Y2Vzc2FyeSB0bwplbnN1cmUgdGhhdCB0aGUgR1BVIHNlZXMgdXBkYXRlZCBwYWdlIHRhYmxlIGVu dHJpZXMgd2hpY2ggbWF5IGhhdmUKYmVlbiBtb2RpZmllZCBieSBHRU0uCgpJdCBpcyBleHBlY3Rl ZCB0aGF0IHVzZXJzcGFjZSB3aWxsIGhhdmUgZmx1c2hlZCB0aGUgY2FjaGVzIGF0IHRoZQplbmQg b2YgdGhlIHByZXZpb3VzIGNvbW1hbmQgYnVmZmVycywgc28gdGhlcmUgd2lsbCBiZSBubyBjYWNo ZQp3cml0ZWJhY2tzIHBlbmRpbmcuCgpTaWduZWQtb2ZmLWJ5OiBSdXNzZWxsIEtpbmcgPHJtaytr ZXJuZWxAYXJtLmxpbnV4Lm9yZy51az4KLS0tCiBkcml2ZXJzL3N0YWdpbmcvZXRuYXZpdi9ldG5h dml2X2J1ZmZlci5jIHwgNjQgKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KIGRyaXZl cnMvc3RhZ2luZy9ldG5hdml2L2V0bmF2aXZfbW11LmggICAgfCAgMSArCiAyIGZpbGVzIGNoYW5n ZWQsIDUxIGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvc3RhZ2luZy9ldG5hdml2L2V0bmF2aXZfYnVmZmVyLmMgYi9kcml2ZXJzL3N0YWdpbmcvZXRu YXZpdi9ldG5hdml2X2J1ZmZlci5jCmluZGV4IDAyNjQ4OWJhZWRhNy4uOTY2NjFlNTEzZDdkIDEw MDY0NAotLS0gYS9kcml2ZXJzL3N0YWdpbmcvZXRuYXZpdi9ldG5hdml2X2J1ZmZlci5jCisrKyBi L2RyaXZlcnMvc3RhZ2luZy9ldG5hdml2L2V0bmF2aXZfYnVmZmVyLmMKQEAgLTE3LDYgKzE3LDcg QEAKIAogI2luY2x1ZGUgImV0bmF2aXZfZ3B1LmgiCiAjaW5jbHVkZSAiZXRuYXZpdl9nZW0uaCIK KyNpbmNsdWRlICJldG5hdml2X21tdS5oIgogCiAjaW5jbHVkZSAiY29tbW9uLnhtbC5oIgogI2lu Y2x1ZGUgInN0YXRlLnhtbC5oIgpAQCAtMTYyLDM0ICsxNjMsMzggQEAgdm9pZCBldG5hdml2X2J1 ZmZlcl9xdWV1ZShzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSwgdW5zaWduZWQgaW50IGV2ZW50LAog CXN0cnVjdCBldG5hdml2X2dlbV9vYmplY3QgKmJ1ZmZlciA9IHRvX2V0bmF2aXZfYm8oZ3B1LT5i dWZmZXIpOwogCXN0cnVjdCBldG5hdml2X2dlbV9vYmplY3QgKmNtZDsKIAl1MzIgKmx3ID0gYnVm ZmVyLT52YWRkciArICgoYnVmZmVyLT5vZmZzZXQgLSA0KSAqIDQpOwotCXUzMiBiYWNrLCBsaW5r X3RhcmdldCwgbGlua19zaXplOworCXUzMiBiYWNrLCBsaW5rX3RhcmdldCwgbGlua19zaXplLCBy ZXNlcnZlX3NpemU7CiAJdTMyIGk7CiAKIAlpZiAoZHJtX2RlYnVnICYgRFJNX1VUX0RSSVZFUikK IAkJZXRuYXZpdl9idWZmZXJfZHVtcChncHUsIGJ1ZmZlciwgMCwgMHg1MCk7CiAKKwlyZXNlcnZl X3NpemUgPSA2OworCisJLyoKKwkgKiBJZiB3ZSBuZWVkIHRvIGZsdXNoIHRoZSBNTVUgcHJpb3Ig dG8gc3VibWl0dGluZyB0aGlzIGJ1ZmZlciwgd2UKKwkgKiB3aWxsIG5lZWQgdG8gYXBwZW5kIGEg bW11IGZsdXNoIGxvYWQgc3RhdGUsIGZvbGxvd2VkIGJ5IGEgbmV3CisJICogbGluayB0byB0aGlz IGJ1ZmZlciAtIGEgdG90YWwgb2YgZm91ciBhZGRpdGlvbmFsIHdvcmRzLgorCSAqLworCWlmIChn cHUtPm1tdS0+bmVlZF9mbHVzaCkKKwkJcmVzZXJ2ZV9zaXplICs9IDQ7CisKIAkvKgogCSAqIGlm IHdlIGFyZSBnb2luZyB0byBjb21wbGV0ZWx5IG92ZXJmbG93IHRoZSBidWZmZXIsIHdlIG5lZWQg dG8gd3JhcC4KIAkgKi8KLQlpZiAoYnVmZmVyLT5vZmZzZXQgKyA2ID4gYnVmZmVyLT5iYXNlLnNp emUgLyBzaXplb2YodWludDMyX3QpKQorCWlmIChidWZmZXItPm9mZnNldCArIHJlc2VydmVfc2l6 ZSA+CisJICAgIGJ1ZmZlci0+YmFzZS5zaXplIC8gc2l6ZW9mKHVpbnQzMl90KSkKIAkJYnVmZmVy LT5vZmZzZXQgPSAwOwogCiAJLyogc2F2ZSBvZmZzZXQgYmFjayBpbnRvIG1haW4gYnVmZmVyICov Ci0JYmFjayA9IGJ1ZmZlci0+b2Zmc2V0OworCWJhY2sgPSBidWZmZXItPm9mZnNldCArIHJlc2Vy dmVfc2l6ZSAtIDY7CiAJbGlua190YXJnZXQgPSBidWZmZXItPnBhZGRyICsgYnVmZmVyLT5vZmZz ZXQgKiA0OwogCWxpbmtfc2l6ZSA9IDY7CiAKLQkvKiBTYXZlIHRoZSBldmVudCBhbmQgYnVmZmVy IHBvc2l0aW9uIG9mIHRoZSBuZXcgZXZlbnQgdHJpZ2dlciAqLwotCWdwdS0+ZXZlbnRbZXZlbnRd LmZlbmNlID0gc3VibWl0LT5mZW5jZTsKLQlncHUtPmV2ZW50W2V2ZW50XS5yaW5nX3BvcyA9IGJ1 ZmZlci0+b2Zmc2V0OwotCi0JLyogdHJpZ2dlciBldmVudCAqLwotCUNNRF9MT0FEX1NUQVRFKGJ1 ZmZlciwgVklWU19HTF9FVkVOVCwgVklWU19HTF9FVkVOVF9FVkVOVF9JRChldmVudCkgfAotCQkg ICAgICAgVklWU19HTF9FVkVOVF9GUk9NX1BFKTsKLQotCS8qIGFwcGVuZCBXQUlUL0xJTksgdG8g bWFpbiBidWZmZXIgKi8KLQlDTURfV0FJVChidWZmZXIpOwotCUNNRF9MSU5LKGJ1ZmZlciwgMiwg YnVmZmVyLT5wYWRkciArICgoYnVmZmVyLT5vZmZzZXQgLSAxKSAqIDQpKTsKKwlpZiAoZ3B1LT5t bXUtPm5lZWRfZmx1c2gpIHsKKwkJLyogU2tpcCBvdmVyIHRoZSBNTVUgZmx1c2ggYW5kIExJTksg aW5zdHJ1Y3Rpb25zICovCisJCWxpbmtfdGFyZ2V0ICs9IDQgKiBzaXplb2YodWludDMyX3QpOwor CX0KIAogCS8qIHVwZGF0ZSBvZmZzZXQgZm9yIGV2ZXJ5IGNtZCBzdHJlYW0gKi8KIAlmb3IgKGkg PSBzdWJtaXQtPm5yX2NtZHM7IGktLTsgKSB7CkBAIC0yMjgsNiArMjMzLDM3IEBAIHZvaWQgZXRu YXZpdl9idWZmZXJfcXVldWUoc3RydWN0IGV0bmF2aXZfZ3B1ICpncHUsIHVuc2lnbmVkIGludCBl dmVudCwKIAkJcHJfaW5mbygiZXZlbnQ6ICVkXG4iLCBldmVudCk7CiAJfQogCisJaWYgKGdwdS0+ bW11LT5uZWVkX2ZsdXNoKSB7CisJCXVpbnQzMl90IG5ld190YXJnZXQgPSBidWZmZXItPnBhZGRy ICsgYnVmZmVyLT5vZmZzZXQgKgorCQkJCQlzaXplb2YodWludDMyX3QpOworCisJCS8qIEFkZCB0 aGUgTU1VIGZsdXNoICovCisJCUNNRF9MT0FEX1NUQVRFKGJ1ZmZlciwgVklWU19HTF9GTFVTSF9N TVUsCisJCQkgICAgICAgVklWU19HTF9GTFVTSF9NTVVfRkxVU0hfRkVNTVUgfAorCQkJICAgICAg IFZJVlNfR0xfRkxVU0hfTU1VX0ZMVVNIX1BFTU1VKTsKKworCQkvKiBBbmQgdGhlIGxpbmsgdG8g dGhlIGZpcnN0IGJ1ZmZlciAqLworCQlDTURfTElOSyhidWZmZXIsIGxpbmtfc2l6ZSwgbGlua190 YXJnZXQpOworCisJCS8qIFVwZGF0ZSB0aGUgbGluayB0YXJnZXQgdG8gcG9pbnQgdG8gdGhlIGZs dXNoICovCisJCWxpbmtfdGFyZ2V0ID0gbmV3X3RhcmdldDsKKwkJbGlua19zaXplID0gNDsKKwor CQlncHUtPm1tdS0+bmVlZF9mbHVzaCA9IGZhbHNlOworCX0KKworCS8qIFNhdmUgdGhlIGV2ZW50 IGFuZCBidWZmZXIgcG9zaXRpb24gb2YgdGhlIG5ldyBldmVudCB0cmlnZ2VyICovCisJZ3B1LT5l dmVudFtldmVudF0uZmVuY2UgPSBzdWJtaXQtPmZlbmNlOworCWdwdS0+ZXZlbnRbZXZlbnRdLnJp bmdfcG9zID0gYnVmZmVyLT5vZmZzZXQ7CisKKwkvKiB0cmlnZ2VyIGV2ZW50ICovCisJQ01EX0xP QURfU1RBVEUoYnVmZmVyLCBWSVZTX0dMX0VWRU5ULCBWSVZTX0dMX0VWRU5UX0VWRU5UX0lEKGV2 ZW50KSB8CisJCSAgICAgICBWSVZTX0dMX0VWRU5UX0ZST01fUEUpOworCisJLyogYXBwZW5kIFdB SVQvTElOSyB0byBtYWluIGJ1ZmZlciAqLworCUNNRF9XQUlUKGJ1ZmZlcik7CisJQ01EX0xJTkso YnVmZmVyLCAyLCBidWZmZXItPnBhZGRyICsgKChidWZmZXItPm9mZnNldCAtIDEpICogNCkpOwor CiAJLyogQ2hhbmdlIFdBSVQgaW50byBhIExJTksgY29tbWFuZDsgd3JpdGUgdGhlIGFkZHJlc3Mg Zmlyc3QuICovCiAJKihsdyArIDEpID0gbGlua190YXJnZXQ7CiAJbWIoKTsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvc3RhZ2luZy9ldG5hdml2L2V0bmF2aXZfbW11LmggYi9kcml2ZXJzL3N0YWdpbmcv ZXRuYXZpdi9ldG5hdml2X21tdS5oCmluZGV4IDdiOTdlZjM1ZDI5MC4uYjNhMGUzYzk4MzcyIDEw MDY0NAotLS0gYS9kcml2ZXJzL3N0YWdpbmcvZXRuYXZpdi9ldG5hdml2X21tdS5oCisrKyBiL2Ry aXZlcnMvc3RhZ2luZy9ldG5hdml2L2V0bmF2aXZfbW11LmgKQEAgLTIzLDYgKzIzLDcgQEAKIHN0 cnVjdCBldG5hdml2X2lvbW11IHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2OwogCXN0cnVjdCBp b21tdV9kb21haW4gKmRvbWFpbjsKKwlib29sIG5lZWRfZmx1c2g7CiB9OwogCiBpbnQgZXRuYXZp dl9pb21tdV9hdHRhY2goc3RydWN0IGV0bmF2aXZfaW9tbXUgKmlvbW11LCBjb25zdCBjaGFyICoq bmFtZXMsCi0tIAoyLjEuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWwK