Messages in this thread | | | Date | Wed, 6 Jul 2022 20:41:04 +0300 | Subject | Re: [PATCH v3] drm/msm/dp: make eDP panel as the first connected connector | From | Dmitry Baryshkov <> |
| |
On 06/07/2022 20:38, Kuogee Hsieh wrote: > > On 7/6/2022 10:25 AM, Dmitry Baryshkov wrote: >> On 06/07/2022 20:24, Kuogee Hsieh wrote: >>> Some userspace presumes that the first connected connector is the main >>> display, where it's supposed to display e.g. the login screen. For >>> laptops, this should be the main panel. >>> >>> This patch call drm_helper_move_panel_connectors_to_head() after >>> drm_bridge_connector_init() to make sure eDP stay at head of >>> connected connector list. This fixes unexpected corruption happen >>> at eDP panel if eDP is not placed at head of connected connector >>> list. >>> >>> Changes in v2: >>> -- move drm_helper_move_panel_connectors_to_head() to >>> dpu_kms_drm_obj_init() >>> >>> Signed-off-by: Kuogee Hsieh <quic_khsieh@quicinc.com> >>> --- >>> drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 2 ++ >>> 1 file changed, 2 insertions(+) >>> >>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c >>> b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c >>> index 2b9d931..50ff666 100644 >>> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c >>> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c >>> @@ -763,6 +763,8 @@ static int _dpu_kms_drm_obj_init(struct dpu_kms >>> *dpu_kms) >>> if (ret) >>> return ret; >>> + drm_helper_move_panel_connectors_to_head(dev); >> >> This should be in msm_drv.c unless you have a strong reason to have it >> here. > Can you please provide more info why should be in msm_drv.c?
Let me quote my message from v1 review:
Please move this call to the msm_drm_init(). Calling this function somewhere after the ->kms_init() would make sure that all panel connectors are close to the top of the list, whichever MDP/DPU driver is used and whichever actual interface is bound to this panel.
>> _dpu_kms_drm_obj_init() create and initialize drm obj one by one and >> _dpu_kms_setup_displays() had created system wide connectors/interfaces . > > After that should be fine to move edp to head of connector list. > >>> + >>> num_encoders = 0; >>> drm_for_each_encoder(encoder, dev) >>> num_encoders++; >> >>
-- With best wishes Dmitry
| |