All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yakir Yang <ykk@rock-chips.com>
To: Heiko Stuebner <heiko@sntech.de>, Philipp Zabel <p.zabel@pengutronix.de>
Cc: kernel@pengutronix.de, dri-devel@lists.freedesktop.org,
	Russell King <rmk+kernel@arm.linux.org.uk>,
	Grant Likely <grant.likely@linaro.org>,
	Andy Yan <andy.yan@rock-chips.com>
Subject: Re: [PATCH v3 3/3] drm/rockchip: remove rockchip_drm_encoder_get_mux_id
Date: Fri, 28 Aug 2015 11:18:43 +0800	[thread overview]
Message-ID: <55DFD313.7090704@rock-chips.com> (raw)
In-Reply-To: <55DFB6C1.6020406@rock-chips.com>

Hi Philipp & Heiko,

在 2015/8/28 9:17, Yakir Yang 写道:
> Hi Philipp,
>
> 在 2015/8/27 19:26, Heiko Stuebner 写道:
>> Hi Philipp,
>>
>> Am Donnerstag, 27. August 2015, 12:56:07 schrieb Philipp Zabel:
>>> It is replaced by drm_of_encoder_active_endpoint_id.
>>>
>>> Suggested-by: Daniel Kurtz <djkurtz@chromium.org>
>>> Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
>>> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
>> the person working the most on the rockchip dw_hdmi currently is 
>> probably
>> Yakir Yang (included now).
>>
>> But even to me with my general Rockchip work area outside the drm 
>> this looks
>> good, as there isn't any functional change present in the moved 
>> function, so
>>
>> Reviewed-by: Heiko Stuebner <heiko@sntech.de>
>
> I cherry-pick 1/3 and 3/3 to my chromeos-3.14 tree, both HDMI and eDP 
> works perfectly, so
>
> Test-by: Yakir Yang <ykk@rock-chips.com>
>

Actually, I do feel some strange limit with this change.

If we take the endpoint id as the vop id, then we must ensure the
remote point order in dtsi file.
                                 hdmi_in_vopb: endpoint@0 {
                                         reg = <0>;
                                         remote-endpoint = <&vopb_out_hdmi>;
                                 };
                                 hdmi_in_vopl: endpoint@1 {
                                         reg = <1>;
                                         remote-endpoint = <&vopl_out_hdmi>;
                                 };

This is strange limite, don't you think?

- Yakir

> Thanks,
> - Yakir
>
>>
>> Heiko
>>
>>> ---
>>>   drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c |  2 +-
>>>   drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 30
>>> ----------------------------- 
>>> drivers/gpu/drm/rockchip/rockchip_drm_drv.h |
>>>   2 --
>>>   3 files changed, 1 insertion(+), 33 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
>>> b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c index 80d6fc8..042eb95 
>>> 100644
>>> --- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
>>> +++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
>>> @@ -201,7 +201,7 @@ static void dw_hdmi_rockchip_encoder_commit(struct
>>> drm_encoder *encoder) u32 val;
>>>       int mux;
>>>
>>> -    mux = rockchip_drm_encoder_get_mux_id(hdmi->dev->of_node, 
>>> encoder);
>>> +    mux = drm_of_encoder_active_endpoint_id(hdmi->dev->of_node, 
>>> encoder);
>>>       if (mux)
>>>           val = HDMI_SEL_VOP_LIT | (HDMI_SEL_VOP_LIT << 16);
>>>       else
>>> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
>>> b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c index 9a0c291..12094d0 
>>> 100644
>>> --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
>>> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
>>> @@ -379,36 +379,6 @@ static const struct dev_pm_ops 
>>> rockchip_drm_pm_ops = {
>>>                   rockchip_drm_sys_resume)
>>>   };
>>>
>>> -/*
>>> - * @node: device tree node containing encoder input ports
>>> - * @encoder: drm_encoder
>>> - */
>>> -int rockchip_drm_encoder_get_mux_id(struct device_node *node,
>>> -                    struct drm_encoder *encoder)
>>> -{
>>> -    struct device_node *ep;
>>> -    struct drm_crtc *crtc = encoder->crtc;
>>> -    struct of_endpoint endpoint;
>>> -    struct device_node *port;
>>> -    int ret;
>>> -
>>> -    if (!node || !crtc)
>>> -        return -EINVAL;
>>> -
>>> -    for_each_endpoint_of_node(node, ep) {
>>> -        port = of_graph_get_remote_port(ep);
>>> -        of_node_put(port);
>>> -        if (port == crtc->port) {
>>> -            ret = of_graph_parse_endpoint(ep, &endpoint);
>>> -            of_node_put(ep);
>>> -            return ret ?: endpoint.id;
>>> -        }
>>> -    }
>>> -
>>> -    return -EINVAL;
>>> -}
>>> -EXPORT_SYMBOL_GPL(rockchip_drm_encoder_get_mux_id);
>>> -
>>>   static int compare_of(struct device *dev, void *data)
>>>   {
>>>       struct device_node *np = data;
>>> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.h
>>> b/drivers/gpu/drm/rockchip/rockchip_drm_drv.h index dc4e5f0..20d6ac1 
>>> 100644
>>> --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.h
>>> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.h
>>> @@ -56,8 +56,6 @@ int rockchip_register_crtc_funcs(struct drm_device 
>>> *dev,
>>>                    const struct rockchip_crtc_funcs *crtc_funcs,
>>>                    int pipe);
>>>   void rockchip_unregister_crtc_funcs(struct drm_device *dev, int 
>>> pipe);
>>> -int rockchip_drm_encoder_get_mux_id(struct device_node *node,
>>> -                    struct drm_encoder *encoder);
>>>   int rockchip_drm_crtc_mode_config(struct drm_crtc *crtc, int
>>> connector_type, int out_mode);
>>>   int rockchip_drm_dma_attach_device(struct drm_device *drm_dev,
>>
>>
>>
>


_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2015-08-28  3:18 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-27 10:56 [PATCH v3 0/3] drm_of_encoder_active_endpoint helpers Philipp Zabel
2015-08-27 10:56 ` [PATCH v3 1/3] drm: add " Philipp Zabel
2015-08-27 14:22   ` Daniel Vetter
2015-08-28 13:31     ` Philipp Zabel
2015-08-27 10:56 ` [PATCH v3 2/3] drm/imx: remove imx_drm_encoder_get_mux_id Philipp Zabel
2015-08-27 10:56 ` [PATCH v3 3/3] drm/rockchip: remove rockchip_drm_encoder_get_mux_id Philipp Zabel
2015-08-27 11:26   ` Heiko Stuebner
2015-08-28  1:17     ` Yakir Yang
2015-08-28  3:18       ` Yakir Yang [this message]
2015-08-28 13:27         ` Philipp Zabel
2015-08-28  1:56   ` Mark yao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55DFD313.7090704@rock-chips.com \
    --to=ykk@rock-chips.com \
    --cc=andy.yan@rock-chips.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=grant.likely@linaro.org \
    --cc=heiko@sntech.de \
    --cc=kernel@pengutronix.de \
    --cc=p.zabel@pengutronix.de \
    --cc=rmk+kernel@arm.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.