Commit bc662528 authored by Daniel Vetter's avatar Daniel Vetter
Browse files

drm/v3d: Delete v3d_dev->dev



We already have it in v3d_dev->drm.dev with zero additional pointer
chasing. Personally I don't like duplicated pointers like this
because:
- reviewers need to check whether the pointer is for the same or
  different objects if there's multiple
- compilers have an easier time too

But also a bit a bikeshed, so feel free to ignore.

Acked-by: default avatarEric Anholt <eric@anholt.net>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
Cc: Eric Anholt <eric@anholt.net>
Link: https://patchwork.freedesktop.org/patch/msgid/20200415074034.175360-10-daniel.vetter@ffwll.ch
parent 235b7e7d
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -132,7 +132,7 @@ static int v3d_v3d_debugfs_ident(struct seq_file *m, void *unused)
	u32 ident0, ident1, ident2, ident3, cores;
	int ret, core;

	ret = pm_runtime_get_sync(v3d->dev);
	ret = pm_runtime_get_sync(v3d->drm.dev);
	if (ret < 0)
		return ret;

@@ -187,8 +187,8 @@ static int v3d_v3d_debugfs_ident(struct seq_file *m, void *unused)
			   (misccfg & V3D_MISCCFG_OVRTMUOUT) != 0);
	}

	pm_runtime_mark_last_busy(v3d->dev);
	pm_runtime_put_autosuspend(v3d->dev);
	pm_runtime_mark_last_busy(v3d->drm.dev);
	pm_runtime_put_autosuspend(v3d->drm.dev);

	return 0;
}
@@ -219,7 +219,7 @@ static int v3d_measure_clock(struct seq_file *m, void *unused)
	int measure_ms = 1000;
	int ret;

	ret = pm_runtime_get_sync(v3d->dev);
	ret = pm_runtime_get_sync(v3d->drm.dev);
	if (ret < 0)
		return ret;

@@ -245,8 +245,8 @@ static int v3d_measure_clock(struct seq_file *m, void *unused)
		   cycles / (measure_ms * 1000),
		   (cycles / (measure_ms * 100)) % 10);

	pm_runtime_mark_last_busy(v3d->dev);
	pm_runtime_put_autosuspend(v3d->dev);
	pm_runtime_mark_last_busy(v3d->drm.dev);
	pm_runtime_put_autosuspend(v3d->drm.dev);

	return 0;
}
+6 −6
Original line number Diff line number Diff line
@@ -105,7 +105,7 @@ static int v3d_get_param_ioctl(struct drm_device *dev, void *data,
		if (args->value != 0)
			return -EINVAL;

		ret = pm_runtime_get_sync(v3d->dev);
		ret = pm_runtime_get_sync(v3d->drm.dev);
		if (ret < 0)
			return ret;
		if (args->param >= DRM_V3D_PARAM_V3D_CORE0_IDENT0 &&
@@ -114,8 +114,8 @@ static int v3d_get_param_ioctl(struct drm_device *dev, void *data,
		} else {
			args->value = V3D_READ(offset);
		}
		pm_runtime_mark_last_busy(v3d->dev);
		pm_runtime_put_autosuspend(v3d->dev);
		pm_runtime_mark_last_busy(v3d->drm.dev);
		pm_runtime_put_autosuspend(v3d->drm.dev);
		return 0;
	}

@@ -237,7 +237,7 @@ map_regs(struct v3d_dev *v3d, void __iomem **regs, const char *name)
	struct resource *res =
		platform_get_resource_byname(v3d->pdev, IORESOURCE_MEM, name);

	*regs = devm_ioremap_resource(v3d->dev, res);
	*regs = devm_ioremap_resource(v3d->drm.dev, res);
	return PTR_ERR_OR_ZERO(*regs);
}

@@ -255,7 +255,6 @@ static int v3d_platform_drm_probe(struct platform_device *pdev)
	if (IS_ERR(v3d))
		return PTR_ERR(v3d);

	v3d->dev = dev;
	v3d->pdev = pdev;
	drm = &v3d->drm;

@@ -345,7 +344,8 @@ static int v3d_platform_drm_remove(struct platform_device *pdev)

	v3d_gem_destroy(drm);

	dma_free_wc(v3d->dev, 4096, v3d->mmu_scratch, v3d->mmu_scratch_paddr);
	dma_free_wc(v3d->drm.dev, 4096, v3d->mmu_scratch,
		    v3d->mmu_scratch_paddr);

	return 0;
}
+0 −2
Original line number Diff line number Diff line
@@ -14,7 +14,6 @@
#include "uapi/drm/v3d_drm.h"

struct clk;
struct device;
struct platform_device;
struct reset_control;

@@ -47,7 +46,6 @@ struct v3d_dev {
	int ver;
	bool single_irq_line;

	struct device *dev;
	struct platform_device *pdev;
	void __iomem *hub_regs;
	void __iomem *core_regs[3];
+9 −8
Original line number Diff line number Diff line
@@ -370,8 +370,8 @@ v3d_job_free(struct kref *ref)
	dma_fence_put(job->irq_fence);
	dma_fence_put(job->done_fence);

	pm_runtime_mark_last_busy(job->v3d->dev);
	pm_runtime_put_autosuspend(job->v3d->dev);
	pm_runtime_mark_last_busy(job->v3d->drm.dev);
	pm_runtime_put_autosuspend(job->v3d->drm.dev);

	kfree(job);
}
@@ -439,7 +439,7 @@ v3d_job_init(struct v3d_dev *v3d, struct drm_file *file_priv,
	job->v3d = v3d;
	job->free = free;

	ret = pm_runtime_get_sync(v3d->dev);
	ret = pm_runtime_get_sync(v3d->drm.dev);
	if (ret < 0)
		return ret;

@@ -458,7 +458,7 @@ v3d_job_init(struct v3d_dev *v3d, struct drm_file *file_priv,
	return 0;
fail:
	xa_destroy(&job->deps);
	pm_runtime_put_autosuspend(v3d->dev);
	pm_runtime_put_autosuspend(v3d->drm.dev);
	return ret;
}

@@ -886,12 +886,12 @@ v3d_gem_init(struct drm_device *dev)
	 */
	drm_mm_init(&v3d->mm, 1, pt_size / sizeof(u32) - 1);

	v3d->pt = dma_alloc_wc(v3d->dev, pt_size,
	v3d->pt = dma_alloc_wc(v3d->drm.dev, pt_size,
			       &v3d->pt_paddr,
			       GFP_KERNEL | __GFP_NOWARN | __GFP_ZERO);
	if (!v3d->pt) {
		drm_mm_takedown(&v3d->mm);
		dev_err(v3d->dev,
		dev_err(v3d->drm.dev,
			"Failed to allocate page tables. "
			"Please ensure you have CMA enabled.\n");
		return -ENOMEM;
@@ -903,7 +903,7 @@ v3d_gem_init(struct drm_device *dev)
	ret = v3d_sched_init(v3d);
	if (ret) {
		drm_mm_takedown(&v3d->mm);
		dma_free_coherent(v3d->dev, 4096 * 1024, (void *)v3d->pt,
		dma_free_coherent(v3d->drm.dev, 4096 * 1024, (void *)v3d->pt,
				  v3d->pt_paddr);
	}

@@ -925,5 +925,6 @@ v3d_gem_destroy(struct drm_device *dev)

	drm_mm_takedown(&v3d->mm);

	dma_free_coherent(v3d->dev, 4096 * 1024, (void *)v3d->pt, v3d->pt_paddr);
	dma_free_coherent(v3d->drm.dev, 4096 * 1024, (void *)v3d->pt,
			  v3d->pt_paddr);
}
+6 −6
Original line number Diff line number Diff line
@@ -128,7 +128,7 @@ v3d_irq(int irq, void *arg)
	 * always-allowed mode.
	 */
	if (intsts & V3D_INT_GMPV)
		dev_err(v3d->dev, "GMP violation\n");
		dev_err(v3d->drm.dev, "GMP violation\n");

	/* V3D 4.2 wires the hub and core IRQs together, so if we &
	 * didn't see the common one then check hub for MMU IRQs.
@@ -189,7 +189,7 @@ v3d_hub_irq(int irq, void *arg)
				client = v3d41_axi_ids[axi_id];
		}

		dev_err(v3d->dev, "MMU error from client %s (%d) at 0x%llx%s%s%s\n",
		dev_err(v3d->drm.dev, "MMU error from client %s (%d) at 0x%llx%s%s%s\n",
			client, axi_id, (long long)vio_addr,
			((intsts & V3D_HUB_INT_MMU_WRV) ?
			 ", write violation" : ""),
@@ -221,12 +221,12 @@ v3d_irq_init(struct v3d_dev *v3d)
	if (irq1 == -EPROBE_DEFER)
		return irq1;
	if (irq1 > 0) {
		ret = devm_request_irq(v3d->dev, irq1,
		ret = devm_request_irq(v3d->drm.dev, irq1,
				       v3d_irq, IRQF_SHARED,
				       "v3d_core0", v3d);
		if (ret)
			goto fail;
		ret = devm_request_irq(v3d->dev, platform_get_irq(v3d->pdev, 0),
		ret = devm_request_irq(v3d->drm.dev, platform_get_irq(v3d->pdev, 0),
				       v3d_hub_irq, IRQF_SHARED,
				       "v3d_hub", v3d);
		if (ret)
@@ -234,7 +234,7 @@ v3d_irq_init(struct v3d_dev *v3d)
	} else {
		v3d->single_irq_line = true;

		ret = devm_request_irq(v3d->dev, platform_get_irq(v3d->pdev, 0),
		ret = devm_request_irq(v3d->drm.dev, platform_get_irq(v3d->pdev, 0),
				       v3d_irq, IRQF_SHARED,
				       "v3d", v3d);
		if (ret)
@@ -246,7 +246,7 @@ v3d_irq_init(struct v3d_dev *v3d)

fail:
	if (ret != -EPROBE_DEFER)
		dev_err(v3d->dev, "IRQ setup failed: %d\n", ret);
		dev_err(v3d->drm.dev, "IRQ setup failed: %d\n", ret);
	return ret;
}

Loading