Re: [Freedreno] [PATCH v3 4/7] drm/msm/dp: incorporate pm_runtime framework into DP driver

2023-09-15 Thread kernel test robot
-tip next-20230915] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Ku

Re: [Freedreno] [PATCH v3 2/7] drm/msm/dp: replace is_connected with link_ready

2023-09-15 Thread Dmitry Baryshkov
On Sat, 16 Sept 2023 at 00:38, Kuogee Hsieh wrote: > > The is_connected flag is set to true after DP mainlink successfully > finish link training. Replace the is_connected flag with link_ready finishes. Also this is not a replace, this patch renames the flag. > flag to avoid confusing. confusin

Re: [Freedreno] [PATCH v3 7/7] drm/msm/dp: move of_dp_aux_populate_bus() to eDP probe()

2023-09-15 Thread Dmitry Baryshkov
On Sat, 16 Sept 2023 at 00:39, Kuogee Hsieh wrote: > > Currently eDP population is done at msm_dp_modeset_init() which happen > at binding time. Move eDP population to be done at display probe time > so that probe deferral cases can be handled effectively. > wait_for_hpd_asserted callback is added

Re: [Freedreno] [PATCH v3 6/7] drm/msm/dp: add pm_runtime_force_suspend()/resume()

2023-09-15 Thread Dmitry Baryshkov
On Sat, 16 Sept 2023 at 00:38, Kuogee Hsieh wrote: > > Add pm_runtime_force_suspend()/resume() to complete incorporating pm > runtime framework into DP driver. Both dp_pm_prepare() and dp_pm_complete() > are added to set hpd_state to correct state. After resume, DP driver will > re training its ma

Re: [Freedreno] [PATCH v3 5/7] drm/msm/dp: delete EV_HPD_INIT_SETUP

2023-09-15 Thread Dmitry Baryshkov
On Sat, 16 Sept 2023 at 00:38, Kuogee Hsieh wrote: > > EV_HPD_INIT_SETUP flag is used to trigger the initialization of external > DP host controller. Since external DP host controller initialization had > been incorporated into pm_runtime_resume(), this flag become obsolete. became > Lets get ri

Re: [Freedreno] [PATCH v3 4/7] drm/msm/dp: incorporate pm_runtime framework into DP driver

2023-09-15 Thread Dmitry Baryshkov
On Sat, 16 Sept 2023 at 00:38, Kuogee Hsieh wrote: > > Currently DP driver is executed independent of PM runtime framework. > This lead DP driver incompatible with others. Incorporating pm runtime Why is it incompatible? Which others are mentioned here? > framework into DP driver so that both po

Re: [Freedreno] [PATCH v3 3/7] drm/msm/dp: use drm_bridge_hpd_notify() to report HPD status changes

2023-09-15 Thread Dmitry Baryshkov
On Sat, 16 Sept 2023 at 00:38, Kuogee Hsieh wrote: > > Currently DP driver use drm_helper_hpd_irq_event(), bypassing drm bridge > framework, to report HPD status changes to user space frame work. > Replace it with drm_bridge_hpd_notify() since DP driver is part of drm > bridge. > > Signed-off-by:

Re: [Freedreno] [PATCH v2] drm/msm/dsi: skip the wait for video mode done if not applicable

2023-09-15 Thread Dmitry Baryshkov
On Fri, 15 Sept 2023 at 23:45, Abhinav Kumar wrote: > > dsi_wait4video_done() API waits for the DSI video mode engine to > become idle so that we can transmit the DCS commands in the > beginning of BLLP. However, with the current sequence, the MDP > timing engine is turned on after the panel's pre

Re: [Freedreno] [PATCH v3 1/7] drm/msm/dp: tie dp_display_irq_handler() with dp driver

2023-09-15 Thread Dmitry Baryshkov
On Sat, 16 Sept 2023 at 00:38, Kuogee Hsieh wrote: > > Currently the dp_display_irq_handler() is executed at msm_dp_modeset_init() > which ties irq registration to the DPU device's life cycle, while depending on > resources that are released as the DP device is torn down. Move register DP > driver

Re: [Freedreno] [PATCH v4 8/9] drm/msm/dpu: merge DPU_SSPP_SCALER_QSEED3, QSEED3LITE, QSEED4

2023-09-15 Thread Dmitry Baryshkov
On Sat, 16 Sept 2023 at 02:01, Abhinav Kumar wrote: > > > > On 9/11/2023 2:45 PM, Dmitry Baryshkov wrote: > > Three different features, DPU_SSPP_SCALER_QSEED3, QSEED3LITE and QSEED4 > > are all related to different versions of the same HW scaling block. > > Corresponding driver parts use scaler_bl

Re: [Freedreno] [PATCH v4 8/9] drm/msm/dpu: merge DPU_SSPP_SCALER_QSEED3, QSEED3LITE, QSEED4

2023-09-15 Thread Abhinav Kumar
On 9/11/2023 2:45 PM, Dmitry Baryshkov wrote: Three different features, DPU_SSPP_SCALER_QSEED3, QSEED3LITE and QSEED4 are all related to different versions of the same HW scaling block. Corresponding driver parts use scaler_blk.version to identify the correct way to program the hardware. In or

Re: [Freedreno] [PATCH v4 7/9] drm/msm/dpu: drop DPU_HW_SUBBLK_INFO macro

2023-09-15 Thread Abhinav Kumar
On 9/11/2023 2:45 PM, Dmitry Baryshkov wrote: As the subblock info is now mostly gone, inline and drop the macro DPU_HW_SUBBLK_INFO. Signed-off-by: Dmitry Baryshkov --- .../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h| 40 ++- 1 file changed, 21 insertions(+), 19 deletions(-

Re: [Freedreno] [PATCH v4 6/9] drm/msm/dpu: deduplicate some (most) of SSPP sub-blocks

2023-09-15 Thread Abhinav Kumar
On 9/11/2023 2:45 PM, Dmitry Baryshkov wrote: As we have dropped the variadic parts of SSPP sub-blocks declarations, deduplicate them now, reducing memory cruft. Signed-off-by: Dmitry Baryshkov --- .../msm/disp/dpu1/catalog/dpu_3_0_msm8998.h | 16 +-- .../msm/disp/dpu1/catalog/dpu_4_0_s

[Freedreno] [PATCH v3 7/7] drm/msm/dp: move of_dp_aux_populate_bus() to eDP probe()

2023-09-15 Thread Kuogee Hsieh
Currently eDP population is done at msm_dp_modeset_init() which happen at binding time. Move eDP population to be done at display probe time so that probe deferral cases can be handled effectively. wait_for_hpd_asserted callback is added during drm_dp_aux_init() to ensure eDP's HPD is up before pro

[Freedreno] [PATCH v3 5/7] drm/msm/dp: delete EV_HPD_INIT_SETUP

2023-09-15 Thread Kuogee Hsieh
EV_HPD_INIT_SETUP flag is used to trigger the initialization of external DP host controller. Since external DP host controller initialization had been incorporated into pm_runtime_resume(), this flag become obsolete. Lets get rid of it. Changes in v3: -- drop EV_HPD_INIT_SETUP and msm_dp_irq_posti

[Freedreno] [PATCH v3 0/7] incorporate pm runtime framework and eDP clean up

2023-09-15 Thread Kuogee Hsieh
Incorporate pm runtime framework into DP driver and clean up eDP by moving of_dp_aux_populate_bus() to probe(). -- add v3 changes log Kuogee Hsieh (7): drm/msm/dp: tie dp_display_irq_handler() with dp driver drm/msm/dp: replace is_connected with link_ready drm/msm/dp: use drm_bridge_hpd_not

[Freedreno] [PATCH v3 3/7] drm/msm/dp: use drm_bridge_hpd_notify() to report HPD status changes

2023-09-15 Thread Kuogee Hsieh
Currently DP driver use drm_helper_hpd_irq_event(), bypassing drm bridge framework, to report HPD status changes to user space frame work. Replace it with drm_bridge_hpd_notify() since DP driver is part of drm bridge. Signed-off-by: Kuogee Hsieh --- drivers/gpu/drm/msm/dp/dp_display.c | 20 ++---

[Freedreno] [PATCH v3 6/7] drm/msm/dp: add pm_runtime_force_suspend()/resume()

2023-09-15 Thread Kuogee Hsieh
Add pm_runtime_force_suspend()/resume() to complete incorporating pm runtime framework into DP driver. Both dp_pm_prepare() and dp_pm_complete() are added to set hpd_state to correct state. After resume, DP driver will re training its main link after .hpd_enable() callback enabled HPD interrupts an

[Freedreno] [PATCH v3 4/7] drm/msm/dp: incorporate pm_runtime framework into DP driver

2023-09-15 Thread Kuogee Hsieh
Currently DP driver is executed independent of PM runtime framework. This lead DP driver incompatible with others. Incorporating pm runtime framework into DP driver so that both power and clocks to enable/disable host controller fits with PM runtime mechanism. Once pm runtime framework is incorpora

[Freedreno] [PATCH v3 2/7] drm/msm/dp: replace is_connected with link_ready

2023-09-15 Thread Kuogee Hsieh
The is_connected flag is set to true after DP mainlink successfully finish link training. Replace the is_connected flag with link_ready flag to avoid confusing. Signed-off-by: Kuogee Hsieh --- drivers/gpu/drm/msm/dp/dp_display.c | 19 +-- drivers/gpu/drm/msm/dp/dp_display.h | 2

[Freedreno] [PATCH v3 1/7] drm/msm/dp: tie dp_display_irq_handler() with dp driver

2023-09-15 Thread Kuogee Hsieh
Currently the dp_display_irq_handler() is executed at msm_dp_modeset_init() which ties irq registration to the DPU device's life cycle, while depending on resources that are released as the DP device is torn down. Move register DP driver irq handler at dp_display_probe() to have dp_display_irq_hand

[Freedreno] [PATCH v2 6/7] drm/msm/dp: add pm_runtime_force_suspend()/resume()

2023-09-15 Thread Kuogee Hsieh
Add pm_runtime_force_suspend()/resume() to complete incorporating pm runtime framework into DP driver. Both dp_pm_prepare() and dp_pm_complete() are added to set hpd_state to correct state. After resume, DP driver will re training its main link after .hpd_enable() callback enabled HPD interrupts an

[Freedreno] [PATCH v2 7/7] drm/msm/dp: move of_dp_aux_populate_bus() to eDP probe()

2023-09-15 Thread Kuogee Hsieh
Currently eDP population is done at msm_dp_modeset_init() which happen at binding time. Move eDP population to be done at display probe time so that probe deferral cases can be handled effectively. wait_for_hpd_asserted callback is added during drm_dp_aux_init() to ensure eDP's HPD is up before pro

[Freedreno] [PATCH v2 5/7] drm/msm/dp: delete EV_HPD_INIT_SETUP

2023-09-15 Thread Kuogee Hsieh
EV_HPD_INIT_SETUP flag is used to trigger the initialization of external DP host controller. Since external DP host controller initialization had been incorporated into pm_runtime_resume(), this flag become obsolete. Lets get rid of it. Signed-off-by: Kuogee Hsieh --- drivers/gpu/drm/msm/disp/dp

[Freedreno] [PATCH v2 4/7] drm/msm/dp: incorporate pm_runtime framework into DP driver

2023-09-15 Thread Kuogee Hsieh
Currently DP driver is executed independent of PM runtime framework. This lead DP driver incompatible with others. Incorporating pm runtime framework into DP driver so that both power and clocks to enable/disable host controller fits with PM runtime mechanism. Once pm runtime framework is incorpora

[Freedreno] [PATCH v2 3/7] drm/msm/dp: use drm_bridge_hpd_notify() to report HPD status changes

2023-09-15 Thread Kuogee Hsieh
Currently DP driver use drm_helper_hpd_irq_event(), bypassing drm bridge framework, to report HPD status changes to user space frame work. Replace it with drm_bridge_hpd_notify() since DP driver is part of drm bridge. Signed-off-by: Kuogee Hsieh --- drivers/gpu/drm/msm/dp/dp_display.c | 20 ++---

[Freedreno] [PATCH v2 2/7] drm/msm/dp: replace is_connected with link_ready

2023-09-15 Thread Kuogee Hsieh
The is_connected flag is set to true after DP mainlink successfully finish link training. Replace the is_connected flag with link_ready flag to avoid confusing. Signed-off-by: Kuogee Hsieh --- drivers/gpu/drm/msm/dp/dp_display.c | 19 +-- drivers/gpu/drm/msm/dp/dp_display.h | 2

[Freedreno] [PATCH v2 1/7] drm/msm/dp: tie dp_display_irq_handler() with dp driver

2023-09-15 Thread Kuogee Hsieh
Currently the dp_display_irq_handler() is executed at msm_dp_modeset_init() which ties irq registration to the DPU device's life cycle, while depending on resources that are released as the DP device is torn down. Move register DP driver irq handler at dp_display_probe() to have dp_display_irq_hand

[Freedreno] [PATCH v2 0/7] incorporate pm runtime framework and eDP clean up

2023-09-15 Thread Kuogee Hsieh
Incorporate pm runtime framework into DP driver and clean up eDP by moving of_dp_aux_populate_bus() to probe() Kuogee Hsieh (7): drm/msm/dp: tie dp_display_irq_handler() with dp driver drm/msm/dp: replace is_connected with link_ready drm/msm/dp: use drm_bridge_hpd_notify() to report HPD stat

[Freedreno] [PATCH v2] drm/msm/dsi: skip the wait for video mode done if not applicable

2023-09-15 Thread Abhinav Kumar
dsi_wait4video_done() API waits for the DSI video mode engine to become idle so that we can transmit the DCS commands in the beginning of BLLP. However, with the current sequence, the MDP timing engine is turned on after the panel's pre_enable() callback which can send out the DCS commands needed t

Re: [Freedreno] [PATCH] drm/msm/dsi: skip the wait for video mode done if not applicable

2023-09-15 Thread Dmitry Baryshkov
On Fri, 15 Sept 2023 at 21:30, Abhinav Kumar wrote: > > dsi_wait4video_done() API wait for the DSI video mode engine to > become idle so that we can transmit the DCS commands in the > beginning of BLLP. However, with the current sequence, the MDP > timing engine is turned on after the panel's pre_

[Freedreno] [PATCH] drm/msm/dsi: skip the wait for video mode done if not applicable

2023-09-15 Thread Abhinav Kumar
dsi_wait4video_done() API wait for the DSI video mode engine to become idle so that we can transmit the DCS commands in the beginning of BLLP. However, with the current sequence, the MDP timing engine is turned on after the panel's pre_enable() callback which can send out the DCS commands needed to

Re: [Freedreno] [PATCH] drm/msm/dsi: fix irq_of_parse_and_map() error checking

2023-09-15 Thread Konrad Dybcio
On 15.09.2023 14:59, Dan Carpenter wrote: > The irq_of_parse_and_map() function returns zero on error. It > never returns negative error codes. Fix the check. > > Fixes: a689554ba6ed ("drm/msm: Initial add DSI connector support") > Signed-off-by: Dan Carpenter > --- Reviewed-by: Konrad Dybcio

[Freedreno] [PATCH] drm/msm/dsi: fix irq_of_parse_and_map() error checking

2023-09-15 Thread Dan Carpenter
The irq_of_parse_and_map() function returns zero on error. It never returns negative error codes. Fix the check. Fixes: a689554ba6ed ("drm/msm: Initial add DSI connector support") Signed-off-by: Dan Carpenter --- drivers/gpu/drm/msm/dsi/dsi_host.c | 7 +++ 1 file changed, 3 insertions(+),

Re: [Freedreno] [PATCH v5 6/6] drm/drm-file: Show finer-grained BO sizes in drm_show_memory_stats

2023-09-15 Thread Boris Brezillon
On Thu, 14 Sep 2023 23:38:44 +0100 Adrián Larumbe wrote: > The current implementation will try to pick the highest available size > display unit as soon as the BO size exceeds that of the previous > multiplier. That can lead to loss of precision in contexts of low memory > usage. > > The new sel