dpu_kms 22 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c struct dpu_kms *dpu_kms = arg; dpu_kms 23 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c struct dpu_irq *irq_obj = &dpu_kms->irq_obj; dpu_kms 31 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c atomic_read(&dpu_kms->irq_obj.enable_counts[irq_idx])); dpu_kms 39 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c spin_lock_irqsave(&dpu_kms->irq_obj.cb_lock, irq_flags); dpu_kms 43 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c spin_unlock_irqrestore(&dpu_kms->irq_obj.cb_lock, irq_flags); dpu_kms 50 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_kms->hw_intr->ops.clear_intr_status_nolock( dpu_kms 51 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_kms->hw_intr, dpu_kms 55 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c int dpu_core_irq_idx_lookup(struct dpu_kms *dpu_kms, dpu_kms 58 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (!dpu_kms || !dpu_kms->hw_intr || dpu_kms 59 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c !dpu_kms->hw_intr->ops.irq_idx_lookup) dpu_kms 62 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c return dpu_kms->hw_intr->ops.irq_idx_lookup(intr_type, dpu_kms 71 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c static int _dpu_core_irq_enable(struct dpu_kms *dpu_kms, int irq_idx) dpu_kms 76 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (!dpu_kms || !dpu_kms->hw_intr || dpu_kms 77 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c !dpu_kms->irq_obj.enable_counts || dpu_kms 78 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c !dpu_kms->irq_obj.irq_counts) { dpu_kms 83 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (irq_idx < 0 || irq_idx >= dpu_kms->hw_intr->irq_idx_tbl_size) { dpu_kms 88 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c enable_count = atomic_read(&dpu_kms->irq_obj.enable_counts[irq_idx]); dpu_kms 92 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (atomic_inc_return(&dpu_kms->irq_obj.enable_counts[irq_idx]) == 1) { dpu_kms 93 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c ret = dpu_kms->hw_intr->ops.enable_irq( dpu_kms 94 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_kms->hw_intr, dpu_kms 102 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c spin_lock_irqsave(&dpu_kms->irq_obj.cb_lock, irq_flags); dpu_kms 104 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (list_empty(&dpu_kms->irq_obj.irq_cb_tbl[irq_idx])) dpu_kms 107 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c spin_unlock_irqrestore(&dpu_kms->irq_obj.cb_lock, irq_flags); dpu_kms 113 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c int dpu_core_irq_enable(struct dpu_kms *dpu_kms, int *irq_idxs, u32 irq_count) dpu_kms 117 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (!dpu_kms || !irq_idxs || !irq_count) { dpu_kms 122 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c counts = atomic_read(&dpu_kms->irq_obj.enable_counts[irq_idxs[0]]); dpu_kms 127 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c ret = _dpu_core_irq_enable(dpu_kms, irq_idxs[i]); dpu_kms 137 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c static int _dpu_core_irq_disable(struct dpu_kms *dpu_kms, int irq_idx) dpu_kms 141 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (!dpu_kms || !dpu_kms->hw_intr || !dpu_kms->irq_obj.enable_counts) { dpu_kms 146 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (irq_idx < 0 || irq_idx >= dpu_kms->hw_intr->irq_idx_tbl_size) { dpu_kms 151 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c enable_count = atomic_read(&dpu_kms->irq_obj.enable_counts[irq_idx]); dpu_kms 155 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (atomic_dec_return(&dpu_kms->irq_obj.enable_counts[irq_idx]) == 0) { dpu_kms 156 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c ret = dpu_kms->hw_intr->ops.disable_irq( dpu_kms 157 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_kms->hw_intr, dpu_kms 168 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c int dpu_core_irq_disable(struct dpu_kms *dpu_kms, int *irq_idxs, u32 irq_count) dpu_kms 172 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (!dpu_kms || !irq_idxs || !irq_count) { dpu_kms 177 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c counts = atomic_read(&dpu_kms->irq_obj.enable_counts[irq_idxs[0]]); dpu_kms 182 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c ret = _dpu_core_irq_disable(dpu_kms, irq_idxs[i]); dpu_kms 187 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c u32 dpu_core_irq_read(struct dpu_kms *dpu_kms, int irq_idx, bool clear) dpu_kms 189 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (!dpu_kms || !dpu_kms->hw_intr || dpu_kms 190 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c !dpu_kms->hw_intr->ops.get_interrupt_status) dpu_kms 199 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c return dpu_kms->hw_intr->ops.get_interrupt_status(dpu_kms->hw_intr, dpu_kms 203 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c int dpu_core_irq_register_callback(struct dpu_kms *dpu_kms, int irq_idx, dpu_kms 208 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (!dpu_kms || !dpu_kms->irq_obj.irq_cb_tbl) { dpu_kms 221 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (irq_idx < 0 || irq_idx >= dpu_kms->hw_intr->irq_idx_tbl_size) { dpu_kms 228 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c spin_lock_irqsave(&dpu_kms->irq_obj.cb_lock, irq_flags); dpu_kms 232 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c &dpu_kms->irq_obj.irq_cb_tbl[irq_idx]); dpu_kms 233 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c spin_unlock_irqrestore(&dpu_kms->irq_obj.cb_lock, irq_flags); dpu_kms 238 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c int dpu_core_irq_unregister_callback(struct dpu_kms *dpu_kms, int irq_idx, dpu_kms 243 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (!dpu_kms || !dpu_kms->irq_obj.irq_cb_tbl) { dpu_kms 256 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (irq_idx < 0 || irq_idx >= dpu_kms->hw_intr->irq_idx_tbl_size) { dpu_kms 263 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c spin_lock_irqsave(&dpu_kms->irq_obj.cb_lock, irq_flags); dpu_kms 267 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (list_empty(&dpu_kms->irq_obj.irq_cb_tbl[irq_idx]) && dpu_kms 268 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c atomic_read(&dpu_kms->irq_obj.enable_counts[irq_idx])) dpu_kms 270 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c spin_unlock_irqrestore(&dpu_kms->irq_obj.cb_lock, irq_flags); dpu_kms 275 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c static void dpu_clear_all_irqs(struct dpu_kms *dpu_kms) dpu_kms 277 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (!dpu_kms || !dpu_kms->hw_intr || dpu_kms 278 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c !dpu_kms->hw_intr->ops.clear_all_irqs) dpu_kms 281 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_kms->hw_intr->ops.clear_all_irqs(dpu_kms->hw_intr); dpu_kms 284 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c static void dpu_disable_all_irqs(struct dpu_kms *dpu_kms) dpu_kms 286 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (!dpu_kms || !dpu_kms->hw_intr || dpu_kms 287 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c !dpu_kms->hw_intr->ops.disable_all_irqs) dpu_kms 290 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_kms->hw_intr->ops.disable_all_irqs(dpu_kms->hw_intr); dpu_kms 336 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c void dpu_debugfs_core_irq_init(struct dpu_kms *dpu_kms, dpu_kms 339 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c debugfs_create_file("core_irq", 0600, parent, &dpu_kms->irq_obj, dpu_kms 344 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c void dpu_core_irq_preinstall(struct dpu_kms *dpu_kms) dpu_kms 349 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (!dpu_kms->dev) { dpu_kms 352 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c } else if (!dpu_kms->dev->dev_private) { dpu_kms 356 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c priv = dpu_kms->dev->dev_private; dpu_kms 358 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c pm_runtime_get_sync(&dpu_kms->pdev->dev); dpu_kms 359 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_clear_all_irqs(dpu_kms); dpu_kms 360 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_disable_all_irqs(dpu_kms); dpu_kms 361 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c pm_runtime_put_sync(&dpu_kms->pdev->dev); dpu_kms 363 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c spin_lock_init(&dpu_kms->irq_obj.cb_lock); dpu_kms 366 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_kms->irq_obj.total_irqs = dpu_kms->hw_intr->irq_idx_tbl_size; dpu_kms 367 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_kms->irq_obj.irq_cb_tbl = kcalloc(dpu_kms->irq_obj.total_irqs, dpu_kms 369 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_kms->irq_obj.enable_counts = kcalloc(dpu_kms->irq_obj.total_irqs, dpu_kms 371 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_kms->irq_obj.irq_counts = kcalloc(dpu_kms->irq_obj.total_irqs, dpu_kms 373 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c for (i = 0; i < dpu_kms->irq_obj.total_irqs; i++) { dpu_kms 374 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c INIT_LIST_HEAD(&dpu_kms->irq_obj.irq_cb_tbl[i]); dpu_kms 375 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c atomic_set(&dpu_kms->irq_obj.enable_counts[i], 0); dpu_kms 376 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c atomic_set(&dpu_kms->irq_obj.irq_counts[i], 0); dpu_kms 380 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c void dpu_core_irq_uninstall(struct dpu_kms *dpu_kms) dpu_kms 385 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (!dpu_kms->dev) { dpu_kms 388 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c } else if (!dpu_kms->dev->dev_private) { dpu_kms 392 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c priv = dpu_kms->dev->dev_private; dpu_kms 394 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c pm_runtime_get_sync(&dpu_kms->pdev->dev); dpu_kms 395 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c for (i = 0; i < dpu_kms->irq_obj.total_irqs; i++) dpu_kms 396 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (atomic_read(&dpu_kms->irq_obj.enable_counts[i]) || dpu_kms 397 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c !list_empty(&dpu_kms->irq_obj.irq_cb_tbl[i])) dpu_kms 400 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_clear_all_irqs(dpu_kms); dpu_kms 401 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_disable_all_irqs(dpu_kms); dpu_kms 402 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c pm_runtime_put_sync(&dpu_kms->pdev->dev); dpu_kms 404 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c kfree(dpu_kms->irq_obj.irq_cb_tbl); dpu_kms 405 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c kfree(dpu_kms->irq_obj.enable_counts); dpu_kms 406 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c kfree(dpu_kms->irq_obj.irq_counts); dpu_kms 407 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_kms->irq_obj.irq_cb_tbl = NULL; dpu_kms 408 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_kms->irq_obj.enable_counts = NULL; dpu_kms 409 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_kms->irq_obj.irq_counts = NULL; dpu_kms 410 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_kms->irq_obj.total_irqs = 0; dpu_kms 413 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c irqreturn_t dpu_core_irq(struct dpu_kms *dpu_kms) dpu_kms 422 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_kms->hw_intr->ops.get_interrupt_statuses(dpu_kms->hw_intr); dpu_kms 432 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_kms->hw_intr->ops.dispatch_irqs( dpu_kms 433 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_kms->hw_intr, dpu_kms 435 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_kms); dpu_kms 16 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.h void dpu_core_irq_preinstall(struct dpu_kms *dpu_kms); dpu_kms 23 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.h void dpu_core_irq_uninstall(struct dpu_kms *dpu_kms); dpu_kms 30 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.h irqreturn_t dpu_core_irq(struct dpu_kms *dpu_kms); dpu_kms 41 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.h struct dpu_kms *dpu_kms, dpu_kms 56 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.h struct dpu_kms *dpu_kms, dpu_kms 71 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.h struct dpu_kms *dpu_kms, dpu_kms 83 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.h struct dpu_kms *dpu_kms, dpu_kms 101 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.h struct dpu_kms *dpu_kms, dpu_kms 119 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.h struct dpu_kms *dpu_kms, dpu_kms 128 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.h void dpu_debugfs_core_irq_init(struct dpu_kms *dpu_kms, dpu_kms 32 drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c static struct dpu_kms *_dpu_crtc_get_kms(struct drm_crtc *crtc) dpu_kms 66 drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c static void _dpu_core_perf_calc_crtc(struct dpu_kms *kms, dpu_kms 111 drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c struct dpu_kms *kms; dpu_kms 181 drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c static int _dpu_core_perf_crtc_update_bus(struct dpu_kms *kms, dpu_kms 219 drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c struct dpu_kms *kms; dpu_kms 247 drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c static int _dpu_core_perf_set_core_clk_rate(struct dpu_kms *kms, u64 rate) dpu_kms 258 drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c static u64 _dpu_core_perf_get_core_clk_rate(struct dpu_kms *kms) dpu_kms 291 drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c struct dpu_kms *kms; dpu_kms 442 drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c int dpu_core_perf_debugfs_init(struct dpu_kms *dpu_kms, struct dentry *parent) dpu_kms 444 drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c struct dpu_core_perf *perf = &dpu_kms->perf; dpu_kms 125 drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.h struct dpu_kms; dpu_kms 132 drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.h int dpu_core_perf_debugfs_init(struct dpu_kms *dpu_kms, struct dentry *parent); dpu_kms 43 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c static struct dpu_kms *_dpu_crtc_get_kms(struct drm_crtc *crtc) dpu_kms 609 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c struct dpu_kms *dpu_kms = _dpu_crtc_get_kms(crtc); dpu_kms 638 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c dpu_vbif_clear_errors(dpu_kms); dpu_kms 1292 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c struct dpu_kms *kms = NULL; dpu_kms 267 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h int dpu_crtc_register_custom_event(struct dpu_kms *kms, dpu_kms 270 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c irq_status = dpu_core_irq_read(phys_enc->dpu_kms, dpu_kms 324 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c irq->irq_idx = dpu_core_irq_idx_lookup(phys_enc->dpu_kms, dpu_kms 333 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c ret = dpu_core_irq_register_callback(phys_enc->dpu_kms, irq->irq_idx, dpu_kms 343 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c ret = dpu_core_irq_enable(phys_enc->dpu_kms, &irq->irq_idx, 1); dpu_kms 348 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c dpu_core_irq_unregister_callback(phys_enc->dpu_kms, dpu_kms 380 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c ret = dpu_core_irq_disable(phys_enc->dpu_kms, &irq->irq_idx, 1); dpu_kms 387 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c ret = dpu_core_irq_unregister_callback(phys_enc->dpu_kms, irq->irq_idx, dpu_kms 527 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c struct dpu_kms *dpu_kms, dpu_kms 551 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c struct dpu_kms *dpu_kms; dpu_kms 568 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c dpu_kms = to_dpu_kms(priv->kms); dpu_kms 600 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c topology = dpu_encoder_get_topology(dpu_enc, dpu_kms, adj_mode); dpu_kms 610 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c ret = dpu_rm_reserve(&dpu_kms->rm, drm_enc, crtc_state, dpu_kms 627 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c struct dpu_kms *dpu_kms; dpu_kms 647 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c dpu_kms = to_dpu_kms(priv->kms); dpu_kms 648 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c if (!dpu_kms) { dpu_kms 653 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c hw_mdptop = dpu_kms->hw_mdp; dpu_kms 700 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c struct dpu_kms *dpu_kms; dpu_kms 705 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c dpu_kms = to_dpu_kms(priv->kms); dpu_kms 716 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c pm_runtime_get_sync(&dpu_kms->pdev->dev); dpu_kms 726 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c pm_runtime_put_sync(&dpu_kms->pdev->dev); dpu_kms 950 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c struct dpu_kms *dpu_kms; dpu_kms 971 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c dpu_kms = to_dpu_kms(priv->kms); dpu_kms 972 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c connector_list = &dpu_kms->dev->mode_config.connector_list; dpu_kms 992 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c topology = dpu_encoder_get_topology(dpu_enc, dpu_kms, adj_mode); dpu_kms 995 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c ret = dpu_rm_reserve(&dpu_kms->rm, drm_enc, drm_crtc->state, dpu_kms 1006 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c if (!dpu_rm_get_hw(&dpu_kms->rm, &hw_iter)) dpu_kms 1013 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c if (!dpu_rm_get_hw(&dpu_kms->rm, &hw_iter)) dpu_kms 1021 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c if (!dpu_rm_get_hw(&dpu_kms->rm, &hw_iter)) dpu_kms 1062 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c if (!dpu_rm_get_hw(&dpu_kms->rm, &hw_iter)) dpu_kms 1086 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c dpu_rm_release(&dpu_kms->rm, drm_enc); dpu_kms 1093 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c struct dpu_kms *dpu_kms; dpu_kms 1101 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c dpu_kms = to_dpu_kms(priv->kms); dpu_kms 1102 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c if (!dpu_kms) { dpu_kms 1117 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c dpu_kms->catalog); dpu_kms 1186 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c struct dpu_kms *dpu_kms; dpu_kms 1210 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c dpu_kms = to_dpu_kms(priv->kms); dpu_kms 1241 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c dpu_rm_release(&dpu_kms->rm, drm_enc); dpu_kms 1918 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c struct dpu_kms *dpu_kms; dpu_kms 1936 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c dpu_kms = to_dpu_kms(priv->kms); dpu_kms 2037 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c struct dpu_kms *dpu_kms, dpu_kms 2045 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c if (!dpu_enc || !dpu_kms) { dpu_kms 2047 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c dpu_enc != 0, dpu_kms != 0); dpu_kms 2054 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c phys_params.dpu_kms = dpu_kms; dpu_kms 2077 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c dpu_kms->catalog->caps->has_idle_pc; dpu_kms 2100 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c phys_params.intf_idx = dpu_encoder_get_intf(dpu_kms->catalog, dpu_kms 2181 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c struct dpu_kms *dpu_kms = to_dpu_kms(priv->kms); dpu_kms 2189 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c ret = dpu_encoder_setup_display(dpu_enc, dpu_kms, disp_info); dpu_kms 224 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h struct dpu_kms *dpu_kms; dpu_kms 277 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h struct dpu_kms *dpu_kms; dpu_kms 359 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c struct dpu_kms *dpu_kms; dpu_kms 375 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c dpu_kms = phys_enc->dpu_kms; dpu_kms 376 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c if (!dpu_kms || !dpu_kms->dev || !dpu_kms->dev->dev_private) { dpu_kms 380 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c priv = dpu_kms->dev->dev_private; dpu_kms 391 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c vsync_hz = dpu_kms_get_clk_rate(dpu_kms, "vsync"); dpu_kms 780 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c phys_enc->hw_mdptop = p->dpu_kms->hw_mdp; dpu_kms 786 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c phys_enc->dpu_kms = p->dpu_kms; dpu_kms 377 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c if (!phys_enc || !phys_enc->dpu_kms) { dpu_kms 718 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c phys_enc->hw_mdptop = p->dpu_kms->hw_mdp; dpu_kms 726 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c phys_enc->dpu_kms = p->dpu_kms; dpu_kms 50 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c static void _dpu_kms_mmu_destroy(struct dpu_kms *dpu_kms); dpu_kms 70 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c struct dpu_kms *kms = (struct dpu_kms *)s->private; dpu_kms 132 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c static void dpu_debugfs_danger_init(struct dpu_kms *dpu_kms, dpu_kms 138 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms, &dpu_debugfs_danger_stats_fops); dpu_kms 140 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms, &dpu_debugfs_safe_stats_fops); dpu_kms 146 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c struct dpu_kms *dpu_kms = regset->dpu_kms; dpu_kms 152 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c if (!dpu_kms->mmio) dpu_kms 155 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dev = dpu_kms->dev; dpu_kms 163 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c base = dpu_kms->mmio + regset->offset; dpu_kms 172 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c pm_runtime_get_sync(&dpu_kms->pdev->dev); dpu_kms 182 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c pm_runtime_put_sync(&dpu_kms->pdev->dev); dpu_kms 201 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c uint32_t offset, uint32_t length, struct dpu_kms *dpu_kms) dpu_kms 206 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c regset->dpu_kms = dpu_kms; dpu_kms 213 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c if (!name || !regset || !regset->dpu_kms || !regset->blk_len) dpu_kms 224 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c struct dpu_kms *dpu_kms = to_dpu_kms(kms); dpu_kms 235 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_debugfs_danger_init(dpu_kms, entry); dpu_kms 236 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_debugfs_vbif_init(dpu_kms, entry); dpu_kms 237 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_debugfs_core_irq_init(dpu_kms, entry); dpu_kms 239 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c return dpu_core_perf_debugfs_init(dpu_kms, entry); dpu_kms 255 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c struct dpu_kms *dpu_kms = to_dpu_kms(kms); dpu_kms 256 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c pm_runtime_get_sync(&dpu_kms->pdev->dev); dpu_kms 261 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c struct dpu_kms *dpu_kms = to_dpu_kms(kms); dpu_kms 262 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c pm_runtime_put_sync(&dpu_kms->pdev->dev); dpu_kms 282 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c struct dpu_kms *dpu_kms; dpu_kms 292 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms = to_dpu_kms(kms); dpu_kms 293 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dev = dpu_kms->dev; dpu_kms 310 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c struct dpu_kms *dpu_kms = to_dpu_kms(kms); dpu_kms 313 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c for_each_crtc_mask(dpu_kms->dev, crtc, crtc_mask) { dpu_kms 347 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c struct dpu_kms *dpu_kms = to_dpu_kms(kms); dpu_kms 352 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c for_each_crtc_mask(dpu_kms->dev, crtc, crtc_mask) dpu_kms 401 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c struct dpu_kms *dpu_kms = to_dpu_kms(kms); dpu_kms 404 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c for_each_crtc_mask(dpu_kms->dev, crtc, crtc_mask) dpu_kms 410 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c struct dpu_kms *dpu_kms) dpu_kms 452 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c struct dpu_kms *dpu_kms) dpu_kms 459 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c return _dpu_kms_initialize_dsi(dev, priv, dpu_kms); dpu_kms 462 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c static void _dpu_kms_drm_obj_destroy(struct dpu_kms *dpu_kms) dpu_kms 467 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c if (!dpu_kms) { dpu_kms 470 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c } else if (!dpu_kms->dev) { dpu_kms 473 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c } else if (!dpu_kms->dev->dev_private) { dpu_kms 477 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c priv = dpu_kms->dev->dev_private; dpu_kms 496 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c static int _dpu_kms_drm_obj_init(struct dpu_kms *dpu_kms) dpu_kms 509 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dev = dpu_kms->dev; dpu_kms 511 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c catalog = dpu_kms->catalog; dpu_kms 517 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c ret = _dpu_kms_setup_displays(dev, priv, dpu_kms); dpu_kms 572 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c _dpu_kms_drm_obj_destroy(dpu_kms); dpu_kms 582 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c static void _dpu_kms_hw_destroy(struct dpu_kms *dpu_kms) dpu_kms 587 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dev = dpu_kms->dev; dpu_kms 591 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c if (dpu_kms->hw_intr) dpu_kms 592 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_hw_intr_destroy(dpu_kms->hw_intr); dpu_kms 593 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->hw_intr = NULL; dpu_kms 596 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c _dpu_kms_mmu_destroy(dpu_kms); dpu_kms 598 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c if (dpu_kms->catalog) { dpu_kms 599 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c for (i = 0; i < dpu_kms->catalog->vbif_count; i++) { dpu_kms 600 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c u32 vbif_idx = dpu_kms->catalog->vbif[i].id; dpu_kms 602 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c if ((vbif_idx < VBIF_MAX) && dpu_kms->hw_vbif[vbif_idx]) dpu_kms 603 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_hw_vbif_destroy(dpu_kms->hw_vbif[vbif_idx]); dpu_kms 607 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c if (dpu_kms->rm_init) dpu_kms 608 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_rm_destroy(&dpu_kms->rm); dpu_kms 609 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->rm_init = false; dpu_kms 611 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c if (dpu_kms->catalog) dpu_kms 612 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_hw_catalog_deinit(dpu_kms->catalog); dpu_kms 613 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->catalog = NULL; dpu_kms 615 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c if (dpu_kms->vbif[VBIF_NRT]) dpu_kms 616 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c devm_iounmap(&dpu_kms->pdev->dev, dpu_kms->vbif[VBIF_NRT]); dpu_kms 617 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->vbif[VBIF_NRT] = NULL; dpu_kms 619 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c if (dpu_kms->vbif[VBIF_RT]) dpu_kms 620 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c devm_iounmap(&dpu_kms->pdev->dev, dpu_kms->vbif[VBIF_RT]); dpu_kms 621 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->vbif[VBIF_RT] = NULL; dpu_kms 623 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c if (dpu_kms->hw_mdp) dpu_kms 624 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_hw_mdp_destroy(dpu_kms->hw_mdp); dpu_kms 625 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->hw_mdp = NULL; dpu_kms 627 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c if (dpu_kms->mmio) dpu_kms 628 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c devm_iounmap(&dpu_kms->pdev->dev, dpu_kms->mmio); dpu_kms 629 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->mmio = NULL; dpu_kms 634 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c struct dpu_kms *dpu_kms; dpu_kms 641 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms = to_dpu_kms(kms); dpu_kms 643 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c _dpu_kms_hw_destroy(dpu_kms); dpu_kms 676 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c struct dpu_kms *dpu_kms = to_dpu_kms(kms); dpu_kms 678 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c return dpu_core_irq(dpu_kms); dpu_kms 683 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c struct dpu_kms *dpu_kms = to_dpu_kms(kms); dpu_kms 685 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_core_irq_preinstall(dpu_kms); dpu_kms 690 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c struct dpu_kms *dpu_kms = to_dpu_kms(kms); dpu_kms 692 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_core_irq_uninstall(dpu_kms); dpu_kms 719 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c static void _dpu_kms_mmu_destroy(struct dpu_kms *dpu_kms) dpu_kms 723 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c if (!dpu_kms->base.aspace) dpu_kms 726 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c mmu = dpu_kms->base.aspace->mmu; dpu_kms 730 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c msm_gem_address_space_put(dpu_kms->base.aspace); dpu_kms 732 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->base.aspace = NULL; dpu_kms 735 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c static int _dpu_kms_mmu_init(struct dpu_kms *dpu_kms) dpu_kms 748 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c aspace = msm_gem_address_space_create(dpu_kms->dev->dev, dpu_kms 763 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->base.aspace = aspace; dpu_kms 767 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c static struct dss_clk *_dpu_kms_get_clk(struct dpu_kms *dpu_kms, dpu_kms 770 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c struct dss_module_power *mp = &dpu_kms->mp; dpu_kms 781 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c u64 dpu_kms_get_clk_rate(struct dpu_kms *dpu_kms, char *clock_name) dpu_kms 785 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c clk = _dpu_kms_get_clk(dpu_kms, clock_name); dpu_kms 794 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c struct dpu_kms *dpu_kms; dpu_kms 804 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms = to_dpu_kms(kms); dpu_kms 805 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dev = dpu_kms->dev; dpu_kms 817 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c atomic_set(&dpu_kms->bandwidth_ref, 0); dpu_kms 819 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->mmio = msm_ioremap(dpu_kms->pdev, "mdp", "mdp"); dpu_kms 820 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c if (IS_ERR(dpu_kms->mmio)) { dpu_kms 821 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c rc = PTR_ERR(dpu_kms->mmio); dpu_kms 823 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->mmio = NULL; dpu_kms 826 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c DRM_DEBUG("mapped dpu address space @%pK\n", dpu_kms->mmio); dpu_kms 827 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->mmio_len = dpu_iomap_size(dpu_kms->pdev, "mdp"); dpu_kms 829 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->vbif[VBIF_RT] = msm_ioremap(dpu_kms->pdev, "vbif", "vbif"); dpu_kms 830 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c if (IS_ERR(dpu_kms->vbif[VBIF_RT])) { dpu_kms 831 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c rc = PTR_ERR(dpu_kms->vbif[VBIF_RT]); dpu_kms 833 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->vbif[VBIF_RT] = NULL; dpu_kms 836 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->vbif_len[VBIF_RT] = dpu_iomap_size(dpu_kms->pdev, "vbif"); dpu_kms 837 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->vbif[VBIF_NRT] = msm_ioremap(dpu_kms->pdev, "vbif_nrt", "vbif_nrt"); dpu_kms 838 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c if (IS_ERR(dpu_kms->vbif[VBIF_NRT])) { dpu_kms 839 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->vbif[VBIF_NRT] = NULL; dpu_kms 842 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->vbif_len[VBIF_NRT] = dpu_iomap_size(dpu_kms->pdev, dpu_kms 846 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->reg_dma = msm_ioremap(dpu_kms->pdev, "regdma", "regdma"); dpu_kms 847 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c if (IS_ERR(dpu_kms->reg_dma)) { dpu_kms 848 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->reg_dma = NULL; dpu_kms 851 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->reg_dma_len = dpu_iomap_size(dpu_kms->pdev, "regdma"); dpu_kms 854 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c pm_runtime_get_sync(&dpu_kms->pdev->dev); dpu_kms 856 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->core_rev = readl_relaxed(dpu_kms->mmio + 0x0); dpu_kms 858 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c pr_info("dpu hardware revision:0x%x\n", dpu_kms->core_rev); dpu_kms 860 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->catalog = dpu_hw_catalog_init(dpu_kms->core_rev); dpu_kms 861 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c if (IS_ERR_OR_NULL(dpu_kms->catalog)) { dpu_kms 862 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c rc = PTR_ERR(dpu_kms->catalog); dpu_kms 863 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c if (!dpu_kms->catalog) dpu_kms 866 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->catalog = NULL; dpu_kms 874 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c rc = _dpu_kms_mmu_init(dpu_kms); dpu_kms 880 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c rc = dpu_rm_init(&dpu_kms->rm, dpu_kms->catalog, dpu_kms->mmio); dpu_kms 886 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->rm_init = true; dpu_kms 888 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->hw_mdp = dpu_hw_mdptop_init(MDP_TOP, dpu_kms->mmio, dpu_kms 889 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->catalog); dpu_kms 890 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c if (IS_ERR(dpu_kms->hw_mdp)) { dpu_kms 891 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c rc = PTR_ERR(dpu_kms->hw_mdp); dpu_kms 893 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->hw_mdp = NULL; dpu_kms 897 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c for (i = 0; i < dpu_kms->catalog->vbif_count; i++) { dpu_kms 898 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c u32 vbif_idx = dpu_kms->catalog->vbif[i].id; dpu_kms 900 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->hw_vbif[i] = dpu_hw_vbif_init(vbif_idx, dpu_kms 901 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->vbif[vbif_idx], dpu_kms->catalog); dpu_kms 902 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c if (IS_ERR_OR_NULL(dpu_kms->hw_vbif[vbif_idx])) { dpu_kms 903 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c rc = PTR_ERR(dpu_kms->hw_vbif[vbif_idx]); dpu_kms 904 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c if (!dpu_kms->hw_vbif[vbif_idx]) dpu_kms 907 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->hw_vbif[vbif_idx] = NULL; dpu_kms 912 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c rc = dpu_core_perf_init(&dpu_kms->perf, dev, dpu_kms->catalog, dpu_kms 913 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c _dpu_kms_get_clk(dpu_kms, "core")); dpu_kms 919 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->hw_intr = dpu_hw_intr_init(dpu_kms->mmio, dpu_kms->catalog); dpu_kms 920 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c if (IS_ERR_OR_NULL(dpu_kms->hw_intr)) { dpu_kms 921 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c rc = PTR_ERR(dpu_kms->hw_intr); dpu_kms 923 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->hw_intr = NULL; dpu_kms 935 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->catalog->caps->max_mixer_width * 2; dpu_kms 947 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c rc = _dpu_kms_drm_obj_init(dpu_kms); dpu_kms 953 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_vbif_init_memtypes(dpu_kms); dpu_kms 955 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c pm_runtime_put_sync(&dpu_kms->pdev->dev); dpu_kms 960 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_core_perf_destroy(&dpu_kms->perf); dpu_kms 964 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c pm_runtime_put_sync(&dpu_kms->pdev->dev); dpu_kms 966 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c _dpu_kms_hw_destroy(dpu_kms); dpu_kms 974 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c struct dpu_kms *dpu_kms; dpu_kms 983 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms = to_dpu_kms(priv->kms); dpu_kms 985 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c irq = irq_of_parse_and_map(dpu_kms->pdev->dev.of_node, 0); dpu_kms 990 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->base.irq = irq; dpu_kms 992 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c return &dpu_kms->base; dpu_kms 1000 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c struct dpu_kms *dpu_kms; dpu_kms 1004 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms = devm_kzalloc(&pdev->dev, sizeof(*dpu_kms), GFP_KERNEL); dpu_kms 1005 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c if (!dpu_kms) dpu_kms 1008 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c mp = &dpu_kms->mp; dpu_kms 1015 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c platform_set_drvdata(pdev, dpu_kms); dpu_kms 1017 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c msm_kms_init(&dpu_kms->base, &kms_funcs); dpu_kms 1018 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->dev = ddev; dpu_kms 1019 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->pdev = pdev; dpu_kms 1022 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_kms->rpm_enabled = true; dpu_kms 1024 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c priv->kms = &dpu_kms->base; dpu_kms 1031 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c struct dpu_kms *dpu_kms = platform_get_drvdata(pdev); dpu_kms 1032 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c struct dss_module_power *mp = &dpu_kms->mp; dpu_kms 1038 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c if (dpu_kms->rpm_enabled) dpu_kms 1062 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c struct dpu_kms *dpu_kms = platform_get_drvdata(pdev); dpu_kms 1064 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c struct dss_module_power *mp = &dpu_kms->mp; dpu_kms 1066 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c ddev = dpu_kms->dev; dpu_kms 1083 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c struct dpu_kms *dpu_kms = platform_get_drvdata(pdev); dpu_kms 1086 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c struct dss_module_power *mp = &dpu_kms->mp; dpu_kms 1088 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c ddev = dpu_kms->dev; dpu_kms 1100 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c dpu_vbif_init_memtypes(dpu_kms); dpu_kms 140 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h #define to_dpu_kms(x) container_of(x, struct dpu_kms, base) dpu_kms 165 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h struct dpu_kms *dpu_kms; dpu_kms 178 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h uint32_t offset, uint32_t length, struct dpu_kms *dpu_kms); dpu_kms 213 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h void *dpu_debugfs_get_root(struct dpu_kms *dpu_kms); dpu_kms 237 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h u64 dpu_kms_get_clk_rate(struct dpu_kms *dpu_kms, char *clock_name); dpu_kms 122 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c static struct dpu_kms *_dpu_plane_get_kms(struct drm_plane *plane) dpu_kms 374 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c struct dpu_kms *dpu_kms = _dpu_plane_get_kms(plane); dpu_kms 387 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c dpu_vbif_set_ot_limit(dpu_kms, &ot_params); dpu_kms 398 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c struct dpu_kms *dpu_kms = _dpu_plane_get_kms(plane); dpu_kms 413 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c dpu_vbif_set_qos_remap(dpu_kms, &qos_params); dpu_kms 422 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c struct dpu_kms *kms = _dpu_plane_get_kms(&pdpu->base); dpu_kms 769 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c struct dpu_kms *kms = _dpu_plane_get_kms(&pdpu->base); dpu_kms 1238 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c struct dpu_kms *dpu_kms = _dpu_plane_get_kms(plane); dpu_kms 1243 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c pm_runtime_get_sync(&dpu_kms->pdev->dev); dpu_kms 1245 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c pm_runtime_put_sync(&dpu_kms->pdev->dev); dpu_kms 1251 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c struct dpu_kms *kms = file->private_data; dpu_kms 1260 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c static void _dpu_plane_set_danger_state(struct dpu_kms *kms, bool enable) dpu_kms 1286 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c struct dpu_kms *kms = file->private_data; dpu_kms 1318 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c struct dpu_kms *kms = _dpu_plane_get_kms(plane); dpu_kms 1462 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c struct dpu_kms *kms = to_dpu_kms(priv->kms); dpu_kms 148 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c void dpu_vbif_set_ot_limit(struct dpu_kms *dpu_kms, dpu_kms 157 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c if (!dpu_kms) { dpu_kms 161 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c mdp = dpu_kms->hw_mdp; dpu_kms 163 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c for (i = 0; i < ARRAY_SIZE(dpu_kms->hw_vbif); i++) { dpu_kms 164 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c if (dpu_kms->hw_vbif[i] && dpu_kms 165 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c dpu_kms->hw_vbif[i]->idx == params->vbif_idx) dpu_kms 166 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c vbif = dpu_kms->hw_vbif[i]; dpu_kms 208 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c void dpu_vbif_set_qos_remap(struct dpu_kms *dpu_kms, dpu_kms 217 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c if (!dpu_kms || !params || !dpu_kms->hw_mdp) { dpu_kms 221 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c mdp = dpu_kms->hw_mdp; dpu_kms 223 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c for (i = 0; i < ARRAY_SIZE(dpu_kms->hw_vbif); i++) { dpu_kms 224 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c if (dpu_kms->hw_vbif[i] && dpu_kms 225 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c dpu_kms->hw_vbif[i]->idx == params->vbif_idx) { dpu_kms 226 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c vbif = dpu_kms->hw_vbif[i]; dpu_kms 263 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c void dpu_vbif_clear_errors(struct dpu_kms *dpu_kms) dpu_kms 268 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c for (i = 0; i < ARRAY_SIZE(dpu_kms->hw_vbif); i++) { dpu_kms 269 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c vbif = dpu_kms->hw_vbif[i]; dpu_kms 280 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c void dpu_vbif_init_memtypes(struct dpu_kms *dpu_kms) dpu_kms 285 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c for (i = 0; i < ARRAY_SIZE(dpu_kms->hw_vbif); i++) { dpu_kms 286 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c vbif = dpu_kms->hw_vbif[i]; dpu_kms 297 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c void dpu_debugfs_vbif_init(struct dpu_kms *dpu_kms, struct dentry *debugfs_root) dpu_kms 305 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c for (i = 0; i < dpu_kms->catalog->vbif_count; i++) { dpu_kms 306 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c struct dpu_vbif_cfg *vbif = &dpu_kms->catalog->vbif[i]; dpu_kms 50 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.h void dpu_vbif_set_ot_limit(struct dpu_kms *dpu_kms, dpu_kms 58 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.h void dpu_vbif_set_qos_remap(struct dpu_kms *dpu_kms, dpu_kms 65 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.h void dpu_vbif_clear_errors(struct dpu_kms *dpu_kms); dpu_kms 71 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.h void dpu_vbif_init_memtypes(struct dpu_kms *dpu_kms); dpu_kms 73 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.h void dpu_debugfs_vbif_init(struct dpu_kms *dpu_kms, struct dentry *debugfs_root);