| /linux/drivers/gpu/drm/tidss/ |
| H A D | tidss_irq.c | 18 static void tidss_irq_update(struct tidss_device *tidss) in tidss_irq_update() argument 20 assert_spin_locked(&tidss->irq_lock); in tidss_irq_update() 22 dispc_set_irqenable(tidss->dispc, tidss->irq_mask); in tidss_irq_update() 28 struct tidss_device *tidss = to_tidss(ddev); in tidss_irq_enable_vblank() local 33 spin_lock_irqsave(&tidss->irq_lock, flags); in tidss_irq_enable_vblank() 34 tidss->irq_mask |= DSS_IRQ_VP_VSYNC_EVEN(hw_videoport) | in tidss_irq_enable_vblank() 36 tidss_irq_update(tidss); in tidss_irq_enable_vblank() 37 spin_unlock_irqrestore(&tidss->irq_lock, flags); in tidss_irq_enable_vblank() 43 struct tidss_device *tidss = to_tidss(ddev); in tidss_irq_disable_vblank() local 48 spin_lock_irqsave(&tidss->irq_lock, flags); in tidss_irq_disable_vblank() [all …]
|
| H A D | tidss_drv.c | 32 int tidss_runtime_get(struct tidss_device *tidss) in tidss_runtime_get() argument 36 r = pm_runtime_resume_and_get(tidss->dev); in tidss_runtime_get() 41 void tidss_runtime_put(struct tidss_device *tidss) in tidss_runtime_put() argument 45 pm_runtime_mark_last_busy(tidss->dev); in tidss_runtime_put() 47 r = pm_runtime_put_autosuspend(tidss->dev); in tidss_runtime_put() 53 struct tidss_device *tidss = dev_get_drvdata(dev); in tidss_pm_runtime_suspend() local 55 return dispc_runtime_suspend(tidss->dispc); in tidss_pm_runtime_suspend() 60 struct tidss_device *tidss = dev_get_drvdata(dev); in tidss_pm_runtime_resume() local 63 r = dispc_runtime_resume(tidss->dispc); in tidss_pm_runtime_resume() 72 struct tidss_device *tidss = dev_get_drvdata(dev); in tidss_suspend() local [all …]
|
| H A D | tidss_kms.c | 25 struct tidss_device *tidss = to_tidss(ddev); in tidss_atomic_commit_tail() local 27 tidss_runtime_get(tidss); in tidss_atomic_commit_tail() 62 tidss_runtime_put(tidss); in tidss_atomic_commit_tail() 125 static int tidss_dispc_modeset_init(struct tidss_device *tidss) in tidss_dispc_modeset_init() argument 127 struct device *dev = tidss->dev; in tidss_dispc_modeset_init() 129 const u32 *fourccs = dispc_plane_formats(tidss->dispc, &fourccs_len); in tidss_dispc_modeset_init() 138 const struct dispc_features *feat = tidss->feat; in tidss_dispc_modeset_init() 213 u32 hw_plane_id = feat->vid_order[tidss->num_planes]; in tidss_dispc_modeset_init() 216 tplane = tidss_plane_create(tidss, hw_plane_id, in tidss_dispc_modeset_init() 220 dev_err(tidss->dev, "plane create failed\n"); in tidss_dispc_modeset_init() [all …]
|
| H A D | tidss_crtc.c | 25 struct tidss_device *tidss = to_tidss(ddev); in tidss_crtc_finish_page_flip() local 38 busy = dispc_vp_go_busy(tidss->dispc, tcrtc->hw_videoport); in tidss_crtc_finish_page_flip() 91 struct tidss_device *tidss = to_tidss(ddev); in tidss_crtc_atomic_check() local 92 struct dispc_device *dispc = tidss->dispc; in tidss_crtc_atomic_check() 121 static void tidss_crtc_position_planes(struct tidss_device *tidss, in tidss_crtc_position_planes() argument 135 for (layer = 0; layer < tidss->feat->num_vids ; layer++) { in tidss_crtc_position_planes() 154 dispc_ovr_set_plane(tidss->dispc, tplane->hw_plane_id, in tidss_crtc_position_planes() 159 dispc_ovr_enable_layer(tidss->dispc, tcrtc->hw_videoport, layer, in tidss_crtc_position_planes() 171 struct tidss_device *tidss = to_tidss(ddev); in tidss_crtc_atomic_flush() local 187 if (WARN_ON(dispc_vp_go_busy(tidss->dispc, tcrtc->hw_videoport))) in tidss_crtc_atomic_flush() [all …]
|
| H A D | tidss_encoder.c | 27 struct tidss_device *tidss; member 52 struct tidss_device *tidss = t_enc->tidss; in tidss_bridge_atomic_check() local 68 dev_err(tidss->dev, "%s: No bus_formats in connected display\n", in tidss_bridge_atomic_check() 84 int tidss_encoder_create(struct tidss_device *tidss, in tidss_encoder_create() argument 93 t_enc = devm_drm_bridge_alloc(tidss->dev, struct tidss_encoder, in tidss_encoder_create() 98 ret = drm_simple_encoder_init(&tidss->ddev, &t_enc->encoder, in tidss_encoder_create() 103 t_enc->tidss = tidss; in tidss_encoder_create() 113 dev_err(tidss->dev, "bridge attach failed: %d\n", ret); in tidss_encoder_create() 118 connector = drm_bridge_connector_init(&tidss->ddev, enc); in tidss_encoder_create() 120 dev_err(tidss->dev, "bridge_connector create failed\n"); in tidss_encoder_create() [all …]
|
| H A D | tidss_oldi.c | 24 struct tidss_device *tidss; member 215 ret = tidss_configure_oldi(oldi->tidss, oldi->parent_vp, oldi_cfg); in tidss_oldi_config() 275 tidss_disable_oldi(oldi->tidss, oldi->parent_vp); in tidss_oldi_atomic_post_disable() 448 void tidss_oldi_deinit(struct tidss_device *tidss) in tidss_oldi_deinit() argument 450 for (int i = 0; i < tidss->num_oldis; i++) { in tidss_oldi_deinit() 451 if (tidss->oldis[i]) { in tidss_oldi_deinit() 452 drm_bridge_remove(&tidss->oldis[i]->bridge); in tidss_oldi_deinit() 453 tidss->is_ext_vp_clk[tidss->oldis[i]->parent_vp] = false; in tidss_oldi_deinit() 454 tidss->oldis[i] = NULL; in tidss_oldi_deinit() 459 int tidss_oldi_init(struct tidss_device *tidss) in tidss_oldi_init() argument [all …]
|
| H A D | tidss_plane.c | 37 struct tidss_device *tidss = to_tidss(ddev); in tidss_plane_atomic_check() local 107 ret = dispc_plane_check(tidss->dispc, hw_plane, new_plane_state, in tidss_plane_atomic_check() 119 struct tidss_device *tidss = to_tidss(ddev); in tidss_plane_atomic_update() local 126 dispc_plane_enable(tidss->dispc, tplane->hw_plane_id, false); in tidss_plane_atomic_update() 132 dispc_plane_setup(tidss->dispc, tplane->hw_plane_id, new_state, hw_videoport); in tidss_plane_atomic_update() 139 struct tidss_device *tidss = to_tidss(ddev); in tidss_plane_atomic_enable() local 142 dispc_plane_enable(tidss->dispc, tplane->hw_plane_id, true); in tidss_plane_atomic_enable() 149 struct tidss_device *tidss = to_tidss(ddev); in tidss_plane_atomic_disable() local 152 dispc_plane_enable(tidss->dispc, tplane->hw_plane_id, false); in tidss_plane_atomic_disable() 187 struct tidss_plane *tidss_plane_create(struct tidss_device *tidss, in tidss_plane_create() argument [all …]
|
| H A D | tidss_dispc.h | 104 int tidss_configure_oldi(struct tidss_device *tidss, u32 hw_videoport, 106 void tidss_disable_oldi(struct tidss_device *tidss, u32 hw_videoport); 148 int dispc_init(struct tidss_device *tidss); 149 void dispc_remove(struct tidss_device *tidss);
|
| H A D | Makefile | 3 tidss-y := tidss_crtc.o \ 13 obj-$(CONFIG_DRM_TIDSS) += tidss.o
|
| H A D | tidss_oldi.h | 40 int tidss_oldi_init(struct tidss_device *tidss); 41 void tidss_oldi_deinit(struct tidss_device *tidss);
|
| H A D | tidss_drv.h | 48 int tidss_runtime_get(struct tidss_device *tidss); 49 void tidss_runtime_put(struct tidss_device *tidss);
|
| H A D | tidss_dispc.c | 454 struct tidss_device *tidss; member 537 int tidss_configure_oldi(struct tidss_device *tidss, u32 hw_videoport, in tidss_configure_oldi() argument 543 dispc_vp_write(tidss->dispc, hw_videoport, DISPC_VP_DSS_OLDI_CFG, oldi_cfg); in tidss_configure_oldi() 545 while (!(oldi_reset_bit & dispc_read(tidss->dispc, DSS_SYSSTATUS)) && in tidss_configure_oldi() 549 if (!(oldi_reset_bit & dispc_read(tidss->dispc, DSS_SYSSTATUS))) in tidss_configure_oldi() 555 void tidss_disable_oldi(struct tidss_device *tidss, u32 hw_videoport) in tidss_disable_oldi() argument 557 dispc_vp_write(tidss->dispc, hw_videoport, DISPC_VP_DSS_OLDI_CFG, 0); in tidss_disable_oldi() 1021 struct tidss_device *tidss = dispc->tidss; in dispc_vp_bus_check() local 1022 struct drm_device *dev = &tidss->ddev; in dispc_vp_bus_check() 1313 if (dispc->tidss->is_ext_vp_clk[hw_videoport]) in check_pixel_clock() [all …]
|
| H A D | tidss_kms.h | 12 int tidss_modeset_init(struct tidss_device *tidss);
|
| H A D | tidss_encoder.h | 14 int tidss_encoder_create(struct tidss_device *tidss,
|
| H A D | tidss_plane.h | 22 struct tidss_plane *tidss_plane_create(struct tidss_device *tidss,
|
| H A D | tidss_crtc.h | 45 struct tidss_crtc *tidss_crtc_create(struct tidss_device *tidss,
|
| H A D | tidss_irq.h | 71 void tidss_irq_resume(struct tidss_device *tidss);
|
| /linux/drivers/gpu/drm/ |
| H A D | Makefile | 231 obj-$(CONFIG_DRM_TIDSS) += tidss/
|
| H A D | Kconfig | 329 source "drivers/gpu/drm/tidss/Kconfig"
|
| /linux/ |
| H A D | MAINTAINERS | 8762 F: drivers/gpu/drm/tidss/
|