Lines Matching refs:drm_dev

50 int rockchip_drm_dma_attach_device(struct drm_device *drm_dev,  in rockchip_drm_dma_attach_device()  argument
53 struct rockchip_drm_private *private = drm_dev->dev_private; in rockchip_drm_dma_attach_device()
68 void rockchip_drm_dma_detach_device(struct drm_device *drm_dev, in rockchip_drm_dma_detach_device() argument
71 struct rockchip_drm_private *private = drm_dev->dev_private; in rockchip_drm_dma_detach_device()
80 static int rockchip_drm_init_iommu(struct drm_device *drm_dev) in rockchip_drm_init_iommu() argument
82 struct rockchip_drm_private *private = drm_dev->dev_private; in rockchip_drm_init_iommu()
105 static void rockchip_iommu_cleanup(struct drm_device *drm_dev) in rockchip_iommu_cleanup() argument
107 struct rockchip_drm_private *private = drm_dev->dev_private; in rockchip_iommu_cleanup()
118 struct drm_device *drm_dev; in rockchip_drm_bind() local
122 drm_dev = drm_dev_alloc(&rockchip_drm_driver, dev); in rockchip_drm_bind()
123 if (IS_ERR(drm_dev)) in rockchip_drm_bind()
124 return PTR_ERR(drm_dev); in rockchip_drm_bind()
126 dev_set_drvdata(dev, drm_dev); in rockchip_drm_bind()
128 private = devm_kzalloc(drm_dev->dev, sizeof(*private), GFP_KERNEL); in rockchip_drm_bind()
134 drm_dev->dev_private = private; in rockchip_drm_bind()
139 ret = rockchip_drm_init_iommu(drm_dev); in rockchip_drm_bind()
143 drm_mode_config_init(drm_dev); in rockchip_drm_bind()
145 rockchip_drm_mode_config_init(drm_dev); in rockchip_drm_bind()
148 ret = component_bind_all(dev, drm_dev); in rockchip_drm_bind()
152 ret = drm_vblank_init(drm_dev, drm_dev->mode_config.num_crtc); in rockchip_drm_bind()
156 drm_mode_config_reset(drm_dev); in rockchip_drm_bind()
162 drm_dev->irq_enabled = true; in rockchip_drm_bind()
164 ret = rockchip_drm_fbdev_init(drm_dev); in rockchip_drm_bind()
169 drm_kms_helper_poll_init(drm_dev); in rockchip_drm_bind()
171 ret = drm_dev_register(drm_dev, 0); in rockchip_drm_bind()
177 drm_kms_helper_poll_fini(drm_dev); in rockchip_drm_bind()
178 rockchip_drm_fbdev_fini(drm_dev); in rockchip_drm_bind()
180 component_unbind_all(dev, drm_dev); in rockchip_drm_bind()
182 drm_mode_config_cleanup(drm_dev); in rockchip_drm_bind()
183 rockchip_iommu_cleanup(drm_dev); in rockchip_drm_bind()
185 drm_dev->dev_private = NULL; in rockchip_drm_bind()
187 drm_dev_unref(drm_dev); in rockchip_drm_bind()
193 struct drm_device *drm_dev = dev_get_drvdata(dev); in rockchip_drm_unbind() local
195 drm_dev_unregister(drm_dev); in rockchip_drm_unbind()
197 rockchip_drm_fbdev_fini(drm_dev); in rockchip_drm_unbind()
198 drm_kms_helper_poll_fini(drm_dev); in rockchip_drm_unbind()
200 drm_atomic_helper_shutdown(drm_dev); in rockchip_drm_unbind()
201 component_unbind_all(dev, drm_dev); in rockchip_drm_unbind()
202 drm_mode_config_cleanup(drm_dev); in rockchip_drm_unbind()
203 rockchip_iommu_cleanup(drm_dev); in rockchip_drm_unbind()
205 drm_dev->dev_private = NULL; in rockchip_drm_unbind()
207 drm_dev_unref(drm_dev); in rockchip_drm_unbind()