Thread (12 messages) 12 messages, 3 authors, 2014-11-19

Re: [PATCH v12 1/3] drm: rockchip: Add basic drm driver

From: Mark yao <hidden>
Date: 2014-11-18 09:58:15
Also in: dri-devel, linux-devicetree, lkml

On 2014年11月18日 16:32, Daniel Vetter wrote:
On Tue, Nov 18, 2014 at 04:00:29PM +0800, Mark Yao wrote:
quoted
From: Mark yao <redacted>

This patch adds the basic structure of a DRM Driver for Rockchip Socs.

Signed-off-by: Mark Yao <redacted>
Signed-off-by: Daniel Kurtz <redacted>
Acked-by: Daniel Vetter <redacted>
Reviewed-by: Rob Clark <redacted>
---
Changes in v2:
- use the component framework to defer main drm driver probe
   until all VOP devices have been probed.
- use dma-mapping API with ARM_DMA_USE_IOMMU, create dma mapping by
   master device and each vop device can shared the drm dma mapping.
- use drm_crtc_init_with_planes and drm_universal_plane_init.
- remove unnecessary middle layers.
- add cursor set, move funcs to rockchip drm crtc.
- use vop reset at first init
- reference framebuffer when used and unreference when swap out vop

Changes in v3:
- change "crtc->fb" to "crtc->primary-fb"
Adviced by Daniel Vetter
- init cursor plane with universal api, remove unnecessary cursor set,move

Changes in v4:
Adviced by David Herrmann
- remove drm_platform_*() usage, use register drm device directly.
Minor fixup for that part below.

[snip]
quoted
+static int rockchip_drm_bind(struct device *dev)
+{
+	struct drm_device *drm;
+	int ret;
+
+	drm = drm_dev_alloc(&rockchip_drm_driver, dev);
+	if (!drm)
+		return -ENOMEM;
+
+	ret = drm_dev_set_unique(drm, "%s", dev_name(dev));
+	if (ret)
+		goto err_free;
Please call rockchip_drm_load here directly and don't put it as the ->load
function into the driver vtable. The point of the alloc/register split is
that the driver can be completely set up _before_ we register anything.
But for backwards compat and historical reasons ->load is called somewhere
in the middle (so that you could access the minor nodes if needed, since
some drivers do that).

Cheers, Daniel
OK, got it.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help