From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933705AbdADHAF (ORCPT ); Wed, 4 Jan 2017 02:00:05 -0500 Received: from mailout4.samsung.com ([203.254.224.34]:37079 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751763AbdADG7z (ORCPT ); Wed, 4 Jan 2017 01:59:55 -0500 X-AuditID: b6c32a37-f79116d000000e56-54-586c9d342347 From: Hoegeun Kwon To: robh@kernel.org, thierry.reding@gmail.com, airlied@linux.ie, kgene@kernel.org, krzk@kernel.org, inki.dae@samsung.com Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-samsung-soc@vger.kernel.org, a.hajda@samsung.com, cw00.choi@samsung.com, jh80.chung@samsung.com, Hoegeun Kwon Subject: [PATCH v4 1/3] drm/exynos: mic: Add mode_set callback function Date: Wed, 04 Jan 2017 15:58:33 +0900 Message-id: <1483513115-3068-2-git-send-email-hoegeun.kwon@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: <1483513115-3068-1-git-send-email-hoegeun.kwon@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAAzVSfUgTYRzuvdvdzmh2nWUvWmIXQQmu3ZzuKq3EaAcaCCVIH6xDjzm9bbLb KqM/zD+0ZqUVfdj3F2grzGYfZma1PkwpV1YqUloYiUmuSM0PqLad/fc8D8/ze5/fy49AqUEs ijBbHYLdyos0PlNx58kyTbzurJitKeucw/bUtmPswfZWhO0aGcDY808D9N2oH2f91S6cPdJX qWC7J0sxtqJ/CGV9vjol+7bxDM6e9DUj7N+mBiU70XhOsTacu3fqo5LzuPfj3N2xTxjXV96C cIduuQH3yxOTiW8WkvMEPlewxwrWHFuu2WpKodM3GtOMiUkaJp5ZwerpWCtvEVLodRmZ8evN YqAuHbuDF50BKZOXJHr56mS7zekQYvNskiOF3sIwWjWj0au1Wq1al7BtpTYxYNku5JXf9yGF 9dSuzv7naDGomu0CYQQkdbBjfEQp40j4uvcG7gIzCYpsALC7965SJmUIHGspRV2ACCWqTxhk /QyAjx8PAZlMAvi7ugwJjsLJeDh6oCuE55K74fjpDkXQhJK/AKz8ehwJToogDfDNdV3QoyCX wIFLf7AgVgXk/vdTuFwpBrY+PxrSw0gO+v8+xYJzIFmrhMcODiJyo4XQ8wiV/etgbfHDaRwB v7Xcml4tGrr/9CBytjxQtKQGlUklgBPFddOJBNj3qTeEUTIcDo8ewOQHVHBfKSVbONg22KWQ cSosaWpH5O1PA+geqscqwYILYIYbRAqFksUkSExhglriLZLTalLn2CweEDqzOH0DqGvP8AKS APQsVc2lgmwK43dIRRYvgARKz1XdOyVmU6pcvmi3YLcZ7U5RkLwgMfBRh9GoeTm2wNFaHUZG l8TotDqG0Ws1Wnq+6vLeVdkUaeIdQoEgFAr2/zmECIsqBicl99YSj2H9Kn/XbNNPx8XO6y53 TbilL2vjF42z/2XFoheTv1VmfcXZpPTP6c0DfP7S21PzBxd79xi3UWBndGN3m+HVxLXOLH8T Yk4wilEG3ZL8Kx/wKXF8ja8qrYCKGat6FjeyQbxZxVm+06meTXHDYfjID8eDiqsEpHEzrZDy eCYOtUv8P1phs9F8AwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprMIsWRmVeSWpSXmKPExsVy+t9jQV3juTkRBo+mGlvcWneO1aL33Ekm i+tfnrNazD8C5F75+p7N4v3yLjaLSfcnsFjc+NXGatH/+DWzxfnzG9gtLu+aw2Yx4/w+Jov/ e3awW/zcNY/Fgc9j56y77B6bVnWyeWz/9oDV4373cSaPvi2rGD0+b5ILYItys8lITUxJLVJI zUvOT8nMS7dVCg1x07VQUshLzE21VYrQ9Q0JUlIoS8wpBfKMDNCAg3OAe7CSvl2CW0b37vNM BZuFKq49PsbcwDiTv4uRg0NCwERi+XT3LkZOIFNM4sK99WxdjFwcQgKzGCWOL9vIDOH8YpT4 1n+cFaSKTUBX4mvPdSYQW0SgSuLBoaUsIDazwGdGicvLzUCGCgu4S1xcYwISZhFQlXi+6B9Y Ky9Q+PHV32wQy+QkTh6bDBbnFPCQeP//CJgtBFRzacEZxgmMvAsYGVYxSqQWJBcUJ6XnGual lusVJ+YWl+al6yXn525iBEfIM6kdjAd3uR9iFOBgVOLhXWGREyHEmlhWXJl7iFGCg1lJhHfn LKAQb0piZVVqUX58UWlOavEhRlOgwyYyS4km5wOjN68k3tDE3MTc2MDC3NLSxEhJnLdx9rNw IYH0xJLU7NTUgtQimD4mDk6pBsalyev/xdon3mEPuyl152fPrYRJpwt+bN6lWxEe/njfxGU1 MQ0eCjanK5jmudltPL48Se6qb4RZ1MTSlmv5i9Y33/x31H9hXk8oR3LkcQn19sXytdK79OvV jr1YGtW8UXbLT7X1j/d8+jYza+GLx8u2/dt5Q1Dz3q9tL+0evla+4/drjpGY0IbnSizFGYmG WsxFxYkAMEGxqKYCAAA= X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170104065859epcas1p1df9efb3844bd8e4e4d4bb0af0a229ca2 X-Msg-Generator: CA X-Sender-IP: 203.254.230.26 X-Local-Sender: =?UTF-8?B?6raM7ZqM6re8G1RpemVuIFBsYXRmb3JtIExhYihTL1fshLw=?= =?UTF-8?B?7YSwKRvsgrzshLHsoITsnpAbUzMo7IKs7JuQKS/sgqzsm5A=?= X-Global-Sender: =?UTF-8?B?SG9lZ2V1biBLd29uG1RpemVuIFBsYXRmb3JtIExhYi4bU2Ft?= =?UTF-8?B?c3VuZyBFbGVjdHJvbmljcxtTMy9Bc3Npc3RhbnQgRW5naW5lZXI=?= X-Sender-Code: =?UTF-8?B?QzEwG1NUQUYbQzEwVjgxMTE=?= CMS-TYPE: 101P DLP-Filter: Pass X-CFilter-Loop: Reflected X-HopCount: 7 X-CMS-RootMailID: 20170104065859epcas1p1df9efb3844bd8e4e4d4bb0af0a229ca2 X-RootMTR: 20170104065859epcas1p1df9efb3844bd8e4e4d4bb0af0a229ca2 References: <1483513115-3068-1-git-send-email-hoegeun.kwon@samsung.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Before applying the patch, used the of_get_videomode function to parse the display-timings in the panel which is the child driver of dsi in the devicetree. this is wrong. So removed the of_get_videomode and fixed to get videomode struct through mode_set callback function. Signed-off-by: Hoegeun Kwon --- drivers/gpu/drm/exynos/exynos_drm_mic.c | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/drivers/gpu/drm/exynos/exynos_drm_mic.c b/drivers/gpu/drm/exynos/exynos_drm_mic.c index a0def0b..9a50ceb 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_mic.c +++ b/drivers/gpu/drm/exynos/exynos_drm_mic.c @@ -286,13 +286,6 @@ static int parse_dt(struct exynos_mic *mic) } nodes[j++] = remote_node; - ret = of_get_videomode(remote_node, - &mic->vm, 0); - if (ret) { - DRM_ERROR("mic: failed to get videomode"); - goto exit; - } - break; default: DRM_ERROR("mic: Unknown endpoint from MIC"); @@ -329,6 +322,27 @@ static void mic_post_disable(struct drm_bridge *bridge) mutex_unlock(&mic_mutex); } +static void mic_mode_set(struct drm_bridge *bridge, + struct drm_display_mode *mode, + struct drm_display_mode *adjusted_mode) +{ + struct exynos_mic *mic = bridge->driver_private; + + mutex_lock(&mic_mutex); + if (mic->enabled) + goto already_enabled; + + drm_display_mode_to_videomode(mode, &mic->vm); + + if (!mic->i80_mode) + mic_set_porch_timing(mic); + mic_set_img_size(mic); + mic_set_output_timing(mic); + +already_enabled: + mutex_unlock(&mic_mutex); +} + static void mic_pre_enable(struct drm_bridge *bridge) { struct exynos_mic *mic = bridge->driver_private; @@ -355,10 +369,6 @@ static void mic_pre_enable(struct drm_bridge *bridge) goto turn_off_clks; } - if (!mic->i80_mode) - mic_set_porch_timing(mic); - mic_set_img_size(mic); - mic_set_output_timing(mic); mic_set_reg_on(mic, 1); mic->enabled = 1; mutex_unlock(&mic_mutex); @@ -377,6 +387,7 @@ static void mic_enable(struct drm_bridge *bridge) { } static const struct drm_bridge_funcs mic_bridge_funcs = { .disable = mic_disable, .post_disable = mic_post_disable, + .mode_set = mic_mode_set, .pre_enable = mic_pre_enable, .enable = mic_enable, }; -- 1.9.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hoegeun Kwon Subject: [PATCH v4 1/3] drm/exynos: mic: Add mode_set callback function Date: Wed, 04 Jan 2017 15:58:33 +0900 Message-ID: <1483513115-3068-2-git-send-email-hoegeun.kwon@samsung.com> References: <1483513115-3068-1-git-send-email-hoegeun.kwon@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-reply-to: <1483513115-3068-1-git-send-email-hoegeun.kwon@samsung.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: robh@kernel.org, thierry.reding@gmail.com, airlied@linux.ie, kgene@kernel.org, krzk@kernel.org, inki.dae@samsung.com Cc: devicetree@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, jh80.chung@samsung.com, cw00.choi@samsung.com, Hoegeun Kwon List-Id: devicetree@vger.kernel.org QmVmb3JlIGFwcGx5aW5nIHRoZSBwYXRjaCwgdXNlZCB0aGUgb2ZfZ2V0X3ZpZGVvbW9kZSBmdW5j dGlvbiB0bwpwYXJzZSB0aGUgZGlzcGxheS10aW1pbmdzIGluIHRoZSBwYW5lbCB3aGljaCBpcyB0 aGUgY2hpbGQgZHJpdmVyCm9mIGRzaSBpbiB0aGUgZGV2aWNldHJlZS4gdGhpcyBpcyB3cm9uZy4g U28gcmVtb3ZlZCB0aGUKb2ZfZ2V0X3ZpZGVvbW9kZSBhbmQgZml4ZWQgdG8gZ2V0IHZpZGVvbW9k ZSBzdHJ1Y3QgdGhyb3VnaAptb2RlX3NldCBjYWxsYmFjayBmdW5jdGlvbi4KClNpZ25lZC1vZmYt Ynk6IEhvZWdldW4gS3dvbiA8aG9lZ2V1bi5rd29uQHNhbXN1bmcuY29tPgotLS0KIGRyaXZlcnMv Z3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9taWMuYyB8IDMzICsrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDExIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9t aWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9taWMuYwppbmRleCBhMGRl ZjBiLi45YTUwY2ViIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19k cm1fbWljLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX21pYy5jCkBA IC0yODYsMTMgKzI4Niw2IEBAIHN0YXRpYyBpbnQgcGFyc2VfZHQoc3RydWN0IGV4eW5vc19taWMg Km1pYykKIAkJCX0KIAkJCW5vZGVzW2orK10gPSByZW1vdGVfbm9kZTsKIAotCQkJcmV0ID0gb2Zf Z2V0X3ZpZGVvbW9kZShyZW1vdGVfbm9kZSwKLQkJCQkJCQkmbWljLT52bSwgMCk7Ci0JCQlpZiAo cmV0KSB7Ci0JCQkJRFJNX0VSUk9SKCJtaWM6IGZhaWxlZCB0byBnZXQgdmlkZW9tb2RlIik7Ci0J CQkJZ290byBleGl0OwotCQkJfQotCiAJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCURSTV9FUlJP UigibWljOiBVbmtub3duIGVuZHBvaW50IGZyb20gTUlDIik7CkBAIC0zMjksNiArMzIyLDI3IEBA IHN0YXRpYyB2b2lkIG1pY19wb3N0X2Rpc2FibGUoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkK IAltdXRleF91bmxvY2soJm1pY19tdXRleCk7CiB9CiAKK3N0YXRpYyB2b2lkIG1pY19tb2RlX3Nl dChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAorCQkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUg Km1vZGUsCisJCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSkKK3sKKwlz dHJ1Y3QgZXh5bm9zX21pYyAqbWljID0gYnJpZGdlLT5kcml2ZXJfcHJpdmF0ZTsKKworCW11dGV4 X2xvY2soJm1pY19tdXRleCk7CisJaWYgKG1pYy0+ZW5hYmxlZCkKKwkJZ290byBhbHJlYWR5X2Vu YWJsZWQ7CisKKwlkcm1fZGlzcGxheV9tb2RlX3RvX3ZpZGVvbW9kZShtb2RlLCAmbWljLT52bSk7 CisKKwlpZiAoIW1pYy0+aTgwX21vZGUpCisJCW1pY19zZXRfcG9yY2hfdGltaW5nKG1pYyk7CisJ bWljX3NldF9pbWdfc2l6ZShtaWMpOworCW1pY19zZXRfb3V0cHV0X3RpbWluZyhtaWMpOworCith bHJlYWR5X2VuYWJsZWQ6CisJbXV0ZXhfdW5sb2NrKCZtaWNfbXV0ZXgpOworfQorCiBzdGF0aWMg dm9pZCBtaWNfcHJlX2VuYWJsZShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQogewogCXN0cnVj dCBleHlub3NfbWljICptaWMgPSBicmlkZ2UtPmRyaXZlcl9wcml2YXRlOwpAQCAtMzU1LDEwICsz NjksNiBAQCBzdGF0aWMgdm9pZCBtaWNfcHJlX2VuYWJsZShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJp ZGdlKQogCQlnb3RvIHR1cm5fb2ZmX2Nsa3M7CiAJfQogCi0JaWYgKCFtaWMtPmk4MF9tb2RlKQot CQltaWNfc2V0X3BvcmNoX3RpbWluZyhtaWMpOwotCW1pY19zZXRfaW1nX3NpemUobWljKTsKLQlt aWNfc2V0X291dHB1dF90aW1pbmcobWljKTsKIAltaWNfc2V0X3JlZ19vbihtaWMsIDEpOwogCW1p Yy0+ZW5hYmxlZCA9IDE7CiAJbXV0ZXhfdW5sb2NrKCZtaWNfbXV0ZXgpOwpAQCAtMzc3LDYgKzM4 Nyw3IEBAIHN0YXRpYyB2b2lkIG1pY19lbmFibGUoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkg eyB9CiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9icmlkZ2VfZnVuY3MgbWljX2JyaWRnZV9mdW5j cyA9IHsKIAkuZGlzYWJsZSA9IG1pY19kaXNhYmxlLAogCS5wb3N0X2Rpc2FibGUgPSBtaWNfcG9z dF9kaXNhYmxlLAorCS5tb2RlX3NldCA9IG1pY19tb2RlX3NldCwKIAkucHJlX2VuYWJsZSA9IG1p Y19wcmVfZW5hYmxlLAogCS5lbmFibGUgPSBtaWNfZW5hYmxlLAogfTsKLS0gCjEuOS4xCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFp bGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK