From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759448AbcG1Det (ORCPT ); Wed, 27 Jul 2016 23:34:49 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:27278 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1758866AbcG1Dem (ORCPT ); Wed, 27 Jul 2016 23:34:42 -0400 Message-ID: <1469676870.29230.3.camel@mtksdaap41> Subject: Re: [PATCH v2 1/3] drm/mediatek: do mtk_hdmi_send_infoframe after HDMI clock enable From: Bibby Hsieh To: Philipp Zabel CC: David Airlie , Matthias Brugger , Daniel Vetter , , , Yingjoe Chen , Cawa Cheng , Daniel Kurtz , YT Shen , Thierry Reding , CK Hu , Mao Huang , , , "Sascha Hauer" , Junzhi Zhao Date: Thu, 28 Jul 2016 11:34:30 +0800 In-Reply-To: <1469611636.2470.24.camel@pengutronix.de> References: <1469608292-6106-1-git-send-email-bibby.hsieh@mediatek.com> <1469608292-6106-2-git-send-email-bibby.hsieh@mediatek.com> <1469611636.2470.24.camel@pengutronix.de> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.3-0ubuntu6 Content-Transfer-Encoding: 7bit MIME-Version: 1.0 X-MTK: N Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Philipp, Thanks for your review. On Wed, 2016-07-27 at 11:27 +0200, Philipp Zabel wrote: > Am Mittwoch, den 27.07.2016, 16:31 +0800 schrieb Bibby Hsieh: > > From: Junzhi Zhao > > > > The mtk_hdmi_send_infoframe have to > > be run after PLL and PIXEL clock of HDMI enable. > > Make sure that HDMI inforframes can be sent > > successfully. > > > > Signed-off-by: Junzhi Zhao > > Signed-off-by: Bibby Hsieh > > --- > > drivers/gpu/drm/mediatek/mtk_hdmi.c | 19 ++++++++++++------- > > 1 file changed, 12 insertions(+), 7 deletions(-) > > > > diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c > > index ba812ef..d8609f5 100644 > > --- a/drivers/gpu/drm/mediatek/mtk_hdmi.c > > +++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c > > @@ -1133,12 +1133,6 @@ static int mtk_hdmi_output_set_display_mode(struct mtk_hdmi *hdmi, > > phy_power_on(hdmi->phy); > > mtk_hdmi_aud_output_config(hdmi, mode); > > > > - mtk_hdmi_setup_audio_infoframe(hdmi); > > - mtk_hdmi_setup_avi_infoframe(hdmi, mode); > > - mtk_hdmi_setup_spd_infoframe(hdmi, "mediatek", "On-chip HDMI"); > > - if (mode->flags & DRM_MODE_FLAG_3D_MASK) > > - mtk_hdmi_setup_vendor_specific_infoframe(hdmi, mode); > > - > > mtk_hdmi_hw_vid_black(hdmi, false); > > mtk_hdmi_hw_aud_unmute(hdmi); > > mtk_hdmi_hw_send_av_unmute(hdmi); > > @@ -1401,14 +1395,25 @@ static void mtk_hdmi_bridge_pre_enable(struct drm_bridge *bridge) > > hdmi->powered = true; > > } > > > > +static void mtk_hdmi_send_infoframe(struct mtk_hdmi *hdmi, > > + struct drm_display_mode *mode) > > +{ > > + mtk_hdmi_setup_audio_infoframe(hdmi); > > + mtk_hdmi_setup_avi_infoframe(hdmi, mode); > > + mtk_hdmi_setup_spd_infoframe(hdmi, "mediatek", "On-chip HDMI"); > > + if (mode->flags & DRM_MODE_FLAG_3D_MASK) > > + mtk_hdmi_setup_vendor_specific_infoframe(hdmi, mode); > > +} > > + > > static void mtk_hdmi_bridge_enable(struct drm_bridge *bridge) > > { > > struct mtk_hdmi *hdmi = hdmi_ctx_from_bridge(bridge); > > > > + phy_power_on(hdmi->phy); > > mtk_hdmi_output_set_display_mode(hdmi, &hdmi->mode); > > clk_prepare_enable(hdmi->clk[MTK_HDMI_CLK_HDMI_PLL]); > > clk_prepare_enable(hdmi->clk[MTK_HDMI_CLK_HDMI_PIXEL]); > > - phy_power_on(hdmi->phy); > > This change is not described in the patch description. Why is the phy > power on moved after the pixel clock enable? > Ok, will rollback it. > > + mtk_hdmi_send_infoframe(hdmi, &hdmi->mode); > > > > hdmi->enabled = true; > > } > > regards > Philipp > -- Bibby From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bibby Hsieh Subject: Re: [PATCH v2 1/3] drm/mediatek: do mtk_hdmi_send_infoframe after HDMI clock enable Date: Thu, 28 Jul 2016 11:34:30 +0800 Message-ID: <1469676870.29230.3.camel@mtksdaap41> References: <1469608292-6106-1-git-send-email-bibby.hsieh@mediatek.com> <1469608292-6106-2-git-send-email-bibby.hsieh@mediatek.com> <1469611636.2470.24.camel@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1469611636.2470.24.camel@pengutronix.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Philipp Zabel Cc: Junzhi Zhao , linux-kernel@vger.kernel.org, Daniel Vetter , Cawa Cheng , dri-devel@lists.freedesktop.org, Mao Huang , linux-mediatek@lists.infradead.org, Sascha Hauer , Matthias Brugger , Yingjoe Chen , linux-arm-kernel@lists.infradead.org List-Id: linux-mediatek@lists.infradead.org SGksIFBoaWxpcHAsCgpUaGFua3MgZm9yIHlvdXIgcmV2aWV3LgoKT24gV2VkLCAyMDE2LTA3LTI3 IGF0IDExOjI3ICswMjAwLCBQaGlsaXBwIFphYmVsIHdyb3RlOgo+IEFtIE1pdHR3b2NoLCBkZW4g MjcuMDcuMjAxNiwgMTY6MzEgKzA4MDAgc2NocmllYiBCaWJieSBIc2llaDoKPiA+IEZyb206IEp1 bnpoaSBaaGFvIDxqdW56aGkuemhhb0BtZWRpYXRlay5jb20+Cj4gPiAKPiA+IFRoZSBtdGtfaGRt aV9zZW5kX2luZm9mcmFtZSBoYXZlIHRvCj4gPiBiZSBydW4gYWZ0ZXIgUExMIGFuZCBQSVhFTCBj bG9jayBvZiBIRE1JIGVuYWJsZS4KPiA+IE1ha2Ugc3VyZSB0aGF0IEhETUkgaW5mb3JmcmFtZXMg Y2FuIGJlIHNlbnQKPiA+IHN1Y2Nlc3NmdWxseS4KPiA+IAo+ID4gU2lnbmVkLW9mZi1ieTogSnVu emhpIFpoYW8gPGp1bnpoaS56aGFvQG1lZGlhdGVrLmNvbT4KPiA+IFNpZ25lZC1vZmYtYnk6IEJp YmJ5IEhzaWVoIDxiaWJieS5oc2llaEBtZWRpYXRlay5jb20+Cj4gPiAtLS0KPiA+ICBkcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYyB8ICAgMTkgKysrKysrKysrKysrLS0tLS0tLQo+ ID4gIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQo+ID4g Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19oZG1pLmMgYi9k cml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYwo+ID4gaW5kZXggYmE4MTJlZi4uZDg2 MDlmNSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfaGRtaS5j Cj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYwo+ID4gQEAgLTEx MzMsMTIgKzExMzMsNiBAQCBzdGF0aWMgaW50IG10a19oZG1pX291dHB1dF9zZXRfZGlzcGxheV9t b2RlKHN0cnVjdCBtdGtfaGRtaSAqaGRtaSwKPiA+ICAJcGh5X3Bvd2VyX29uKGhkbWktPnBoeSk7 Cj4gPiAgCW10a19oZG1pX2F1ZF9vdXRwdXRfY29uZmlnKGhkbWksIG1vZGUpOwo+ID4gIAo+ID4g LQltdGtfaGRtaV9zZXR1cF9hdWRpb19pbmZvZnJhbWUoaGRtaSk7Cj4gPiAtCW10a19oZG1pX3Nl dHVwX2F2aV9pbmZvZnJhbWUoaGRtaSwgbW9kZSk7Cj4gPiAtCW10a19oZG1pX3NldHVwX3NwZF9p bmZvZnJhbWUoaGRtaSwgIm1lZGlhdGVrIiwgIk9uLWNoaXAgSERNSSIpOwo+ID4gLQlpZiAobW9k ZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHXzNEX01BU0spCj4gPiAtCQltdGtfaGRtaV9zZXR1cF92 ZW5kb3Jfc3BlY2lmaWNfaW5mb2ZyYW1lKGhkbWksIG1vZGUpOwo+ID4gLQo+ID4gIAltdGtfaGRt aV9od192aWRfYmxhY2soaGRtaSwgZmFsc2UpOwo+ID4gIAltdGtfaGRtaV9od19hdWRfdW5tdXRl KGhkbWkpOwo+ID4gIAltdGtfaGRtaV9od19zZW5kX2F2X3VubXV0ZShoZG1pKTsKPiA+IEBAIC0x NDAxLDE0ICsxMzk1LDI1IEBAIHN0YXRpYyB2b2lkIG10a19oZG1pX2JyaWRnZV9wcmVfZW5hYmxl KHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpCj4gPiAgCWhkbWktPnBvd2VyZWQgPSB0cnVlOwo+ ID4gIH0KPiA+ICAKPiA+ICtzdGF0aWMgdm9pZCBtdGtfaGRtaV9zZW5kX2luZm9mcmFtZShzdHJ1 Y3QgbXRrX2hkbWkgKmhkbWksCj4gPiArCQkJCSAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq bW9kZSkKPiA+ICt7Cj4gPiArCW10a19oZG1pX3NldHVwX2F1ZGlvX2luZm9mcmFtZShoZG1pKTsK PiA+ICsJbXRrX2hkbWlfc2V0dXBfYXZpX2luZm9mcmFtZShoZG1pLCBtb2RlKTsKPiA+ICsJbXRr X2hkbWlfc2V0dXBfc3BkX2luZm9mcmFtZShoZG1pLCAibWVkaWF0ZWsiLCAiT24tY2hpcCBIRE1J Iik7Cj4gPiArCWlmIChtb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfM0RfTUFTSykKPiA+ICsJ CW10a19oZG1pX3NldHVwX3ZlbmRvcl9zcGVjaWZpY19pbmZvZnJhbWUoaGRtaSwgbW9kZSk7Cj4g PiArfQo+ID4gKwo+ID4gIHN0YXRpYyB2b2lkIG10a19oZG1pX2JyaWRnZV9lbmFibGUoc3RydWN0 IGRybV9icmlkZ2UgKmJyaWRnZSkKPiA+ICB7Cj4gPiAgCXN0cnVjdCBtdGtfaGRtaSAqaGRtaSA9 IGhkbWlfY3R4X2Zyb21fYnJpZGdlKGJyaWRnZSk7Cj4gPiAgCj4gPiArCXBoeV9wb3dlcl9vbiho ZG1pLT5waHkpOwo+ID4gIAltdGtfaGRtaV9vdXRwdXRfc2V0X2Rpc3BsYXlfbW9kZShoZG1pLCAm aGRtaS0+bW9kZSk7Cj4gPiAgCWNsa19wcmVwYXJlX2VuYWJsZShoZG1pLT5jbGtbTVRLX0hETUlf Q0xLX0hETUlfUExMXSk7Cj4gPiAgCWNsa19wcmVwYXJlX2VuYWJsZShoZG1pLT5jbGtbTVRLX0hE TUlfQ0xLX0hETUlfUElYRUxdKTsKPiA+IC0JcGh5X3Bvd2VyX29uKGhkbWktPnBoeSk7Cj4gCj4g VGhpcyBjaGFuZ2UgaXMgbm90IGRlc2NyaWJlZCBpbiB0aGUgcGF0Y2ggZGVzY3JpcHRpb24uIFdo eSBpcyB0aGUgcGh5Cj4gcG93ZXIgb24gbW92ZWQgYWZ0ZXIgdGhlIHBpeGVsIGNsb2NrIGVuYWJs ZT8KPiAKT2ssIHdpbGwgcm9sbGJhY2sgaXQuCj4gPiArCW10a19oZG1pX3NlbmRfaW5mb2ZyYW1l KGhkbWksICZoZG1pLT5tb2RlKTsKPiA+ICAKPiA+ICAJaGRtaS0+ZW5hYmxlZCA9IHRydWU7Cj4g PiAgfQo+IAo+IHJlZ2FyZHMKPiBQaGlsaXBwCj4gCgotLSAKQmliYnkKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: bibby.hsieh@mediatek.com (Bibby Hsieh) Date: Thu, 28 Jul 2016 11:34:30 +0800 Subject: [PATCH v2 1/3] drm/mediatek: do mtk_hdmi_send_infoframe after HDMI clock enable In-Reply-To: <1469611636.2470.24.camel@pengutronix.de> References: <1469608292-6106-1-git-send-email-bibby.hsieh@mediatek.com> <1469608292-6106-2-git-send-email-bibby.hsieh@mediatek.com> <1469611636.2470.24.camel@pengutronix.de> Message-ID: <1469676870.29230.3.camel@mtksdaap41> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi, Philipp, Thanks for your review. On Wed, 2016-07-27 at 11:27 +0200, Philipp Zabel wrote: > Am Mittwoch, den 27.07.2016, 16:31 +0800 schrieb Bibby Hsieh: > > From: Junzhi Zhao > > > > The mtk_hdmi_send_infoframe have to > > be run after PLL and PIXEL clock of HDMI enable. > > Make sure that HDMI inforframes can be sent > > successfully. > > > > Signed-off-by: Junzhi Zhao > > Signed-off-by: Bibby Hsieh > > --- > > drivers/gpu/drm/mediatek/mtk_hdmi.c | 19 ++++++++++++------- > > 1 file changed, 12 insertions(+), 7 deletions(-) > > > > diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c > > index ba812ef..d8609f5 100644 > > --- a/drivers/gpu/drm/mediatek/mtk_hdmi.c > > +++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c > > @@ -1133,12 +1133,6 @@ static int mtk_hdmi_output_set_display_mode(struct mtk_hdmi *hdmi, > > phy_power_on(hdmi->phy); > > mtk_hdmi_aud_output_config(hdmi, mode); > > > > - mtk_hdmi_setup_audio_infoframe(hdmi); > > - mtk_hdmi_setup_avi_infoframe(hdmi, mode); > > - mtk_hdmi_setup_spd_infoframe(hdmi, "mediatek", "On-chip HDMI"); > > - if (mode->flags & DRM_MODE_FLAG_3D_MASK) > > - mtk_hdmi_setup_vendor_specific_infoframe(hdmi, mode); > > - > > mtk_hdmi_hw_vid_black(hdmi, false); > > mtk_hdmi_hw_aud_unmute(hdmi); > > mtk_hdmi_hw_send_av_unmute(hdmi); > > @@ -1401,14 +1395,25 @@ static void mtk_hdmi_bridge_pre_enable(struct drm_bridge *bridge) > > hdmi->powered = true; > > } > > > > +static void mtk_hdmi_send_infoframe(struct mtk_hdmi *hdmi, > > + struct drm_display_mode *mode) > > +{ > > + mtk_hdmi_setup_audio_infoframe(hdmi); > > + mtk_hdmi_setup_avi_infoframe(hdmi, mode); > > + mtk_hdmi_setup_spd_infoframe(hdmi, "mediatek", "On-chip HDMI"); > > + if (mode->flags & DRM_MODE_FLAG_3D_MASK) > > + mtk_hdmi_setup_vendor_specific_infoframe(hdmi, mode); > > +} > > + > > static void mtk_hdmi_bridge_enable(struct drm_bridge *bridge) > > { > > struct mtk_hdmi *hdmi = hdmi_ctx_from_bridge(bridge); > > > > + phy_power_on(hdmi->phy); > > mtk_hdmi_output_set_display_mode(hdmi, &hdmi->mode); > > clk_prepare_enable(hdmi->clk[MTK_HDMI_CLK_HDMI_PLL]); > > clk_prepare_enable(hdmi->clk[MTK_HDMI_CLK_HDMI_PIXEL]); > > - phy_power_on(hdmi->phy); > > This change is not described in the patch description. Why is the phy > power on moved after the pixel clock enable? > Ok, will rollback it. > > + mtk_hdmi_send_infoframe(hdmi, &hdmi->mode); > > > > hdmi->enabled = true; > > } > > regards > Philipp > -- Bibby