/drivers/gpu/drm/msm/ |
D | msm_atomic.c | 21 static void vblank_get(struct msm_kms *kms, unsigned crtc_mask) in vblank_get() argument 25 for_each_crtc_mask(kms->dev, crtc, crtc_mask) { in vblank_get() 32 static void vblank_put(struct msm_kms *kms, unsigned crtc_mask) in vblank_put() argument 36 for_each_crtc_mask(kms->dev, crtc, crtc_mask) { in vblank_put() 43 static void lock_crtcs(struct msm_kms *kms, unsigned int crtc_mask) in lock_crtcs() argument 48 for_each_crtc_mask(kms->dev, crtc, crtc_mask) { in lock_crtcs() 50 mutex_lock_nested(&kms->commit_lock[crtc_index], crtc_index); in lock_crtcs() 54 static void unlock_crtcs(struct msm_kms *kms, unsigned int crtc_mask) in unlock_crtcs() argument 58 for_each_crtc_mask_reverse(kms->dev, crtc, crtc_mask) in unlock_crtcs() 59 mutex_unlock(&kms->commit_lock[drm_crtc_index(crtc)]); in unlock_crtcs() [all …]
|
D | msm_kms.h | 25 int (*hw_init)(struct msm_kms *kms); 27 void (*irq_preinstall)(struct msm_kms *kms); 28 int (*irq_postinstall)(struct msm_kms *kms); 29 void (*irq_uninstall)(struct msm_kms *kms); 30 irqreturn_t (*irq)(struct msm_kms *kms); 31 int (*enable_vblank)(struct msm_kms *kms, struct drm_crtc *crtc); 32 void (*disable_vblank)(struct msm_kms *kms, struct drm_crtc *crtc); 59 void (*enable_commit)(struct msm_kms *kms); 60 void (*disable_commit)(struct msm_kms *kms); 68 ktime_t (*vsync_time)(struct msm_kms *kms, struct drm_crtc *crtc); [all …]
|
D | msm_drv.c | 208 struct msm_kms *kms = priv->kms; in msm_irq() local 210 BUG_ON(!kms); in msm_irq() 212 return kms->funcs->irq(kms); in msm_irq() 218 struct msm_kms *kms = priv->kms; in msm_irq_preinstall() local 220 BUG_ON(!kms); in msm_irq_preinstall() 222 kms->funcs->irq_preinstall(kms); in msm_irq_preinstall() 228 struct msm_kms *kms = priv->kms; in msm_irq_postinstall() local 230 BUG_ON(!kms); in msm_irq_postinstall() 232 if (kms->funcs->irq_postinstall) in msm_irq_postinstall() 233 return kms->funcs->irq_postinstall(kms); in msm_irq_postinstall() [all …]
|
/drivers/gpu/drm/imx/dcss/ |
D | dcss-kms.c | 45 static void dcss_kms_mode_config_init(struct dcss_kms_dev *kms) in dcss_kms_mode_config_init() argument 47 struct drm_mode_config *config = &kms->base.mode_config; in dcss_kms_mode_config_init() 49 drm_mode_config_init(&kms->base); in dcss_kms_mode_config_init() 65 static int dcss_kms_bridge_connector_init(struct dcss_kms_dev *kms) in dcss_kms_bridge_connector_init() argument 67 struct drm_device *ddev = &kms->base; in dcss_kms_bridge_connector_init() 68 struct drm_encoder *encoder = &kms->encoder; in dcss_kms_bridge_connector_init() 69 struct drm_crtc *crtc = (struct drm_crtc *)&kms->crtc; in dcss_kms_bridge_connector_init() 86 ret = drm_encoder_init(&kms->base, encoder, in dcss_kms_bridge_connector_init() 99 kms->connector = drm_bridge_connector_init(ddev, encoder); in dcss_kms_bridge_connector_init() 100 if (IS_ERR(kms->connector)) { in dcss_kms_bridge_connector_init() [all …]
|
D | dcss-drv.c | 16 struct dcss_kms_dev *kms; member 30 return mdrv ? &mdrv->kms->base : NULL; in dcss_drv_dev_to_drm() 64 mdrv->kms = dcss_kms_attach(mdrv->dcss); in dcss_drv_platform_probe() 65 if (IS_ERR(mdrv->kms)) { in dcss_drv_platform_probe() 66 err = PTR_ERR(mdrv->kms); in dcss_drv_platform_probe() 89 dcss_kms_detach(mdrv->kms); in dcss_drv_platform_remove()
|
/drivers/gpu/drm/msm/disp/ |
D | msm_disp_snapshot.c | 33 struct msm_kms *kms = container_of(work, struct msm_kms, dump_work); in _msm_disp_snapshot_work() local 34 struct drm_device *drm_dev = kms->dev; in _msm_disp_snapshot_work() 48 mutex_lock(&kms->dump_mutex); in _msm_disp_snapshot_work() 52 mutex_unlock(&kms->dump_mutex); in _msm_disp_snapshot_work() 71 struct msm_kms *kms; in msm_disp_snapshot_state() local 79 kms = priv->kms; in msm_disp_snapshot_state() 81 kthread_queue_work(kms->dump_worker, &kms->dump_work); in msm_disp_snapshot_state() 87 struct msm_kms *kms; in msm_disp_snapshot_init() local 95 kms = priv->kms; in msm_disp_snapshot_init() 97 mutex_init(&kms->dump_mutex); in msm_disp_snapshot_init() [all …]
|
D | msm_disp_snapshot_util.c | 122 struct msm_kms *kms; in msm_disp_snapshot_capture_state() local 127 kms = priv->kms; in msm_disp_snapshot_capture_state() 139 if (kms->funcs->snapshot) in msm_disp_snapshot_capture_state() 140 kms->funcs->snapshot(disp_state, kms); in msm_disp_snapshot_capture_state()
|
/drivers/gpu/drm/msm/disp/dpu1/ |
D | dpu_core_perf.c | 40 static u64 _dpu_core_perf_calc_bw(struct dpu_kms *kms, in _dpu_core_perf_calc_bw() argument 56 bw_factor = kms->catalog->perf.bw_inefficiency_factor; in _dpu_core_perf_calc_bw() 72 static u64 _dpu_core_perf_calc_clk(struct dpu_kms *kms, in _dpu_core_perf_calc_clk() argument 93 clk_factor = kms->catalog->perf.clk_inefficiency_factor; in _dpu_core_perf_calc_clk() 106 return to_dpu_kms(priv->kms); in _dpu_crtc_get_kms() 109 static void _dpu_core_perf_calc_crtc(struct dpu_kms *kms, in _dpu_core_perf_calc_crtc() argument 114 if (!kms || !kms->catalog || !crtc || !state || !perf) { in _dpu_core_perf_calc_crtc() 121 if (kms->perf.perf_tune.mode == DPU_PERF_MODE_MINIMUM) { in _dpu_core_perf_calc_crtc() 125 } else if (kms->perf.perf_tune.mode == DPU_PERF_MODE_FIXED) { in _dpu_core_perf_calc_crtc() 126 perf->bw_ctl = kms->perf.fix_core_ab_vote; in _dpu_core_perf_calc_crtc() [all …]
|
D | dpu_kms.c | 50 static int dpu_kms_hw_init(struct msm_kms *kms); 57 struct dpu_kms *kms = (struct dpu_kms *)s->private; in _dpu_danger_signal_status() local 61 if (!kms->hw_mdp) { in _dpu_danger_signal_status() 68 pm_runtime_get_sync(&kms->pdev->dev); in _dpu_danger_signal_status() 71 if (kms->hw_mdp->ops.get_danger_status) in _dpu_danger_signal_status() 72 kms->hw_mdp->ops.get_danger_status(kms->hw_mdp, in _dpu_danger_signal_status() 76 if (kms->hw_mdp->ops.get_safe_status) in _dpu_danger_signal_status() 77 kms->hw_mdp->ops.get_safe_status(kms->hw_mdp, in _dpu_danger_signal_status() 80 pm_runtime_put_sync(&kms->pdev->dev); in _dpu_danger_signal_status() 184 static int dpu_kms_debugfs_init(struct msm_kms *kms, struct drm_minor *minor) in dpu_kms_debugfs_init() argument [all …]
|
D | dpu_plane.c | 141 return to_dpu_kms(priv->kms); in _dpu_plane_get_kms() 522 struct dpu_kms *kms = _dpu_plane_get_kms(&pdpu->base); in _dpu_plane_set_scanout() local 523 struct msm_gem_address_space *aspace = kms->base.aspace; in _dpu_plane_set_scanout() 877 struct dpu_kms *kms = _dpu_plane_get_kms(&pdpu->base); in dpu_plane_prepare_fb() local 886 pstate->aspace = kms->base.aspace; in dpu_plane_prepare_fb() 1360 struct dpu_kms *kms = file->private_data; in _dpu_plane_danger_read() local 1364 len = scnprintf(buf, sizeof(buf), "%d\n", !kms->has_danger_ctrl); in _dpu_plane_danger_read() 1369 static void _dpu_plane_set_danger_state(struct dpu_kms *kms, bool enable) in _dpu_plane_set_danger_state() argument 1373 drm_for_each_plane(plane, kms->dev) { in _dpu_plane_set_danger_state() 1395 struct dpu_kms *kms = file->private_data; in _dpu_plane_danger_write() local [all …]
|
/drivers/gpu/drm/arm/display/komeda/ |
D | komeda_kms.c | 42 struct komeda_kms_dev *kms = to_kdev(drm); in komeda_kms_irq_handler() local 54 for (i = 0; i < kms->n_crtcs; i++) in komeda_kms_irq_handler() 55 komeda_crtc_handle_event(&kms->crtcs[i], &evts); in komeda_kms_irq_handler() 75 struct komeda_kms_dev *kms = to_kdev(dev); in komeda_kms_atomic_commit_hw_done() local 78 for (i = 0; i < kms->n_crtcs; i++) { in komeda_kms_atomic_commit_hw_done() 79 struct komeda_crtc *kcrtc = &kms->crtcs[i]; in komeda_kms_atomic_commit_hw_done() 254 static void komeda_kms_mode_config_init(struct komeda_kms_dev *kms, in komeda_kms_mode_config_init() argument 257 struct drm_mode_config *config = &kms->base.mode_config; in komeda_kms_mode_config_init() 259 drm_mode_config_init(&kms->base); in komeda_kms_mode_config_init() 261 komeda_kms_setup_crtcs(kms, mdev); in komeda_kms_mode_config_init() [all …]
|
D | komeda_private_obj.c | 48 static int komeda_layer_obj_add(struct komeda_kms_dev *kms, in komeda_layer_obj_add() argument 58 drm_atomic_private_obj_init(&kms->base, &layer->base.obj, &st->base.obj, in komeda_layer_obj_add() 90 static int komeda_scaler_obj_add(struct komeda_kms_dev *kms, in komeda_scaler_obj_add() argument 100 drm_atomic_private_obj_init(&kms->base, in komeda_scaler_obj_add() 133 static int komeda_compiz_obj_add(struct komeda_kms_dev *kms, in komeda_compiz_obj_add() argument 143 drm_atomic_private_obj_init(&kms->base, &compiz->base.obj, &st->base.obj, in komeda_compiz_obj_add() 176 static int komeda_splitter_obj_add(struct komeda_kms_dev *kms, in komeda_splitter_obj_add() argument 186 drm_atomic_private_obj_init(&kms->base, in komeda_splitter_obj_add() 219 static int komeda_merger_obj_add(struct komeda_kms_dev *kms, in komeda_merger_obj_add() argument 229 drm_atomic_private_obj_init(&kms->base, in komeda_merger_obj_add() [all …]
|
D | komeda_plane.c | 207 static u32 get_possible_crtcs(struct komeda_kms_dev *kms, in get_possible_crtcs() argument 214 for (i = 0; i < kms->n_crtcs; i++) { in get_possible_crtcs() 215 crtc = &kms->crtcs[i]; in get_possible_crtcs() 225 komeda_set_crtc_plane_mask(struct komeda_kms_dev *kms, in komeda_set_crtc_plane_mask() argument 232 for (i = 0; i < kms->n_crtcs; i++) { in komeda_set_crtc_plane_mask() 233 kcrtc = &kms->crtcs[i]; in komeda_set_crtc_plane_mask() 241 static u32 get_plane_type(struct komeda_kms_dev *kms, in get_plane_type() argument 249 static int komeda_plane_add(struct komeda_kms_dev *kms, in komeda_plane_add() argument 252 struct komeda_dev *mdev = kms->base.dev_private; in komeda_plane_add() 273 err = drm_universal_plane_init(&kms->base, plane, in komeda_plane_add() [all …]
|
D | komeda_kms.h | 173 int komeda_kms_setup_crtcs(struct komeda_kms_dev *kms, struct komeda_dev *mdev); 175 int komeda_kms_add_crtcs(struct komeda_kms_dev *kms, struct komeda_dev *mdev); 176 int komeda_kms_add_planes(struct komeda_kms_dev *kms, struct komeda_dev *mdev); 177 int komeda_kms_add_private_objs(struct komeda_kms_dev *kms, 179 int komeda_kms_add_wb_connectors(struct komeda_kms_dev *kms, 181 void komeda_kms_cleanup_private_objs(struct komeda_kms_dev *kms); 189 void komeda_kms_detach(struct komeda_kms_dev *kms);
|
D | komeda_wb_connector.c | 138 static int komeda_wb_connector_add(struct komeda_kms_dev *kms, in komeda_wb_connector_add() argument 141 struct komeda_dev *mdev = kms->base.dev_private; in komeda_wb_connector_add() 164 err = drm_writeback_connector_init(&kms->base, wb_conn, in komeda_wb_connector_add() 185 int komeda_kms_add_wb_connectors(struct komeda_kms_dev *kms, in komeda_kms_add_wb_connectors() argument 190 for (i = 0; i < kms->n_crtcs; i++) { in komeda_kms_add_wb_connectors() 191 err = komeda_wb_connector_add(kms, &kms->crtcs[i]); in komeda_kms_add_wb_connectors()
|
D | komeda_drv.c | 18 struct komeda_kms_dev *kms; member 35 komeda_kms_detach(mdrv->kms); in komeda_unbind() 67 mdrv->kms = komeda_kms_attach(mdrv->mdev); in komeda_bind() 68 if (IS_ERR(mdrv->kms)) { in komeda_bind() 69 err = PTR_ERR(mdrv->kms); in komeda_bind() 168 res = drm_mode_config_helper_suspend(&mdrv->kms->base); in komeda_pm_suspend() 183 return drm_mode_config_helper_resume(&mdrv->kms->base); in komeda_pm_resume()
|
D | komeda_crtc.c | 563 int komeda_kms_setup_crtcs(struct komeda_kms_dev *kms, in komeda_kms_setup_crtcs() argument 571 kms->n_crtcs = 0; in komeda_kms_setup_crtcs() 574 crtc = &kms->crtcs[kms->n_crtcs]; in komeda_kms_setup_crtcs() 586 kms->n_crtcs, master->id, str); in komeda_kms_setup_crtcs() 588 kms->n_crtcs++; in komeda_kms_setup_crtcs() 595 get_crtc_primary(struct komeda_kms_dev *kms, struct komeda_crtc *crtc) in get_crtc_primary() argument 600 drm_for_each_plane(plane, &kms->base) { in get_crtc_primary() 613 static int komeda_crtc_add(struct komeda_kms_dev *kms, in komeda_crtc_add() argument 619 err = drm_crtc_init_with_planes(&kms->base, crtc, in komeda_crtc_add() 620 get_crtc_primary(kms, kcrtc), NULL, in komeda_crtc_add() [all …]
|
/drivers/gpu/drm/msm/disp/mdp4/ |
D | mdp4_irq.c | 35 void mdp4_irq_preinstall(struct msm_kms *kms) in mdp4_irq_preinstall() argument 37 struct mdp4_kms *mdp4_kms = to_mdp4_kms(to_mdp_kms(kms)); in mdp4_irq_preinstall() 44 int mdp4_irq_postinstall(struct msm_kms *kms) in mdp4_irq_postinstall() argument 46 struct mdp_kms *mdp_kms = to_mdp_kms(kms); in mdp4_irq_postinstall() 59 void mdp4_irq_uninstall(struct msm_kms *kms) in mdp4_irq_uninstall() argument 61 struct mdp4_kms *mdp4_kms = to_mdp4_kms(to_mdp_kms(kms)); in mdp4_irq_uninstall() 67 irqreturn_t mdp4_irq(struct msm_kms *kms) in mdp4_irq() argument 69 struct mdp_kms *mdp_kms = to_mdp_kms(kms); in mdp4_irq() 91 int mdp4_enable_vblank(struct msm_kms *kms, struct drm_crtc *crtc) in mdp4_enable_vblank() argument 93 struct mdp4_kms *mdp4_kms = to_mdp4_kms(to_mdp_kms(kms)); in mdp4_enable_vblank() [all …]
|
D | mdp4_kms.c | 18 static int mdp4_hw_init(struct msm_kms *kms) in mdp4_hw_init() argument 20 struct mdp4_kms *mdp4_kms = to_mdp4_kms(to_mdp_kms(kms)); in mdp4_hw_init() 78 static void mdp4_enable_commit(struct msm_kms *kms) in mdp4_enable_commit() argument 80 struct mdp4_kms *mdp4_kms = to_mdp4_kms(to_mdp_kms(kms)); in mdp4_enable_commit() 84 static void mdp4_disable_commit(struct msm_kms *kms) in mdp4_disable_commit() argument 86 struct mdp4_kms *mdp4_kms = to_mdp4_kms(to_mdp_kms(kms)); in mdp4_disable_commit() 90 static void mdp4_prepare_commit(struct msm_kms *kms, struct drm_atomic_state *state) in mdp4_prepare_commit() argument 94 static void mdp4_flush_commit(struct msm_kms *kms, unsigned crtc_mask) in mdp4_flush_commit() argument 99 static void mdp4_wait_flush(struct msm_kms *kms, unsigned crtc_mask) in mdp4_wait_flush() argument 101 struct mdp4_kms *mdp4_kms = to_mdp4_kms(to_mdp_kms(kms)); in mdp4_wait_flush() [all …]
|
D | mdp4_plane.c | 58 return to_mdp4_kms(to_mdp_kms(priv->kms)); in get_kms() 98 struct msm_kms *kms = priv->kms; in mdp4_plane_prepare_fb() local 105 return msm_framebuffer_prepare(new_state->fb, kms->aspace, false); in mdp4_plane_prepare_fb() 113 struct msm_kms *kms = &mdp4_kms->base.base; in mdp4_plane_cleanup_fb() local 120 msm_framebuffer_cleanup(fb, kms->aspace, false); in mdp4_plane_cleanup_fb() 159 struct msm_kms *kms = &mdp4_kms->base.base; in mdp4_plane_set_scanout() local 171 msm_framebuffer_iova(fb, kms->aspace, 0)); in mdp4_plane_set_scanout() 173 msm_framebuffer_iova(fb, kms->aspace, 1)); in mdp4_plane_set_scanout() 175 msm_framebuffer_iova(fb, kms->aspace, 2)); in mdp4_plane_set_scanout() 177 msm_framebuffer_iova(fb, kms->aspace, 3)); in mdp4_plane_set_scanout()
|
D | mdp4_kms.h | 160 void mdp4_irq_preinstall(struct msm_kms *kms); 161 int mdp4_irq_postinstall(struct msm_kms *kms); 162 void mdp4_irq_uninstall(struct msm_kms *kms); 163 irqreturn_t mdp4_irq(struct msm_kms *kms); 164 int mdp4_enable_vblank(struct msm_kms *kms, struct drm_crtc *crtc); 165 void mdp4_disable_vblank(struct msm_kms *kms, struct drm_crtc *crtc);
|
/drivers/gpu/drm/msm/disp/mdp5/ |
D | mdp5_irq.c | 39 void mdp5_irq_preinstall(struct msm_kms *kms) in mdp5_irq_preinstall() argument 41 struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(kms)); in mdp5_irq_preinstall() 50 int mdp5_irq_postinstall(struct msm_kms *kms) in mdp5_irq_postinstall() argument 52 struct mdp_kms *mdp_kms = to_mdp_kms(kms); in mdp5_irq_postinstall() 70 void mdp5_irq_uninstall(struct msm_kms *kms) in mdp5_irq_uninstall() argument 72 struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(kms)); in mdp5_irq_uninstall() 80 irqreturn_t mdp5_irq(struct msm_kms *kms) in mdp5_irq() argument 82 struct mdp_kms *mdp_kms = to_mdp_kms(kms); in mdp5_irq() 104 int mdp5_enable_vblank(struct msm_kms *kms, struct drm_crtc *crtc) in mdp5_enable_vblank() argument 106 struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(kms)); in mdp5_enable_vblank() [all …]
|
D | mdp5_kms.c | 22 static int mdp5_hw_init(struct msm_kms *kms) in mdp5_hw_init() argument 24 struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(kms)); in mdp5_hw_init() 85 struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(priv->kms)); in mdp5_get_global_state() 145 static void mdp5_enable_commit(struct msm_kms *kms) in mdp5_enable_commit() argument 147 struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(kms)); in mdp5_enable_commit() 151 static void mdp5_disable_commit(struct msm_kms *kms) in mdp5_disable_commit() argument 153 struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(kms)); in mdp5_disable_commit() 157 static void mdp5_prepare_commit(struct msm_kms *kms, struct drm_atomic_state *state) in mdp5_prepare_commit() argument 159 struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(kms)); in mdp5_prepare_commit() 168 static void mdp5_flush_commit(struct msm_kms *kms, unsigned crtc_mask) in mdp5_flush_commit() argument [all …]
|
D | mdp5_kms.h | 266 void mdp5_irq_preinstall(struct msm_kms *kms); 267 int mdp5_irq_postinstall(struct msm_kms *kms); 268 void mdp5_irq_uninstall(struct msm_kms *kms); 269 irqreturn_t mdp5_irq(struct msm_kms *kms); 270 int mdp5_enable_vblank(struct msm_kms *kms, struct drm_crtc *crtc); 271 void mdp5_disable_vblank(struct msm_kms *kms, struct drm_crtc *crtc);
|
/drivers/gpu/drm/msm/edp/ |
D | edp_connector.c | 64 struct msm_kms *kms = priv->kms; in edp_connector_mode_valid() local 68 actual = kms->funcs->round_pixclk(kms, in edp_connector_mode_valid()
|