Re: [Freedreno] [DPU PATCH 04/11] drm/msm/dpu: create new platform driver for dpu device

2018-05-10 Thread Jordan Crouse
On Thu, May 10, 2018 at 01:59:38PM +0530, Rajesh Yadav wrote: > Current MSM display controller HW matches a tree like > hierarchy where MDSS top level wrapper is parent device > and mdp5/dpu, dsi, dp are child devices. > > Each child device like mdp5, dsi etc. have a separate driver, > but current

Re: [Freedreno] [DPU PATCH 03/11] drm/msm/dpu: add MDSS top level driver for dpu

2018-05-10 Thread Jordan Crouse
On Thu, May 10, 2018 at 01:59:37PM +0530, Rajesh Yadav wrote: > SoCs containing dpu have a MDSS top level wrapper > which includes sub-blocks as dpu, dsi, phy, dp etc. > MDSS top level wrapper manages common resources like > common clocks, power and irq for its sub-blocks. > > Currently, in dpu dr

Re: [Freedreno] [DPU PATCH 11/11] drm/msm/dpu: move dpu_power_handle to dpu folder

2018-05-10 Thread Sean Paul
On Thu, May 10, 2018 at 01:59:45PM +0530, Rajesh Yadav wrote: > Now, since dpu_power_handle manages only bus scaling > and power enable/disable notifications which are restricted > to dpu driver, move dpu_power_handle to dpu folder. > > Signed-off-by: Rajesh Yadav > --- > drivers/gpu/drm/msm/Mak

Re: [Freedreno] [DPU PATCH 10/11] drm/msm/dpu: use runtime_pm calls in dpu_dbg

2018-05-10 Thread Sean Paul
On Thu, May 10, 2018 at 01:59:44PM +0530, Rajesh Yadav wrote: > Currently, msm_drv was creating dpu_power_handle client > which was used by dpu_dbg module to enable power resources > before register debug dumping. > > Now since, the mdss core power resource handling is > implemented via runtime_pm

Re: [Freedreno] [DPU PATCH 09/11] drm/msm/dp: remove dpu_power_handle calls from dp driver

2018-05-10 Thread Sean Paul
On Thu, May 10, 2018 at 01:59:43PM +0530, Rajesh Yadav wrote: > DP driver was dependent on dpu_power_handle for MDSS > common clocks and gdsc (main power supply). > The common clocks and power is managed by MDSS top > wrapper device now which is parent of all sub-devices > like DP device. > For sam

Re: [Freedreno] [DPU PATCH 08/11] drm/msm/dpu: remove power management code from dpu_power_handle

2018-05-10 Thread Sean Paul
On Thu, May 10, 2018 at 01:59:42PM +0530, Rajesh Yadav wrote: > Mdss main power supply (mdss_gdsc) is implemented as a > generic power domain and mdss top level wrapper device > manage it via runtime_pm. Remove custom power management > code from dpu_power_handle. > > Signed-off-by: Rajesh Yadav

Re: [Freedreno] [DPU PATCH 07/11] drm/msm/dpu: remove clock management code from dpu_power_handle

2018-05-10 Thread Sean Paul
On Thu, May 10, 2018 at 01:59:41PM +0530, Rajesh Yadav wrote: > MDSS and dpu drivers manage their respective clocks via > runtime_pm. Remove custom clock management code from > dpu_power_handle. > > Also dpu core clock management code is restricted to > dpu_core_perf module. > > Signed-off-by: Ra

Re: [Freedreno] [DPU PATCH 06/11] drm/msm/dpu: use runtime_pm calls on dpu device

2018-05-10 Thread Sean Paul
On Thu, May 10, 2018 at 01:59:40PM +0530, Rajesh Yadav wrote: > The dpu driver implements runtime_pm support for managing > dpu specific resources like - clocks, bus bandwidth etc. > > Use pm_runtime_get/put_sync calls on dpu device. > > The common clocks and power management for all child nodes

Re: [Freedreno] [DPU PATCH 05/11] drm/msm/dpu: update dpu sub-block offsets wrt dpu base address

2018-05-10 Thread Sean Paul
On Thu, May 10, 2018 at 01:59:39PM +0530, Rajesh Yadav wrote: > The dpu sub-block offsets were defined wrt mdss base address > instead of dpu base address. > Since, dpu is now defined as a separate device, update hw catalog > offsets for all dpu sub blocks wrt dpu base address. > > Signed-off-by:

Re: [Freedreno] [DPU PATCH 01/11] drm/msm: remove redundant pm_runtime_enable call from msm_drv

2018-05-10 Thread Sean Paul
On Thu, May 10, 2018 at 01:59:35PM +0530, Rajesh Yadav wrote: > MDSS top level device includes the common power resources > and it's corresponding driver (i.e. mdp5_mdss) handles call > to enable/disable runtime_pm for enabling these resources. > Remove redundant pm_runtime_enable call from msm_drv

Re: [Freedreno] [DPU PATCH 04/11] drm/msm/dpu: create new platform driver for dpu device

2018-05-10 Thread Sean Paul
On Thu, May 10, 2018 at 01:59:38PM +0530, Rajesh Yadav wrote: > Current MSM display controller HW matches a tree like > hierarchy where MDSS top level wrapper is parent device > and mdp5/dpu, dsi, dp are child devices. > > Each child device like mdp5, dsi etc. have a separate driver, > but current

Re: [Freedreno] [DPU PATCH 03/11] drm/msm/dpu: add MDSS top level driver for dpu

2018-05-10 Thread Sean Paul
On Thu, May 10, 2018 at 01:59:37PM +0530, Rajesh Yadav wrote: > SoCs containing dpu have a MDSS top level wrapper > which includes sub-blocks as dpu, dsi, phy, dp etc. > MDSS top level wrapper manages common resources like > common clocks, power and irq for its sub-blocks. > > Currently, in dpu dr

Re: [Freedreno] [DPU PATCH 02/11] drm/msm/mdp5: subclass msm_mdss for mdp5

2018-05-10 Thread Sean Paul
On Thu, May 10, 2018 at 01:59:36PM +0530, Rajesh Yadav wrote: > SoCs having mdp5 or dpu have identical tree like > device hierarchy where MDSS top level wrapper manages > common power resources for all child devices. > > Subclass msm_mdss so that msm_mdss includes common defines > and mdp5/dpu mds

[Freedreno] [DPU PATCH 10/11] drm/msm/dpu: use runtime_pm calls in dpu_dbg

2018-05-10 Thread Rajesh Yadav
Currently, msm_drv was creating dpu_power_handle client which was used by dpu_dbg module to enable power resources before register debug dumping. Now since, the mdss core power resource handling is implemented via runtime_pm and same has been removed from dpu_power_handle. Remove dpu_power_handle

[Freedreno] [DPU PATCH 07/11] drm/msm/dpu: remove clock management code from dpu_power_handle

2018-05-10 Thread Rajesh Yadav
MDSS and dpu drivers manage their respective clocks via runtime_pm. Remove custom clock management code from dpu_power_handle. Also dpu core clock management code is restricted to dpu_core_perf module. Signed-off-by: Rajesh Yadav --- drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c | 44 ++--

[Freedreno] [DPU PATCH 08/11] drm/msm/dpu: remove power management code from dpu_power_handle

2018-05-10 Thread Rajesh Yadav
Mdss main power supply (mdss_gdsc) is implemented as a generic power domain and mdss top level wrapper device manage it via runtime_pm. Remove custom power management code from dpu_power_handle. Signed-off-by: Rajesh Yadav --- drivers/gpu/drm/msm/dpu_power_handle.c | 190 +---

[Freedreno] [DPU PATCH 11/11] drm/msm/dpu: move dpu_power_handle to dpu folder

2018-05-10 Thread Rajesh Yadav
Now, since dpu_power_handle manages only bus scaling and power enable/disable notifications which are restricted to dpu driver, move dpu_power_handle to dpu folder. Signed-off-by: Rajesh Yadav --- drivers/gpu/drm/msm/Makefile | 2 +- drivers/gpu/drm/msm/disp/dpu1/dpu_core_i

[Freedreno] [DPU PATCH 09/11] drm/msm/dp: remove dpu_power_handle calls from dp driver

2018-05-10 Thread Rajesh Yadav
DP driver was dependent on dpu_power_handle for MDSS common clocks and gdsc (main power supply). The common clocks and power is managed by MDSS top wrapper device now which is parent of all sub-devices like DP device. For same reason, clock and power management code is removed from dpu_power_handle

[Freedreno] [DPU PATCH 06/11] drm/msm/dpu: use runtime_pm calls on dpu device

2018-05-10 Thread Rajesh Yadav
The dpu driver implements runtime_pm support for managing dpu specific resources like - clocks, bus bandwidth etc. Use pm_runtime_get/put_sync calls on dpu device. The common clocks and power management for all child nodes (mdp5/dpu, dsi, dp etc) is done by parent MDSS device/driver via runtime_p

[Freedreno] [DPU PATCH 03/11] drm/msm/dpu: add MDSS top level driver for dpu

2018-05-10 Thread Rajesh Yadav
SoCs containing dpu have a MDSS top level wrapper which includes sub-blocks as dpu, dsi, phy, dp etc. MDSS top level wrapper manages common resources like common clocks, power and irq for its sub-blocks. Currently, in dpu driver, all the power resource management is part of power_handle which mana

[Freedreno] [DPU PATCH 02/11] drm/msm/mdp5: subclass msm_mdss for mdp5

2018-05-10 Thread Rajesh Yadav
SoCs having mdp5 or dpu have identical tree like device hierarchy where MDSS top level wrapper manages common power resources for all child devices. Subclass msm_mdss so that msm_mdss includes common defines and mdp5/dpu mdss derivations to include any extensions. Add mdss helper interface (msm_m

[Freedreno] [DPU PATCH 05/11] drm/msm/dpu: update dpu sub-block offsets wrt dpu base address

2018-05-10 Thread Rajesh Yadav
The dpu sub-block offsets were defined wrt mdss base address instead of dpu base address. Since, dpu is now defined as a separate device, update hw catalog offsets for all dpu sub blocks wrt dpu base address. Signed-off-by: Rajesh Yadav --- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c| 68

[Freedreno] [DPU PATCH 04/11] drm/msm/dpu: create new platform driver for dpu device

2018-05-10 Thread Rajesh Yadav
Current MSM display controller HW matches a tree like hierarchy where MDSS top level wrapper is parent device and mdp5/dpu, dsi, dp are child devices. Each child device like mdp5, dsi etc. have a separate driver, but currently dpu handling is tied to a single driver which was managing both mdss an

[Freedreno] [DPU PATCH 01/11] drm/msm: remove redundant pm_runtime_enable call from msm_drv

2018-05-10 Thread Rajesh Yadav
MDSS top level device includes the common power resources and it's corresponding driver (i.e. mdp5_mdss) handles call to enable/disable runtime_pm for enabling these resources. Remove redundant pm_runtime_enable call from msm_drv. Signed-off-by: Rajesh Yadav --- drivers/gpu/drm/msm/msm_drv.c | 1

[Freedreno] [DPU PATCH 00/11] Refactor DPU device/driver hierarchy and add runtime_pm support

2018-05-10 Thread Rajesh Yadav
SoCs containing mdp5 or dpu have a MDSS top level wrapper which includes sub-blocks as mdp5/dpu, dsi, dp, hdmi etc. The MDSS top level wrapper manages common resources like common clocks, main power supply and interrupts for its sub-blocks. But current dpu driver implementation is based on a flat