From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jordan Crouse Subject: [PATCH 02/12] drm/msm: gpu: Return error on hw_init failure Date: Mon, 28 Nov 2016 12:28:27 -0700 Message-ID: <1480361317-9937-3-git-send-email-jcrouse@codeaurora.org> References: <1480361317-9937-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: <1480361317-9937-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: linux-arm-msm@vger.kernel.org V2hlbiB0aGUgR1BVIGhhcmR3YXJlIGluaXQgZnVuY3Rpb24gZmFpbHMgKGxpa2Ugc2F5LCBNRV9J TklUIHRpbWVkCm91dCkgcmV0dXJuIGVycm9yIGluc3RlYWQgb2YgYmxpbmRseSBjb250aW51aW5n IG9uLiBUaGlzIGdpdmVzIHVzCmEgc21hbGwgY2hhbmNlIG9mIHNhdmluZyB0aGUgc3lzdGVtIGJl Zm9yZSBpdCBnb2VzIGJvb20uCgpTaWduZWQtb2ZmLWJ5OiBKb3JkYW4gQ3JvdXNlIDxqY3JvdXNl QGNvZGVhdXJvcmEub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2EzeHhfZ3B1 LmMgICB8IDIxICsrKysrKysrKysrKy0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9hZHJl bm8vYTR4eF9ncHUuYyAgIHwgMjAgKysrKysrKysrKystLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9tc20vYWRyZW5vL2FkcmVub19ncHUuYyB8IDExICsrKysrLS0tLS0tCiBkcml2ZXJzL2dwdS9k cm0vbXNtL2FkcmVuby9hZHJlbm9fZ3B1LmggfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL21zbS9t c21fZ3B1LmggICAgICAgICAgIHwgIDIgKy0KIDUgZmlsZXMgY2hhbmdlZCwgMzAgaW5zZXJ0aW9u cygrKSwgMjYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9h ZHJlbm8vYTN4eF9ncHUuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2EzeHhfZ3B1LmMK aW5kZXggNWM2NDYwNy4uMTlhMTgzOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9h ZHJlbm8vYTN4eF9ncHUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hM3h4X2dw dS5jCkBAIC00MSw3ICs0MSw3IEBAIGV4dGVybiBib29sIGhhbmdfZGVidWc7CiAKIHN0YXRpYyB2 b2lkIGEzeHhfZHVtcChzdHJ1Y3QgbXNtX2dwdSAqZ3B1KTsKIAotc3RhdGljIHZvaWQgYTN4eF9t ZV9pbml0KHN0cnVjdCBtc21fZ3B1ICpncHUpCitzdGF0aWMgYm9vbCBhM3h4X21lX2luaXQoc3Ry dWN0IG1zbV9ncHUgKmdwdSkKIHsKIAlzdHJ1Y3QgbXNtX3JpbmdidWZmZXIgKnJpbmcgPSBncHUt PnJiOwogCkBAIC02NSw3ICs2NSw3IEBAIHN0YXRpYyB2b2lkIGEzeHhfbWVfaW5pdChzdHJ1Y3Qg bXNtX2dwdSAqZ3B1KQogCU9VVF9SSU5HKHJpbmcsIDB4MDAwMDAwMDApOwogCiAJZ3B1LT5mdW5j cy0+Zmx1c2goZ3B1KTsKLQlncHUtPmZ1bmNzLT5pZGxlKGdwdSk7CisJcmV0dXJuIGdwdS0+ZnVu Y3MtPmlkbGUoZ3B1KTsKIH0KIAogc3RhdGljIGludCBhM3h4X2h3X2luaXQoc3RydWN0IG1zbV9n cHUgKmdwdSkKQEAgLTI5NCw5ICsyOTQsNyBAQCBzdGF0aWMgaW50IGEzeHhfaHdfaW5pdChzdHJ1 Y3QgbXNtX2dwdSAqZ3B1KQogCS8qIGNsZWFyIE1FX0hBTFQgdG8gc3RhcnQgbWljcm8gZW5naW5l ICovCiAJZ3B1X3dyaXRlKGdwdSwgUkVHX0FYWFhfQ1BfTUVfQ05UTCwgMCk7CiAKLQlhM3h4X21l X2luaXQoZ3B1KTsKLQotCXJldHVybiAwOworCXJldHVybiBhM3h4X21lX2luaXQoZ3B1KSA/IDAg OiAtRUlOVkFMOwogfQogCiBzdGF0aWMgdm9pZCBhM3h4X3JlY292ZXIoc3RydWN0IG1zbV9ncHUg KmdwdSkKQEAgLTMzMCwxNyArMzI4LDIyIEBAIHN0YXRpYyB2b2lkIGEzeHhfZGVzdHJveShzdHJ1 Y3QgbXNtX2dwdSAqZ3B1KQogCWtmcmVlKGEzeHhfZ3B1KTsKIH0KIAotc3RhdGljIHZvaWQgYTN4 eF9pZGxlKHN0cnVjdCBtc21fZ3B1ICpncHUpCitzdGF0aWMgYm9vbCBhM3h4X2lkbGUoc3RydWN0 IG1zbV9ncHUgKmdwdSkKIHsKIAkvKiB3YWl0IGZvciByaW5nYnVmZmVyIHRvIGRyYWluOiAqLwot CWFkcmVub19pZGxlKGdwdSk7CisJaWYgKCFhZHJlbm9faWRsZShncHUpKQorCQlyZXR1cm4gZmFs c2U7CiAKIAkvKiB0aGVuIHdhaXQgZm9yIEdQVSB0byBmaW5pc2g6ICovCiAJaWYgKHNwaW5fdW50 aWwoIShncHVfcmVhZChncHUsIFJFR19BM1hYX1JCQk1fU1RBVFVTKSAmCi0JCQlBM1hYX1JCQk1f U1RBVFVTX0dQVV9CVVNZKSkpCisJCQlBM1hYX1JCQk1fU1RBVFVTX0dQVV9CVVNZKSkpIHsKIAkJ RFJNX0VSUk9SKCIlczogdGltZW91dCB3YWl0aW5nIGZvciBHUFUgdG8gaWRsZSFcbiIsIGdwdS0+ bmFtZSk7CiAKLQkvKiBUT0RPIG1heWJlIHdlIG5lZWQgdG8gcmVzZXQgR1BVIGhlcmUgdG8gcmVj b3ZlciBmcm9tIGhhbmc/ICovCisJCS8qIFRPRE8gbWF5YmUgd2UgbmVlZCB0byByZXNldCBHUFUg aGVyZSB0byByZWNvdmVyIGZyb20gaGFuZz8gKi8KKwkJcmV0dXJuIGZhbHNlOworCX0KKworCXJl dHVybiB0cnVlOwogfQogCiBzdGF0aWMgaXJxcmV0dXJuX3QgYTN4eF9pcnEoc3RydWN0IG1zbV9n cHUgKmdwdSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E0eHhfZ3B1 LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNHh4X2dwdS5jCmluZGV4IDhjZTIyNTAu LjllN2Y1YjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E0eHhfZ3B1 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTR4eF9ncHUuYwpAQCAtMTEzLDcg KzExMyw3IEBAIHN0YXRpYyB2b2lkIGE0eHhfZW5hYmxlX2h3Y2coc3RydWN0IG1zbV9ncHUgKmdw dSkKIH0KIAogCi1zdGF0aWMgdm9pZCBhNHh4X21lX2luaXQoc3RydWN0IG1zbV9ncHUgKmdwdSkK K3N0YXRpYyBib29sIGE0eHhfbWVfaW5pdChzdHJ1Y3QgbXNtX2dwdSAqZ3B1KQogewogCXN0cnVj dCBtc21fcmluZ2J1ZmZlciAqcmluZyA9IGdwdS0+cmI7CiAKQEAgLTEzNyw3ICsxMzcsNyBAQCBz dGF0aWMgdm9pZCBhNHh4X21lX2luaXQoc3RydWN0IG1zbV9ncHUgKmdwdSkKIAlPVVRfUklORyhy aW5nLCAweDAwMDAwMDAwKTsKIAogCWdwdS0+ZnVuY3MtPmZsdXNoKGdwdSk7Ci0JZ3B1LT5mdW5j cy0+aWRsZShncHUpOworCXJldHVybiBncHUtPmZ1bmNzLT5pZGxlKGdwdSk7CiB9CiAKIHN0YXRp YyBpbnQgYTR4eF9od19pbml0KHN0cnVjdCBtc21fZ3B1ICpncHUpCkBAIC0yOTIsOSArMjkyLDcg QEAgc3RhdGljIGludCBhNHh4X2h3X2luaXQoc3RydWN0IG1zbV9ncHUgKmdwdSkKIAkvKiBjbGVh ciBNRV9IQUxUIHRvIHN0YXJ0IG1pY3JvIGVuZ2luZSAqLwogCWdwdV93cml0ZShncHUsIFJFR19B NFhYX0NQX01FX0NOVEwsIDApOwogCi0JYTR4eF9tZV9pbml0KGdwdSk7Ci0KLQlyZXR1cm4gMDsK KwlyZXR1cm4gYTR4eF9tZV9pbml0KGdwdSkgPyAwIDogLUVJTlZBTDsKIH0KIAogc3RhdGljIHZv aWQgYTR4eF9yZWNvdmVyKHN0cnVjdCBtc21fZ3B1ICpncHUpCkBAIC0zMjgsMTcgKzMyNiwyMSBA QCBzdGF0aWMgdm9pZCBhNHh4X2Rlc3Ryb3koc3RydWN0IG1zbV9ncHUgKmdwdSkKIAlrZnJlZShh NHh4X2dwdSk7CiB9CiAKLXN0YXRpYyB2b2lkIGE0eHhfaWRsZShzdHJ1Y3QgbXNtX2dwdSAqZ3B1 KQorc3RhdGljIGJvb2wgYTR4eF9pZGxlKHN0cnVjdCBtc21fZ3B1ICpncHUpCiB7CiAJLyogd2Fp dCBmb3IgcmluZ2J1ZmZlciB0byBkcmFpbjogKi8KLQlhZHJlbm9faWRsZShncHUpOworCWlmICgh YWRyZW5vX2lkbGUoZ3B1KSkKKwkJcmV0dXJuIGZhbHNlOwogCiAJLyogdGhlbiB3YWl0IGZvciBH UFUgdG8gZmluaXNoOiAqLwogCWlmIChzcGluX3VudGlsKCEoZ3B1X3JlYWQoZ3B1LCBSRUdfQTRY WF9SQkJNX1NUQVRVUykgJgotCQkJCQlBNFhYX1JCQk1fU1RBVFVTX0dQVV9CVVNZKSkpCisJCQkJ CUE0WFhfUkJCTV9TVEFUVVNfR1BVX0JVU1kpKSkgewogCQlEUk1fRVJST1IoIiVzOiB0aW1lb3V0 IHdhaXRpbmcgZm9yIEdQVSB0byBpZGxlIVxuIiwgZ3B1LT5uYW1lKTsKKwkJLyogVE9ETyBtYXli ZSB3ZSBuZWVkIHRvIHJlc2V0IEdQVSBoZXJlIHRvIHJlY292ZXIgZnJvbSBoYW5nPyAqLworCQly ZXR1cm4gZmFsc2U7CisJfQogCi0JLyogVE9ETyBtYXliZSB3ZSBuZWVkIHRvIHJlc2V0IEdQVSBo ZXJlIHRvIHJlY292ZXIgZnJvbSBoYW5nPyAqLworCXJldHVybiB0cnVlOwogfQogCiBzdGF0aWMg aXJxcmV0dXJuX3QgYTR4eF9pcnEoc3RydWN0IG1zbV9ncHUgKmdwdSkKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2FkcmVub19ncHUuYyBiL2RyaXZlcnMvZ3B1L2RybS9t c20vYWRyZW5vL2FkcmVub19ncHUuYwppbmRleCBiNDY4ZDJhLi42NDM2ZDU0YSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYWRyZW5vX2dwdS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9tc20vYWRyZW5vL2FkcmVub19ncHUuYwpAQCAtMjE4LDE5ICsyMTgsMTggQEAgdm9p ZCBhZHJlbm9fZmx1c2goc3RydWN0IG1zbV9ncHUgKmdwdSkKIAlhZHJlbm9fZ3B1X3dyaXRlKGFk cmVub19ncHUsIFJFR19BRFJFTk9fQ1BfUkJfV1BUUiwgd3B0cik7CiB9CiAKLXZvaWQgYWRyZW5v X2lkbGUoc3RydWN0IG1zbV9ncHUgKmdwdSkKK2Jvb2wgYWRyZW5vX2lkbGUoc3RydWN0IG1zbV9n cHUgKmdwdSkKIHsKIAlzdHJ1Y3QgYWRyZW5vX2dwdSAqYWRyZW5vX2dwdSA9IHRvX2FkcmVub19n cHUoZ3B1KTsKIAl1aW50MzJfdCB3cHRyID0gZ2V0X3dwdHIoZ3B1LT5yYik7Ci0JaW50IHJldDsK IAogCS8qIHdhaXQgZm9yIENQIHRvIGRyYWluIHJpbmdidWZmZXI6ICovCi0JcmV0ID0gc3Bpbl91 bnRpbChnZXRfcnB0cihhZHJlbm9fZ3B1KSA9PSB3cHRyKTsKLQotCWlmIChyZXQpCi0JCURSTV9F UlJPUigiJXM6IHRpbWVvdXQgd2FpdGluZyB0byBkcmFpbiByaW5nYnVmZmVyIVxuIiwgZ3B1LT5u YW1lKTsKKwlpZiAoIXNwaW5fdW50aWwoZ2V0X3JwdHIoYWRyZW5vX2dwdSkgPT0gd3B0cikpCisJ CXJldHVybiB0cnVlOwogCiAJLyogVE9ETyBtYXliZSB3ZSBuZWVkIHRvIHJlc2V0IEdQVSBoZXJl IHRvIHJlY292ZXIgZnJvbSBoYW5nPyAqLworCURSTV9FUlJPUigiJXM6IHRpbWVvdXQgd2FpdGlu ZyB0byBkcmFpbiByaW5nYnVmZmVyIVxuIiwgZ3B1LT5uYW1lKTsKKwlyZXR1cm4gZmFsc2U7CiB9 CiAKICNpZmRlZiBDT05GSUdfREVCVUdfRlMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9t c20vYWRyZW5vL2FkcmVub19ncHUuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2FkcmVu b19ncHUuaAppbmRleCAzNWMwMWNjLi5hYjQ3NmY5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vbXNtL2FkcmVuby9hZHJlbm9fZ3B1LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJl bm8vYWRyZW5vX2dwdS5oCkBAIC0xODIsNyArMTgyLDcgQEAgdm9pZCBhZHJlbm9fcmVjb3Zlcihz dHJ1Y3QgbXNtX2dwdSAqZ3B1KTsKIHZvaWQgYWRyZW5vX3N1Ym1pdChzdHJ1Y3QgbXNtX2dwdSAq Z3B1LCBzdHJ1Y3QgbXNtX2dlbV9zdWJtaXQgKnN1Ym1pdCwKIAkJc3RydWN0IG1zbV9maWxlX3By aXZhdGUgKmN0eCk7CiB2b2lkIGFkcmVub19mbHVzaChzdHJ1Y3QgbXNtX2dwdSAqZ3B1KTsKLXZv aWQgYWRyZW5vX2lkbGUoc3RydWN0IG1zbV9ncHUgKmdwdSk7Citib29sIGFkcmVub19pZGxlKHN0 cnVjdCBtc21fZ3B1ICpncHUpOwogI2lmZGVmIENPTkZJR19ERUJVR19GUwogdm9pZCBhZHJlbm9f c2hvdyhzdHJ1Y3QgbXNtX2dwdSAqZ3B1LCBzdHJ1Y3Qgc2VxX2ZpbGUgKm0pOwogI2VuZGlmCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9ncHUuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9tc20vbXNtX2dwdS5oCmluZGV4IDNjM2JlNDQuLjE5YTcyNTQgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9tc20vbXNtX2dwdS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dw dS5oCkBAIC01MCw3ICs1MCw3IEBAIHN0cnVjdCBtc21fZ3B1X2Z1bmNzIHsKIAl2b2lkICgqc3Vi bWl0KShzdHJ1Y3QgbXNtX2dwdSAqZ3B1LCBzdHJ1Y3QgbXNtX2dlbV9zdWJtaXQgKnN1Ym1pdCwK IAkJCXN0cnVjdCBtc21fZmlsZV9wcml2YXRlICpjdHgpOwogCXZvaWQgKCpmbHVzaCkoc3RydWN0 IG1zbV9ncHUgKmdwdSk7Ci0Jdm9pZCAoKmlkbGUpKHN0cnVjdCBtc21fZ3B1ICpncHUpOworCWJv b2wgKCppZGxlKShzdHJ1Y3QgbXNtX2dwdSAqZ3B1KTsKIAlpcnFyZXR1cm5fdCAoKmlycSkoc3Ry dWN0IG1zbV9ncHUgKmlycSk7CiAJdWludDMyX3QgKCpsYXN0X2ZlbmNlKShzdHJ1Y3QgbXNtX2dw dSAqZ3B1KTsKIAl2b2lkICgqcmVjb3Zlcikoc3RydWN0IG1zbV9ncHUgKmdwdSk7Ci0tIAoxLjku MQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRnJlZWRy ZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5vCg==