From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark yao Subject: Re: [PATCH] drm: bridge: synopsys/dw-hdmi: Provide default configuration function for HDMI 2.0 PHY Date: Thu, 22 Jun 2017 16:25:07 +0800 Message-ID: <594B7EE3.9050202@rock-chips.com> References: <6071fd12-2cda-cd1f-2607-9a498f588040@synopsys.com> <3690108.zYIGBGnVBz@avalon> <1941ce39-1a8e-5e16-bdc2-71d988ee00d6@synopsys.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from regular1.263xmail.com (regular1.263xmail.com [211.150.99.139]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5DF126E5FE for ; Thu, 22 Jun 2017 08:25:17 +0000 (UTC) In-Reply-To: <1941ce39-1a8e-5e16-bdc2-71d988ee00d6@synopsys.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Jose Abreu , Laurent Pinchart Cc: Laurent Pinchart , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Carlos Palminha , Kieran Bingham , =?UTF-8?B?6YOR6Ziz?= List-Id: dri-devel@lists.freedesktop.org SGkgSm9zZQoKU29ycnkgbWlzcyB5b3VyIGVtYWlsIGFuZCBTb3JyeSBmb3IgdGhlIGxhdGUgcmVw bHkKCkkgY2FuIHN1cmUgdGhhdCB5b3VyIHBhdGNoIHdvcmtzIG9uIG91ciByazMzOTkgcGxhdGZv cm0uCgpteSBpbnRlcm5hbCBrZXJuZWwgYWxyZWFkeSBoYXMgc2ltaWxhciBwYXRjaCwgdXNpbmcg aGRtaV9waHlfY29uZmlndXJlX2R3Y19oZG1pXzNkX3R4KCkgZm9yIGhkbWkgMi4wIHBoeSwKZ29v ZCB3b3JrcyB3aXRoIG1hbnkgdmlkZW8gbW9kZXMgKDRrLCAxMDgwcCwgNzIwcCBldGMuKSwgSSdt IG5vdCBmYW1pbGlhciB3aXRoIGhkbWksICBidXQgaGRtaSBkaXNwbGF5IGFjdHVhbGx5IHdvcmtz IGZvciB1cy4KCkFuZCwgSSBoYWQgdHJpZWQgdGhlIDQuMTItcmMxIGtlcm5lbCB3aXRoIHlvdXIg cGF0Y2gsIGRpc3BsYXkgd29ya3MgZ29vZC4KClNvOgpUZXN0ZWQtYnk6IE1hcmsgWWFvIDxtYXJr Lnlhb0Byb2NrLWNoaXBzLmNvbT4KCk9uIDIwMTflubQwNuaciDEz5pelIDIyOjExLCBKb3NlIEFi cmV1IHdyb3RlOgo+IEhpIExhdXJlbnQsCj4KPgo+IFNvcnJ5IGZvciB0aGUgbGF0ZSByZXBseSEK Pgo+Cj4gT24gMTAtMDYtMjAxNyAwOTo1MCwgTGF1cmVudCBQaW5jaGFydCB3cm90ZToKPj4gSGkg Sm9zZSwKPj4KPj4gT24gRnJpZGF5IDA5IEp1biAyMDE3IDEzOjUzOjEyIEpvc2UgQWJyZXUgd3Jv dGU6Cj4+PiBPbiAwOS0wNi0yMDE3IDEyOjA0LCBKb3NlIEFicmV1IHdyb3RlOgo+Pj4+IEN1cnJl bnRseSBIRE1JIDIuMCBQSFlzIGRvIG5vdCBoYXZlIGEgZGVmYXVsdCBjb25maWd1cmF0aW9uIGZ1 bmN0aW9uLgo+Pj4+Cj4+Pj4gQXMgdGhlc2UgUEhZcyBoYXZlIHRoZSBzYW1lIHJlZ2lzdGVyIGxh eW91dCBhcyB0aGUgM0QgUEhZcyB3ZSBjYW4KPj4+PiBzYWZlbHkgdXNlIHRoZSBkZWZhdWx0IGNv bmZpZ3VyYXRpb24gZnVuY3Rpb24uCj4+PiBJIG1heSBoYXZlIGJlZW4gYSBsaXR0bGUgdG8gZmFz dCBhcnJpdmluZyBhdCB0aGlzIGNvbmNsdXNpb24uIEkKPj4+IG1lYW4gbW9zdCBvZiB0aGUgcmVn aXN0ZXJzIG1hdGNoIGJ1dCBpbiB0aGUgY29uZmlndXJhdGlvbgo+Pj4gZnVuY3Rpb24gdGhlcmUg YXJlIHJlZ2lzdGVycyB0aGF0IGRvIG5vdCBtYXRjaC4gRGlkIHlvdSBhY3R1YWxseQo+Pj4gdGVz dCB0aGlzIGNvbmZpZ3VyYXRpb24gZnVuY3Rpb24gd2l0aCBhbiBIRE1JIDIuMCBwaHk/IEFuZCBk aWQKPj4+IHlvdSB0ZXN0IHdpdGggZGlmZmVyZW50IHZpZGVvIG1vZGVzPyBGcm9tIG15IGV4cGVy aWVuY2UgdGhlIHBoeQo+Pj4gbWF5IGJlIHdyb25nbHkgY29uZmlndXJlZCBhbmQgc29tZXRpbWVz IHdvcmsgYW55d2F5Lgo+Pj4KPj4+IERvIHBsZWFzZSByZXRlc3Qgd2l0aCBhcyBtYW55IHZpZGVv IG1vZGVzIGFzIHlvdSBjYW4gYW5kIGdpdmUgbWUKPj4+IHlvdXIgcGh5IElEIChyZWFkIGZyb20g Y29udHJvbGxlciBjb25maWcgcmVnIEhETUlfQ09ORklHMl9JRCkuCj4+IFRoZSBSZW5lc2FzIFIt Q2FyIEdlbjMgSERNSSBQSFkgcmVwb3J0cyBhbiBEV0MgSERNSSAyLjAgVFggUEhZIElELCBidXQg aGFzIGEKPj4gY29uZmlndXJhdGlvbiBmdW5jdGlvbiAocmNhcl9oZG1pX3BoeV9jb25maWd1cmUo KSBpbiBkcml2ZXJzL2dwdS9kcm0vcmNhci0KPj4gZHUvcmNhcl9kd19oZG1pLmMpIHRoYXQgZG9l c24ndCBtYXRjaCBoZG1pX3BoeV9jb25maWd1cmVfZHdjX2hkbWlfM2RfdHgoKS4KPj4gIEZyb20g dGhlIGluZm9ybWF0aW9uIEkgaGF2ZSBiZWVuIGdpdmVuIHRoZSBsYXlvdXQgb2YgdGhlIGNvbmZp Z3VyYXRpb24KPj4gcmVnaXN0ZXJzIGhhdmVuJ3QgYmVlbiBjaGFuZ2VkIGJ5IFJlbmVzYXMuIEkg a25vdyB3ZSd2ZSBicmllZmx5IGRpc2N1c3NlZCB0aGlzCj4+IGluIHRoZSBwYXN0LCBidXQgSSdk IGFwcHJlY2lhdGUgaWYgeW91IGNvdWxkIGhhdmUgYSBzZWNvbmQgbG9vayBhbmQgdGVsbCBtZQo+ PiB3aGF0IHlvdSB0aGluay4KPiBZdXAsIHlvdXJzIHNlZW1zIGNvcnJlY3QuIFRob3VnaCBhdCB0 aGUgdGltZSB5b3Ugc3VibWl0dGVkIEkKPiBmb3VuZCBpdCBvZGQgdGhhdCBvbmx5IDMgcmVnaXN0 ZXJzIG5lZWRlZCB0byBiZSB3cml0dGVuIHdoaWxzdAo+IGZvciBIRE1JIDIuMCBwaHlzIEkgaGF2 ZSBoZXJlIDYgcmVnaXN0ZXJzLCBidXQgeW91IHNhaWQgaXQgaXMKPiB3b3JraW5nIHNvIEkgdGhv dWdoIHlvdXIgcGh5IHdhcyBkaWZmZXJlbnQgLi4uCj4KPiBFdmVuIHNvLCBvbmUgdGhpbmcgSSB3 b3VsZCBsaWtlIHRvIGtub3cgaXMgd2hhdCB3YXMgdGhlIG1heAo+IHJlc29sdXRpb24geW91IHRl c3RlZD8gSSBzZWUgeW91IGhhdmUgY2xvY2sgdmFsdWVzIHVwIHRvIDI5N01IeiwKPiBzbyA0a0Az MEh6PyBJZiBJIHNlbmQgYSBwYXRjaCB3aXRoIGEgZ2VuZXJhbCBjb25maWcgZnVuY3Rpb24gZm9y Cj4gSERNSSAyLjAgcGh5cyBjYW4geW91IHRlc3QgaXQgb24geW91ciBwbGF0Zm9ybT8KPgo+IEJl c3QgcmVnYXJkcywKPiBKb3NlIE1pZ3VlbCBBYnJldQo+Cj4+Pj4gICBJZiwgZm9yIHNvbWUgcmVh c29uLAo+Pj4+Cj4+Pj4gdGhlIFBIWSBpcyBjdXN0b20gdGhpcyBjaGFuZ2Ugd2lsbCBub3QgbWFr ZSBhbnkgaW1wYWN0IGJlY2F1c2UKPj4+PiBpbiBjb25maWd1cmF0aW9uIGZ1bmN0aW9uIHdlIHBy ZWZlciB0aGUgcGRhdGEgcHJvdmlkZWQgY29uZmlndXJhdGlvbgo+Pj4+IGZ1bmN0aW9uIG92ZXIg dGhlIGludGVybmFsIG9uZS4KPj4+Pgo+Pj4+IFRoaXMgcGF0Y2ggaXMgYmFzZWQgb24gdG9kYXkn cyBkcm0tbWlzYy1uZXh0IGJyYW5jaC4KPj4+Pgo+Pj4+IFNpZ25lZC1vZmYtYnk6IEpvc2UgQWJy ZXUgPGpvYWJyZXVAc3lub3BzeXMuY29tPgo+Pj4+IENjOiBLaWVyYW4gQmluZ2hhbSA8a2llcmFu LmJpbmdoYW0rcmVuZXNhc0BpZGVhc29uYm9hcmQuY29tPgo+Pj4+IENjOiBMYXVyZW50IFBpbmNo YXJ0IDxsYXVyZW50LnBpbmNoYXJ0K3JlbmVzYXNAaWRlYXNvbmJvYXJkLmNvbT4KPj4+PiBDYzog QXJjaGl0IFRhbmVqYSA8YXJjaGl0dEBjb2RlYXVyb3JhLm9yZz4KPj4+PiBDYzogQW5kcnplaiBI YWpkYSA8YS5oYWpkYUBzYW1zdW5nLmNvbT4KPj4+PiBDYzogTWFyayBZYW8gPG1hcmsueWFvQHJv Y2stY2hpcHMuY29tPgo+Pj4+IENjOiBDYXJsb3MgUGFsbWluaGEgPHBhbG1pbmhhQHN5bm9wc3lz LmNvbT4KPj4+PiAtLS0KPj4+Pgo+Pj4+ICAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5 cy9kdy1oZG1pLmMgfCAxICsKPj4+PiAgIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQo+ Pj4+Cj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHct aGRtaS5jCj4+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYyBp bmRleCBlYWQxMTI0Li4xMGM4ZDhjIDEwMDY0NAo+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9i cmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5jCj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRn ZS9zeW5vcHN5cy9kdy1oZG1pLmMKPj4+PiBAQCAtMjE3MCw2ICsyMTcwLDcgQEAgc3RhdGljIGly cXJldHVybl90IGR3X2hkbWlfaXJxKGludCBpcnEsIHZvaWQKPj4+PiAqZGV2X2lkKQo+Pj4+ICAg CQkubmFtZSA9ICJEV0MgSERNSSAyLjAgVFggUEhZIiwKPj4+PiAgIAkJLmdlbiA9IDIsCj4+Pj4g ICAJCS5oYXNfc3ZzcmV0ID0gdHJ1ZSwKPj4+PiArCQkuY29uZmlndXJlID0gaGRtaV9waHlfY29u ZmlndXJlX2R3Y19oZG1pXzNkX3R4LAo+Pj4+ICAgCX0sIHsKPj4+PiAgIAkJLnR5cGUgPSBEV19I RE1JX1BIWV9WRU5ET1JfUEhZLAo+Pj4+ICAgCQkubmFtZSA9ICJWZW5kb3IgUEhZIiwKPgo+Cj4K CgotLSAK77ytYXJrIFlhbwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753025AbdFVIZd (ORCPT ); Thu, 22 Jun 2017 04:25:33 -0400 Received: from regular1.263xmail.com ([211.150.99.139]:39731 "EHLO regular1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752888AbdFVIZY (ORCPT ); Thu, 22 Jun 2017 04:25:24 -0400 X-263anti-spam: X-MAIL-GRAY: 0 X-MAIL-DELIVERY: 1 X-ABS-CHECKED: 4 X-RL-SENDER: mark.yao@rock-chips.com X-FST-TO: yang.zheng@rock-chips.com X-SENDER-IP: 58.22.7.114 X-LOGIN-NAME: mark.yao@rock-chips.com X-UNIQUE-TAG: X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 Subject: Re: [PATCH] drm: bridge: synopsys/dw-hdmi: Provide default configuration function for HDMI 2.0 PHY To: Jose Abreu , Laurent Pinchart References: <6071fd12-2cda-cd1f-2607-9a498f588040@synopsys.com> <3690108.zYIGBGnVBz@avalon> <1941ce39-1a8e-5e16-bdc2-71d988ee00d6@synopsys.com> Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Kieran Bingham , Laurent Pinchart , Archit Taneja , Andrzej Hajda , Carlos Palminha , =?UTF-8?B?6YOR6Ziz?= From: Mark yao Message-ID: <594B7EE3.9050202@rock-chips.com> Date: Thu, 22 Jun 2017 16:25:07 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <1941ce39-1a8e-5e16-bdc2-71d988ee00d6@synopsys.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Jose Sorry miss your email and Sorry for the late reply I can sure that your patch works on our rk3399 platform. my internal kernel already has similar patch, using hdmi_phy_configure_dwc_hdmi_3d_tx() for hdmi 2.0 phy, good works with many video modes (4k, 1080p, 720p etc.), I'm not familiar with hdmi, but hdmi display actually works for us. And, I had tried the 4.12-rc1 kernel with your patch, display works good. So: Tested-by: Mark Yao On 2017年06月13日 22:11, Jose Abreu wrote: > Hi Laurent, > > > Sorry for the late reply! > > > On 10-06-2017 09:50, Laurent Pinchart wrote: >> Hi Jose, >> >> On Friday 09 Jun 2017 13:53:12 Jose Abreu wrote: >>> On 09-06-2017 12:04, Jose Abreu wrote: >>>> Currently HDMI 2.0 PHYs do not have a default configuration function. >>>> >>>> As these PHYs have the same register layout as the 3D PHYs we can >>>> safely use the default configuration function. >>> I may have been a little to fast arriving at this conclusion. I >>> mean most of the registers match but in the configuration >>> function there are registers that do not match. Did you actually >>> test this configuration function with an HDMI 2.0 phy? And did >>> you test with different video modes? From my experience the phy >>> may be wrongly configured and sometimes work anyway. >>> >>> Do please retest with as many video modes as you can and give me >>> your phy ID (read from controller config reg HDMI_CONFIG2_ID). >> The Renesas R-Car Gen3 HDMI PHY reports an DWC HDMI 2.0 TX PHY ID, but has a >> configuration function (rcar_hdmi_phy_configure() in drivers/gpu/drm/rcar- >> du/rcar_dw_hdmi.c) that doesn't match hdmi_phy_configure_dwc_hdmi_3d_tx(). >> From the information I have been given the layout of the configuration >> registers haven't been changed by Renesas. I know we've briefly discussed this >> in the past, but I'd appreciate if you could have a second look and tell me >> what you think. > Yup, yours seems correct. Though at the time you submitted I > found it odd that only 3 registers needed to be written whilst > for HDMI 2.0 phys I have here 6 registers, but you said it is > working so I though your phy was different ... > > Even so, one thing I would like to know is what was the max > resolution you tested? I see you have clock values up to 297MHz, > so 4k@30Hz? If I send a patch with a general config function for > HDMI 2.0 phys can you test it on your platform? > > Best regards, > Jose Miguel Abreu > >>>> If, for some reason, >>>> >>>> the PHY is custom this change will not make any impact because >>>> in configuration function we prefer the pdata provided configuration >>>> function over the internal one. >>>> >>>> This patch is based on today's drm-misc-next branch. >>>> >>>> Signed-off-by: Jose Abreu >>>> Cc: Kieran Bingham >>>> Cc: Laurent Pinchart >>>> Cc: Archit Taneja >>>> Cc: Andrzej Hajda >>>> Cc: Mark Yao >>>> Cc: Carlos Palminha >>>> --- >>>> >>>> drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 1 + >>>> 1 file changed, 1 insertion(+) >>>> >>>> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c >>>> b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c index ead1124..10c8d8c 100644 >>>> --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c >>>> +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c >>>> @@ -2170,6 +2170,7 @@ static irqreturn_t dw_hdmi_irq(int irq, void >>>> *dev_id) >>>> .name = "DWC HDMI 2.0 TX PHY", >>>> .gen = 2, >>>> .has_svsret = true, >>>> + .configure = hdmi_phy_configure_dwc_hdmi_3d_tx, >>>> }, { >>>> .type = DW_HDMI_PHY_VENDOR_PHY, >>>> .name = "Vendor PHY", > > > -- Mark Yao