Re: [PATCH 1/2] drm/msm: pass dump state as a function argument

2021-04-26 Thread abhinavk

On 2021-04-25 09:07, Dmitry Baryshkov wrote:

Instead of always getting the disp_state from drm device, pass it as an
argument.

Signed-off-by: Dmitry Baryshkov 


This certainly reduces some amount of code, I am onboard with this, 
hence:


Reviewed-by: Abhinav Kumar 


---
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c |  5 +
 drivers/gpu/drm/msm/disp/msm_disp_snapshot.h|  8 
 .../gpu/drm/msm/disp/msm_disp_snapshot_util.c   | 17 +++--
 drivers/gpu/drm/msm/dp/dp_display.c |  4 +---
 drivers/gpu/drm/msm/dsi/dsi.c   |  4 ++--
 drivers/gpu/drm/msm/dsi/dsi.h   |  4 ++--
 drivers/gpu/drm/msm/dsi/dsi_host.c  |  6 +-
 drivers/gpu/drm/msm/msm_drv.h   |  3 ++-
 drivers/gpu/drm/msm/msm_kms.h   |  2 +-
 9 files changed, 13 insertions(+), 40 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
index ead247864c1b..e500a9294528 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
@@ -799,15 +799,12 @@ static void dpu_irq_uninstall(struct msm_kms 
*kms)

dpu_core_irq_uninstall(dpu_kms);
 }

-static void dpu_kms_mdp_snapshot(struct msm_kms *kms)
+static void dpu_kms_mdp_snapshot(struct msm_disp_state *disp_state,
struct msm_kms *kms)
 {
int i;
struct dpu_kms *dpu_kms;
struct dpu_mdss_cfg *cat;
struct dpu_hw_mdp *top;
-   struct msm_disp_state *disp_state;
-
-   disp_state = kms->disp_state;

dpu_kms = to_dpu_kms(kms);

diff --git a/drivers/gpu/drm/msm/disp/msm_disp_snapshot.h
b/drivers/gpu/drm/msm/disp/msm_disp_snapshot.h
index 7e075e799f0a..32f52799a1ba 100644
--- a/drivers/gpu/drm/msm/disp/msm_disp_snapshot.h
+++ b/drivers/gpu/drm/msm/disp/msm_disp_snapshot.h
@@ -104,14 +104,6 @@ void msm_disp_snapshot_destroy(struct drm_device 
*drm_dev);

  */
 void msm_disp_snapshot_state(struct drm_device *drm_dev);

-/**
- * msm_disp_state_get - get the handle to msm_disp_state struct from
the drm device
- * @drm:   handle to drm device
-
- * Returns:handle to the msm_disp_state struct
- */
-struct msm_disp_state *msm_disp_state_get(struct drm_device *drm);
-
 /**
  * msm_disp_state_print - print out the current dpu state
  * @disp_state:handle to drm device
diff --git a/drivers/gpu/drm/msm/disp/msm_disp_snapshot_util.c
b/drivers/gpu/drm/msm/disp/msm_disp_snapshot_util.c
index 44dc68295ddb..ca6632550337 100644
--- a/drivers/gpu/drm/msm/disp/msm_disp_snapshot_util.c
+++ b/drivers/gpu/drm/msm/disp/msm_disp_snapshot_util.c
@@ -69,17 +69,6 @@ static void msm_disp_state_print_regs(u32 **reg,
u32 len, void __iomem *base_add
}
 }

-struct msm_disp_state *msm_disp_state_get(struct drm_device *drm)
-{
-   struct msm_drm_private *priv;
-   struct msm_kms *kms;
-
-   priv = drm->dev_private;
-   kms = priv->kms;
-
-   return kms->disp_state;
-}
-
 void msm_disp_state_print(struct msm_disp_state *state, struct 
drm_printer *p)

 {
struct msm_disp_state_block *block, *tmp;
@@ -138,17 +127,17 @@ void msm_disp_snapshot_capture_state(struct
msm_disp_state *disp_state)
kms = priv->kms;

if (priv->dp)
-   msm_dp_snapshot(priv->dp);
+   msm_dp_snapshot(disp_state, priv->dp);

for (i = 0; i < ARRAY_SIZE(priv->dsi); i++) {
if (!priv->dsi[i])
continue;

-   msm_dsi_snapshot(priv->dsi[i]);
+   msm_dsi_snapshot(disp_state, priv->dsi[i]);
}

if (kms->funcs->snapshot)
-   kms->funcs->snapshot(kms);
+   kms->funcs->snapshot(disp_state, kms);

msm_disp_capture_atomic_state(disp_state);
 }
diff --git a/drivers/gpu/drm/msm/dp/dp_display.c
b/drivers/gpu/drm/msm/dp/dp_display.c
index 66705588f751..95d0bba7e172 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -1009,15 +1009,13 @@ int dp_display_get_test_bpp(struct msm_dp *dp)
dp_display->link->test_video.test_bit_depth);
 }

-void msm_dp_snapshot(struct msm_dp *dp)
+void msm_dp_snapshot(struct msm_disp_state *disp_state, struct msm_dp 
*dp)

 {
struct dp_display_private *dp_display;
struct drm_device *drm;
-   struct msm_disp_state *disp_state;

dp_display = container_of(dp, struct dp_display_private, dp_display);
drm = dp->drm_dev;
-   disp_state = msm_disp_state_get(drm);

/*
 * if we are reading registers we need the link clocks to be on
diff --git a/drivers/gpu/drm/msm/dsi/dsi.c 
b/drivers/gpu/drm/msm/dsi/dsi.c

index bccc00603aa8..322d2e535df0 100644
--- a/drivers/gpu/drm/msm/dsi/dsi.c
+++ b/drivers/gpu/drm/msm/dsi/dsi.c
@@ -266,8 +266,8 @@ int msm_dsi_modeset_init(struct msm_dsi *msm_dsi,
struct drm_device *dev,
return ret;
 }

-void msm_dsi_snapshot(struct msm_dsi *msm_dsi)
+void 

[PATCH 1/2] drm/msm: pass dump state as a function argument

2021-04-25 Thread Dmitry Baryshkov
Instead of always getting the disp_state from drm device, pass it as an
argument.

Signed-off-by: Dmitry Baryshkov 
---
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c |  5 +
 drivers/gpu/drm/msm/disp/msm_disp_snapshot.h|  8 
 .../gpu/drm/msm/disp/msm_disp_snapshot_util.c   | 17 +++--
 drivers/gpu/drm/msm/dp/dp_display.c |  4 +---
 drivers/gpu/drm/msm/dsi/dsi.c   |  4 ++--
 drivers/gpu/drm/msm/dsi/dsi.h   |  4 ++--
 drivers/gpu/drm/msm/dsi/dsi_host.c  |  6 +-
 drivers/gpu/drm/msm/msm_drv.h   |  3 ++-
 drivers/gpu/drm/msm/msm_kms.h   |  2 +-
 9 files changed, 13 insertions(+), 40 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
index ead247864c1b..e500a9294528 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
@@ -799,15 +799,12 @@ static void dpu_irq_uninstall(struct msm_kms *kms)
dpu_core_irq_uninstall(dpu_kms);
 }
 
-static void dpu_kms_mdp_snapshot(struct msm_kms *kms)
+static void dpu_kms_mdp_snapshot(struct msm_disp_state *disp_state, struct 
msm_kms *kms)
 {
int i;
struct dpu_kms *dpu_kms;
struct dpu_mdss_cfg *cat;
struct dpu_hw_mdp *top;
-   struct msm_disp_state *disp_state;
-
-   disp_state = kms->disp_state;
 
dpu_kms = to_dpu_kms(kms);
 
diff --git a/drivers/gpu/drm/msm/disp/msm_disp_snapshot.h 
b/drivers/gpu/drm/msm/disp/msm_disp_snapshot.h
index 7e075e799f0a..32f52799a1ba 100644
--- a/drivers/gpu/drm/msm/disp/msm_disp_snapshot.h
+++ b/drivers/gpu/drm/msm/disp/msm_disp_snapshot.h
@@ -104,14 +104,6 @@ void msm_disp_snapshot_destroy(struct drm_device *drm_dev);
  */
 void msm_disp_snapshot_state(struct drm_device *drm_dev);
 
-/**
- * msm_disp_state_get - get the handle to msm_disp_state struct from the drm 
device
- * @drm:   handle to drm device
-
- * Returns:handle to the msm_disp_state struct
- */
-struct msm_disp_state *msm_disp_state_get(struct drm_device *drm);
-
 /**
  * msm_disp_state_print - print out the current dpu state
  * @disp_state:handle to drm device
diff --git a/drivers/gpu/drm/msm/disp/msm_disp_snapshot_util.c 
b/drivers/gpu/drm/msm/disp/msm_disp_snapshot_util.c
index 44dc68295ddb..ca6632550337 100644
--- a/drivers/gpu/drm/msm/disp/msm_disp_snapshot_util.c
+++ b/drivers/gpu/drm/msm/disp/msm_disp_snapshot_util.c
@@ -69,17 +69,6 @@ static void msm_disp_state_print_regs(u32 **reg, u32 len, 
void __iomem *base_add
}
 }
 
-struct msm_disp_state *msm_disp_state_get(struct drm_device *drm)
-{
-   struct msm_drm_private *priv;
-   struct msm_kms *kms;
-
-   priv = drm->dev_private;
-   kms = priv->kms;
-
-   return kms->disp_state;
-}
-
 void msm_disp_state_print(struct msm_disp_state *state, struct drm_printer *p)
 {
struct msm_disp_state_block *block, *tmp;
@@ -138,17 +127,17 @@ void msm_disp_snapshot_capture_state(struct 
msm_disp_state *disp_state)
kms = priv->kms;
 
if (priv->dp)
-   msm_dp_snapshot(priv->dp);
+   msm_dp_snapshot(disp_state, priv->dp);
 
for (i = 0; i < ARRAY_SIZE(priv->dsi); i++) {
if (!priv->dsi[i])
continue;
 
-   msm_dsi_snapshot(priv->dsi[i]);
+   msm_dsi_snapshot(disp_state, priv->dsi[i]);
}
 
if (kms->funcs->snapshot)
-   kms->funcs->snapshot(kms);
+   kms->funcs->snapshot(disp_state, kms);
 
msm_disp_capture_atomic_state(disp_state);
 }
diff --git a/drivers/gpu/drm/msm/dp/dp_display.c 
b/drivers/gpu/drm/msm/dp/dp_display.c
index 66705588f751..95d0bba7e172 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -1009,15 +1009,13 @@ int dp_display_get_test_bpp(struct msm_dp *dp)
dp_display->link->test_video.test_bit_depth);
 }
 
-void msm_dp_snapshot(struct msm_dp *dp)
+void msm_dp_snapshot(struct msm_disp_state *disp_state, struct msm_dp *dp)
 {
struct dp_display_private *dp_display;
struct drm_device *drm;
-   struct msm_disp_state *disp_state;
 
dp_display = container_of(dp, struct dp_display_private, dp_display);
drm = dp->drm_dev;
-   disp_state = msm_disp_state_get(drm);
 
/*
 * if we are reading registers we need the link clocks to be on
diff --git a/drivers/gpu/drm/msm/dsi/dsi.c b/drivers/gpu/drm/msm/dsi/dsi.c
index bccc00603aa8..322d2e535df0 100644
--- a/drivers/gpu/drm/msm/dsi/dsi.c
+++ b/drivers/gpu/drm/msm/dsi/dsi.c
@@ -266,8 +266,8 @@ int msm_dsi_modeset_init(struct msm_dsi *msm_dsi, struct 
drm_device *dev,
return ret;
 }
 
-void msm_dsi_snapshot(struct msm_dsi *msm_dsi)
+void msm_dsi_snapshot(struct msm_disp_state *disp_state, struct msm_dsi 
*msm_dsi)
 {
-   msm_dsi_host_snapshot(msm_dsi->host);
+