From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH 3/3] drm/bridge/adv7511: enable CEC connector info Date: Fri, 23 Aug 2019 21:58:47 +0300 Message-ID: <20190823185847.GC4791@pendragon.ideasonboard.com> References: <20190823112427.42394-1-hverkuil-cisco@xs4all.nl> <20190823112427.42394-4-hverkuil-cisco@xs4all.nl> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by gabe.freedesktop.org (Postfix) with ESMTPS id 295B66E088 for ; Fri, 23 Aug 2019 18:58:56 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190823112427.42394-4-hverkuil-cisco@xs4all.nl> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Hans Verkuil Cc: Archit Taneja , Maxime Ripard , Maling list - DRI developers , Dariusz Marcinkiewicz , linux-media@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org SGkgSGFucywKClRoYW5rIHlvdSBmb3IgdGhlIHBhdGNoLgoKT24gRnJpLCBBdWcgMjMsIDIwMTkg YXQgMDE6MjQ6MjdQTSArMDIwMCwgSGFucyBWZXJrdWlsIHdyb3RlOgo+IFNldCB0aGUgY29ubmVj dG9yIGluZm8gdG8gaGVscCB1c2Vyc3BhY2UgYXNzb2NpYXRlIHRoZSBDRUMgYWRhcHRlcgo+IHdp dGggdGhlIEhETUkgY29ubmVjdG9yLgo+IAo+IFRoaXMgcmVxdWlyZWQgdGhhdCB0aGUgY2VjIGlu aXRpYWxpemF0aW9uIGFuZCB1bnJlZ2lzdGVyaW5nIHRoZQo+IENFQyBhZGFwdGVyIHRha2VzIHBs YWNlIGluIHRoZSBicmlkZ2UgYXR0YWNoIGFuZCBkZXRhY2ggb3BzLgo+IAo+IFRlc3RlZCBvbiBh biBSLUNhciBLb2Vsc2NoIGJvYXJkLgo+IAo+IFNpZ25lZC1vZmYtYnk6IEhhbnMgVmVya3VpbCA8 aHZlcmt1aWwtY2lzY29AeHM0YWxsLm5sPgo+IFRlc3RlZC1ieTogSGFucyBWZXJrdWlsIDxodmVy a3VpbC1jaXNjb0B4czRhbGwubmw+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2 NzUxMS9hZHY3NTExX2NlYy5jIHwgIDcgKysrKysrLQo+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdl L2Fkdjc1MTEvYWR2NzUxMV9kcnYuYyB8IDIyICsrKysrKysrKystLS0tLS0tLS0tCj4gIDIgZmls ZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3NTExX2NlYy5jIGIvZHJp dmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTFfY2VjLmMKPiBpbmRleCBhMjBhNDVj MGIzNTMuLmFjY2Y1ZTIzMjM5NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdl L2Fkdjc1MTEvYWR2NzUxMV9jZWMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2 NzUxMS9hZHY3NTExX2NlYy5jCj4gQEAgLTMwMiw2ICszMDIsNyBAQCBzdGF0aWMgaW50IGFkdjc1 MTFfY2VjX3BhcnNlX2R0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGFkdjc1MTEgKmFkdjc1 MTEpCj4gIAo+ICBpbnQgYWR2NzUxMV9jZWNfaW5pdChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVj dCBhZHY3NTExICphZHY3NTExKQo+ICB7Cj4gKwlzdHJ1Y3QgY2VjX2Nvbm5lY3Rvcl9pbmZvIGNv bm5faW5mbzsKPiAgCXVuc2lnbmVkIGludCBvZmZzZXQgPSBhZHY3NTExLT50eXBlID09IEFEVjc1 MzMgPwo+ICAJCQkJCQlBRFY3NTMzX1JFR19DRUNfT0ZGU0VUIDogMDsKPiAgCWludCByZXQgPSBh ZHY3NTExX2NlY19wYXJzZV9kdChkZXYsIGFkdjc1MTEpOwo+IEBAIC0zMTAsNyArMzExLDggQEAg aW50IGFkdjc1MTFfY2VjX2luaXQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgYWR2NzUxMSAq YWR2NzUxMSkKPiAgCQlnb3RvIGVycl9jZWNfcGFyc2VfZHQ7Cj4gIAo+ICAJYWR2NzUxMS0+Y2Vj X2FkYXAgPSBjZWNfYWxsb2NhdGVfYWRhcHRlcigmYWR2NzUxMV9jZWNfYWRhcF9vcHMsCj4gLQkJ YWR2NzUxMSwgZGV2X25hbWUoZGV2KSwgQ0VDX0NBUF9ERUZBVUxUUywgQURWNzUxMV9NQVhfQURE UlMpOwo+ICsJCWFkdjc1MTEsIGRldl9uYW1lKGRldiksCj4gKwkJQ0VDX0NBUF9ERUZBVUxUUyB8 IENFQ19DQVBfQ09OTkVDVE9SX0lORk8sIEFEVjc1MTFfTUFYX0FERFJTKTsKPiAgCWlmIChJU19F UlIoYWR2NzUxMS0+Y2VjX2FkYXApKSB7Cj4gIAkJcmV0ID0gUFRSX0VSUihhZHY3NTExLT5jZWNf YWRhcCk7Cj4gIAkJZ290byBlcnJfY2VjX2FsbG9jOwo+IEBAIC0zMzEsNiArMzMzLDkgQEAgaW50 IGFkdjc1MTFfY2VjX2luaXQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgYWR2NzUxMSAqYWR2 NzUxMSkKPiAgCQkgICAgIEFEVjc1MTFfUkVHX0NFQ19DTEtfRElWICsgb2Zmc2V0LAo+ICAJCSAg ICAgKChhZHY3NTExLT5jZWNfY2xrX2ZyZXEgLyA3NTAwMDApIC0gMSkgPDwgMik7Cj4gIAo+ICsJ Y2VjX2ZpbGxfY29ubl9pbmZvX2Zyb21fZHJtKCZjb25uX2luZm8sICZhZHY3NTExLT5jb25uZWN0 b3IpOwo+ICsJY2VjX3NfY29ubl9pbmZvKGFkdjc1MTEtPmNlY19hZGFwLCAmY29ubl9pbmZvKTsK CkknbSBwYWluZnVsbHkgdHJ5aW5nIHRvIGRlY291cGxlIGJyaWRnZXMgYW5kIGNvbm5lY3RvcnMs IGlmIHdlIGtlZXAKbWVyZ2luZyBwYXRjaGVzIHRoYXQgZ28gaW4gdGhlIG9wcG9zaXRlIGRpcmVj dGlvbiwgSSdsbCBuZXZlciBtYW5hZ2UgdG8KY29tcGxldGUgdGhpcyA6LSgKCkJyaWRnZXMgYXJl IG1vdmluZyB0byBhIG1vZGVsIHdoZXJlIHRoZXkgd29uJ3QgY3JlYXRlIGNvbm5lY3RvcnMKdGhl bXNlbHZlcywgc28gYW55IG5ldyBhY2Nlc3MgdG8gZHJtX2Nvbm5lY3RvciBjb250YWluZWQgaW4g YSBicmlkZ2UKc3RydWN0dXJlIGlzIGEgbm8tZ28gSSdtIGFmcmFpZCAoSSdtIHJlcGx5aW5nIHRv IHRoaXMgcGF0Y2ggYXMgSSBrbm93CnRoaXMgZHJpdmVyIGJlc3QsIGJ1dCB0aGlzIGNvbW1lbnQg YXBwbGllcyB0byB0aGUgb3RoZXIgdHdvIHBhdGNoZXMgaW4KdGhlIHNlcmllcyBhcyB3ZWxsKS4K CkhlcmUncyB3aGF0IEkgd3JvdGUgaW4gYSBwcml2YXRlIGUtbWFpbCwgcmVnYXJkaW5nIHNpbWls YXIgY2hhbmdlcyBmb3IKdGhlIG9tYXBkcm0gZHJpdmVyLgoKLS0tLS0tLS0KUGxlYXNlIGhhdmUg YSBsb29rIGF0ICJbUEFUQ0ggMDAvNjBdIGRybS9vbWFwOiBSZXBsYWNlIGN1c3RvbSBkaXNwbGF5 CmRyaXZlcnMgd2l0aCBkcm1fYnJpZGdlIGFuZCBkcm1fcGFuZWwiLCBhdmFpbGFibGUgaW4gYSBu ZXcgdmVyc2lvbiBhdAoKCWdpdDovL2xpbnV4dHYub3JnL3BpbmNoYXJ0bC9tZWRpYS5naXQgb21h cGRybS9icmlkZ2UvZGV2ZWwKCihJIHdpbGwgcG9zdCB2MiBzb29uKQoKVGhlIHBhdGNoZXMgc2hv dyB0aGUgZGlyZWN0aW9uIHRoZSBvbWFwZHJtIGRyaXZlciBpcyB0YWtpbmcuIFRoZSBnb2FsIGlz CnRvIGRlY291cGxlIGNvbm5lY3RvcnMgZnJvbSBicmlkZ2VzLCB3aGljaCBJJ20gYWZyYWlkIHdp bGwgaGF2ZSBhbgppbXBhY3Qgb24gYXNzb2NpYXRpbmcgZHJtX2Nvbm5lY3RvciB3aXRoIGEgQ0VD IGFkYXB0ZXIuIFRoaXMgc2hvdWxkIGJlCmltcGxlbWVudGVkIHRocm91Z2ggbmV3IGRybV9icmlk Z2Ugb3BlcmF0aW9ucywgYXMgYnJpZGdlcywgd2hlbiBjcmVhdGVkLAp3aWxsIG5vdCBjcmVhdGUg ZHJtX2Nvbm5lY3RvciBhbnltb3JlLgoKSSd2ZSBzb2x2ZWQgYSBzaW1pbGFyIHByb2JsZW0gcmVs YXRlZCB0byBhc3NvY2lhdGluZyBEUk0gY29ubmVjdG9ycyB3aXRoCmFuIEkyQyBhZGFwdGVyIGZv ciBEREMuIFBsZWFzZSBzZWUgdGhlIGRybV9icmlkZ2VfY29ubmVjdG9yX2luaXQoKQpmdW5jdGlv biBhbmQgaG93IHRoZSBEREMgYWRhcHRlciBpcyBoYW5kbGVkLiBTb21ldGhpbmcgc2ltaWxhciBj b3VsZCBiZQpkb25lIGZvciBDRUMuCi0tLS0tLS0tCgpTaW5jZSB0aGVuIHYyIGhhcyBiZWVuIHBv c3RlZCAoIltQQVRDSCB2MiAwMC81MF0gZHJtL29tYXA6IFJlcGxhY2UKY3VzdG9tIGRpc3BsYXkg ZHJpdmVycyB3aXRoIGRybV9icmlkZ2UgYW5kIGRybV9wYW5lbCIpIGFuZCB2MyBpcyBpbgpwcmVw YXJhdGlvbi4KClNvLCBwbGVhc2UsIGxldCdzIGJvdGggZ28gaW4gdGhlIHJpZ2h0IGRpcmVjdGlv biBhbmQgc29sdmUgdGhlIHByb2JsZW0KcHJvcGVybHkgZm9yIENFQy4KCj4gKwo+ICAJcmV0ID0g Y2VjX3JlZ2lzdGVyX2FkYXB0ZXIoYWR2NzUxMS0+Y2VjX2FkYXAsIGRldik7Cj4gIAlpZiAocmV0 KQo+ICAJCWdvdG8gZXJyX2NlY19yZWdpc3RlcjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTFfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdl L2Fkdjc1MTEvYWR2NzUxMV9kcnYuYwo+IGluZGV4IGY2ZDI2ODFmNjkyNy4uYmJjYjk5NmM0ZDRm IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3NTExX2Ry di5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTFfZHJ2LmMK PiBAQCAtODgxLDE0ICs4ODEsMjQgQEAgc3RhdGljIGludCBhZHY3NTExX2JyaWRnZV9hdHRhY2go c3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkKPiAgCQlyZWdtYXBfd3JpdGUoYWR2LT5yZWdtYXAs IEFEVjc1MTFfUkVHX0lOVF9FTkFCTEUoMCksCj4gIAkJCSAgICAgQURWNzUxMV9JTlQwX0hQRCk7 Cj4gIAo+ICsJaWYgKCFyZXQpCj4gKwkJcmV0ID0gYWR2NzUxMV9jZWNfaW5pdCgmYWR2LT5pMmNf bWFpbi0+ZGV2LCBhZHYpOwo+ICAJcmV0dXJuIHJldDsKPiAgfQo+ICAKPiArc3RhdGljIHZvaWQg YWR2NzUxMV9icmlkZ2VfZGV0YWNoKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpCj4gK3sKPiAr CXN0cnVjdCBhZHY3NTExICphZHYgPSBicmlkZ2VfdG9fYWR2NzUxMShicmlkZ2UpOwo+ICsKPiAr CWNlY191bnJlZ2lzdGVyX2FkYXB0ZXIoYWR2LT5jZWNfYWRhcCk7Cj4gK30KPiArCj4gIHN0YXRp YyBjb25zdCBzdHJ1Y3QgZHJtX2JyaWRnZV9mdW5jcyBhZHY3NTExX2JyaWRnZV9mdW5jcyA9IHsK PiAgCS5lbmFibGUgPSBhZHY3NTExX2JyaWRnZV9lbmFibGUsCj4gIAkuZGlzYWJsZSA9IGFkdjc1 MTFfYnJpZGdlX2Rpc2FibGUsCj4gIAkubW9kZV9zZXQgPSBhZHY3NTExX2JyaWRnZV9tb2RlX3Nl dCwKPiAgCS5hdHRhY2ggPSBhZHY3NTExX2JyaWRnZV9hdHRhY2gsCj4gKwkuZGV0YWNoID0gYWR2 NzUxMV9icmlkZ2VfZGV0YWNoLAo+ICB9Owo+ICAKPiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K PiBAQCAtMTIwMiw3ICsxMjEyLDcgQEAgc3RhdGljIGludCBhZHY3NTExX3Byb2JlKHN0cnVjdCBp MmNfY2xpZW50ICppMmMsIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkICppZCkKPiAgCQkJCQkJ SVJRRl9PTkVTSE9ULCBkZXZfbmFtZShkZXYpLAo+ICAJCQkJCQlhZHY3NTExKTsKPiAgCQlpZiAo cmV0KQo+IC0JCQlnb3RvIGVycl91bnJlZ2lzdGVyX2NlYzsKPiArCQkJZ290byBlcnJfaTJjX3Vu cmVnaXN0ZXJfcGFja2V0Owo+ICAJfQo+ICAKPiAgCWFkdjc1MTFfcG93ZXJfb2ZmKGFkdjc1MTEp Owo+IEBAIC0xMjEyLDEwICsxMjIyLDYgQEAgc3RhdGljIGludCBhZHY3NTExX3Byb2JlKHN0cnVj dCBpMmNfY2xpZW50ICppMmMsIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkICppZCkKPiAgCWlm IChhZHY3NTExLT50eXBlID09IEFEVjc1MTEpCj4gIAkJYWR2NzUxMV9zZXRfbGlua19jb25maWco YWR2NzUxMSwgJmxpbmtfY29uZmlnKTsKPiAgCj4gLQlyZXQgPSBhZHY3NTExX2NlY19pbml0KGRl diwgYWR2NzUxMSk7Cj4gLQlpZiAocmV0KQo+IC0JCWdvdG8gZXJyX3VucmVnaXN0ZXJfY2VjOwo+ IC0KPiAgCWFkdjc1MTEtPmJyaWRnZS5mdW5jcyA9ICZhZHY3NTExX2JyaWRnZV9mdW5jczsKPiAg CWFkdjc1MTEtPmJyaWRnZS5vZl9ub2RlID0gZGV2LT5vZl9ub2RlOwo+ICAKPiBAQCAtMTIyNCwx MCArMTIzMCw2IEBAIHN0YXRpYyBpbnQgYWR2NzUxMV9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAq aTJjLCBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCAqaWQpCj4gIAlhZHY3NTExX2F1ZGlvX2lu aXQoZGV2LCBhZHY3NTExKTsKPiAgCXJldHVybiAwOwo+ICAKPiAtZXJyX3VucmVnaXN0ZXJfY2Vj Ogo+IC0JaTJjX3VucmVnaXN0ZXJfZGV2aWNlKGFkdjc1MTEtPmkyY19jZWMpOwo+IC0JaWYgKGFk djc1MTEtPmNlY19jbGspCj4gLQkJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGFkdjc1MTEtPmNlY19j bGspOwo+ICBlcnJfaTJjX3VucmVnaXN0ZXJfcGFja2V0Ogo+ICAJaTJjX3VucmVnaXN0ZXJfZGV2 aWNlKGFkdjc1MTEtPmkyY19wYWNrZXQpOwo+ICBlcnJfaTJjX3VucmVnaXN0ZXJfZWRpZDoKPiBA QCAtMTI1NCw4ICsxMjU2LDYgQEAgc3RhdGljIGludCBhZHY3NTExX3JlbW92ZShzdHJ1Y3QgaTJj X2NsaWVudCAqaTJjKQo+ICAKPiAgCWFkdjc1MTFfYXVkaW9fZXhpdChhZHY3NTExKTsKPiAgCj4g LQljZWNfdW5yZWdpc3Rlcl9hZGFwdGVyKGFkdjc1MTEtPmNlY19hZGFwKTsKPiAtCj4gIAlpMmNf dW5yZWdpc3Rlcl9kZXZpY2UoYWR2NzUxMS0+aTJjX3BhY2tldCk7Cj4gIAlpMmNfdW5yZWdpc3Rl cl9kZXZpY2UoYWR2NzUxMS0+aTJjX2VkaWQpOwo+ICAKCi0tIApSZWdhcmRzLAoKTGF1cmVudCBQ aW5jaGFydApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.3 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C6086C3A5A2 for ; Fri, 23 Aug 2019 18:58:57 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 8C24721848 for ; Fri, 23 Aug 2019 18:58:57 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="CACz3+6m" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390803AbfHWS65 (ORCPT ); Fri, 23 Aug 2019 14:58:57 -0400 Received: from perceval.ideasonboard.com ([213.167.242.64]:36932 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387927AbfHWS65 (ORCPT ); Fri, 23 Aug 2019 14:58:57 -0400 Received: from pendragon.ideasonboard.com (dfj612yhrgyx302h3jwwy-3.rev.dnainternet.fi [IPv6:2001:14ba:21f5:5b00:ce28:277f:58d7:3ca4]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 031C82B2; Fri, 23 Aug 2019 20:58:53 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1566586734; bh=vDp5TBiBUBT6NjfrJr3xQ8vjLe6eqW4kCpJ5Sf75V/s=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=CACz3+6mTF/hmtTbNg+oX3wVun0wEJhwMZJzCmXfgkZB4SNkEUezIxyVUB/pen1iS qrEzYC1d2KIxrEuwcZYpITr2+8w/NzM7vHr8vEBgvx0D0zIP32lAWio3fDBequJzFY EsUpsIaVp/DuS736cOkY+ac2QzTYuS1Es7kxQyq4= Date: Fri, 23 Aug 2019 21:58:47 +0300 From: Laurent Pinchart To: Hans Verkuil Cc: linux-media@vger.kernel.org, Maling list - DRI developers , Dariusz Marcinkiewicz , Archit Taneja , Eric Anholt , Maxime Ripard Subject: Re: [PATCH 3/3] drm/bridge/adv7511: enable CEC connector info Message-ID: <20190823185847.GC4791@pendragon.ideasonboard.com> References: <20190823112427.42394-1-hverkuil-cisco@xs4all.nl> <20190823112427.42394-4-hverkuil-cisco@xs4all.nl> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20190823112427.42394-4-hverkuil-cisco@xs4all.nl> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org Hi Hans, Thank you for the patch. On Fri, Aug 23, 2019 at 01:24:27PM +0200, Hans Verkuil wrote: > Set the connector info to help userspace associate the CEC adapter > with the HDMI connector. > > This required that the cec initialization and unregistering the > CEC adapter takes place in the bridge attach and detach ops. > > Tested on an R-Car Koelsch board. > > Signed-off-by: Hans Verkuil > Tested-by: Hans Verkuil > --- > drivers/gpu/drm/bridge/adv7511/adv7511_cec.c | 7 ++++++- > drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 22 ++++++++++---------- > 2 files changed, 17 insertions(+), 12 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_cec.c b/drivers/gpu/drm/bridge/adv7511/adv7511_cec.c > index a20a45c0b353..accf5e232396 100644 > --- a/drivers/gpu/drm/bridge/adv7511/adv7511_cec.c > +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_cec.c > @@ -302,6 +302,7 @@ static int adv7511_cec_parse_dt(struct device *dev, struct adv7511 *adv7511) > > int adv7511_cec_init(struct device *dev, struct adv7511 *adv7511) > { > + struct cec_connector_info conn_info; > unsigned int offset = adv7511->type == ADV7533 ? > ADV7533_REG_CEC_OFFSET : 0; > int ret = adv7511_cec_parse_dt(dev, adv7511); > @@ -310,7 +311,8 @@ int adv7511_cec_init(struct device *dev, struct adv7511 *adv7511) > goto err_cec_parse_dt; > > adv7511->cec_adap = cec_allocate_adapter(&adv7511_cec_adap_ops, > - adv7511, dev_name(dev), CEC_CAP_DEFAULTS, ADV7511_MAX_ADDRS); > + adv7511, dev_name(dev), > + CEC_CAP_DEFAULTS | CEC_CAP_CONNECTOR_INFO, ADV7511_MAX_ADDRS); > if (IS_ERR(adv7511->cec_adap)) { > ret = PTR_ERR(adv7511->cec_adap); > goto err_cec_alloc; > @@ -331,6 +333,9 @@ int adv7511_cec_init(struct device *dev, struct adv7511 *adv7511) > ADV7511_REG_CEC_CLK_DIV + offset, > ((adv7511->cec_clk_freq / 750000) - 1) << 2); > > + cec_fill_conn_info_from_drm(&conn_info, &adv7511->connector); > + cec_s_conn_info(adv7511->cec_adap, &conn_info); I'm painfully trying to decouple bridges and connectors, if we keep merging patches that go in the opposite direction, I'll never manage to complete this :-( Bridges are moving to a model where they won't create connectors themselves, so any new access to drm_connector contained in a bridge structure is a no-go I'm afraid (I'm replying to this patch as I know this driver best, but this comment applies to the other two patches in the series as well). Here's what I wrote in a private e-mail, regarding similar changes for the omapdrm driver. -------- Please have a look at "[PATCH 00/60] drm/omap: Replace custom display drivers with drm_bridge and drm_panel", available in a new version at git://linuxtv.org/pinchartl/media.git omapdrm/bridge/devel (I will post v2 soon) The patches show the direction the omapdrm driver is taking. The goal is to decouple connectors from bridges, which I'm afraid will have an impact on associating drm_connector with a CEC adapter. This should be implemented through new drm_bridge operations, as bridges, when created, will not create drm_connector anymore. I've solved a similar problem related to associating DRM connectors with an I2C adapter for DDC. Please see the drm_bridge_connector_init() function and how the DDC adapter is handled. Something similar could be done for CEC. -------- Since then v2 has been posted ("[PATCH v2 00/50] drm/omap: Replace custom display drivers with drm_bridge and drm_panel") and v3 is in preparation. So, please, let's both go in the right direction and solve the problem properly for CEC. > + > ret = cec_register_adapter(adv7511->cec_adap, dev); > if (ret) > goto err_cec_register; > diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c > index f6d2681f6927..bbcb996c4d4f 100644 > --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c > +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c > @@ -881,14 +881,24 @@ static int adv7511_bridge_attach(struct drm_bridge *bridge) > regmap_write(adv->regmap, ADV7511_REG_INT_ENABLE(0), > ADV7511_INT0_HPD); > > + if (!ret) > + ret = adv7511_cec_init(&adv->i2c_main->dev, adv); > return ret; > } > > +static void adv7511_bridge_detach(struct drm_bridge *bridge) > +{ > + struct adv7511 *adv = bridge_to_adv7511(bridge); > + > + cec_unregister_adapter(adv->cec_adap); > +} > + > static const struct drm_bridge_funcs adv7511_bridge_funcs = { > .enable = adv7511_bridge_enable, > .disable = adv7511_bridge_disable, > .mode_set = adv7511_bridge_mode_set, > .attach = adv7511_bridge_attach, > + .detach = adv7511_bridge_detach, > }; > > /* ----------------------------------------------------------------------------- > @@ -1202,7 +1212,7 @@ static int adv7511_probe(struct i2c_client *i2c, const struct i2c_device_id *id) > IRQF_ONESHOT, dev_name(dev), > adv7511); > if (ret) > - goto err_unregister_cec; > + goto err_i2c_unregister_packet; > } > > adv7511_power_off(adv7511); > @@ -1212,10 +1222,6 @@ static int adv7511_probe(struct i2c_client *i2c, const struct i2c_device_id *id) > if (adv7511->type == ADV7511) > adv7511_set_link_config(adv7511, &link_config); > > - ret = adv7511_cec_init(dev, adv7511); > - if (ret) > - goto err_unregister_cec; > - > adv7511->bridge.funcs = &adv7511_bridge_funcs; > adv7511->bridge.of_node = dev->of_node; > > @@ -1224,10 +1230,6 @@ static int adv7511_probe(struct i2c_client *i2c, const struct i2c_device_id *id) > adv7511_audio_init(dev, adv7511); > return 0; > > -err_unregister_cec: > - i2c_unregister_device(adv7511->i2c_cec); > - if (adv7511->cec_clk) > - clk_disable_unprepare(adv7511->cec_clk); > err_i2c_unregister_packet: > i2c_unregister_device(adv7511->i2c_packet); > err_i2c_unregister_edid: > @@ -1254,8 +1256,6 @@ static int adv7511_remove(struct i2c_client *i2c) > > adv7511_audio_exit(adv7511); > > - cec_unregister_adapter(adv7511->cec_adap); > - > i2c_unregister_device(adv7511->i2c_packet); > i2c_unregister_device(adv7511->i2c_edid); > -- Regards, Laurent Pinchart