Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752104AbdHHHFw (ORCPT ); Tue, 8 Aug 2017 03:05:52 -0400 Received: from regular1.263xmail.com ([211.150.99.134]:46039 "EHLO regular1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751880AbdHHHFu (ORCPT ); Tue, 8 Aug 2017 03:05:50 -0400 X-263anti-spam: KSV:0;BIG:0; X-MAIL-GRAY: 0 X-MAIL-DELIVERY: 1 X-KSVirus-check: 0 X-ADDR-CHECKED4: 1 X-ABS-CHECKED: 1 X-SKE-CHECKED: 1 X-ANTISPAM-LEVEL: 2 X-RL-SENDER: mark.yao@rock-chips.com X-FST-TO: heiko@sntech.de 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 v2] drm: bridge: synopsys/dw-hdmi: Provide default configuration function for HDMI 2.0 PHY To: Jose Abreu , Archit Taneja References: <185ccf7d4473fa557044732402ca20b3d4007952.1498209896.git.joabreu@synopsys.com> <6309c097-6337-f768-4d9d-08e228d013e1@synopsys.com> Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Kieran Bingham , Laurent Pinchart , Andrzej Hajda , Carlos Palminha , =?UTF-8?Q?Heiko_St=c3=bcbner?= From: Mark yao Message-ID: <598962C5.2080607@rock-chips.com> Date: Tue, 8 Aug 2017 15:05:41 +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: <6309c097-6337-f768-4d9d-08e228d013e1@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 Content-Length: 3730 Lines: 95 On 2017年07月07日 23:47, Jose Abreu wrote: > Hi Archit, > Ping, Any update for this patch? Can it be landed? This patch actually needed for rk3399 hdmi support Best Regards Mark > On 23-06-2017 10:36, Jose Abreu wrote: >> Currently HDMI 2.0 PHYs do not have a default configuration function. >> >> As *some* of the HDMI 2.0 PHYs have the same register layout as the 3D >> PHYs we can provide the same default configuration function for both >> and still let user overwrite this with custom configuration function >> if needed. >> >> If, for some reason, the PHY is custom or has a register different >> register layout then custom configuration function *must* be provided >> in order for the system to work correctly. As we prefer the pdata >> provided configuration function over the internal one this change >> will not make any impact in custom platforms. >> >> This patch is based on today's drm-misc-next branch. >> >> Signed-off-by: Jose Abreu >> Tested-by: Mark Yao > This is needed for RK3399 support. Can you please apply it? > > Best regards, > Jose Miguel Abreu > >> Cc: Kieran Bingham >> Cc: Laurent Pinchart >> Cc: Archit Taneja >> Cc: Andrzej Hajda >> Cc: Mark Yao >> Cc: Carlos Palminha >> Cc: Heiko Stübner >> >> Changes in v2: >> - Rebased and refrased commit message >> --- >> >> Hi All, >> >> There as been a little confusion about dw-hdmi phys so I will expand a little bit >> here so that I can base my decision about this patch and why does it only works >> in some platforms. >> >> First, if you read dw-hdmi.c code, you will see that there is an identification >> register for the phy type being used. Unfortunatelly, this only states the phy type >> and not the phy version. >> >> Second, we have many HDMI 2.0 phys (so, same phy type: 0xf3) but, as you may have guessed, >> HW team decided to change regbank between some versions. >> >> Third and last, each phy in a SoC has unique characteristics, so each phy (event if >> they are the same version) will have different PLL configuration parameters. >> >> Given all this I managed to conclude that Mark's phy is still an HDMI 2.0 phy but with >> the same register layout as previous 3D PHY's. I found at least 2 phys with the same >> register layout and only 1 phy which has a different layout, so I think majority wins >> here and we should let the default configuration function for HDMI 2.0 phys be the same >> one as the 3D. >> >> Short story: There is no way to correctly identify, at runtime, the phy version being >> used by the controller so we can't provide a default configuration function. We can, >> however assume that most of the HDMI 2.0 phys will have the 3D layout BUT each developer >> must confirm that the layout in its SoC is the expected one and if not, provide a custom >> configuration function. >> >> Best regards, >> Jose Miguel Abreu >> >> 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", > > >