Lines Matching refs:drm

45 static inline struct zynqmp_dpsub *to_zynqmp_dpsub(struct drm_device *drm)  in to_zynqmp_dpsub()  argument
47 return container_of(drm, struct zynqmp_dpsub_drm, dev)->dpsub; in to_zynqmp_dpsub()
149 for (i = 0; i < ARRAY_SIZE(dpsub->drm->planes); i++) { in zynqmp_dpsub_create_planes()
151 struct drm_plane *plane = &dpsub->drm->planes[i]; in zynqmp_dpsub_create_planes()
163 ret = drm_universal_plane_init(&dpsub->drm->dev, plane, 0, in zynqmp_dpsub_create_planes()
315 struct drm_plane *plane = &dpsub->drm->planes[ZYNQMP_DPSUB_LAYER_GFX]; in zynqmp_dpsub_create_crtc()
316 struct drm_crtc *crtc = &dpsub->drm->crtc; in zynqmp_dpsub_create_crtc()
319 ret = drm_crtc_init_with_planes(&dpsub->drm->dev, crtc, plane, in zynqmp_dpsub_create_crtc()
334 u32 possible_crtcs = drm_crtc_mask(&dpsub->drm->crtc); in zynqmp_dpsub_map_crtc_to_plane()
337 for (i = 0; i < ARRAY_SIZE(dpsub->drm->planes); i++) in zynqmp_dpsub_map_crtc_to_plane()
338 dpsub->drm->planes[i].possible_crtcs = possible_crtcs; in zynqmp_dpsub_map_crtc_to_plane()
350 drm_crtc_handle_vblank(&dpsub->drm->crtc); in zynqmp_dpsub_drm_handle_vblank()
358 struct drm_device *drm, in zynqmp_dpsub_dumb_create() argument
361 struct zynqmp_dpsub *dpsub = to_zynqmp_dpsub(drm); in zynqmp_dpsub_dumb_create()
367 return drm_gem_dma_dumb_create_internal(file_priv, drm, args); in zynqmp_dpsub_dumb_create()
371 zynqmp_dpsub_fb_create(struct drm_device *drm, struct drm_file *file_priv, in zynqmp_dpsub_fb_create() argument
374 struct zynqmp_dpsub *dpsub = to_zynqmp_dpsub(drm); in zynqmp_dpsub_fb_create()
382 return drm_gem_fb_create(drm, file_priv, &cmd); in zynqmp_dpsub_fb_create()
414 struct drm_encoder *encoder = &dpsub->drm->encoder; in zynqmp_dpsub_kms_init()
430 encoder->possible_crtcs |= drm_crtc_mask(&dpsub->drm->crtc); in zynqmp_dpsub_kms_init()
431 drm_simple_encoder_init(&dpsub->drm->dev, encoder, DRM_MODE_ENCODER_NONE); in zynqmp_dpsub_kms_init()
441 connector = drm_bridge_connector_init(&dpsub->drm->dev, encoder); in zynqmp_dpsub_kms_init()
456 static void zynqmp_dpsub_drm_release(struct drm_device *drm, void *res) in zynqmp_dpsub_drm_release() argument
466 struct drm_device *drm; in zynqmp_dpsub_drm_init() local
481 drm = &dpdrm->dev; in zynqmp_dpsub_drm_init()
483 ret = drmm_add_action(drm, zynqmp_dpsub_drm_release, dpdrm); in zynqmp_dpsub_drm_init()
487 dpsub->drm = dpdrm; in zynqmp_dpsub_drm_init()
490 ret = drmm_mode_config_init(drm); in zynqmp_dpsub_drm_init()
494 drm->mode_config.funcs = &zynqmp_dpsub_mode_config_funcs; in zynqmp_dpsub_drm_init()
495 drm->mode_config.min_width = 0; in zynqmp_dpsub_drm_init()
496 drm->mode_config.min_height = 0; in zynqmp_dpsub_drm_init()
497 drm->mode_config.max_width = ZYNQMP_DISP_MAX_WIDTH; in zynqmp_dpsub_drm_init()
498 drm->mode_config.max_height = ZYNQMP_DISP_MAX_HEIGHT; in zynqmp_dpsub_drm_init()
500 ret = drm_vblank_init(drm, 1); in zynqmp_dpsub_drm_init()
504 drm_kms_helper_poll_init(drm); in zynqmp_dpsub_drm_init()
511 drm_mode_config_reset(drm); in zynqmp_dpsub_drm_init()
513 ret = drm_dev_register(drm, 0); in zynqmp_dpsub_drm_init()
518 drm_fbdev_generic_setup(drm, 24); in zynqmp_dpsub_drm_init()
523 drm_kms_helper_poll_fini(drm); in zynqmp_dpsub_drm_init()
529 struct drm_device *drm = &dpsub->drm->dev; in zynqmp_dpsub_drm_cleanup() local
531 drm_dev_unregister(drm); in zynqmp_dpsub_drm_cleanup()
532 drm_atomic_helper_shutdown(drm); in zynqmp_dpsub_drm_cleanup()
533 drm_kms_helper_poll_fini(drm); in zynqmp_dpsub_drm_cleanup()