From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751969AbcEYFz3 (ORCPT ); Wed, 25 May 2016 01:55:29 -0400 Received: from lucky1.263xmail.com ([211.157.147.132]:54641 "EHLO lucky1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932126AbcEYFz1 (ORCPT ); Wed, 25 May 2016 01:55:27 -0400 X-263anti-spam: KSV:0; X-MAIL-GRAY: 1 X-MAIL-DELIVERY: 0 X-KSVirus-check: 0 X-ABS-CHECKED: 4 X-ADDR-CHECKED: 0 X-RL-SENDER: ykk@rock-chips.com X-FST-TO: linux-rockchip@lists.infradead.org X-SENDER-IP: 103.29.142.67 X-LOGIN-NAME: ykk@rock-chips.com X-UNIQUE-TAG: <4b5ab8a331b8f2c1284b7fdc44879c14> X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 Subject: Re: [PATCH v2 05/10] drm/rockchip: analogix_dp: add rk3399 eDP support To: Heiko Stuebner References: <1464066147-22734-1-git-send-email-ykk@rock-chips.com> <1464073043-4931-1-git-send-email-ykk@rock-chips.com> <6183955.XzKjc41sjW@phil> Cc: David Airlie , Inki Dae , Mark Yao , Thierry Reding , Jingoo Han , Rob Herring , Krzysztof Kozlowski , Douglas Anderson , Daniel Vetter , Javier Martinez Canillas , emil.l.velikov@gmail.com, Dan Carpenter , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-samsung-soc@vger.kernel.org, linux-rockchip@lists.infradead.org From: Yakir Yang Message-ID: <57453E3F.8030600@rock-chips.com> Date: Wed, 25 May 2016 13:55:11 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <6183955.XzKjc41sjW@phil> 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 On 05/24/2016 06:17 PM, Heiko Stuebner wrote: > Am Dienstag, 24. Mai 2016, 14:57:23 schrieb Yakir Yang: > [........] >> diff --git a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c >> b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c index 29c4105..d5d4e04 >> 100644 >> --- a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c >> +++ b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c >> @@ -148,6 +148,10 @@ rockchip_dp_drm_encoder_atomic_check(struct >> drm_encoder *encoder, struct drm_connector_state *conn_state) >> { >> struct rockchip_crtc_state *s = to_rockchip_crtc_state(crtc_state); >> + struct rockchip_dp_device *dp = to_dp(encoder); >> + int ret; >> + >> + s->output_type = DRM_MODE_CONNECTOR_eDP; >> >> /* >> * FIXME(Yakir): driver should configure the CRTC output video >> @@ -162,8 +166,27 @@ rockchip_dp_drm_encoder_atomic_check(struct >> drm_encoder *encoder, * But if I configure CTRC to RGBaaa, and eDP driver >> still keep * RGB666 input video mode, then screen would works prefect. >> */ >> - s->output_mode = ROCKCHIP_OUT_MODE_AAAA; >> - s->output_type = DRM_MODE_CONNECTOR_eDP; >> + >> + ret = drm_of_encoder_active_endpoint_id(dp->dev->of_node, encoder); >> + if (ret < 0) >> + return; > this needs a value returned (probably ret), otherwise you create a > warning: ‘return’ with no value, in function returning non-void Done, Thanks, - Yakir > > drm_of_encoder_active_endpoint_id also always returns -EINVAL on rk3288- > veyron-jerry because encoder->crtc is unset in > drm_of_encoder_active_endpoint and that breaks display output right now. > > Looking through drm code it seems only two functions would set encoder->crtc > - drm_atomic_helper_update_legacy_modeset_state > - drm_crtc_helper_set_config > > drm_crtc_helper_set_config callback got dropped in the atomic-conversion and > the other sounds to be somewhat in the legacy area. > > After that drm-internals get a bit confusing. > > > Heiko > > >