From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hai Li Subject: [PATCH] drm/msm/mdp5: Always generate active-high sync signals for DSI Date: Fri, 22 May 2015 10:16:46 -0400 Message-ID: <1432304206-18765-1-git-send-email-hali@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org List-Id: linux-arm-msm@vger.kernel.org RFNJIHZpZGVvIG1vZGUgZW5naW5lIGNhbiBvbmx5IHRha2UgYWN0aXZlLWhpZ2ggc3luYyBzaWdu YWxzLiBUaGlzCmNoYW5nZSBwcmV2ZW50cyBNRFA1IHNlbmRpbmcgYWN0aXZlLWxvdyBzeW5jIHNp Z25hbHMgdG8gRFNJIGluIGFueQpjYXNlLgoKU2lnbmVkLW9mZi1ieTogSGFpIExpIDxoYWxpQGNv ZGVhdXJvcmEub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9lbmNv ZGVyLmMgfCAxMiArKysrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyks IDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRw NS9tZHA1X2VuY29kZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9lbmNv ZGVyLmMKaW5kZXggNTNiYjFmNy4uMmU5OGNlMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L21zbS9tZHAvbWRwNS9tZHA1X2VuY29kZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21k cC9tZHA1L21kcDVfZW5jb2Rlci5jCkBAIC0xNDQsMTAgKzE0NCwxNCBAQCBzdGF0aWMgdm9pZCBt ZHA1X2VuY29kZXJfbW9kZV9zZXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCQkJbW9k ZS0+dHlwZSwgbW9kZS0+ZmxhZ3MpOwogCiAJY3RybF9wb2wgPSAwOwotCWlmIChtb2RlLT5mbGFn cyAmIERSTV9NT0RFX0ZMQUdfTkhTWU5DKQotCQljdHJsX3BvbCB8PSBNRFA1X0lOVEZfUE9MQVJJ VFlfQ1RMX0hTWU5DX0xPVzsKLQlpZiAobW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX05WU1lO QykKLQkJY3RybF9wb2wgfD0gTURQNV9JTlRGX1BPTEFSSVRZX0NUTF9WU1lOQ19MT1c7CisKKwkv KiBEU0kgY29udHJvbGxlciBjYW5ub3QgaGFuZGxlIGFjdGl2ZS1sb3cgc3luYyBzaWduYWxzLiAq LworCWlmIChtZHA1X2VuY29kZXItPmludGYudHlwZSAhPSBJTlRGX0RTSSkgeworCQlpZiAobW9k ZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX05IU1lOQykKKwkJCWN0cmxfcG9sIHw9IE1EUDVfSU5U Rl9QT0xBUklUWV9DVExfSFNZTkNfTE9XOworCQlpZiAobW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9G TEFHX05WU1lOQykKKwkJCWN0cmxfcG9sIHw9IE1EUDVfSU5URl9QT0xBUklUWV9DVExfVlNZTkNf TE9XOworCX0KIAkvKiBwcm9iYWJseSBuZWVkIHRvIGdldCBEQVRBX0VOIHBvbGFyaXR5IGZyb20g cGFuZWwuLiAqLwogCiAJZHR2X2hzeW5jX3NrZXcgPSAwOyAgLyogZ2V0IHRoaXMgZnJvbSBwYW5l bD8gKi8KLS0gClRoZSBRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBpcyBhIG1lbWJl ciBvZiB0aGUgQ29kZSBBdXJvcmEgRm9ydW0sCmhvc3RlZCBieSBUaGUgTGludXggRm91bmRhdGlv bgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRl dmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756899AbbEVORH (ORCPT ); Fri, 22 May 2015 10:17:07 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:38686 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755929AbbEVORE (ORCPT ); Fri, 22 May 2015 10:17:04 -0400 From: Hai Li To: dri-devel@lists.freedesktop.org Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, robdclark@gmail.com, Hai Li Subject: [PATCH] drm/msm/mdp5: Always generate active-high sync signals for DSI Date: Fri, 22 May 2015 10:16:46 -0400 Message-Id: <1432304206-18765-1-git-send-email-hali@codeaurora.org> X-Mailer: git-send-email 1.8.2.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org DSI video mode engine can only take active-high sync signals. This change prevents MDP5 sending active-low sync signals to DSI in any case. Signed-off-by: Hai Li --- drivers/gpu/drm/msm/mdp/mdp5/mdp5_encoder.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_encoder.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_encoder.c index 53bb1f7..2e98ce0 100644 --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_encoder.c +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_encoder.c @@ -144,10 +144,14 @@ static void mdp5_encoder_mode_set(struct drm_encoder *encoder, mode->type, mode->flags); ctrl_pol = 0; - if (mode->flags & DRM_MODE_FLAG_NHSYNC) - ctrl_pol |= MDP5_INTF_POLARITY_CTL_HSYNC_LOW; - if (mode->flags & DRM_MODE_FLAG_NVSYNC) - ctrl_pol |= MDP5_INTF_POLARITY_CTL_VSYNC_LOW; + + /* DSI controller cannot handle active-low sync signals. */ + if (mdp5_encoder->intf.type != INTF_DSI) { + if (mode->flags & DRM_MODE_FLAG_NHSYNC) + ctrl_pol |= MDP5_INTF_POLARITY_CTL_HSYNC_LOW; + if (mode->flags & DRM_MODE_FLAG_NVSYNC) + ctrl_pol |= MDP5_INTF_POLARITY_CTL_VSYNC_LOW; + } /* probably need to get DATA_EN polarity from panel.. */ dtv_hsync_skew = 0; /* get this from panel? */ -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation