[PATCH 1/3] drm/msm/dp: Reorganize code to avoid forward declaration
Kuogee Hsieh
quic_khsieh at quicinc.com
Mon Jun 20 15:23:39 UTC 2022
On 6/17/2022 3:50 PM, Dmitry Baryshkov wrote:
> On 17/06/2022 23:47, Stephen Boyd wrote:
>> Let's move these functions around to avoid having to forward declare
>> dp_ctrl_on_stream_phy_test_report(). Also remove
>> dp_ctrl_reinitialize_mainlink() forward declaration because we're doing
>> that sort of task.
>>
>> Cc: Kuogee Hsieh <quic_khsieh at quicinc.com>
>> Signed-off-by: Stephen Boyd <swboyd at chromium.org>
>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
Reviewed-by: Kuogee Hsieh <quic_khsieh at quicinc.com>
>
>> ---
>> drivers/gpu/drm/msm/dp/dp_ctrl.c | 104 +++++++++++++++----------------
>> 1 file changed, 50 insertions(+), 54 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/msm/dp/dp_ctrl.c
>> b/drivers/gpu/drm/msm/dp/dp_ctrl.c
>> index 703249384e7c..bd445e683cfc 100644
>> --- a/drivers/gpu/drm/msm/dp/dp_ctrl.c
>> +++ b/drivers/gpu/drm/msm/dp/dp_ctrl.c
>> @@ -1238,8 +1238,6 @@ static int dp_ctrl_link_train_2(struct
>> dp_ctrl_private *ctrl,
>> return -ETIMEDOUT;
>> }
>> -static int dp_ctrl_reinitialize_mainlink(struct dp_ctrl_private
>> *ctrl);
>> -
>> static int dp_ctrl_link_train(struct dp_ctrl_private *ctrl,
>> int *training_step)
>> {
>> @@ -1534,38 +1532,6 @@ static int dp_ctrl_link_maintenance(struct
>> dp_ctrl_private *ctrl)
>> return ret;
>> }
>> -static int dp_ctrl_on_stream_phy_test_report(struct dp_ctrl
>> *dp_ctrl);
>> -
>> -static int dp_ctrl_process_phy_test_request(struct dp_ctrl_private
>> *ctrl)
>> -{
>> - int ret = 0;
>> -
>> - if (!ctrl->link->phy_params.phy_test_pattern_sel) {
>> - drm_dbg_dp(ctrl->drm_dev,
>> - "no test pattern selected by sink\n");
>> - return ret;
>> - }
>> -
>> - /*
>> - * The global reset will need DP link related clocks to be
>> - * running. Add the global reset just before disabling the
>> - * link clocks and core clocks.
>> - */
>> - ret = dp_ctrl_off(&ctrl->dp_ctrl);
>> - if (ret) {
>> - DRM_ERROR("failed to disable DP controller\n");
>> - return ret;
>> - }
>> -
>> - ret = dp_ctrl_on_link(&ctrl->dp_ctrl);
>> - if (!ret)
>> - ret = dp_ctrl_on_stream_phy_test_report(&ctrl->dp_ctrl);
>> - else
>> - DRM_ERROR("failed to enable DP link controller\n");
>> -
>> - return ret;
>> -}
>> -
>> static bool dp_ctrl_send_phy_test_pattern(struct dp_ctrl_private
>> *ctrl)
>> {
>> bool success = false;
>> @@ -1618,6 +1584,56 @@ static bool
>> dp_ctrl_send_phy_test_pattern(struct dp_ctrl_private *ctrl)
>> return success;
>> }
>> +static int dp_ctrl_on_stream_phy_test_report(struct dp_ctrl *dp_ctrl)
>> +{
>> + int ret;
>> + struct dp_ctrl_private *ctrl;
>> +
>> + ctrl = container_of(dp_ctrl, struct dp_ctrl_private, dp_ctrl);
>> +
>> + ctrl->dp_ctrl.pixel_rate = ctrl->panel->dp_mode.drm_mode.clock;
>> +
>> + ret = dp_ctrl_enable_stream_clocks(ctrl);
>> + if (ret) {
>> + DRM_ERROR("Failed to start pixel clocks. ret=%d\n", ret);
>> + return ret;
>> + }
>> +
>> + dp_ctrl_send_phy_test_pattern(ctrl);
>> +
>> + return 0;
>> +}
>> +
>> +static int dp_ctrl_process_phy_test_request(struct dp_ctrl_private
>> *ctrl)
>> +{
>> + int ret = 0;
>> +
>> + if (!ctrl->link->phy_params.phy_test_pattern_sel) {
>> + drm_dbg_dp(ctrl->drm_dev,
>> + "no test pattern selected by sink\n");
>> + return ret;
>> + }
>> +
>> + /*
>> + * The global reset will need DP link related clocks to be
>> + * running. Add the global reset just before disabling the
>> + * link clocks and core clocks.
>> + */
>> + ret = dp_ctrl_off(&ctrl->dp_ctrl);
>> + if (ret) {
>> + DRM_ERROR("failed to disable DP controller\n");
>> + return ret;
>> + }
>> +
>> + ret = dp_ctrl_on_link(&ctrl->dp_ctrl);
>> + if (!ret)
>> + ret = dp_ctrl_on_stream_phy_test_report(&ctrl->dp_ctrl);
>> + else
>> + DRM_ERROR("failed to enable DP link controller\n");
>> +
>> + return ret;
>> +}
>> +
>> void dp_ctrl_handle_sink_request(struct dp_ctrl *dp_ctrl)
>> {
>> struct dp_ctrl_private *ctrl;
>> @@ -1815,26 +1831,6 @@ static int dp_ctrl_link_retrain(struct
>> dp_ctrl_private *ctrl)
>> return dp_ctrl_setup_main_link(ctrl, &training_step);
>> }
>> -static int dp_ctrl_on_stream_phy_test_report(struct dp_ctrl *dp_ctrl)
>> -{
>> - int ret;
>> - struct dp_ctrl_private *ctrl;
>> -
>> - ctrl = container_of(dp_ctrl, struct dp_ctrl_private, dp_ctrl);
>> -
>> - ctrl->dp_ctrl.pixel_rate = ctrl->panel->dp_mode.drm_mode.clock;
>> -
>> - ret = dp_ctrl_enable_stream_clocks(ctrl);
>> - if (ret) {
>> - DRM_ERROR("Failed to start pixel clocks. ret=%d\n", ret);
>> - return ret;
>> - }
>> -
>> - dp_ctrl_send_phy_test_pattern(ctrl);
>> -
>> - return 0;
>> -}
>> -
>> int dp_ctrl_on_stream(struct dp_ctrl *dp_ctrl, bool force_link_train)
>> {
>> int ret = 0;
>
>
More information about the dri-devel
mailing list