From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH 4/4] drm/tilcdc: Use unload to handle initialization failures Date: Wed, 19 Oct 2016 10:50:06 +0300 Message-ID: <2011838.MQKFQcMj2C@avalon> References: <0b0d1a02a9661e89ecc047affe08be20478e2c2b.1476825466.git.jsarha@ti.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from galahad.ideasonboard.com (galahad.ideasonboard.com [IPv6:2001:4b98:dc2:45:216:3eff:febb:480d]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3B08D6E855 for ; Wed, 19 Oct 2016 07:50:10 +0000 (UTC) In-Reply-To: <0b0d1a02a9661e89ecc047affe08be20478e2c2b.1476825466.git.jsarha@ti.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Jyri Sarha Cc: khilman@baylibre.com, dri-devel@lists.freedesktop.org, bgolaszewski@baylibre.com, tomi.valkeinen@ti.com, rmk+kernel@arm.linux.org.uk List-Id: dri-devel@lists.freedesktop.org SGkgSnlyaSwKClRoYW5rIHlvdSBmb3IgdGhlIHBhdGNoLgoKT24gV2VkbmVzZGF5IDE5IE9jdCAy MDE2IDAwOjMzOjU2IEp5cmkgU2FyaGEgd3JvdGU6Cj4gVXNlIHVubG9hZCB0byBoYW5kbGUgaW5p dGlhbGl6YXRpb24gZmFpbHVyZXMgaW5zdGVhZCBvZiBjb21wbGV4IGdvdG8KPiBsYWJlbCBtZXNz LiBUbyBkbyB0aGlzIHRoZSBpbml0aWFsaXphdGlvbiBzZXF1ZW5jZSBuZWVkZWQgc2xpZ2h0Cj4g cmVvcmRlcmluZyBhbmQgc29tZSB1bmxvYWQgZnVuY3Rpb25zIG5lZWRlZCB0byBiZWNvbWUgY29u ZGl0aW9uYWwuCgpXaGlsZSBhdCBpdCwgeW91IGNvdWxkIHJlcGxhY2UgdGhlIGRlcHJlY2F0ZWQg ZHJtX3B1dF9kZXYoKSBjYWxscyBhbmQgdXNlIApkcm1fZGV2X3VucmVnaXN0ZXIoKSBhbmQgZHJt X2Rldl91bnJlZigpIGRpcmVjdGx5LiBOb3RlIHRoYXQgdGhlIGZvcm1lciAKY29udGFpbnMgYSBj YWxsIHRvIGRybV92YmxhbmtfY2xlYW51cCgpLCB5b3UgY2FuIHRodXMgcmVtb3ZlIHRoZSBkaXJl Y3QgY2FsbCAKdG8gdGhhdCBmdW5jdGlvbi4gQXMgZmFyIGFzIEkgdW5kZXJzdGFuZCBkcm1fZGV2 X3VucmVnaXN0ZXIoKSBpcyBzYWZlIHRvIGNhbGwgCmFmdGVyIGRybV9tb2RlX2NvbmZpZ19pbml0 KCkgb25seSBidXQgZG9lc24ndCByZXF1aXJlIGEgcHJldmlvdXMgY2FsbCB0byBldmVuIApkcm1f ZGV2X3JlZ2lzdGVyKCkuIEknbSBub3Qgc3VyZSBpZiB0aGF0J3MgZ3VhcmFudGVlZCB0aG91Z2gs IG9yIGlmIGl0IGp1c3QgCndvcmtzIGJ5IGNoYW5jZS4KCj4gU2lnbmVkLW9mZi1ieTogSnlyaSBT YXJoYSA8anNhcmhhQHRpLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxj ZGNfZHJ2LmMgfCA5MSArKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIDEgZmls ZSBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCA2MyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxjZGNfZHJ2LmMKPiBiL2RyaXZlcnMvZ3B1 L2RybS90aWxjZGMvdGlsY2RjX2Rydi5jIGluZGV4IDJkY2E4MjIuLjg4MjAxMzMgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxjZGNfZHJ2LmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vdGlsY2RjL3RpbGNkY19kcnYuYwo+IEBAIC0xNjAsOCArMTYwLDYgQEAgc3RhdGlj IGludCBtb2Rlc2V0X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCXN0cnVjdCB0aWxj ZGNfZHJtX3ByaXZhdGUgKnByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAJc3RydWN0IHRpbGNk Y19tb2R1bGUgKm1vZDsKPiAKPiAtCWRybV9tb2RlX2NvbmZpZ19pbml0KGRldik7Cj4gLQo+ICAJ cHJpdi0+Y3J0YyA9IHRpbGNkY19jcnRjX2NyZWF0ZShkZXYpOwo+IAo+ICAJbGlzdF9mb3JfZWFj aF9lbnRyeShtb2QsICZtb2R1bGVfbGlzdCwgbGlzdCkgewo+IEBAIC0yMDAsMTggKzE5OCwxOSBA QCBzdGF0aWMgaW50IHRpbGNkY191bmxvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgewo+ ICAJc3RydWN0IHRpbGNkY19kcm1fcHJpdmF0ZSAqcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4g Cj4gLQl0aWxjZGNfcmVtb3ZlX2V4dGVybmFsX2VuY29kZXJzKGRldik7Cj4gKwlpZiAocHJpdi0+ ZmJkZXYpCj4gKwkJZHJtX2ZiZGV2X2NtYV9maW5pKHByaXYtPmZiZGV2KTsKPiAKPiAtCWRybV9m YmRldl9jbWFfZmluaShwcml2LT5mYmRldik7Cj4gIAlkcm1fa21zX2hlbHBlcl9wb2xsX2Zpbmko ZGV2KTsKPiAgCWRybV9tb2RlX2NvbmZpZ19jbGVhbnVwKGRldik7Cj4gIAlkcm1fdmJsYW5rX2Ns ZWFudXAoZGV2KTsKPiAtCj4gIAlkcm1faXJxX3VuaW5zdGFsbChkZXYpOwo+ICsJdGlsY2RjX3Jl bW92ZV9leHRlcm5hbF9lbmNvZGVycyhkZXYpOwo+IAo+ICAjaWZkZWYgQ09ORklHX0NQVV9GUkVR Cj4gLQljcHVmcmVxX3VucmVnaXN0ZXJfbm90aWZpZXIoJnByaXYtPmZyZXFfdHJhbnNpdGlvbiwK PiAtCQkJQ1BVRlJFUV9UUkFOU0lUSU9OX05PVElGSUVSKTsKPiArCWlmIChwcml2LT5mcmVxX3Ry YW5zaXRpb24ubm90aWZpZXJfY2FsbCkKPiArCQljcHVmcmVxX3VucmVnaXN0ZXJfbm90aWZpZXIo JnByaXYtPmZyZXFfdHJhbnNpdGlvbiwKPiArCQkJCQkgICAgQ1BVRlJFUV9UUkFOU0lUSU9OX05P VElGSUVSKTsKPiAgI2VuZGlmCj4gCj4gIAlpZiAocHJpdi0+Y2xrKQo+IEBAIC0yMjAsOCArMjE5 LDEwIEBAIHN0YXRpYyBpbnQgdGlsY2RjX3VubG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ ICAJaWYgKHByaXYtPm1taW8pCj4gIAkJaW91bm1hcChwcml2LT5tbWlvKTsKPiAKPiAtCWZsdXNo X3dvcmtxdWV1ZShwcml2LT53cSk7Cj4gLQlkZXN0cm95X3dvcmtxdWV1ZShwcml2LT53cSk7Cj4g KwlpZiAocHJpdi0+d3EpIHsKPiArCQlmbHVzaF93b3JrcXVldWUocHJpdi0+d3EpOwo+ICsJCWRl c3Ryb3lfd29ya3F1ZXVlKHByaXYtPndxKTsKPiArCX0KPiAKPiAgCWRldi0+ZGV2X3ByaXZhdGUg PSBOVUxMOwo+IAo+IEBAIC0yNTIsNiArMjUzLDggQEAgc3RhdGljIGludCB0aWxjZGNfaW5pdChz dHJ1Y3QgZHJtX2RyaXZlciAqZGRydiwgc3RydWN0Cj4gZGV2aWNlICpkZXYpCj4gCj4gIAlkZGV2 LT5wbGF0Zm9ybWRldiA9IHBkZXY7Cj4gIAlkZGV2LT5kZXZfcHJpdmF0ZSA9IHByaXY7Cj4gKwlw bGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBkZGV2KTsKPiArCWRybV9tb2RlX2NvbmZpZ19pbml0 KGRkZXYpOwo+IAo+ICAJcHJpdi0+aXNfY29tcG9uZW50aXplZCA9Cj4gIAkJdGlsY2RjX2dldF9l eHRlcm5hbF9jb21wb25lbnRzKGRldiwgTlVMTCkgPiAwOwo+IEBAIC0yNTksMjggKzI2MiwyOCBA QCBzdGF0aWMgaW50IHRpbGNkY19pbml0KHN0cnVjdCBkcm1fZHJpdmVyICpkZHJ2LCBzdHJ1Y3QK PiBkZXZpY2UgKmRldikgcHJpdi0+d3EgPSBhbGxvY19vcmRlcmVkX3dvcmtxdWV1ZSgidGlsY2Rj IiwgMCk7Cj4gIAlpZiAoIXByaXYtPndxKSB7Cj4gIAkJcmV0ID0gLUVOT01FTTsKPiAtCQlnb3Rv IGZhaWxfdW5zZXRfcHJpdjsKPiArCQlnb3RvIGluaXRfZmFpbGVkOwo+ICAJfQo+IAo+ICAJcmVz ID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKPiAgCWlm ICghcmVzKSB7Cj4gIAkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gZ2V0IG1lbW9yeSByZXNvdXJj ZVxuIik7Cj4gIAkJcmV0ID0gLUVJTlZBTDsKPiAtCQlnb3RvIGZhaWxfZnJlZV93cTsKPiArCQln b3RvIGluaXRfZmFpbGVkOwo+ICAJfQo+IAo+ICAJcHJpdi0+bW1pbyA9IGlvcmVtYXBfbm9jYWNo ZShyZXMtPnN0YXJ0LCByZXNvdXJjZV9zaXplKHJlcykpOwo+ICAJaWYgKCFwcml2LT5tbWlvKSB7 Cj4gIAkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gaW9yZW1hcFxuIik7Cj4gIAkJcmV0ID0gLUVO T01FTTsKPiAtCQlnb3RvIGZhaWxfZnJlZV93cTsKPiArCQlnb3RvIGluaXRfZmFpbGVkOwo+ICAJ fQo+IAo+ICAJcHJpdi0+Y2xrID0gY2xrX2dldChkZXYsICJmY2siKTsKPiAgCWlmIChJU19FUlIo cHJpdi0+Y2xrKSkgewo+ICAJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIGdldCBmdW5jdGlvbmFs IGNsb2NrXG4iKTsKPiAgCQlyZXQgPSAtRU5PREVWOwo+IC0JCWdvdG8gZmFpbF9pb3VubWFwOwo+ ICsJCWdvdG8gaW5pdF9mYWlsZWQ7Cj4gIAl9Cj4gCj4gICNpZmRlZiBDT05GSUdfQ1BVX0ZSRVEK PiBAQCAtMjg5LDcgKzI5Miw4IEBAIHN0YXRpYyBpbnQgdGlsY2RjX2luaXQoc3RydWN0IGRybV9k cml2ZXIgKmRkcnYsIHN0cnVjdAo+IGRldmljZSAqZGV2KSBDUFVGUkVRX1RSQU5TSVRJT05fTk9U SUZJRVIpOwo+ICAJaWYgKHJldCkgewo+ICAJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIHJlZ2lz dGVyIGNwdWZyZXEgbm90aWZpZXJcbiIpOwo+IC0JCWdvdG8gZmFpbF9wdXRfY2xrOwo+ICsJCXBy aXYtPmZyZXFfdHJhbnNpdGlvbi5ub3RpZmllcl9jYWxsID0gTlVMTDsKPiArCQlnb3RvIGluaXRf ZmFpbGVkOwo+ICAJfQo+ICAjZW5kaWYKPiAKPiBAQCAtMzY1LDM3ICszNjksMzUgQEAgc3RhdGlj IGludCB0aWxjZGNfaW5pdChzdHJ1Y3QgZHJtX2RyaXZlciAqZGRydiwgc3RydWN0Cj4gZGV2aWNl ICpkZXYpIHJldCA9IG1vZGVzZXRfaW5pdChkZGV2KTsKPiAgCWlmIChyZXQgPCAwKSB7Cj4gIAkJ ZGV2X2VycihkZXYsICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBtb2RlIHNldHRpbmdcbiIpOwo+IC0J CWdvdG8gZmFpbF9jcHVmcmVxX3VucmVnaXN0ZXI7Cj4gKwkJZ290byBpbml0X2ZhaWxlZDsKPiAg CX0KPiAKPiAtCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIGRkZXYpOwo+IC0KPiAgCWlmIChw cml2LT5pc19jb21wb25lbnRpemVkKSB7Cj4gIAkJcmV0ID0gY29tcG9uZW50X2JpbmRfYWxsKGRl diwgZGRldik7Cj4gIAkJaWYgKHJldCA8IDApCj4gLQkJCWdvdG8gZmFpbF9tb2RlX2NvbmZpZ19j bGVhbnVwOwo+ICsJCQlnb3RvIGluaXRfZmFpbGVkOwo+IAo+ICAJCXJldCA9IHRpbGNkY19hZGRf ZXh0ZXJuYWxfZW5jb2RlcnMoZGRldik7Cj4gIAkJaWYgKHJldCA8IDApCj4gLQkJCWdvdG8gZmFp bF9jb21wb25lbnRfY2xlYW51cDsKPiArCQkJZ290byBpbml0X2ZhaWxlZDsKPiAgCX0KPiAKPiAg CWlmICgocHJpdi0+bnVtX2VuY29kZXJzID09IDApIHx8IChwcml2LT5udW1fY29ubmVjdG9ycyA9 PSAwKSkgewo+ICAJCWRldl9lcnIoZGV2LCAibm8gZW5jb2RlcnMvY29ubmVjdG9ycyBmb3VuZFxu Iik7Cj4gIAkJcmV0ID0gLUVOWElPOwo+IC0JCWdvdG8gZmFpbF9leHRlcm5hbF9jbGVhbnVwOwo+ ICsJCWdvdG8gaW5pdF9mYWlsZWQ7Cj4gIAl9Cj4gCj4gIAlyZXQgPSBkcm1fdmJsYW5rX2luaXQo ZGRldiwgMSk7Cj4gIAlpZiAocmV0IDwgMCkgewo+ICAJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRv IGluaXRpYWxpemUgdmJsYW5rXG4iKTsKPiAtCQlnb3RvIGZhaWxfZXh0ZXJuYWxfY2xlYW51cDsK PiArCQlnb3RvIGluaXRfZmFpbGVkOwo+ICAJfQo+IAo+ICAJcmV0ID0gZHJtX2lycV9pbnN0YWxs KGRkZXYsIHBsYXRmb3JtX2dldF9pcnEocGRldiwgMCkpOwo+ICAJaWYgKHJldCA8IDApIHsKPiAg CQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBpbnN0YWxsIElSUSBoYW5kbGVyXG4iKTsKPiAtCQln b3RvIGZhaWxfdmJsYW5rX2NsZWFudXA7Cj4gKwkJZ290byBpbml0X2ZhaWxlZDsKPiAgCX0KPiAK PiAgCWRybV9tb2RlX2NvbmZpZ19yZXNldChkZGV2KTsKPiBAQCAtNDA1LDU2ICs0MDcsMTkgQEAg c3RhdGljIGludCB0aWxjZGNfaW5pdChzdHJ1Y3QgZHJtX2RyaXZlciAqZGRydiwgc3RydWN0Cj4g ZGV2aWNlICpkZXYpIGRkZXYtPm1vZGVfY29uZmlnLm51bV9jb25uZWN0b3IpOwo+ICAJaWYgKElT X0VSUihwcml2LT5mYmRldikpIHsKPiAgCQlyZXQgPSBQVFJfRVJSKHByaXYtPmZiZGV2KTsKPiAt CQlnb3RvIGZhaWxfaXJxX3VuaW5zdGFsbDsKPiArCQlnb3RvIGluaXRfZmFpbGVkOwo+ICAJfQo+ IAo+ICAJZHJtX2ttc19oZWxwZXJfcG9sbF9pbml0KGRkZXYpOwo+IAo+ICAJcmV0ID0gZHJtX2Rl dl9yZWdpc3RlcihkZGV2LCAwKTsKPiAgCWlmIChyZXQpCj4gLQkJZ290byBmYWlsX3BsYXRmb3Jt X2luaXQ7Cj4gKwkJZ290byBpbml0X2ZhaWxlZDsKPiAKPiAgCXJldHVybiAwOwo+IAo+IC1mYWls X3BsYXRmb3JtX2luaXQ6Cj4gLQlkcm1fa21zX2hlbHBlcl9wb2xsX2ZpbmkoZGRldik7Cj4gLQlk cm1fZmJkZXZfY21hX2ZpbmkocHJpdi0+ZmJkZXYpOwo+IC0KPiAtZmFpbF9pcnFfdW5pbnN0YWxs Ogo+IC0JZHJtX2lycV91bmluc3RhbGwoZGRldik7Cj4gLQo+IC1mYWlsX3ZibGFua19jbGVhbnVw Ogo+IC0JZHJtX3ZibGFua19jbGVhbnVwKGRkZXYpOwo+IC0KPiAtZmFpbF9jb21wb25lbnRfY2xl YW51cDoKPiAtCWlmIChwcml2LT5pc19jb21wb25lbnRpemVkKQo+IC0JCWNvbXBvbmVudF91bmJp bmRfYWxsKGRldiwgZGV2KTsKPiAtCj4gLWZhaWxfbW9kZV9jb25maWdfY2xlYW51cDoKPiAtCWRy bV9tb2RlX2NvbmZpZ19jbGVhbnVwKGRkZXYpOwo+IC0KPiAtZmFpbF9leHRlcm5hbF9jbGVhbnVw Ogo+IC0JdGlsY2RjX3JlbW92ZV9leHRlcm5hbF9lbmNvZGVycyhkZGV2KTsKPiAtCj4gLWZhaWxf Y3B1ZnJlcV91bnJlZ2lzdGVyOgo+IC0JcG1fcnVudGltZV9kaXNhYmxlKGRldik7Cj4gLSNpZmRl ZiBDT05GSUdfQ1BVX0ZSRVEKPiAtCWNwdWZyZXFfdW5yZWdpc3Rlcl9ub3RpZmllcigmcHJpdi0+ ZnJlcV90cmFuc2l0aW9uLAo+IC0JCQlDUFVGUkVRX1RSQU5TSVRJT05fTk9USUZJRVIpOwo+IC0K PiAtZmFpbF9wdXRfY2xrOgo+IC0jZW5kaWYKPiAtCWNsa19wdXQocHJpdi0+Y2xrKTsKPiAtCj4g LWZhaWxfaW91bm1hcDoKPiAtCWlvdW5tYXAocHJpdi0+bW1pbyk7Cj4gLQo+IC1mYWlsX2ZyZWVf d3E6Cj4gLQlmbHVzaF93b3JrcXVldWUocHJpdi0+d3EpOwo+IC0JZGVzdHJveV93b3JrcXVldWUo cHJpdi0+d3EpOwo+IC0KPiAtZmFpbF91bnNldF9wcml2Ogo+IC0JZGRldi0+ZGV2X3ByaXZhdGUg PSBOVUxMOwo+ICtpbml0X2ZhaWxlZDoKPiArCXRpbGNkY191bmxvYWQoZGRldik7Cj4gIAlkcm1f ZGV2X3VucmVmKGRkZXYpOwo+IAo+ICAJcmV0dXJuIHJldDsKCi0tIApSZWdhcmRzLAoKTGF1cmVu dCBQaW5jaGFydAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs Cg==