Message ID | 1671217893-17496-1-git-send-email-quic_khsieh@quicinc.com |
---|---|
Headers | show |
Series | Add data-lanes and link-frequencies to dp_out endpoint | expand |
On 16/12/2022 21:11, Kuogee Hsieh wrote: > Add capability to parser data-lanes as property of dp_out endpoint. > Also retain the original capability to parser data-lanes as property > of mdss_dp node to handle legacy case. > > Changes in v6: > -- first patch after split parser patch into two > > Changes in v7: > -- check "data-lanes" from endpoint first > > Changes in v14: > -- replace "parser" with "parse" at commit subject > -- add matching brackets at dp_parser_misc() > > Signed-off-by: Kuogee Hsieh <quic_khsieh@quicinc.com> > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > --- > drivers/gpu/drm/msm/dp/dp_parser.c | 25 +++++++++++++++++-------- > 1 file changed, 17 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/msm/dp/dp_parser.c b/drivers/gpu/drm/msm/dp/dp_parser.c > index dd73221..d42987a 100644 > --- a/drivers/gpu/drm/msm/dp/dp_parser.c > +++ b/drivers/gpu/drm/msm/dp/dp_parser.c > @@ -94,16 +94,25 @@ static int dp_parser_ctrl_res(struct dp_parser *parser) > static int dp_parser_misc(struct dp_parser *parser) > { > struct device_node *of_node = parser->pdev->dev.of_node; > - int len; > - > - len = drm_of_get_data_lanes_count(of_node, 1, DP_MAX_NUM_DP_LANES); > - if (len < 0) { > - DRM_WARN("Invalid property \"data-lanes\", default max DP lanes = %d\n", > - DP_MAX_NUM_DP_LANES); > - len = DP_MAX_NUM_DP_LANES; > + int cnt; > + > + /* > + * data-lanes is the property of dp_out endpoint > + */ > + cnt = drm_of_get_data_lanes_count_ep(of_node, 1, 0, 1, DP_MAX_NUM_DP_LANES); > + if (cnt > 0) { > + parser->max_dp_lanes = cnt; > + } else { > + /* > + * legacy code, data-lanes is the property of mdss_dp node > + */ > + cnt = drm_of_get_data_lanes_count(of_node, 1, DP_MAX_NUM_DP_LANES); > + if (cnt > 0) > + parser->max_dp_lanes = cnt; > + else > + parser->max_dp_lanes = DP_MAX_NUM_DP_LANES; /* 4 lanes */ This bugged me for some time. I think the following piece of code is easier to understand and handle: cnt = drm_of_get_data_lanes_count_ep(...); /* legacy, data-lanes property of the mdss_dp node */ if (cnt < 0) cnt = drm_of_get_data_lanes_count(.....); if (cnt > 0) parser->max_dp_lanes = cnt; else parser->max_dp_lanes = DP_MAX_NUM_DP_LANES; > } > > - parser->max_dp_lanes = len; > return 0; > } >
On 16/12/2022 20:11, Kuogee Hsieh wrote: > Move data-lanes property from mdss_dp node to dp_out endpoint. Also > add link-frequencies property into dp_out endpoint as well. The last > frequency specified at link-frequencies will be the max link rate > supported by DP. > > Changes in v5: > -- revert changes at sc7180.dtsi and sc7280.dtsi > -- add &dp_out to sc7180-trogdor.dtsi and sc7280-herobrine.dtsi > > Changes in v6: > -- add data-lanes and link-frequencies to yaml > > Changes in v7: > -- change 160000000 to 1620000000 > -- separate yaml to different patch > > Changes in v8: > -- correct Bjorn mail address to kernel.org > > Changes in v9: > -- use symbol rate (hz) for link-frequencies at dp_out at sc7180_trogdor.dtsi > > Changes in v13: > -- delete an extra space at data-lanes > > Signed-off-by: Kuogee Hsieh <quic_khsieh@quicinc.com> > --- > arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 6 +++++- > arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi | 4 ++++ > 2 files changed, 9 insertions(+), 1 deletion(-) > > diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi > index eae22e6..e2783dd 100644 > --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi > +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi > @@ -814,7 +814,11 @@ hp_i2c: &i2c9 { > status = "okay"; > pinctrl-names = "default"; > pinctrl-0 = <&dp_hot_plug_det>; > - data-lanes = <0 1>; > +}; > + > +&dp_out { > + data-lanes = <0 1>; > + link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000>; Messed order of nodes. > }; > > &pm6150_adc { > diff --git a/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi b/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi > index c11e371..3f363f8 100644 > --- a/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi > +++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi > @@ -442,7 +442,11 @@ ap_i2c_tpm: &i2c14 { > status = "okay"; > pinctrl-names = "default"; > pinctrl-0 = <&dp_hot_plug_det>; > +}; > + > +&dp_out { Same problem here. Best regards, Krzysztof
On 12/22/2022 2:47 AM, Krzysztof Kozlowski wrote: > On 16/12/2022 20:11, Kuogee Hsieh wrote: >> Move data-lanes property from mdss_dp node to dp_out endpoint. Also >> add link-frequencies property into dp_out endpoint as well. The last >> frequency specified at link-frequencies will be the max link rate >> supported by DP. >> >> Changes in v5: >> -- revert changes at sc7180.dtsi and sc7280.dtsi >> -- add &dp_out to sc7180-trogdor.dtsi and sc7280-herobrine.dtsi >> >> Changes in v6: >> -- add data-lanes and link-frequencies to yaml >> >> Changes in v7: >> -- change 160000000 to 1620000000 >> -- separate yaml to different patch >> >> Changes in v8: >> -- correct Bjorn mail address to kernel.org >> >> Changes in v9: >> -- use symbol rate (hz) for link-frequencies at dp_out at sc7180_trogdor.dtsi >> >> Changes in v13: >> -- delete an extra space at data-lanes >> >> Signed-off-by: Kuogee Hsieh <quic_khsieh@quicinc.com> >> --- >> arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 6 +++++- >> arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi | 4 ++++ >> 2 files changed, 9 insertions(+), 1 deletion(-) >> >> diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi >> index eae22e6..e2783dd 100644 >> --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi >> +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi >> @@ -814,7 +814,11 @@ hp_i2c: &i2c9 { >> status = "okay"; >> pinctrl-names = "default"; >> pinctrl-0 = <&dp_hot_plug_det>; >> - data-lanes = <0 1>; >> +}; >> + >> +&dp_out { >> + data-lanes = <0 1>; >> + link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000>; > Messed order of nodes. can you please give me more details and how should i fixed it? Thanks, >> }; >> >> &pm6150_adc { >> diff --git a/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi b/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi >> index c11e371..3f363f8 100644 >> --- a/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi >> +++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi >> @@ -442,7 +442,11 @@ ap_i2c_tpm: &i2c14 { >> status = "okay"; >> pinctrl-names = "default"; >> pinctrl-0 = <&dp_hot_plug_det>; >> +}; >> + >> +&dp_out { > Same problem here. > > > Best regards, > Krzysztof >
On 22/12/2022 17:22, Kuogee Hsieh wrote: > > On 12/22/2022 2:47 AM, Krzysztof Kozlowski wrote: >> On 16/12/2022 20:11, Kuogee Hsieh wrote: >>> Move data-lanes property from mdss_dp node to dp_out endpoint. Also >>> add link-frequencies property into dp_out endpoint as well. The last >>> frequency specified at link-frequencies will be the max link rate >>> supported by DP. >>> >>> Changes in v5: >>> -- revert changes at sc7180.dtsi and sc7280.dtsi >>> -- add &dp_out to sc7180-trogdor.dtsi and sc7280-herobrine.dtsi >>> >>> Changes in v6: >>> -- add data-lanes and link-frequencies to yaml >>> >>> Changes in v7: >>> -- change 160000000 to 1620000000 >>> -- separate yaml to different patch >>> >>> Changes in v8: >>> -- correct Bjorn mail address to kernel.org >>> >>> Changes in v9: >>> -- use symbol rate (hz) for link-frequencies at dp_out at sc7180_trogdor.dtsi >>> >>> Changes in v13: >>> -- delete an extra space at data-lanes >>> >>> Signed-off-by: Kuogee Hsieh <quic_khsieh@quicinc.com> >>> --- >>> arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 6 +++++- >>> arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi | 4 ++++ >>> 2 files changed, 9 insertions(+), 1 deletion(-) >>> >>> diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi >>> index eae22e6..e2783dd 100644 >>> --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi >>> +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi >>> @@ -814,7 +814,11 @@ hp_i2c: &i2c9 { >>> status = "okay"; >>> pinctrl-names = "default"; >>> pinctrl-0 = <&dp_hot_plug_det>; >>> - data-lanes = <0 1>; >>> +}; >>> + >>> +&dp_out { >>> + data-lanes = <0 1>; >>> + link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000>; >> Messed order of nodes. > > can you please give me more details and how should i fixed it? Node overrides/extends are more or less ordered by name. dp should not be around mdp, but for example dsi. Best regards, Krzysztof
On 23/12/2022 09:57, Krzysztof Kozlowski wrote: > On 22/12/2022 17:22, Kuogee Hsieh wrote: >> >> On 12/22/2022 2:47 AM, Krzysztof Kozlowski wrote: >>> On 16/12/2022 20:11, Kuogee Hsieh wrote: >>>> Move data-lanes property from mdss_dp node to dp_out endpoint. Also >>>> add link-frequencies property into dp_out endpoint as well. The last >>>> frequency specified at link-frequencies will be the max link rate >>>> supported by DP. >>>> >>>> Changes in v5: >>>> -- revert changes at sc7180.dtsi and sc7280.dtsi >>>> -- add &dp_out to sc7180-trogdor.dtsi and sc7280-herobrine.dtsi >>>> >>>> Changes in v6: >>>> -- add data-lanes and link-frequencies to yaml >>>> >>>> Changes in v7: >>>> -- change 160000000 to 1620000000 >>>> -- separate yaml to different patch >>>> >>>> Changes in v8: >>>> -- correct Bjorn mail address to kernel.org >>>> >>>> Changes in v9: >>>> -- use symbol rate (hz) for link-frequencies at dp_out at sc7180_trogdor.dtsi >>>> >>>> Changes in v13: >>>> -- delete an extra space at data-lanes >>>> >>>> Signed-off-by: Kuogee Hsieh <quic_khsieh@quicinc.com> >>>> --- >>>> arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 6 +++++- >>>> arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi | 4 ++++ >>>> 2 files changed, 9 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi >>>> index eae22e6..e2783dd 100644 >>>> --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi >>>> +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi >>>> @@ -814,7 +814,11 @@ hp_i2c: &i2c9 { >>>> status = "okay"; >>>> pinctrl-names = "default"; >>>> pinctrl-0 = <&dp_hot_plug_det>; >>>> - data-lanes = <0 1>; >>>> +}; >>>> + >>>> +&dp_out { >>>> + data-lanes = <0 1>; >>>> + link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000>; >>> Messed order of nodes. >> >> can you please give me more details and how should i fixed it? > > Node overrides/extends are more or less ordered by name. dp should not > be around mdp, but for example dsi. I think it would be better to also rename dp_out to mdss_dp_out. To keep all mdss entries nearby.