From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jordan Crouse Subject: [PATCH 16/16] drm/msm: gpu: Use the zap shader on 5XX if we can Date: Fri, 4 Nov 2016 16:44:57 -0600 Message-ID: <1478299497-9729-17-git-send-email-jcrouse@codeaurora.org> References: <1478299497-9729-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: <1478299497-9729-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 List-Id: linux-arm-msm@vger.kernel.org VGhlIEE1WFggR1BVIHBvd2VycyBvbiBpbiAic2VjdXJlIiBtb2RlLiBJbiBzZWN1cmUgbW9kZSB0 aGUgR1BVIGNhbgpvbmx5IHJlbmRlciB0byBidWZmZXJzIHRoYXQgYXJlIG1hcmtlZCBhcyBzZWN1 cmUgYW5kIGluYWNjZXNzaWJsZQp0byB0aGUga2VybmVsIGFuZCB1c2VyIHRocm91Z2ggYSBzZXJp ZXMgb2YgaGFyZHdhcmUgcHJvdGVjdGlvbnMuIEluCnByYWN0aWNlIHNlY3VyZSBtb2RlIGlzIHVz ZWQgdG8gZHJhdyB0aGluZ3MgbGlrZSBhIFVJIG9uIGEgc2VjdXJlCnZpZGVvIGZyYW1lLgoKSW4g b3JkZXIgdG8gc3dpdGNoIG91dCBvZiBzZWN1cmUgbW9kZSB0aGUgR1BVIGV4ZWN1dGVzIGEgc3Bl Y2lhbApzaGFkZXIgdGhhdCBjbGVhcnMgb3V0IHRoZSBHTUVNIGFuZCBvdGhlciBzZW5zaXR2ZSBy ZWdpc3RlcnMgYW5kCnRoZW4gd3JpdGVzIGEgcmVnaXN0ZXIuIEJlY2F1c2UgdGhlIGtlcm5lbCBj YW4ndCBiZSB0cnVzdGVkIHRoZQpzaGFkZXIgYmluYXJ5IGlzIHNpZ25lZCBhbmQgdmVyaWZpZWQg YW5kIHByb2dyYW1tZWQgYnkgdGhlCnNlY3VyZSB3b3JsZC4gVG8gZG8gdGhpcyB3ZSBuZWVkIHRv IHJlYWQgdGhlIE1EVCBoZWFkZXIgYW5kIHRoZQpzZWdtZW50cyBmcm9tIHRoZSBmaXJtd2FyZSBs b2NhdGlvbiBhbmQgcHV0IHRoZW0gaW4gbWVtb3J5IGFuZApwcmVzZW50IHRoZW0gZm9yIGFwcHJv dmFsLgoKRm9yIHRhcmdldHMgd2l0aG91dCBzZWN1cmUgc3VwcG9ydCB0aGVyZSBpcyBhbiBvdXQ6 IGlmIHRoZQpzZWN1cmUgd29ybGQgZG9lc24ndCBzdXBwb3J0IHNlY3VyZSB0aGVuIHRoZXJlIGFy ZSBubyBoYXJkd2FyZQpwcm90ZWN0aW9ucyBhbmQgd2UgY2FuIGZyZWVseSB3cml0ZSB0aGUgU0VD VklEX1RSVVNUIHJlZ2lzdGVyIGZyb20KdGhlIENQVS4gV2UgZG9uJ3QgaGF2ZSAxMDAlIGNvbmZp ZGVuY2UgdGhhdCB3ZSBjYW4gcXVlcnkgdGhlCnNlY3VyZSBjYXBhYmlsaXRpZXMgYXQgcnVuIHRp bWUgYnV0IHdlIGhhdmUgZW5vdWdoIGNhbGxzIHRoYXQKbmVlZCB0byBnbyByaWdodCB0byBnaXZl IHVzIHNvbWUgY29uZmlkZW5jZSB0aGF0IHdlJ3JlIGF0IGxlYXN0IGRvaW5nCnNvbWV0aGluZyB1 c2VmdWwuCgpPZiBjb3Vyc2UgaWYgd2UgZ3Vlc3Mgd3JvbmcgeW91IHRyaWdnZXIgYSBwZXJtaXNz aW9ucyB2aW9sYXRpb24Kd2hpY2ggdXN1YWxseSBlbmRzIHVwIGluIGEgc3lzdGVtIGNyYXNoIGJ1 dCB0aGF0cyBhIHByb2JsZW0KdGhhdCBzaG93cyB1cCBpbW1lZGlhdGVseS4KClNpZ25lZC1vZmYt Ynk6IEpvcmRhbiBDcm91c2UgPGpjcm91c2VAY29kZWF1cm9yYS5vcmc+Ci0tLQogYXJjaC9hcm02 NC9ib290L2R0cy9xY29tL21zbTg5OTYuZHRzaSB8IDIwICsrKysrKysrKysKIGRyaXZlcnMvZ3B1 L2RybS9tc20vYWRyZW5vL2E1eHhfZ3B1LmMgfCA3MiArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLQogMiBmaWxlcyBjaGFuZ2VkLCA5MCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvYm9vdC9kdHMvcWNvbS9tc204OTk2LmR0c2kg Yi9hcmNoL2FybTY0L2Jvb3QvZHRzL3Fjb20vbXNtODk5Ni5kdHNpCmluZGV4IGY3MWI0NjguLmJi OWY0MTggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtNjQvYm9vdC9kdHMvcWNvbS9tc204OTk2LmR0c2kK KysrIGIvYXJjaC9hcm02NC9ib290L2R0cy9xY29tL21zbTg5OTYuZHRzaQpAQCAtMTMzLDYgKzEz MywxOCBAQAogCQltZXRob2QgPSAic21jIjsKIAl9OwogCisJcmVzZXJ2ZWQtbWVtb3J5IHsKKwkJ I2FkZHJlc3MtY2VsbHMgPSA8Mj47CisJCSNzaXplLWNlbGxzID0gPDI+OworCQlyYW5nZXM7CisK KwkJcGVyaXBoZXJhbF9yZXNlcnZlZDogcGVyaXBoZXJhbF9yZWdpb25AOGVhMDAwMDAgeworCQkJ Y29tcGF0aWJsZSA9ICJzaGFyZWQtZG1hLXBvb2wiOworCQkJcmVnID0gPDAgMHg4ZWEwMDAwMCAw IDB4MmIwMDAwMD47CisJCQluby1tYXA7CisJCX07CisJfTsKKwogCXNvYzogc29jIHsKIAkJI2Fk ZHJlc3MtY2VsbHMgPSA8MT47CiAJCSNzaXplLWNlbGxzID0gPDE+OwpAQCAtNTQzLDYgKzU1NSwx NCBAQAogCQkJCQlxY29tLGdwdS1mcmVxID0gPDI3MDAwMDAwPjsKIAkJCQl9OwogCQkJfTsKKwor CQkJcWNvbSx6YXAtc2hhZGVyIHsKKwkJCQljb21wYXRpYmxlID0gInFjb20semFwLXNoYWRlciI7 CisJCQkJbWVtb3J5LXJlZ2lvbiA9IDwmcGVyaXBoZXJhbF9yZXNlcnZlZD47CisKKwkJCQlxY29t LGZpcm13YXJlID0gImE1MzBfemFwIjsKKwkJCQlxY29tLHBhcy1pZCA9IDwxMz47CisJCQl9Owog CQl9OwogCiAJCW1kcF9zbW11OiBhcm0sc21tdUBkMDAwMDAgewpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL21zbS9hZHJlbm8vYTV4eF9ncHUuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRy ZW5vL2E1eHhfZ3B1LmMKaW5kZXggYzRhOWExMi4uNmNmOTQyOSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL21zbS9hZHJlbm8vYTV4eF9ncHUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNt L2FkcmVuby9hNXh4X2dwdS5jCkBAIC00NjksNiArNDY5LDU1IEBAIHN0YXRpYyBpbnQgYTV4eF91 Y29kZV9pbml0KHN0cnVjdCBtc21fZ3B1ICpncHUpCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBp bnQgYTV4eF96YXBfc2hhZGVyX3Jlc3VtZShzdHJ1Y3QgbXNtX2dwdSAqZ3B1KQoreworCWludCBy ZXQ7CisKKwlyZXQgPSBxY29tX3NjbV9ncHVfemFwX3Jlc3VtZSgpOworCWlmIChyZXQpCisJCURS TV9FUlJPUigiJXM6IHphcC1zaGFkZXIgcmVzdW1lIGZhaWxlZDogJWRcbiIsCisJCQlncHUtPm5h bWUsIHJldCk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGE1eHhfemFwX3NoYWRl cl9pbml0KHN0cnVjdCBtc21fZ3B1ICpncHUpCit7CisJc3RhdGljIGJvb2wgbG9hZGVkOworCXN0 cnVjdCBhZHJlbm9fZ3B1ICphZHJlbm9fZ3B1ID0gdG9fYWRyZW5vX2dwdShncHUpOworCXN0cnVj dCBhNXh4X2dwdSAqYTV4eF9ncHUgPSB0b19hNXh4X2dwdShhZHJlbm9fZ3B1KTsKKwlzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gYTV4eF9ncHUtPnBkZXY7CisJc3RydWN0IGRldmljZV9u b2RlICpub2RlOworCWludCByZXQ7CisKKwkvKgorCSAqIElmIHRoZSB6YXAgc2hhZGVyIGlzIGFs cmVhZHkgbG9hZGVkIGludG8gbWVtb3J5IHdlIGp1c3QgbmVlZCB0byBraWNrCisJICogdGhlIHJl bW90ZSBwcm9jZXNzb3IgdG8gcmVpbml0aWFsaXplIGl0CisJICovCisJaWYgKGxvYWRlZCkKKwkJ cmV0dXJuIGE1eHhfemFwX3NoYWRlcl9yZXN1bWUoZ3B1KTsKKworCS8qIFBvcHVsYXRlIHRoZSBz dWItbm9kZXMgaWYgdGhleSBoYXZlbid0IGFscmVhZHkgYmVlbiBkb25lICovCisJb2ZfcGxhdGZv cm1fcG9wdWxhdGUocGRldi0+ZGV2Lm9mX25vZGUsIE5VTEwsIE5VTEwsICZwZGV2LT5kZXYpOwor CisJLyogRmluZCB0aGUgc3ViLW5vZGUgZm9yIHRoZSB6YXAgc2hhZGVyICovCisJbm9kZSA9IG9m X2ZpbmRfbm9kZV9ieV9uYW1lKHBkZXYtPmRldi5vZl9ub2RlLCAicWNvbSx6YXAtc2hhZGVyIik7 CisJaWYgKCFub2RlKSB7CisJCURSTV9FUlJPUigiJXM6IHFjb20semFwLXNoYWRlciBub3QgZm91 bmQgaW4gZGV2aWNlIHRyZWVcbiIsCisJCQlncHUtPm5hbWUpOworCQlyZXR1cm4gLUVOT0RFVjsK Kwl9CisKKwlyZXQgPSBfcGlsX3R6X2xvYWRfaW1hZ2Uob2ZfZmluZF9kZXZpY2VfYnlfbm9kZShu b2RlKSk7CisJaWYgKHJldCkKKwkJRFJNX0VSUk9SKCIlczogVW5hYmxlIHRvIGxvYWQgdGhlIHph cCBzaGFkZXJcbiIsCisJCQlncHUtPm5hbWUpOworCisJbG9hZGVkID0gIXJldDsKKworCXJldHVy biByZXQ7Cit9CisKICNkZWZpbmUgQTVYWF9JTlRfTUFTSyAoQTVYWF9SQkJNX0lOVF8wX01BU0tf UkJCTV9BSEJfRVJST1IgfCBcCiAJICBBNVhYX1JCQk1fSU5UXzBfTUFTS19SQkJNX1RSQU5TRkVS X1RJTUVPVVQgfCBcCiAJICBBNVhYX1JCQk1fSU5UXzBfTUFTS19SQkJNX01FX01TX1RJTUVPVVQg fCBcCkBAIC02NTMsOCArNzAyLDI3IEBAIHN0YXRpYyBpbnQgYTV4eF9od19pbml0KHN0cnVjdCBt c21fZ3B1ICpncHUpCiAJCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKLQkvKiBQdXQgdGhlIEdQVSBp bnRvIHVuc2VjdXJlIG1vZGUgKi8KLQlncHVfd3JpdGUoZ3B1LCBSRUdfQTVYWF9SQkJNX1NFQ1ZJ RF9UUlVTVF9DTlRMLCAweDApOworCS8qCisJICogVHJ5IHRvIGxvYWQgYSB6YXAgc2hhZGVyIGlu dG8gdGhlIHNlY3VyZSB3b3JsZC4gSWYgc3VjY2Vzc2Z1bAorCSAqIHdlIGNhbiB1c2UgdGhlIENQ IHRvIHN3aXRjaCBvdXQgb2Ygc2VjdXJlIG1vZGUuIElmIG5vdCB0aGVuIHdlCisJICogaGF2ZSBu byByZXNvdXJjZSBidXQgdG8gdHJ5IHRvIHN3aXRjaCBvdXJzZWx2ZXMgb3V0IG1hbnVhbGx5LiBJ ZiB3ZQorCSAqIGd1ZXNzZWQgd3JvbmcgdGhlbiBhY2Nlc3MgdG8gdGhlIFJCQk1fU0VDVklEX1RS VVNUX0NOVEwgcmVnaXN0ZXIgd2lsbAorCSAqIGJlIGJsb2NrZWQgYW5kIGEgcGVybWlzc2lvbnMg dmlvbGF0aW9uIHdpbGwgc29vbiBmb2xsb3cuCisJICovCisJcmV0ID0gYTV4eF96YXBfc2hhZGVy X2luaXQoZ3B1KTsKKwlpZiAoIXJldCkgeworCQlPVVRfUEtUNyhncHUtPnJiLCBDUF9TRVRfU0VD VVJFX01PREUsIDEpOworCQlPVVRfUklORyhncHUtPnJiLCAweDAwMDAwMDAwKTsKKworCQlncHUt PmZ1bmNzLT5mbHVzaChncHUpOworCQlpZiAoIWdwdS0+ZnVuY3MtPmlkbGUoZ3B1KSkKKwkJCXJl dHVybiAtRUlOVkFMOworCX0gZWxzZSB7CisJCS8qIFByaW50IGEgd2FybmluZyBzbyBpZiB3ZSBk aWUsIHdlIGtub3cgd2h5ICovCisJCWRldl93YXJuX29uY2UoZ3B1LT5kZXYtPmRldiwKKwkJCSJa YXAgc2hhZGVyIG5vdCBlbmFibGVkIC0gdXNpbmcgU0VDVklEX1RSVVNUX0NOVEwgaW5zdGVhZFxu Iik7CisJCWdwdV93cml0ZShncHUsIFJFR19BNVhYX1JCQk1fU0VDVklEX1RSVVNUX0NOVEwsIDB4 MCk7CisJfQogCiAJcmV0dXJuIDA7CiB9Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJl bm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZnJlZWRyZW5vCg==