diff options
author | Dmitry Baryshkov <dmitry.baryshkov@linaro.org> | 2021-04-27 02:18:25 +0200 |
---|---|---|
committer | Rob Clark <robdclark@chromium.org> | 2021-06-23 16:32:14 +0200 |
commit | eb9d6c7ebe44df4bf077e71de809bb7b216da38c (patch) | |
tree | 6c3365ef243f0365cebaa894653254072132a2f3 /drivers/gpu/drm | |
parent | drm/msm: add disp snapshot points across dpu driver (diff) | |
download | linux-eb9d6c7ebe44df4bf077e71de809bb7b216da38c.tar.xz linux-eb9d6c7ebe44df4bf077e71de809bb7b216da38c.zip |
drm/msm: pass dump state as a function argument
Instead of always getting the disp_state from drm device, pass it as an
argument.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Abhinav Kumar <abhinavk@codeaurora.org>
Link: https://lore.kernel.org/r/20210427001828.2375555-2-dmitry.baryshkov@linaro.org
Signed-off-by: Rob Clark <robdclark@chromium.org>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r-- | drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/msm/disp/msm_disp_snapshot.h | 8 | ||||
-rw-r--r-- | drivers/gpu/drm/msm/disp/msm_disp_snapshot_util.c | 17 | ||||
-rw-r--r-- | drivers/gpu/drm/msm/dp/dp_display.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/msm/dsi/dsi.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/msm/dsi/dsi.h | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/msm/dsi/dsi_host.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/msm/msm_drv.h | 3 | ||||
-rw-r--r-- | 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 @@ -105,14 +105,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 * @p: handle to drm printer 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 13447f72d5c4..cf9c64534624 100644 --- a/drivers/gpu/drm/msm/dp/dp_display.c +++ b/drivers/gpu/drm/msm/dp/dp_display.c @@ -1039,15 +1039,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 @@ fail: 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); + msm_dsi_host_snapshot(disp_state, msm_dsi->host); } diff --git a/drivers/gpu/drm/msm/dsi/dsi.h b/drivers/gpu/drm/msm/dsi/dsi.h index e26223c3b6ec..b5679cf89413 100644 --- a/drivers/gpu/drm/msm/dsi/dsi.h +++ b/drivers/gpu/drm/msm/dsi/dsi.h @@ -91,7 +91,7 @@ static inline bool msm_dsi_device_connected(struct msm_dsi *msm_dsi) return msm_dsi->panel || msm_dsi->external_bridge; } -void msm_dsi_snapshot(struct msm_dsi *msm_dsi); +void msm_dsi_snapshot(struct msm_disp_state *disp_state, struct msm_dsi *msm_dsi); struct drm_encoder *msm_dsi_get_encoder(struct msm_dsi *msm_dsi); @@ -149,7 +149,7 @@ int dsi_clk_init_v2(struct msm_dsi_host *msm_host); int dsi_clk_init_6g_v2(struct msm_dsi_host *msm_host); int dsi_calc_clk_rate_v2(struct msm_dsi_host *msm_host, bool is_dual_dsi); int dsi_calc_clk_rate_6g(struct msm_dsi_host *msm_host, bool is_dual_dsi); -void msm_dsi_host_snapshot(struct mipi_dsi_host *host); +void msm_dsi_host_snapshot(struct msm_disp_state *disp_state, struct mipi_dsi_host *host); /* dsi phy */ struct msm_dsi_phy; struct msm_dsi_phy_shared_timings { diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c index 899b6fc2b634..1a63368c3912 100644 --- a/drivers/gpu/drm/msm/dsi/dsi_host.c +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c @@ -2488,13 +2488,9 @@ struct drm_bridge *msm_dsi_host_get_bridge(struct mipi_dsi_host *host) return of_drm_find_bridge(msm_host->device_node); } -void msm_dsi_host_snapshot(struct mipi_dsi_host *host) +void msm_dsi_host_snapshot(struct msm_disp_state *disp_state, struct mipi_dsi_host *host) { struct msm_dsi_host *msm_host = to_msm_dsi_host(host); - struct drm_device *dev = msm_host->dev; - struct msm_disp_state *disp_state; - - disp_state = msm_disp_state_get(dev); pm_runtime_get_sync(&msm_host->pdev->dev); diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h index 9c40bac8a050..15cb34451ded 100644 --- a/drivers/gpu/drm/msm/msm_drv.h +++ b/drivers/gpu/drm/msm/msm_drv.h @@ -367,7 +367,8 @@ void msm_dp_display_mode_set(struct msm_dp *dp, struct drm_encoder *encoder, struct drm_display_mode *mode, struct drm_display_mode *adjusted_mode); void msm_dp_irq_postinstall(struct msm_dp *dp_display); -void msm_dp_snapshot(struct msm_dp *dp_display); +struct msm_disp_state; +void msm_dp_snapshot(struct msm_disp_state *disp_state, struct msm_dp *dp_display); void msm_dp_debugfs_init(struct msm_dp *dp_display, struct drm_minor *minor); diff --git a/drivers/gpu/drm/msm/msm_kms.h b/drivers/gpu/drm/msm/msm_kms.h index b31fdad3f055..146dcab123f4 100644 --- a/drivers/gpu/drm/msm/msm_kms.h +++ b/drivers/gpu/drm/msm/msm_kms.h @@ -124,7 +124,7 @@ struct msm_kms_funcs { void (*destroy)(struct msm_kms *kms); /* snapshot: */ - void (*snapshot)(struct msm_kms *kms); + void (*snapshot)(struct msm_disp_state *disp_state, struct msm_kms *kms); #ifdef CONFIG_DEBUG_FS /* debugfs: */ |