Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
From: Kuogee Hsieh <quic_khsieh@quicinc.com>
To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>,
	Stephen Boyd <swboyd@chromium.org>
Cc: Abhinav Kumar <quic_abhinavk@quicinc.com>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Rob Clark <robdclark@gmail.com>, Sean Paul <sean@poorly.run>,
	David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
	<linux-arm-msm@vger.kernel.org>,
	<dri-devel@lists.freedesktop.org>,
	<freedreno@lists.freedesktop.org>
Subject: Re: [RFC PATCH v2 4/5] drm/msm/dp: replace dp_connector with drm_bridge_connector
Date: Wed, 23 Feb 2022 10:27:26 -0800	[thread overview]
Message-ID: <a803c7a9-de4c-8fe5-d80d-56366df78611@quicinc.com> (raw)
In-Reply-To: <493749c1-6305-1a94-4e05-519c825e9d4d@linaro.org>


On 2/23/2022 10:22 AM, Dmitry Baryshkov wrote:
> On 23/02/2022 20:21, Kuogee Hsieh wrote:
>>
>> On 2/18/2022 6:22 PM, Dmitry Baryshkov wrote:
>>> On Sat, 19 Feb 2022 at 03:55, Stephen Boyd <swboyd@chromium.org> wrote:
>>>> Quoting Dmitry Baryshkov (2022-02-18 14:32:53)
>>>>> On 19/02/2022 00:31, Kuogee Hsieh wrote:
>>>>>> On 2/11/2022 2:40 PM, Dmitry Baryshkov wrote:
>>>>>>> There is little point in having both connector and root bridge
>>>>>>> implementation in the same driver. Move connector's 
>>>>>>> functionality to the
>>>>>>> bridge to let next bridge in chain to override it.
>>>>>>>
>>>>>>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>>>>>> This patch break primary (edp) display
>>>>>>
>>>>>> -- right half of screen garbled
>>>>>>
>>>>>> -- screen shift vertically
>>>>>>
>>>>>> below are error messages seen --
>>>>>>
>>>>>> [   36.679216] panel-edp soc@0:edp_panel: No display modes
>>>>>> [   36.687272] panel-edp soc@0:edp_panel: No display modes
>>>>>> [   40.593709] panel-edp soc@0:edp_panel: No display modes
>>>>>> [   40.600285] panel-edp soc@0:edp_panel: No display modes
>>>>> So, before the patch the drm core was getting modes from the
>>>>> drm_connector (which means, modes from drm driver itself). With this
>>>>> patch the panel-edp tries to get modes.
>>>>>
>>>>> Could you please check, why panel_edp_get_modes() fails? Assuming 
>>>>> that
>>>>> you use platform panel-edp binding (rather than 'edp-panel') could 
>>>>> you
>>>>> please check you have either of the following:
>>>>> - ddc bus for EDID?
>>>> I don't see anywhere where the ddc pointer is set for the dp bridge in
>>>> msm_dp_bridge_init(). Is that required though? I'd think simple 
>>>> panel is
>>>> still being used here so reading EDID isn't required.
>>> I meant the 'ddc-i2c-bus' property for the corresponding eDP panel.
>>>
>>>>> - either num_timing or num_modes in your panel desc.
>>> After reading the panel-edp's code I don't have another cause for
>>> panel_edp_get_modes(). It should either have a DDC bus specified using
>>> the mentioned device tree property, or it should have specified the
>>> timings.
>>>
>>> Kuogee, which platform were you using when testing this patch? Could
>>> you please share the dts fragment?
>>
>> I cherry-picked your patches on top of our internal release which is 
>> usually have some (or many) patches behind msm-next.
>>
>> where is "ddc-i2c-bus" located?
>
> In the panel device node.
>
> Can you please share it too?


&soc {
         edp_power_supply: edp_power {
                 compatible = "regulator-fixed";
                 regulator-name = "edp_backlight_power";

                 regulator-always-on;
                 regulator-boot-on;
         };

         edp_backlight: edp_backlight {
                 compatible = "pwm-backlight";

                 pwms = <&pm8350c_pwm 3 65535>;
                 power-supply = <&edp_power_supply>;
                 enable-gpio = <&pm8350c_gpios 7 GPIO_ACTIVE_HIGH>;

                 pinctrl-names = "default";
                 pinctrl-0 = <&backlight_pwm_default>;
         };

         edp_panel: edp_panel {
                 compatible = "sharp_lq140m1jw46";

                 pinctrl-names = "default";
                 pinctrl-0 = <&edp_hot_plug_det>, 
<&edp_panel_power_default>;

                 power-supply = <&edp_power_supply>;
                 backlight = <&edp_backlight>;

                 ports {
                         #address-cells = <1>;
                         #size-cells = <0>;
                         port@0 {
                                 reg = <0>;
                                 edp_panel_in: endpoint {
                                         remote-endpoint = <&edp_out>;
                                 };
                         };
                 };
         };
};


>
>>
>>                          msm_edp: edp@aea0000 {
>>                                  compatible = "qcom,sc7280-edp";
>>
>>                                  reg = <0 0xaea0000 0 0x200>,
>>                                        <0 0xaea0200 0 0x200>,
>>                                        <0 0xaea0400 0 0xc00>,
>>                                        <0 0xaea1000 0 0x400>;
>>
>>                                  interrupt-parent = <&mdss>;
>>                                  interrupts = <14>;
>>
>>                                  clocks = <&rpmhcc RPMH_CXO_CLK>,
>>                                           <&gcc GCC_EDP_CLKREF_EN>,
>>                                           <&dispcc 
>> DISP_CC_MDSS_AHB_CLK>,
>>                                           <&dispcc 
>> DISP_CC_MDSS_EDP_AUX_CLK>,
>>                                           <&dispcc 
>> DISP_CC_MDSS_EDP_LINK_CLK>,
>>                                           <&dispcc 
>> DISP_CC_MDSS_EDP_LINK_INTF_CLK>,
>>                                           <&dispcc 
>> DISP_CC_MDSS_EDP_PIXEL_CLK>;
>>                                  clock-names = "core_xo",
>>                                                "core_ref",
>>                                                "core_iface",
>>                                                "core_aux",
>>                                                "ctrl_link",
>> "ctrl_link_iface",
>>                                                "stream_pixel";
>>                                  #clock-cells = <1>;
>>                                  assigned-clocks = <&dispcc 
>> DISP_CC_MDSS_EDP_LINK_CLK_SRC>,
>> <&dispcc DISP_CC_MDSS_EDP_PIXEL_CLK_SRC>;
>>                                  assigned-clock-parents = <&edp_phy 
>> 0>, <&edp_phy 1>;
>>
>>                                  phys = <&edp_phy>;
>>                                  phy-names = "dp";
>>
>>                                  operating-points-v2 = <&edp_opp_table>;
>>                                  power-domains = <&rpmhpd SC7280_CX>;
>>
>>                                  #address-cells = <1>;
>>                                  #size-cells = <0>;
>>
>>                                  status = "disabled";
>>
>>                                  ports {
>>                                          #address-cells = <1>;
>>                                          #size-cells = <0>;
>>                                          port@0 {
>>                                                  reg = <0>;
>>                                                  edp_in: endpoint {
>> remote-endpoint = <&dpu_intf5_out>;
>>                                                  };
>>                                          };
>>                                  };
>>
>>                              edp_opp_table: opp-table {
>>                                          compatible = 
>> "operating-points-v2";
>>
>>                                          opp-160000000 {
>>                                                  opp-hz = /bits/ 64 
>> <160000000>;
>>                                                  required-opps = 
>> <&rpmhpd_opp_low_svs>;
>>                                          };
>>
>>                                          opp-270000000 {
>>                                                  opp-hz = /bits/ 64 
>> <270000000>;
>>                                                  required-opps = 
>> <&rpmhpd_opp_svs>;
>>                                          };
>>
>>                                          opp-540000000 {
>>                                                  opp-hz = /bits/ 64 
>> <540000000>;
>>                                                  required-opps = 
>> <&rpmhpd_opp_nom>;
>>                                          };
>>
>>                                          opp-810000000 {
>>                                                  opp-hz = /bits/ 64 
>> <810000000>;
>>                                                  required-opps = 
>> <&rpmhpd_opp_nom>;
>>                                          };
>>                                  };
>>                          };
>>
>
>

  reply	other threads:[~2022-02-23 18:27 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-11 22:40 [RFC PATCH v2 0/5] Simplify and correct msm/dp bridge implementation Dmitry Baryshkov
2022-02-11 22:40 ` [RFC PATCH v2 1/5] drm/msm/dp: fix panel bridge attachment Dmitry Baryshkov
2022-02-18 21:14   ` Kuogee Hsieh
2022-02-18 23:56   ` Stephen Boyd
2022-02-19  2:26     ` Dmitry Baryshkov
2022-02-24 18:25       ` [Freedreno] " Abhinav Kumar
2022-02-24 20:41         ` Dmitry Baryshkov
2022-02-25  2:01           ` Abhinav Kumar
2022-02-25  4:22             ` Dmitry Baryshkov
2022-02-25  4:45               ` Abhinav Kumar
2022-02-25  9:04                 ` Dmitry Baryshkov
2022-02-25 17:11                   ` Abhinav Kumar
2022-02-25 17:25                     ` Dmitry Baryshkov
2022-02-11 22:40 ` [RFC PATCH v2 2/5] drm/msm/dp: support attaching bridges to the DP encoder Dmitry Baryshkov
2022-02-18 21:28   ` Kuogee Hsieh
2022-02-18 21:31     ` Dmitry Baryshkov
2022-02-18 23:38   ` Stephen Boyd
2022-02-23 17:47   ` Kuogee Hsieh
2022-02-24 19:56   ` Abhinav Kumar
2022-02-11 22:40 ` [RFC PATCH v2 3/5] drm/msm/dp: support finding next bridge even for DP interfaces Dmitry Baryshkov
2022-02-18 21:29   ` Kuogee Hsieh
2022-02-19  0:34   ` Stephen Boyd
2022-02-24 20:13   ` Abhinav Kumar
2022-02-24 20:49     ` Dmitry Baryshkov
2022-02-24 21:09       ` Abhinav Kumar
2022-02-11 22:40 ` [RFC PATCH v2 4/5] drm/msm/dp: replace dp_connector with drm_bridge_connector Dmitry Baryshkov
2022-02-18 21:31   ` Kuogee Hsieh
2022-02-18 21:52     ` Dmitry Baryshkov
2022-02-18 22:32     ` Dmitry Baryshkov
2022-02-19  0:55       ` Stephen Boyd
2022-02-19  2:22         ` Dmitry Baryshkov
2022-02-23 17:21           ` Kuogee Hsieh
2022-02-23 18:22             ` Dmitry Baryshkov
2022-02-23 18:27               ` Kuogee Hsieh [this message]
2022-02-23 18:45                 ` Dmitry Baryshkov
2022-02-23 21:33                 ` Stephen Boyd
2022-02-24  0:40                   ` Kuogee Hsieh
     [not found]                     ` <64a5ae1a-df65-b0a5-5d0d-cfb1d4da3bf7@quicinc.com>
2022-03-16 16:45                       ` Sankeerth Billakanti (QUIC)
2022-04-14 20:17                         ` Abhinav Kumar
2022-02-11 22:40 ` [RFC PATCH v2 5/5] drm/msm/dp: remove extra wrappers and public functions Dmitry Baryshkov
     [not found]   ` <26549f55-6195-a7ec-5896-de5f986ad716@quicinc.com>
2022-03-16 16:31     ` Sankeerth Billakanti (QUIC)
2022-04-14 20:17       ` Abhinav Kumar

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=a803c7a9-de4c-8fe5-d80d-56366df78611@quicinc.com \
    --to=quic_khsieh@quicinc.com \
    --cc=airlied@linux.ie \
    --cc=bjorn.andersson@linaro.org \
    --cc=daniel@ffwll.ch \
    --cc=dmitry.baryshkov@linaro.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=freedreno@lists.freedesktop.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=quic_abhinavk@quicinc.com \
    --cc=robdclark@gmail.com \
    --cc=sean@poorly.run \
    --cc=swboyd@chromium.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox