From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jordan Crouse Subject: Re: [DPU PATCH 04/11] drm/msm/dpu: create new platform driver for dpu device Date: Thu, 10 May 2018 11:00:32 -0600 Message-ID: <20180510170032.GE4995@jcrouse-lnx.qualcomm.com> References: <1525940985-30428-1-git-send-email-ryadav@codeaurora.org> <1525940985-30428-5-git-send-email-ryadav@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1525940985-30428-5-git-send-email-ryadav-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: Rajesh Yadav Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, hoegsberg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org T24gVGh1LCBNYXkgMTAsIDIwMTggYXQgMDE6NTk6MzhQTSArMDUzMCwgUmFqZXNoIFlhZGF2IHdy b3RlOgo+IEN1cnJlbnQgTVNNIGRpc3BsYXkgY29udHJvbGxlciBIVyBtYXRjaGVzIGEgdHJlZSBs aWtlCj4gaGllcmFyY2h5IHdoZXJlIE1EU1MgdG9wIGxldmVsIHdyYXBwZXIgaXMgcGFyZW50IGRl dmljZQo+IGFuZCBtZHA1L2RwdSwgZHNpLCBkcCBhcmUgY2hpbGQgZGV2aWNlcy4KPiAKPiBFYWNo IGNoaWxkIGRldmljZSBsaWtlIG1kcDUsIGRzaSBldGMuIGhhdmUgYSBzZXBhcmF0ZSBkcml2ZXIs Cj4gYnV0IGN1cnJlbnRseSBkcHUgaGFuZGxpbmcgaXMgdGllZCB0byBhIHNpbmdsZSBkcml2ZXIg d2hpY2gKPiB3YXMgbWFuYWdpbmcgYm90aCBtZHNzIGFuZCBkcHUgcmVzb3VyY2VzLgo+IAo+IElu b3JkZXIgdG8gaGF2ZSB0aGUgY2xlYW5lciBvbmUgdG8gb25lIGRldmljZSBhbmQgZHJpdmVyCj4g YXNzb2NpYXRpb24sIHRoaXMgY2hhbmdlIGFkZHMgYSBuZXcgcGxhdGZvcm1fZHJpdmVyIGZvciBk cHUKPiBjaGlsZCBkZXZpY2Ugbm9kZSB3aGljaCBpbXBsZW1lbnRzIHRoZSBrbXMgZnVuY3Rpb25h bGl0eS4KPiAKPiBUaGUgZHB1IGRyaXZlciBpbXBsZW1lbnRzIHJ1bnRpbWVfcG0gc3VwcG9ydCBm b3IgbWFuYWdpbmcgY2xvY2tzCj4gYW5kIGJ1cyBiYW5kd2lkdGggZXRjLgo+IAo+IFNpZ25lZC1v ZmYtYnk6IFJhamVzaCBZYWRhdiA8cnlhZGF2QGNvZGVhdXJvcmEub3JnPgo+IC0tLQo+ICBkcml2 ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmMgfCAyNTEgKysrKysrKysrKysrKysr KysrKysrKysrKystLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2tt cy5oIHwgICA0ICsKPiAgZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMgICAgICAgICAgIHwg ICAyICsKPiAgZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmggICAgICAgICAgIHwgICAzICsK PiAgNCBmaWxlcyBjaGFuZ2VkLCAyMTQgaW5zZXJ0aW9ucygrKSwgNDYgZGVsZXRpb25zKC0pCgo8 c25pcD4KPiAgCWlmICgha21zKSB7Cj4gQEAgLTE1NjUsMzQgKzE1NDgsMjggQEAgc3RhdGljIGlu dCBkcHVfa21zX2h3X2luaXQoc3RydWN0IG1zbV9rbXMgKmttcykKPiAgCQlnb3RvIGVuZDsKPiAg CX0KPiAgCj4gLQlwbGF0Zm9ybWRldiA9IHRvX3BsYXRmb3JtX2RldmljZShkZXYtPmRldik7Cj4g LQlpZiAoIXBsYXRmb3JtZGV2KSB7Cj4gLQkJRFBVX0VSUk9SKCJpbnZhbGlkIHBsYXRmb3JtIGRl dmljZVxuIik7Cj4gLQkJZ290byBlbmQ7Cj4gLQkJfQo+IC0KPiAgCXByaXYgPSBkZXYtPmRldl9w cml2YXRlOwo+ICAJaWYgKCFwcml2KSB7Cj4gIAkJRFBVX0VSUk9SKCJpbnZhbGlkIHByaXZhdGUg ZGF0YVxuIik7Cj4gIAkJZ290byBlbmQ7Cj4gIAl9Cj4gIAo+IC0JZHB1X2ttcy0+bW1pbyA9IG1z bV9pb3JlbWFwKHBsYXRmb3JtZGV2LCAibWRwX3BoeXMiLCAibWRwX3BoeXMiKTsKPiArCWRwdV9r bXMtPm1taW8gPSBtc21faW9yZW1hcChkcHVfa21zLT5wZGV2LCAibWRwX3BoeXMiLCAibWRwX3Bo eXMiKTsKPiAgCWlmIChJU19FUlIoZHB1X2ttcy0+bW1pbykpIHsKPiAgCQlyYyA9IFBUUl9FUlIo ZHB1X2ttcy0+bW1pbyk7Cj4gIAkJRFBVX0VSUk9SKCJtZHAgcmVnaXN0ZXIgbWVtb3J5IG1hcCBm YWlsZWQ6ICVkXG4iLCByYyk7Cj4gIAkJZHB1X2ttcy0+bW1pbyA9IE5VTEw7Cj4gIAkJZ290byBl cnJvcjsKPiAgCX0KPiAtCURSTV9JTkZPKCJtYXBwZWQgbWRwIGFkZHJlc3Mgc3BhY2UgQCVwXG4i LCBkcHVfa21zLT5tbWlvKTsKPiAtCWRwdV9rbXMtPm1taW9fbGVuID0gbXNtX2lvbWFwX3NpemUo cGxhdGZvcm1kZXYsICJtZHBfcGh5cyIpOwo+ICsJRFJNX0lORk8oIm1hcHBlZCBkcHUgYWRkcmVz cyBzcGFjZSBAJXBcbiIsIGRwdV9rbXMtPm1taW8pOwoKVGhpcyBpcyBub3QgYSB1c2VmdWwgbWVz c2FnZSAtIG1vdmUgdG8gZGVidWcgb3IgcmVtb3ZlLiAgSW4gYW55IGV2ZW50LCBwbGVhc2UKZG9u J3QgdXNlICVwLgoKPiArCWRwdV9rbXMtPm1taW9fbGVuID0gbXNtX2lvbWFwX3NpemUoZHB1X2tt cy0+cGRldiwgIm1kcF9waHlzIik7Cgo+ICAJcmMgPSBkcHVfZGJnX3JlZ19yZWdpc3Rlcl9iYXNl KERQVV9EQkdfTkFNRSwgZHB1X2ttcy0+bW1pbywKPiAgCQkJZHB1X2ttcy0+bW1pb19sZW4pOwo+ ICAJaWYgKHJjKQo+ICAJCURQVV9FUlJPUigiZGJnIGJhc2UgcmVnaXN0ZXIga21zIGZhaWxlZDog JWRcbiIsIHJjKTsKPiAgCj4gLQlkcHVfa21zLT52YmlmW1ZCSUZfUlRdID0gbXNtX2lvcmVtYXAo cGxhdGZvcm1kZXYsICJ2YmlmX3BoeXMiLAo+ICsJZHB1X2ttcy0+dmJpZltWQklGX1JUXSA9IG1z bV9pb3JlbWFwKGRwdV9rbXMtPnBkZXYsICJ2YmlmX3BoeXMiLAo+ICAJCQkJCQkJCSJ2YmlmX3Bo eXMiKTsKPiAgCWlmIChJU19FUlIoZHB1X2ttcy0+dmJpZltWQklGX1JUXSkpIHsKPiAgCQlyYyA9 IFBUUl9FUlIoZHB1X2ttcy0+dmJpZltWQklGX1JUXSk7Cj4gQEAgLTE2MDAsMjAgKzE1NzcsMjAg QEAgc3RhdGljIGludCBkcHVfa21zX2h3X2luaXQoc3RydWN0IG1zbV9rbXMgKmttcykKPiAgCQlk cHVfa21zLT52YmlmW1ZCSUZfUlRdID0gTlVMTDsKPiAgCQlnb3RvIGVycm9yOwo+ICAJfQo+IC0J ZHB1X2ttcy0+dmJpZl9sZW5bVkJJRl9SVF0gPSBtc21faW9tYXBfc2l6ZShwbGF0Zm9ybWRldiwK PiArCWRwdV9rbXMtPnZiaWZfbGVuW1ZCSUZfUlRdID0gbXNtX2lvbWFwX3NpemUoZHB1X2ttcy0+ cGRldiwKPiAgCQkJCQkJCQkidmJpZl9waHlzIik7Cj4gIAlyYyA9IGRwdV9kYmdfcmVnX3JlZ2lz dGVyX2Jhc2UoInZiaWZfcnQiLCBkcHVfa21zLT52YmlmW1ZCSUZfUlRdLAo+ICAJCQkJZHB1X2tt cy0+dmJpZl9sZW5bVkJJRl9SVF0pOwo+ICAJaWYgKHJjKQo+ICAJCURQVV9FUlJPUigiZGJnIGJh c2UgcmVnaXN0ZXIgdmJpZl9ydCBmYWlsZWQ6ICVkXG4iLCByYyk7Cj4gIAo+IC0JZHB1X2ttcy0+ dmJpZltWQklGX05SVF0gPSBtc21faW9yZW1hcChwbGF0Zm9ybWRldiwgInZiaWZfbnJ0X3BoeXMi LAo+ICsJZHB1X2ttcy0+dmJpZltWQklGX05SVF0gPSBtc21faW9yZW1hcChkcHVfa21zLT5wZGV2 LCAidmJpZl9ucnRfcGh5cyIsCj4gIAkJCQkJCQkJInZiaWZfbnJ0X3BoeXMiKTsKPiAgCWlmIChJ U19FUlIoZHB1X2ttcy0+dmJpZltWQklGX05SVF0pKSB7Cj4gIAkJZHB1X2ttcy0+dmJpZltWQklG X05SVF0gPSBOVUxMOwo+ICAJCURQVV9ERUJVRygiVkJJRiBOUlQgaXMgbm90IGRlZmluZWQiKTsK PiAgCX0gZWxzZSB7Cj4gLQkJZHB1X2ttcy0+dmJpZl9sZW5bVkJJRl9OUlRdID0gbXNtX2lvbWFw X3NpemUocGxhdGZvcm1kZXYsCj4gKwkJZHB1X2ttcy0+dmJpZl9sZW5bVkJJRl9OUlRdID0gbXNt X2lvbWFwX3NpemUoZHB1X2ttcy0+cGRldiwKPiAgCQkJCQkJCSJ2YmlmX25ydF9waHlzIik7Cj4g IAkJcmMgPSBkcHVfZGJnX3JlZ19yZWdpc3Rlcl9iYXNlKCJ2YmlmX25ydCIsCj4gIAkJCQlkcHVf a21zLT52YmlmW1ZCSUZfTlJUXSwKPiBAQCAtMTYyNCwxMyArMTYwMSwxMyBAQCBzdGF0aWMgaW50 IGRwdV9rbXNfaHdfaW5pdChzdHJ1Y3QgbXNtX2ttcyAqa21zKQo+ICAJfQo+ICAKPiAgI2lmZGVm IENPTkZJR19DSFJPTUVfUkVHRE1BCj4gLQlkcHVfa21zLT5yZWdfZG1hID0gbXNtX2lvcmVtYXAo cGxhdGZvcm1kZXYsICJyZWdkbWFfcGh5cyIsCj4gKwlkcHVfa21zLT5yZWdfZG1hID0gbXNtX2lv cmVtYXAoZHB1X2ttcy0+cGRldiwgInJlZ2RtYV9waHlzIiwKPiAgCQkJCQkJCQkicmVnZG1hX3Bo eXMiKTsKPiAgCWlmIChJU19FUlIoZHB1X2ttcy0+cmVnX2RtYSkpIHsKPiAgCQlkcHVfa21zLT5y ZWdfZG1hID0gTlVMTDsKPiAgCQlEUFVfREVCVUcoIlJFR19ETUEgaXMgbm90IGRlZmluZWQiKTsK PiAgCX0gZWxzZSB7Cj4gLQkJZHB1X2ttcy0+cmVnX2RtYV9sZW4gPSBtc21faW9tYXBfc2l6ZShw bGF0Zm9ybWRldiwKPiArCQlkcHVfa21zLT5yZWdfZG1hX2xlbiA9IG1zbV9pb21hcF9zaXplKGRw dV9rbXMtPnBkZXYsCj4gIAkJCQkJCQkJInJlZ2RtYV9waHlzIik7Cj4gIAkJcmMgPSAgZHB1X2Ri Z19yZWdfcmVnaXN0ZXJfYmFzZSgicmVnX2RtYSIsCj4gIAkJCQlkcHVfa21zLT5yZWdfZG1hLAo+ IEBAIC0xODA0LDE0ICsxNzgxLDEzIEBAIHN0YXRpYyBpbnQgZHB1X2ttc19od19pbml0KHN0cnVj dCBtc21fa21zICprbXMpCj4gIAlkcHVfcG93ZXJfcmVzb3VyY2VfZW5hYmxlKCZwcml2LT5waGFu ZGxlLCBkcHVfa21zLT5jb3JlX2NsaWVudCwgZmFsc2UpOwo+ICAJcG1fcnVudGltZV9wdXRfc3lu YyhkZXYtPmRldik7Cj4gIGVycm9yOgo+IC0JX2RwdV9rbXNfaHdfZGVzdHJveShkcHVfa21zLCBw bGF0Zm9ybWRldik7Cj4gKwlfZHB1X2ttc19od19kZXN0cm95KGRwdV9rbXMpOwo+ICBlbmQ6Cj4g IAlyZXR1cm4gcmM7Cj4gIH0KPiAgCj4gIHN0cnVjdCBtc21fa21zICpkcHVfa21zX2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKPiAgewo+IC0Jc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRl diA9IHRvX3BsYXRmb3JtX2RldmljZShkZXYtPmRldik7Cj4gIAlzdHJ1Y3QgbXNtX2RybV9wcml2 YXRlICpwcml2Owo+ICAJc3RydWN0IGRwdV9rbXMgKmRwdV9rbXM7Cj4gIAlpbnQgaXJxOwo+IEBA IC0xODIxLDI0ICsxNzk3LDIwNyBAQCBzdHJ1Y3QgbXNtX2ttcyAqZHB1X2ttc19pbml0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCj4gIAkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7Cj4gIAl9Cj4g IAo+IC0JaXJxID0gcGxhdGZvcm1fZ2V0X2lycShwZGV2LCAwKTsKPiArCXByaXYgPSBkZXYtPmRl dl9wcml2YXRlOwo+ICsJZHB1X2ttcyA9IHRvX2RwdV9rbXMocHJpdi0+a21zKTsKPiArCj4gKwlp cnEgPSBpcnFfb2ZfcGFyc2VfYW5kX21hcChkcHVfa21zLT5wZGV2LT5kZXYub2Zfbm9kZSwgMCk7 Cj4gIAlpZiAoaXJxIDwgMCkgewo+ICAJCURQVV9FUlJPUigiZmFpbGVkIHRvIGdldCBpcnE6ICVk XG4iLCBpcnEpOwo+ICAJCXJldHVybiBFUlJfUFRSKGlycSk7Cj4gIAl9Cj4gKwlkcHVfa21zLT5i YXNlLmlycSA9IGlycTsKPiAgCj4gLQlwcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiArCXJldHVy biAmZHB1X2ttcy0+YmFzZTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgZHB1X2Rlc3Ryb3koc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiArewo+ICsJc3RydWN0IGRwdV9rbXMgKmRwdV9r bXMgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKPiArCXN0cnVjdCBkc3NfbW9kdWxlX3Bv d2VyICptcCA9ICZkcHVfa21zLT5tcDsKPiArCj4gKwltc21fZHNzX3B1dF9jbGsobXAtPmNsa19j b25maWcsIG1wLT5udW1fY2xrKTsKPiArCWRldm1fa2ZyZWUoJnBkZXYtPmRldiwgbXAtPmNsa19j b25maWcpOwo+ICsJbXAtPm51bV9jbGsgPSAwOwo+ICsKPiArCWlmIChkcHVfa21zLT5ycG1fZW5h YmxlZCkKPiArCQlwbV9ydW50aW1lX2Rpc2FibGUoJnBkZXYtPmRldik7Cj4gKwo+ICsJZGV2bV9r ZnJlZSgmcGRldi0+ZGV2LCBkcHVfa21zKTsKPiArfQo+ICAKPiAtCWRwdV9rbXMgPSBremFsbG9j KHNpemVvZigqZHB1X2ttcyksIEdGUF9LRVJORUwpOwo+ICtzdGF0aWMgaW50IGRwdV9pbml0KHN0 cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gK3sK PiArCXN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICsJ c3RydWN0IGRwdV9rbXMgKmRwdV9rbXM7Cj4gKwlzdHJ1Y3QgZHNzX21vZHVsZV9wb3dlciAqbXA7 Cj4gKwlpbnQgcmV0ID0gMDsKPiArCj4gKwlkcHVfa21zID0gZGV2bV9remFsbG9jKCZwZGV2LT5k ZXYsIHNpemVvZigqZHB1X2ttcyksIEdGUF9LRVJORUwpOwo+ICAJaWYgKCFkcHVfa21zKSB7Cj4g IAkJRFBVX0VSUk9SKCJmYWlsZWQgdG8gYWxsb2NhdGUgZHB1IGttc1xuIik7CgpBcyBsb25nIGFz IHlvdSBhcmUgbmVhcmJ5LCByZW1vdmUgdGhpcyBsb2cgbWVzc2FnZS4KCj4gLQkJcmV0dXJuIEVS Ul9QVFIoLUVOT01FTSk7Cj4gKwkJcmV0dXJuIC1FTk9NRU07Cj4gKwl9Cj4gKwo+ICsJbXAgPSAm ZHB1X2ttcy0+bXA7Cj4gKwlyZXQgPSBtc21fZHNzX3BhcnNlX2Nsb2NrKHBkZXYsIG1wKTsKPiAr CWlmIChyZXQpIHsKPiArCQlEUFVfRVJST1IoImZhaWxlZCB0byBwYXJzZSBjbG9ja3MsIHJldD0l ZFxuIiwgcmV0KTsKPiArCQlnb3RvIGNsa19wYXJzZV9lcnJvcjsKPiArCX0KPiArCj4gKwlyZXQg PSBtc21fZHNzX2dldF9jbGsoJnBkZXYtPmRldiwgbXAtPmNsa19jb25maWcsIG1wLT5udW1fY2xr KTsKPiArCWlmIChyZXQpIHsKPiArCQlwcl9lcnIoImZhaWxlZCB0byBnZXQgY2xvY2tzLCByZXQ9 JWRcbiIsIHJldCk7Cj4gKwkJZ290byBjbGtfZ2V0X2Vycm9yOwo+ICsJfQo+ICsKPiArCXJldCA9 IG1zbV9kc3NfY2xrX3NldF9yYXRlKG1wLT5jbGtfY29uZmlnLCBtcC0+bnVtX2Nsayk7Cj4gKwlp ZiAocmV0KSB7Cj4gKwkJcHJfZXJyKCJmYWlsZWQgdG8gc2V0IGNsb2NrIHJhdGUsIHJldD0lZFxu IiwgcmV0KTsKPiArCQlnb3RvIGNsa19yYXRlX2Vycm9yOwo+ICAJfQo+ICAKPiArCXBsYXRmb3Jt X3NldF9kcnZkYXRhKHBkZXYsIGRwdV9rbXMpOwo+ICsKPiAgCW1zbV9rbXNfaW5pdCgmZHB1X2tt cy0+YmFzZSwgJmttc19mdW5jcyk7Cj4gIAlkcHVfa21zLT5kZXYgPSBkZXY7Cj4gLQlkcHVfa21z LT5iYXNlLmlycSA9IGlycTsKPiArCWRwdV9rbXMtPnBkZXYgPSBwZGV2Owo+ICAKPiAtCXJldHVy biAmZHB1X2ttcy0+YmFzZTsKPiArCXBtX3J1bnRpbWVfZW5hYmxlKCZwZGV2LT5kZXYpOwo+ICsJ ZHB1X2ttcy0+cnBtX2VuYWJsZWQgPSB0cnVlOwo+ICsKPiArCXByaXYtPmttcyA9ICZkcHVfa21z LT5iYXNlOwo+ICsKPiArCXJldHVybiByZXQ7Cj4gKwo+ICtjbGtfcmF0ZV9lcnJvcjoKPiArCW1z bV9kc3NfcHV0X2NsayhtcC0+Y2xrX2NvbmZpZywgbXAtPm51bV9jbGspOwo+ICtjbGtfZ2V0X2Vy cm9yOgo+ICsJZGV2bV9rZnJlZSgmcGRldi0+ZGV2LCBtcC0+Y2xrX2NvbmZpZyk7Cj4gKwltcC0+ bnVtX2NsayA9IDA7Cj4gK2Nsa19wYXJzZV9lcnJvcjoKPiArCWRldm1fa2ZyZWUoJnBkZXYtPmRl diwgZHB1X2ttcyk7Cj4gKwo+ICsJcmV0dXJuIHJldDsKPiArfQoKLS0gClRoZSBRdWFsY29tbSBJ bm5vdmF0aW9uIENlbnRlciwgSW5jLiBpcyBhIG1lbWJlciBvZiBDb2RlIEF1cm9yYSBGb3J1bSwK YSBMaW51eCBGb3VuZGF0aW9uIENvbGxhYm9yYXRpdmUgUHJvamVjdApfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpGcmVlZHJlbm8gbWFpbGluZyBsaXN0CkZy ZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8K