Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5f56d5f9 authored by Tvrtko Ursulin's avatar Tvrtko Ursulin
Browse files

drm/i915: dev_priv cleanup in i915_gpu_error.c



And a little bit of cascaded function prototype changes.

Signed-off-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
parent 118bb9fb
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -3503,7 +3503,7 @@ extern void intel_overlay_print_error_state(struct drm_i915_error_state_buf *e,
extern struct intel_display_error_state *
extern struct intel_display_error_state *
intel_display_capture_error_state(struct drm_i915_private *dev_priv);
intel_display_capture_error_state(struct drm_i915_private *dev_priv);
extern void intel_display_print_error_state(struct drm_i915_error_state_buf *e,
extern void intel_display_print_error_state(struct drm_i915_error_state_buf *e,
					    struct drm_device *dev,
					    struct drm_i915_private *dev_priv,
					    struct intel_display_error_state *error);
					    struct intel_display_error_state *error);


int sandybridge_pcode_read(struct drm_i915_private *dev_priv, u32 mbox, u32 *val);
int sandybridge_pcode_read(struct drm_i915_private *dev_priv, u32 mbox, u32 *val);
+9 −11
Original line number Original line Diff line number Diff line
@@ -528,8 +528,7 @@ static void err_print_capabilities(struct drm_i915_error_state_buf *m,
int i915_error_state_to_str(struct drm_i915_error_state_buf *m,
int i915_error_state_to_str(struct drm_i915_error_state_buf *m,
			    const struct i915_error_state_file_priv *error_priv)
			    const struct i915_error_state_file_priv *error_priv)
{
{
	struct drm_device *dev = error_priv->dev;
	struct drm_i915_private *dev_priv = to_i915(error_priv->dev);
	struct drm_i915_private *dev_priv = to_i915(dev);
	struct pci_dev *pdev = dev_priv->drm.pdev;
	struct pci_dev *pdev = dev_priv->drm.pdev;
	struct drm_i915_error_state *error = error_priv->error;
	struct drm_i915_error_state *error = error_priv->error;
	struct drm_i915_error_object *obj;
	struct drm_i915_error_object *obj;
@@ -585,7 +584,7 @@ int i915_error_state_to_str(struct drm_i915_error_state_buf *m,


	err_printf(m, "EIR: 0x%08x\n", error->eir);
	err_printf(m, "EIR: 0x%08x\n", error->eir);
	err_printf(m, "IER: 0x%08x\n", error->ier);
	err_printf(m, "IER: 0x%08x\n", error->ier);
	if (INTEL_INFO(dev)->gen >= 8) {
	if (INTEL_GEN(dev_priv) >= 8) {
		for (i = 0; i < 4; i++)
		for (i = 0; i < 4; i++)
			err_printf(m, "GTIER gt %d: 0x%08x\n", i,
			err_printf(m, "GTIER gt %d: 0x%08x\n", i,
				   error->gtier[i]);
				   error->gtier[i]);
@@ -600,10 +599,10 @@ int i915_error_state_to_str(struct drm_i915_error_state_buf *m,
	for (i = 0; i < dev_priv->num_fence_regs; i++)
	for (i = 0; i < dev_priv->num_fence_regs; i++)
		err_printf(m, "  fence[%d] = %08llx\n", i, error->fence[i]);
		err_printf(m, "  fence[%d] = %08llx\n", i, error->fence[i]);


	if (INTEL_INFO(dev)->gen >= 6) {
	if (INTEL_GEN(dev_priv) >= 6) {
		err_printf(m, "ERROR: 0x%08x\n", error->error);
		err_printf(m, "ERROR: 0x%08x\n", error->error);


		if (INTEL_INFO(dev)->gen >= 8)
		if (INTEL_GEN(dev_priv) >= 8)
			err_printf(m, "FAULT_TLB_DATA: 0x%08x 0x%08x\n",
			err_printf(m, "FAULT_TLB_DATA: 0x%08x 0x%08x\n",
				   error->fault_data1, error->fault_data0);
				   error->fault_data1, error->fault_data0);


@@ -708,7 +707,7 @@ int i915_error_state_to_str(struct drm_i915_error_state_buf *m,
		intel_overlay_print_error_state(m, error->overlay);
		intel_overlay_print_error_state(m, error->overlay);


	if (error->display)
	if (error->display)
		intel_display_print_error_state(m, dev, error->display);
		intel_display_print_error_state(m, dev_priv, error->display);


out:
out:
	if (m->bytes == 0 && m->err)
	if (m->bytes == 0 && m->err)
@@ -1443,7 +1442,6 @@ static void i915_gem_capture_guc_log_buffer(struct drm_i915_private *dev_priv,
static void i915_capture_reg_state(struct drm_i915_private *dev_priv,
static void i915_capture_reg_state(struct drm_i915_private *dev_priv,
				   struct drm_i915_error_state *error)
				   struct drm_i915_error_state *error)
{
{
	struct drm_device *dev = &dev_priv->drm;
	int i;
	int i;


	/* General organization
	/* General organization
@@ -1464,7 +1462,7 @@ static void i915_capture_reg_state(struct drm_i915_private *dev_priv,
	if (IS_GEN7(dev_priv))
	if (IS_GEN7(dev_priv))
		error->err_int = I915_READ(GEN7_ERR_INT);
		error->err_int = I915_READ(GEN7_ERR_INT);


	if (INTEL_INFO(dev)->gen >= 8) {
	if (INTEL_GEN(dev_priv) >= 8) {
		error->fault_data0 = I915_READ(GEN8_FAULT_TLB_DATA0);
		error->fault_data0 = I915_READ(GEN8_FAULT_TLB_DATA0);
		error->fault_data1 = I915_READ(GEN8_FAULT_TLB_DATA1);
		error->fault_data1 = I915_READ(GEN8_FAULT_TLB_DATA1);
	}
	}
@@ -1476,10 +1474,10 @@ static void i915_capture_reg_state(struct drm_i915_private *dev_priv,
	}
	}


	/* 2: Registers which belong to multiple generations */
	/* 2: Registers which belong to multiple generations */
	if (INTEL_INFO(dev)->gen >= 7)
	if (INTEL_GEN(dev_priv) >= 7)
		error->forcewake = I915_READ_FW(FORCEWAKE_MT);
		error->forcewake = I915_READ_FW(FORCEWAKE_MT);


	if (INTEL_INFO(dev)->gen >= 6) {
	if (INTEL_GEN(dev_priv) >= 6) {
		error->derrmr = I915_READ(DERRMR);
		error->derrmr = I915_READ(DERRMR);
		error->error = I915_READ(ERROR_GEN6);
		error->error = I915_READ(ERROR_GEN6);
		error->done_reg = I915_READ(DONE_REG);
		error->done_reg = I915_READ(DONE_REG);
@@ -1495,7 +1493,7 @@ static void i915_capture_reg_state(struct drm_i915_private *dev_priv,
	if (HAS_HW_CONTEXTS(dev_priv))
	if (HAS_HW_CONTEXTS(dev_priv))
		error->ccid = I915_READ(CCID);
		error->ccid = I915_READ(CCID);


	if (INTEL_INFO(dev)->gen >= 8) {
	if (INTEL_GEN(dev_priv) >= 8) {
		error->ier = I915_READ(GEN8_DE_MISC_IER);
		error->ier = I915_READ(GEN8_DE_MISC_IER);
		for (i = 0; i < 4; i++)
		for (i = 0; i < 4; i++)
			error->gtier[i] = I915_READ(GEN8_GT_IER(i));
			error->gtier[i] = I915_READ(GEN8_GT_IER(i));
+3 −4
Original line number Original line Diff line number Diff line
@@ -17338,10 +17338,9 @@ intel_display_capture_error_state(struct drm_i915_private *dev_priv)


void
void
intel_display_print_error_state(struct drm_i915_error_state_buf *m,
intel_display_print_error_state(struct drm_i915_error_state_buf *m,
				struct drm_device *dev,
				struct drm_i915_private *dev_priv,
				struct intel_display_error_state *error)
				struct intel_display_error_state *error)
{
{
	struct drm_i915_private *dev_priv = to_i915(dev);
	int i;
	int i;


	if (!error)
	if (!error)
@@ -17361,13 +17360,13 @@ intel_display_print_error_state(struct drm_i915_error_state_buf *m,
		err_printf(m, "Plane [%d]:\n", i);
		err_printf(m, "Plane [%d]:\n", i);
		err_printf(m, "  CNTR: %08x\n", error->plane[i].control);
		err_printf(m, "  CNTR: %08x\n", error->plane[i].control);
		err_printf(m, "  STRIDE: %08x\n", error->plane[i].stride);
		err_printf(m, "  STRIDE: %08x\n", error->plane[i].stride);
		if (INTEL_INFO(dev)->gen <= 3) {
		if (INTEL_GEN(dev_priv) <= 3) {
			err_printf(m, "  SIZE: %08x\n", error->plane[i].size);
			err_printf(m, "  SIZE: %08x\n", error->plane[i].size);
			err_printf(m, "  POS: %08x\n", error->plane[i].pos);
			err_printf(m, "  POS: %08x\n", error->plane[i].pos);
		}
		}
		if (INTEL_GEN(dev_priv) <= 7 && !IS_HASWELL(dev_priv))
		if (INTEL_GEN(dev_priv) <= 7 && !IS_HASWELL(dev_priv))
			err_printf(m, "  ADDR: %08x\n", error->plane[i].addr);
			err_printf(m, "  ADDR: %08x\n", error->plane[i].addr);
		if (INTEL_INFO(dev)->gen >= 4) {
		if (INTEL_GEN(dev_priv) >= 4) {
			err_printf(m, "  SURF: %08x\n", error->plane[i].surface);
			err_printf(m, "  SURF: %08x\n", error->plane[i].surface);
			err_printf(m, "  TILEOFF: %08x\n", error->plane[i].tile_offset);
			err_printf(m, "  TILEOFF: %08x\n", error->plane[i].tile_offset);
		}
		}