Lines Matching refs:drm_dev
45 int rockchip_drm_dma_attach_device(struct drm_device *drm_dev, in rockchip_drm_dma_attach_device() argument
48 struct rockchip_drm_private *private = drm_dev->dev_private; in rockchip_drm_dma_attach_device()
63 void rockchip_drm_dma_detach_device(struct drm_device *drm_dev, in rockchip_drm_dma_detach_device() argument
66 struct rockchip_drm_private *private = drm_dev->dev_private; in rockchip_drm_dma_detach_device()
75 static int rockchip_drm_init_iommu(struct drm_device *drm_dev) in rockchip_drm_init_iommu() argument
77 struct rockchip_drm_private *private = drm_dev->dev_private; in rockchip_drm_init_iommu()
100 static void rockchip_iommu_cleanup(struct drm_device *drm_dev) in rockchip_iommu_cleanup() argument
102 struct rockchip_drm_private *private = drm_dev->dev_private; in rockchip_iommu_cleanup()
113 struct drm_device *drm_dev; in rockchip_drm_bind() local
117 drm_dev = drm_dev_alloc(&rockchip_drm_driver, dev); in rockchip_drm_bind()
118 if (IS_ERR(drm_dev)) in rockchip_drm_bind()
119 return PTR_ERR(drm_dev); in rockchip_drm_bind()
121 dev_set_drvdata(dev, drm_dev); in rockchip_drm_bind()
123 private = devm_kzalloc(drm_dev->dev, sizeof(*private), GFP_KERNEL); in rockchip_drm_bind()
129 drm_dev->dev_private = private; in rockchip_drm_bind()
134 ret = rockchip_drm_init_iommu(drm_dev); in rockchip_drm_bind()
138 ret = drmm_mode_config_init(drm_dev); in rockchip_drm_bind()
142 rockchip_drm_mode_config_init(drm_dev); in rockchip_drm_bind()
145 ret = component_bind_all(dev, drm_dev); in rockchip_drm_bind()
149 ret = drm_vblank_init(drm_dev, drm_dev->mode_config.num_crtc); in rockchip_drm_bind()
153 drm_mode_config_reset(drm_dev); in rockchip_drm_bind()
159 drm_dev->irq_enabled = true; in rockchip_drm_bind()
161 ret = rockchip_drm_fbdev_init(drm_dev); in rockchip_drm_bind()
166 drm_kms_helper_poll_init(drm_dev); in rockchip_drm_bind()
168 ret = drm_dev_register(drm_dev, 0); in rockchip_drm_bind()
174 drm_kms_helper_poll_fini(drm_dev); in rockchip_drm_bind()
175 rockchip_drm_fbdev_fini(drm_dev); in rockchip_drm_bind()
177 component_unbind_all(dev, drm_dev); in rockchip_drm_bind()
179 rockchip_iommu_cleanup(drm_dev); in rockchip_drm_bind()
181 drm_dev_put(drm_dev); in rockchip_drm_bind()
187 struct drm_device *drm_dev = dev_get_drvdata(dev); in rockchip_drm_unbind() local
189 drm_dev_unregister(drm_dev); in rockchip_drm_unbind()
191 rockchip_drm_fbdev_fini(drm_dev); in rockchip_drm_unbind()
192 drm_kms_helper_poll_fini(drm_dev); in rockchip_drm_unbind()
194 drm_atomic_helper_shutdown(drm_dev); in rockchip_drm_unbind()
195 component_unbind_all(dev, drm_dev); in rockchip_drm_unbind()
196 rockchip_iommu_cleanup(drm_dev); in rockchip_drm_unbind()
198 drm_dev_put(drm_dev); in rockchip_drm_unbind()