Commit eb9d6c7e authored by Dmitry Baryshkov's avatar Dmitry Baryshkov Committed by Rob Clark
Browse files

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: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: default avatarAbhinav Kumar <abhinavk@codeaurora.org>
Link: https://lore.kernel.org/r/20210427001828.2375555-2-dmitry.baryshkov@linaro.org


Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
parent 2ec5b3dc
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -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);

+0 −8
Original line number Diff line number Diff line
@@ -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
+3 −14
Original line number Diff line number Diff line
@@ -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);
}
+1 −3
Original line number Diff line number Diff line
@@ -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
+2 −2
Original line number Diff line number Diff line
@@ -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);
	msm_dsi_host_snapshot(disp_state, msm_dsi->host);
}
Loading