From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: [PATCH 1/5] drm/msm/mdp4: Clean up modeset_init Date: Wed, 18 Nov 2015 18:40:45 +0530 Message-ID: <1447852249-7652-2-git-send-email-architt@codeaurora.org> References: <1447852249-7652-1-git-send-email-architt@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1447852249-7652-1-git-send-email-architt@codeaurora.org> 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, robdclark@gmail.com Cc: linux-arm-msm@vger.kernel.org List-Id: linux-arm-msm@vger.kernel.org bW9kZXNldF9pbml0KCkgZm9yIG1kcDQgaXNuJ3QgdmVyeSBmbGV4aWJsZS4gVGhhdCBtYWtlcyBp dCBoYXJkIHRvIGFkZAptb3JlIGludGVyZmFjZXMuCgpTcGxpdCBvdXQgdGhlIGVuY29kZXIvY29u bmVjdG9yIGNyZWF0aW9uIGNvZGUgaW4gbW9kZXNldF9pbml0IGludG8gYQpzZXBhcmF0ZSBmdW5j dGlvbi4gVGhpcyBpcyBzaW1pbGFyIHRvIHdoYXQncyBkb25lIGluIG1vZGVzZXRfaW5pdCBmb3IK bWRwNS4KClNpZ25lZC1vZmYtYnk6IEFyY2hpdCBUYW5lamEgPGFyY2hpdHRAY29kZWF1cm9yYS5v cmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNC9tZHA0X2ttcy5jIHwgMTkyICsr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTA5IGluc2Vy dGlvbnMoKyksIDgzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9t c20vbWRwL21kcDQvbWRwNF9rbXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDQvbWRw NF9rbXMuYwppbmRleCA3Njk4NGE4Li4zNzliNDM1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vbXNtL21kcC9tZHA0L21kcDRfa21zLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAv bWRwNC9tZHA0X2ttcy5jCkBAIC0yNzAsMTE3ICsyNzAsMTQzIEBAIHN0YXRpYyBzdHJ1Y3QgZHJt X3BhbmVsICpkZXRlY3RfcGFuZWwoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlyZXR1cm4gcGFu ZWw7CiB9CiAKLXN0YXRpYyBpbnQgbW9kZXNldF9pbml0KHN0cnVjdCBtZHA0X2ttcyAqbWRwNF9r bXMpCitzdGF0aWMgaW50IG1kcDRfbW9kZXNldF9pbml0X2ludGYoc3RydWN0IG1kcDRfa21zICpt ZHA0X2ttcywKKwkJCQkgIGludCBpbnRmX3R5cGUpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRl diA9IG1kcDRfa21zLT5kZXY7CiAJc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7Ci0Jc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7Ci0Jc3RydWN0IGRybV9jcnRj ICpjcnRjOwogCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcjsKIAlzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yOwogCXN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsOwogCWludCByZXQ7CiAK LQkvKiBjb25zdHJ1Y3Qgbm9uLXByaXZhdGUgcGxhbmVzOiAqLwotCXBsYW5lID0gbWRwNF9wbGFu ZV9pbml0KGRldiwgVkcxLCBmYWxzZSk7Ci0JaWYgKElTX0VSUihwbGFuZSkpIHsKLQkJZGV2X2Vy cihkZXYtPmRldiwgImZhaWxlZCB0byBjb25zdHJ1Y3QgcGxhbmUgZm9yIFZHMVxuIik7Ci0JCXJl dCA9IFBUUl9FUlIocGxhbmUpOwotCQlnb3RvIGZhaWw7Ci0JfQotCXByaXYtPnBsYW5lc1twcml2 LT5udW1fcGxhbmVzKytdID0gcGxhbmU7CisJc3dpdGNoIChpbnRmX3R5cGUpIHsKKwljYXNlIERS TV9NT0RFX0VOQ09ERVJfTFZEUzoKKwkJcGFuZWwgPSBkZXRlY3RfcGFuZWwoZGV2KTsKKwkJaWYg KElTX0VSUihwYW5lbCkpIHsKKwkJCWRldl9lcnIoZGV2LT5kZXYsICJmYWlsZWQgdG8gZGV0ZWN0 IExWRFMgcGFuZWxcbiIpOworCQkJcmV0dXJuIFBUUl9FUlIocGFuZWwpOworCQl9CiAKLQlwbGFu ZSA9IG1kcDRfcGxhbmVfaW5pdChkZXYsIFZHMiwgZmFsc2UpOwotCWlmIChJU19FUlIocGxhbmUp KSB7Ci0JCWRldl9lcnIoZGV2LT5kZXYsICJmYWlsZWQgdG8gY29uc3RydWN0IHBsYW5lIGZvciBW RzJcbiIpOwotCQlyZXQgPSBQVFJfRVJSKHBsYW5lKTsKLQkJZ290byBmYWlsOwotCX0KLQlwcml2 LT5wbGFuZXNbcHJpdi0+bnVtX3BsYW5lcysrXSA9IHBsYW5lOworCQllbmNvZGVyID0gbWRwNF9s Y2RjX2VuY29kZXJfaW5pdChkZXYsIHBhbmVsKTsKKwkJaWYgKElTX0VSUihlbmNvZGVyKSkgewor CQkJZGV2X2VycihkZXYtPmRldiwgImZhaWxlZCB0byBjb25zdHJ1Y3QgTENEQyBlbmNvZGVyXG4i KTsKKwkJCXJldHVybiBQVFJfRVJSKGVuY29kZXIpOworCQl9CiAKLQkvKgotCSAqIFNldHVwIHRo ZSBMQ0RDL0xWRFMgcGF0aDogUkdCMiAtPiBETUFfUCAtPiBMQ0RDIC0+IExWRFM6Ci0JICovCisJ CS8qIExDREMgY2FuIGJlIGhvb2tlZCB0byBETUFfUCAoVE9ETzogQWRkIERNQV9TIGxhdGVyPykg Ki8KKwkJZW5jb2Rlci0+cG9zc2libGVfY3J0Y3MgPSAxIDw8IERNQV9QOwogCi0JcGFuZWwgPSBk ZXRlY3RfcGFuZWwoZGV2KTsKLQlpZiAoSVNfRVJSKHBhbmVsKSkgewotCQlyZXQgPSBQVFJfRVJS KHBhbmVsKTsKLQkJZGV2X2VycihkZXYtPmRldiwgImZhaWxlZCB0byBkZXRlY3QgTFZEUyBwYW5l bDogJWRcbiIsIHJldCk7Ci0JCWdvdG8gZmFpbDsKLQl9CisJCWNvbm5lY3RvciA9IG1kcDRfbHZk c19jb25uZWN0b3JfaW5pdChkZXYsIHBhbmVsLCBlbmNvZGVyKTsKKwkJaWYgKElTX0VSUihjb25u ZWN0b3IpKSB7CisJCQlkZXZfZXJyKGRldi0+ZGV2LCAiZmFpbGVkIHRvIGluaXRpYWxpemUgTFZE UyBjb25uZWN0b3JcbiIpOworCQkJcmV0dXJuIFBUUl9FUlIoY29ubmVjdG9yKTsKKwkJfQogCi0J cGxhbmUgPSBtZHA0X3BsYW5lX2luaXQoZGV2LCBSR0IyLCB0cnVlKTsKLQlpZiAoSVNfRVJSKHBs YW5lKSkgewotCQlkZXZfZXJyKGRldi0+ZGV2LCAiZmFpbGVkIHRvIGNvbnN0cnVjdCBwbGFuZSBm b3IgUkdCMlxuIik7Ci0JCXJldCA9IFBUUl9FUlIocGxhbmUpOwotCQlnb3RvIGZhaWw7Ci0JfQor CQlwcml2LT5lbmNvZGVyc1twcml2LT5udW1fZW5jb2RlcnMrK10gPSBlbmNvZGVyOworCQlwcml2 LT5jb25uZWN0b3JzW3ByaXYtPm51bV9jb25uZWN0b3JzKytdID0gY29ubmVjdG9yOwogCi0JY3J0 YyAgPSBtZHA0X2NydGNfaW5pdChkZXYsIHBsYW5lLCBwcml2LT5udW1fY3J0Y3MsIDAsIERNQV9Q KTsKLQlpZiAoSVNfRVJSKGNydGMpKSB7Ci0JCWRldl9lcnIoZGV2LT5kZXYsICJmYWlsZWQgdG8g Y29uc3RydWN0IGNydGMgZm9yIERNQV9QXG4iKTsKLQkJcmV0ID0gUFRSX0VSUihjcnRjKTsKLQkJ Z290byBmYWlsOwotCX0KKwkJYnJlYWs7CisJY2FzZSBEUk1fTU9ERV9FTkNPREVSX1RNRFM6CisJ CWVuY29kZXIgPSBtZHA0X2R0dl9lbmNvZGVyX2luaXQoZGV2KTsKKwkJaWYgKElTX0VSUihlbmNv ZGVyKSkgeworCQkJZGV2X2VycihkZXYtPmRldiwgImZhaWxlZCB0byBjb25zdHJ1Y3QgRFRWIGVu Y29kZXJcbiIpOworCQkJcmV0dXJuIFBUUl9FUlIoZW5jb2Rlcik7CisJCX0KIAotCWVuY29kZXIg PSBtZHA0X2xjZGNfZW5jb2Rlcl9pbml0KGRldiwgcGFuZWwpOwotCWlmIChJU19FUlIoZW5jb2Rl cikpIHsKLQkJZGV2X2VycihkZXYtPmRldiwgImZhaWxlZCB0byBjb25zdHJ1Y3QgTENEQyBlbmNv ZGVyXG4iKTsKLQkJcmV0ID0gUFRSX0VSUihlbmNvZGVyKTsKLQkJZ290byBmYWlsOwotCX0KKwkJ LyogRFRWIGNhbiBiZSBob29rZWQgdG8gRE1BX0U6ICovCisJCWVuY29kZXItPnBvc3NpYmxlX2Ny dGNzID0gMSA8PCAxOwogCi0JLyogTENEQyBjYW4gYmUgaG9va2VkIHRvIERNQV9QOiAqLwotCWVu Y29kZXItPnBvc3NpYmxlX2NydGNzID0gMSA8PCBwcml2LT5udW1fY3J0Y3M7CisJCWlmIChwcml2 LT5oZG1pKSB7CisJCQkvKiBDb25zdHJ1Y3QgYnJpZGdlL2Nvbm5lY3RvciBmb3IgSERNSTogKi8K KwkJCXJldCA9IGhkbWlfbW9kZXNldF9pbml0KHByaXYtPmhkbWksIGRldiwgZW5jb2Rlcik7CisJ CQlpZiAocmV0KSB7CisJCQkJZGV2X2VycihkZXYtPmRldiwgImZhaWxlZCB0byBpbml0aWFsaXpl IEhETUk6ICVkXG4iLCByZXQpOworCQkJCXJldHVybiByZXQ7CisJCQl9CisJCX0KIAotCXByaXYt PmNydGNzW3ByaXYtPm51bV9jcnRjcysrXSA9IGNydGM7Ci0JcHJpdi0+ZW5jb2RlcnNbcHJpdi0+ bnVtX2VuY29kZXJzKytdID0gZW5jb2RlcjsKKwkJcHJpdi0+ZW5jb2RlcnNbcHJpdi0+bnVtX2Vu Y29kZXJzKytdID0gZW5jb2RlcjsKIAotCWNvbm5lY3RvciA9IG1kcDRfbHZkc19jb25uZWN0b3Jf aW5pdChkZXYsIHBhbmVsLCBlbmNvZGVyKTsKLQlpZiAoSVNfRVJSKGNvbm5lY3RvcikpIHsKLQkJ cmV0ID0gUFRSX0VSUihjb25uZWN0b3IpOwotCQlkZXZfZXJyKGRldi0+ZGV2LCAiZmFpbGVkIHRv IGluaXRpYWxpemUgTFZEUyBjb25uZWN0b3I6ICVkXG4iLCByZXQpOwotCQlnb3RvIGZhaWw7CisJ CWJyZWFrOworCWRlZmF1bHQ6CisJCWRldl9lcnIoZGV2LT5kZXYsICJJbnZhbGlkIG9yIHVuc3Vw cG9ydGVkIGludGVyZmFjZVxuIik7CisJCXJldHVybiAtRUlOVkFMOwogCX0KIAotCXByaXYtPmNv bm5lY3RvcnNbcHJpdi0+bnVtX2Nvbm5lY3RvcnMrK10gPSBjb25uZWN0b3I7CiAKLQkvKgotCSAq IFNldHVwIERUVi9IRE1JIHBhdGg6IFJHQjEgLT4gRE1BX0UgLT4gRFRWIC0+IEhETUk6Ci0JICov CisJcmV0dXJuIDA7Cit9CiAKLQlwbGFuZSA9IG1kcDRfcGxhbmVfaW5pdChkZXYsIFJHQjEsIHRy dWUpOwotCWlmIChJU19FUlIocGxhbmUpKSB7Ci0JCWRldl9lcnIoZGV2LT5kZXYsICJmYWlsZWQg dG8gY29uc3RydWN0IHBsYW5lIGZvciBSR0IxXG4iKTsKLQkJcmV0ID0gUFRSX0VSUihwbGFuZSk7 Ci0JCWdvdG8gZmFpbDsKLQl9CitzdGF0aWMgaW50IG1vZGVzZXRfaW5pdChzdHJ1Y3QgbWRwNF9r bXMgKm1kcDRfa21zKQoreworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBtZHA0X2ttcy0+ZGV2 OworCXN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0 cnVjdCBkcm1fcGxhbmUgKnBsYW5lOworCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKKwlpbnQgaSwg cmV0OworCXN0YXRpYyBjb25zdCBlbnVtIG1kcDRfcGlwZSByZ2JfcGxhbmVzW10gPSB7CisJCVJH QjEsIFJHQjIsCisJfTsKKwlzdGF0aWMgY29uc3QgZW51bSBtZHA0X3BpcGUgdmdfcGxhbmVzW10g PSB7CisJCVZHMSwgVkcyLAorCX07CisJc3RhdGljIGNvbnN0IGVudW0gbWRwNF9kbWEgbWRwNF9j cnRjc1tdID0geworCQlETUFfUCwgRE1BX0UsCisJfTsKKwlzdGF0aWMgY29uc3QgY2hhciAqIGNv bnN0IG1kcDRfY3J0Y19uYW1lc1tdID0geworCQkiRE1BX1AiLCAiRE1BX0UiLAorCX07CisJc3Rh dGljIGNvbnN0IGludCBtZHA0X2ludGZzW10gPSB7CisJCURSTV9NT0RFX0VOQ09ERVJfTFZEUywK KwkJRFJNX01PREVfRU5DT0RFUl9UTURTLAorCX07CiAKLQljcnRjICA9IG1kcDRfY3J0Y19pbml0 KGRldiwgcGxhbmUsIHByaXYtPm51bV9jcnRjcywgMSwgRE1BX0UpOwotCWlmIChJU19FUlIoY3J0 YykpIHsKLQkJZGV2X2VycihkZXYtPmRldiwgImZhaWxlZCB0byBjb25zdHJ1Y3QgY3J0YyBmb3Ig RE1BX0VcbiIpOwotCQlyZXQgPSBQVFJfRVJSKGNydGMpOwotCQlnb3RvIGZhaWw7CisJLyogY29u c3RydWN0IG5vbi1wcml2YXRlIHBsYW5lczogKi8KKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0la RSh2Z19wbGFuZXMpOyBpKyspIHsKKwkJcGxhbmUgPSBtZHA0X3BsYW5lX2luaXQoZGV2LCB2Z19w bGFuZXNbaV0sIGZhbHNlKTsKKwkJaWYgKElTX0VSUihwbGFuZSkpIHsKKwkJCWRldl9lcnIoZGV2 LT5kZXYsCisJCQkJImZhaWxlZCB0byBjb25zdHJ1Y3QgcGxhbmUgZm9yIFZHJWRcbiIsIGkgKyAx KTsKKwkJCXJldCA9IFBUUl9FUlIocGxhbmUpOworCQkJZ290byBmYWlsOworCQl9CisJCXByaXYt PnBsYW5lc1twcml2LT5udW1fcGxhbmVzKytdID0gcGxhbmU7CiAJfQogCi0JZW5jb2RlciA9IG1k cDRfZHR2X2VuY29kZXJfaW5pdChkZXYpOwotCWlmIChJU19FUlIoZW5jb2RlcikpIHsKLQkJZGV2 X2VycihkZXYtPmRldiwgImZhaWxlZCB0byBjb25zdHJ1Y3QgRFRWIGVuY29kZXJcbiIpOwotCQly ZXQgPSBQVFJfRVJSKGVuY29kZXIpOwotCQlnb3RvIGZhaWw7Ci0JfQorCWZvciAoaSA9IDA7IGkg PCBBUlJBWV9TSVpFKG1kcDRfY3J0Y3MpOyBpKyspIHsKKwkJcGxhbmUgPSBtZHA0X3BsYW5lX2lu aXQoZGV2LCByZ2JfcGxhbmVzW2ldLCB0cnVlKTsKKwkJaWYgKElTX0VSUihwbGFuZSkpIHsKKwkJ CWRldl9lcnIoZGV2LT5kZXYsCisJCQkJImZhaWxlZCB0byBjb25zdHJ1Y3QgcGxhbmUgZm9yIFJH QiVkXG4iLCBpICsgMSk7CisJCQlyZXQgPSBQVFJfRVJSKHBsYW5lKTsKKwkJCWdvdG8gZmFpbDsK KwkJfQogCi0JLyogRFRWIGNhbiBiZSBob29rZWQgdG8gRE1BX0U6ICovCi0JZW5jb2Rlci0+cG9z c2libGVfY3J0Y3MgPSAxIDw8IHByaXYtPm51bV9jcnRjczsKKwkJY3J0YyAgPSBtZHA0X2NydGNf aW5pdChkZXYsIHBsYW5lLCBwcml2LT5udW1fY3J0Y3MsIGksCisJCQkJbWRwNF9jcnRjc1tpXSk7 CisJCWlmIChJU19FUlIoY3J0YykpIHsKKwkJCWRldl9lcnIoZGV2LT5kZXYsICJmYWlsZWQgdG8g Y29uc3RydWN0IGNydGMgZm9yICVzXG4iLAorCQkJCW1kcDRfY3J0Y19uYW1lc1tpXSk7CisJCQly ZXQgPSBQVFJfRVJSKGNydGMpOworCQkJZ290byBmYWlsOworCQl9CisKKwkJcHJpdi0+Y3J0Y3Nb cHJpdi0+bnVtX2NydGNzKytdID0gY3J0YzsKKwl9CiAKLQlwcml2LT5jcnRjc1twcml2LT5udW1f Y3J0Y3MrK10gPSBjcnRjOwotCXByaXYtPmVuY29kZXJzW3ByaXYtPm51bV9lbmNvZGVycysrXSA9 IGVuY29kZXI7CisJLyoKKwkgKiB3ZSBjdXJyZW50bHkgc2V0IHVwIHR3byByZWxhdGl2ZWx5IGZp eGVkIHBhdGhzOgorCSAqCisJICogTENEQy9MVkRTIHBhdGg6IFJHQjEgLT4gRE1BX1AgLT4gTENE QyAtPiBMVkRTCisJICogRFRWL0hETUkgcGF0aDogUkdCMiAtPiBETUFfRSAtPiBEVFYgLT4gSERN SQorCSAqLwogCi0JaWYgKHByaXYtPmhkbWkpIHsKLQkJLyogQ29uc3RydWN0IGJyaWRnZS9jb25u ZWN0b3IgZm9yIEhETUk6ICovCi0JCXJldCA9IGhkbWlfbW9kZXNldF9pbml0KHByaXYtPmhkbWks IGRldiwgZW5jb2Rlcik7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUobWRwNF9pbnRmcyk7 IGkrKykgeworCQlyZXQgPSBtZHA0X21vZGVzZXRfaW5pdF9pbnRmKG1kcDRfa21zLCBtZHA0X2lu dGZzW2ldKTsKIAkJaWYgKHJldCkgewotCQkJZGV2X2VycihkZXYtPmRldiwgImZhaWxlZCB0byBp bml0aWFsaXplIEhETUk6ICVkXG4iLCByZXQpOworCQkJZGV2X2VycihkZXYtPmRldiwgImZhaWxl ZCB0byBpbml0aWFsaXplIGludGY6ICVkLCAlZFxuIiwKKwkJCQlpLCByZXQpOwogCQkJZ290byBm YWlsOwogCQl9CiAJfQotLSAKVGhlIFF1YWxjb21tIElubm92YXRpb24gQ2VudGVyLCBJbmMuIGlz IGEgbWVtYmVyIG9mIHRoZSBDb2RlIEF1cm9yYSBGb3J1bSwKaG9zdGVkIGJ5IFRoZSBMaW51eCBG b3VuZGF0aW9uCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=