Home
last modified time | relevance | path

Searched refs:kms (Results 1 – 25 of 63) sorted by relevance

123

/Linux-v5.4/drivers/gpu/drm/msm/
Dmsm_atomic.c20 struct msm_kms *kms = priv->kms; in msm_atomic_prepare_fb() local
27 return msm_framebuffer_prepare(new_state->fb, kms->aspace); in msm_atomic_prepare_fb()
30 static void msm_atomic_async_commit(struct msm_kms *kms, int crtc_idx) in msm_atomic_async_commit() argument
36 mutex_lock(&kms->commit_lock); in msm_atomic_async_commit()
38 if (!(kms->pending_crtc_mask & crtc_mask)) { in msm_atomic_async_commit()
39 mutex_unlock(&kms->commit_lock); in msm_atomic_async_commit()
43 kms->pending_crtc_mask &= ~crtc_mask; in msm_atomic_async_commit()
45 kms->funcs->enable_commit(kms); in msm_atomic_async_commit()
51 kms->funcs->flush_commit(kms, crtc_mask); in msm_atomic_async_commit()
52 mutex_unlock(&kms->commit_lock); in msm_atomic_async_commit()
[all …]
Dmsm_kms.h25 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 …]
Dmsm_drv.c180 struct msm_kms *kms = priv->kms; in vblank_ctrl_worker() local
183 kms->funcs->enable_vblank(kms, priv->crtcs[vbl_work->crtc_id]); in vblank_ctrl_worker()
185 kms->funcs->disable_vblank(kms, priv->crtcs[vbl_work->crtc_id]); in vblank_ctrl_worker()
215 struct msm_kms *kms = priv->kms; in msm_drm_uninit() local
264 if (kms && kms->funcs) in msm_drm_uninit()
265 kms->funcs->destroy(kms); in msm_drm_uninit()
388 struct msm_kms *kms; in msm_drm_init() local
448 kms = mdp4_kms_init(ddev); in msm_drm_init()
449 priv->kms = kms; in msm_drm_init()
452 kms = mdp5_kms_init(ddev); in msm_drm_init()
[all …]
/Linux-v5.4/drivers/gpu/drm/msm/disp/dpu1/
Ddpu_core_perf.c42 if (!priv || !priv->kms) { in _dpu_crtc_get_kms()
47 return to_dpu_kms(priv->kms); in _dpu_crtc_get_kms()
66 static void _dpu_core_perf_calc_crtc(struct dpu_kms *kms, in _dpu_core_perf_calc_crtc() argument
73 if (!kms || !kms->catalog || !crtc || !state || !perf) { in _dpu_core_perf_calc_crtc()
82 perf->bw_ctl = kms->catalog->perf.max_bw_high * in _dpu_core_perf_calc_crtc()
85 perf->core_clk_rate = kms->perf.max_core_clk_rate; in _dpu_core_perf_calc_crtc()
86 } else if (kms->perf.perf_tune.mode == DPU_PERF_MODE_MINIMUM) { in _dpu_core_perf_calc_crtc()
90 } else if (kms->perf.perf_tune.mode == DPU_PERF_MODE_FIXED) { in _dpu_core_perf_calc_crtc()
91 perf->bw_ctl = kms->perf.fix_core_ab_vote; in _dpu_core_perf_calc_crtc()
92 perf->max_per_pipe_ib = kms->perf.fix_core_ib_vote; in _dpu_core_perf_calc_crtc()
[all …]
Ddpu_kms.c49 static int dpu_kms_hw_init(struct msm_kms *kms);
70 struct dpu_kms *kms = (struct dpu_kms *)s->private; in _dpu_danger_signal_status() local
75 if (!kms->dev || !kms->dev->dev_private || !kms->hw_mdp) { in _dpu_danger_signal_status()
80 priv = kms->dev->dev_private; in _dpu_danger_signal_status()
83 pm_runtime_get_sync(&kms->pdev->dev); in _dpu_danger_signal_status()
86 if (kms->hw_mdp->ops.get_danger_status) in _dpu_danger_signal_status()
87 kms->hw_mdp->ops.get_danger_status(kms->hw_mdp, in _dpu_danger_signal_status()
91 if (kms->hw_mdp->ops.get_danger_status) in _dpu_danger_signal_status()
92 kms->hw_mdp->ops.get_danger_status(kms->hw_mdp, in _dpu_danger_signal_status()
95 pm_runtime_put_sync(&kms->pdev->dev); in _dpu_danger_signal_status()
[all …]
Ddpu_plane.c126 return to_dpu_kms(priv->kms); in _dpu_plane_get_kms()
422 struct dpu_kms *kms = _dpu_plane_get_kms(&pdpu->base); in _dpu_plane_set_scanout() local
423 struct msm_gem_address_space *aspace = kms->base.aspace; in _dpu_plane_set_scanout()
769 struct dpu_kms *kms = _dpu_plane_get_kms(&pdpu->base); in dpu_plane_prepare_fb() local
778 pstate->aspace = kms->base.aspace; in dpu_plane_prepare_fb()
1251 struct dpu_kms *kms = file->private_data; in _dpu_plane_danger_read() local
1255 len = scnprintf(buf, sizeof(buf), "%d\n", !kms->has_danger_ctrl); in _dpu_plane_danger_read()
1260 static void _dpu_plane_set_danger_state(struct dpu_kms *kms, bool enable) in _dpu_plane_set_danger_state() argument
1264 drm_for_each_plane(plane, kms->dev) { in _dpu_plane_set_danger_state()
1286 struct dpu_kms *kms = file->private_data; in _dpu_plane_danger_write() local
[all …]
Ddpu_formats.h31 struct msm_kms *kms,
46 const struct msm_kms *kms,
Ddpu_kms.h144 ((struct msm_drm_private *)((D)->dev_private))->kms : NULL)
225 int dpu_enable_vblank(struct msm_kms *kms, struct drm_crtc *crtc);
226 void dpu_disable_vblank(struct msm_kms *kms, struct drm_crtc *crtc);
/Linux-v5.4/drivers/gpu/drm/msm/disp/mdp4/
Dmdp4_irq.c35 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 …]
Dmdp4_kms.c18 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()
99 static void mdp4_enable_commit(struct msm_kms *kms) in mdp4_enable_commit() argument
101 struct mdp4_kms *mdp4_kms = to_mdp4_kms(to_mdp_kms(kms)); in mdp4_enable_commit()
105 static void mdp4_disable_commit(struct msm_kms *kms) in mdp4_disable_commit() argument
107 struct mdp4_kms *mdp4_kms = to_mdp4_kms(to_mdp_kms(kms)); in mdp4_disable_commit()
111 static void mdp4_prepare_commit(struct msm_kms *kms, struct drm_atomic_state *state) in mdp4_prepare_commit() argument
122 static void mdp4_flush_commit(struct msm_kms *kms, unsigned crtc_mask) in mdp4_flush_commit() argument
127 static void mdp4_wait_flush(struct msm_kms *kms, unsigned crtc_mask) in mdp4_wait_flush() argument
129 struct mdp4_kms *mdp4_kms = to_mdp4_kms(to_mdp_kms(kms)); in mdp4_wait_flush()
[all …]
Dmdp4_kms.h160 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);
Dmdp4_plane.c56 return to_mdp4_kms(to_mdp_kms(priv->kms)); in get_kms()
97 struct msm_kms *kms = &mdp4_kms->base.base; in mdp4_plane_cleanup_fb() local
104 msm_framebuffer_cleanup(fb, kms->aspace); in mdp4_plane_cleanup_fb()
142 struct msm_kms *kms = &mdp4_kms->base.base; in mdp4_plane_set_scanout() local
154 msm_framebuffer_iova(fb, kms->aspace, 0)); in mdp4_plane_set_scanout()
156 msm_framebuffer_iova(fb, kms->aspace, 1)); in mdp4_plane_set_scanout()
158 msm_framebuffer_iova(fb, kms->aspace, 2)); in mdp4_plane_set_scanout()
160 msm_framebuffer_iova(fb, kms->aspace, 3)); in mdp4_plane_set_scanout()
/Linux-v5.4/drivers/gpu/drm/arm/display/komeda/
Dkomeda_kms.c42 struct komeda_kms_dev *kms = to_kdev(drm); in komeda_kms_irq_handler() local
52 for (i = 0; i < kms->n_crtcs; i++) in komeda_kms_irq_handler()
53 komeda_crtc_handle_event(&kms->crtcs[i], &evts); in komeda_kms_irq_handler()
239 static void komeda_kms_mode_config_init(struct komeda_kms_dev *kms, in komeda_kms_mode_config_init() argument
242 struct drm_mode_config *config = &kms->base.mode_config; in komeda_kms_mode_config_init()
244 drm_mode_config_init(&kms->base); in komeda_kms_mode_config_init()
246 komeda_kms_setup_crtcs(kms, mdev); in komeda_kms_mode_config_init()
261 struct komeda_kms_dev *kms = kzalloc(sizeof(*kms), GFP_KERNEL); in komeda_kms_attach() local
265 if (!kms) in komeda_kms_attach()
268 drm = &kms->base; in komeda_kms_attach()
[all …]
Dkomeda_private_obj.c48 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 …]
Dkomeda_plane.c206 static u32 get_possible_crtcs(struct komeda_kms_dev *kms, in get_possible_crtcs() argument
213 for (i = 0; i < kms->n_crtcs; i++) { in get_possible_crtcs()
214 crtc = &kms->crtcs[i]; in get_possible_crtcs()
224 komeda_set_crtc_plane_mask(struct komeda_kms_dev *kms, in komeda_set_crtc_plane_mask() argument
231 for (i = 0; i < kms->n_crtcs; i++) { in komeda_set_crtc_plane_mask()
232 kcrtc = &kms->crtcs[i]; in komeda_set_crtc_plane_mask()
240 static u32 get_plane_type(struct komeda_kms_dev *kms, in get_plane_type() argument
248 static int komeda_plane_add(struct komeda_kms_dev *kms, in komeda_plane_add() argument
251 struct komeda_dev *mdev = kms->base.dev_private; in komeda_plane_add()
268 err = drm_universal_plane_init(&kms->base, plane, in komeda_plane_add()
[all …]
Dkomeda_kms.h171 int komeda_kms_setup_crtcs(struct komeda_kms_dev *kms, struct komeda_dev *mdev);
173 int komeda_kms_add_crtcs(struct komeda_kms_dev *kms, struct komeda_dev *mdev);
174 int komeda_kms_add_planes(struct komeda_kms_dev *kms, struct komeda_dev *mdev);
175 int komeda_kms_add_private_objs(struct komeda_kms_dev *kms,
177 int komeda_kms_add_wb_connectors(struct komeda_kms_dev *kms,
179 void komeda_kms_cleanup_private_objs(struct komeda_kms_dev *kms);
185 void komeda_kms_detach(struct komeda_kms_dev *kms);
Dkomeda_wb_connector.c138 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()
163 err = drm_writeback_connector_init(&kms->base, wb_conn, in komeda_wb_connector_add()
180 int komeda_kms_add_wb_connectors(struct komeda_kms_dev *kms, in komeda_kms_add_wb_connectors() argument
185 for (i = 0; i < kms->n_crtcs; i++) { in komeda_kms_add_wb_connectors()
186 err = komeda_wb_connector_add(kms, &kms->crtcs[i]); in komeda_kms_add_wb_connectors()
Dkomeda_crtc.c502 int komeda_kms_setup_crtcs(struct komeda_kms_dev *kms, in komeda_kms_setup_crtcs() argument
510 kms->n_crtcs = 0; in komeda_kms_setup_crtcs()
513 crtc = &kms->crtcs[kms->n_crtcs]; in komeda_kms_setup_crtcs()
525 kms->n_crtcs, master->id, str); in komeda_kms_setup_crtcs()
527 kms->n_crtcs++; in komeda_kms_setup_crtcs()
534 get_crtc_primary(struct komeda_kms_dev *kms, struct komeda_crtc *crtc) in get_crtc_primary() argument
539 drm_for_each_plane(plane, &kms->base) { in get_crtc_primary()
552 static int komeda_crtc_add(struct komeda_kms_dev *kms, in komeda_crtc_add() argument
558 err = drm_crtc_init_with_planes(&kms->base, crtc, in komeda_crtc_add()
559 get_crtc_primary(kms, kcrtc), NULL, in komeda_crtc_add()
[all …]
Dkomeda_drv.c17 struct komeda_kms_dev *kms; member
34 komeda_kms_detach(mdrv->kms); in komeda_unbind()
56 mdrv->kms = komeda_kms_attach(mdrv->mdev); in komeda_bind()
57 if (IS_ERR(mdrv->kms)) { in komeda_bind()
58 err = PTR_ERR(mdrv->kms); in komeda_bind()
/Linux-v5.4/drivers/gpu/drm/msm/disp/mdp5/
Dmdp5_irq.c39 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 …]
Dmdp5_kms.c26 static int mdp5_hw_init(struct msm_kms *kms) in mdp5_hw_init() argument
28 struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(kms)); in mdp5_hw_init()
89 struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(priv->kms)); in mdp5_get_global_state()
149 static void mdp5_enable_commit(struct msm_kms *kms) in mdp5_enable_commit() argument
151 struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(kms)); in mdp5_enable_commit()
155 static void mdp5_disable_commit(struct msm_kms *kms) in mdp5_disable_commit() argument
157 struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(kms)); in mdp5_disable_commit()
161 static void mdp5_prepare_commit(struct msm_kms *kms, struct drm_atomic_state *state) in mdp5_prepare_commit() argument
163 struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(kms)); in mdp5_prepare_commit()
172 static void mdp5_flush_commit(struct msm_kms *kms, unsigned crtc_mask) in mdp5_flush_commit() argument
[all …]
Dmdp5_kms.h264 void mdp5_irq_preinstall(struct msm_kms *kms);
265 int mdp5_irq_postinstall(struct msm_kms *kms);
266 void mdp5_irq_uninstall(struct msm_kms *kms);
267 irqreturn_t mdp5_irq(struct msm_kms *kms);
268 int mdp5_enable_vblank(struct msm_kms *kms, struct drm_crtc *crtc);
269 void mdp5_disable_vblank(struct msm_kms *kms, struct drm_crtc *crtc);
/Linux-v5.4/drivers/gpu/drm/msm/edp/
Dedp_connector.c64 struct msm_kms *kms = priv->kms; in edp_connector_mode_valid() local
68 actual = kms->funcs->round_pixclk(kms, in edp_connector_mode_valid()
/Linux-v5.4/drivers/gpu/drm/msm/dsi/
Ddsi_manager.c238 struct msm_kms *kms = priv->kms; in msm_dsi_manager_setup_encoder() local
241 if (encoder && kms->funcs->set_encoder_mode) in msm_dsi_manager_setup_encoder()
242 kms->funcs->set_encoder_mode(kms, encoder, in msm_dsi_manager_setup_encoder()
249 struct msm_kms *kms = priv->kms; in msm_dsi_manager_panel_init() local
285 if (other_dsi && other_dsi->panel && kms->funcs->set_split_display) { in msm_dsi_manager_panel_init()
286 kms->funcs->set_split_display(kms, master_dsi->encoder, in msm_dsi_manager_panel_init()
346 struct msm_kms *kms = priv->kms; in dsi_mgr_connector_mode_valid() local
351 actual = kms->funcs->round_pixclk(kms, requested, encoder); in dsi_mgr_connector_mode_valid()
/Linux-v5.4/Documentation/gpu/
Dindex.rst10 drm-kms
11 drm-kms-helpers

123