irq_obj 23 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c struct dpu_irq *irq_obj = &dpu_kms->irq_obj; irq_obj 29 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (list_empty(&irq_obj->irq_cb_tbl[irq_idx])) { irq_obj 31 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c atomic_read(&dpu_kms->irq_obj.enable_counts[irq_idx])); irq_obj 34 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c atomic_inc(&irq_obj->irq_counts[irq_idx]); irq_obj 39 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c spin_lock_irqsave(&dpu_kms->irq_obj.cb_lock, irq_flags); irq_obj 40 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c list_for_each_entry(cb, &irq_obj->irq_cb_tbl[irq_idx], list) irq_obj 43 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c spin_unlock_irqrestore(&dpu_kms->irq_obj.cb_lock, irq_flags); irq_obj 77 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c !dpu_kms->irq_obj.enable_counts || irq_obj 78 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c !dpu_kms->irq_obj.irq_counts) { irq_obj 88 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c enable_count = atomic_read(&dpu_kms->irq_obj.enable_counts[irq_idx]); irq_obj 92 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (atomic_inc_return(&dpu_kms->irq_obj.enable_counts[irq_idx]) == 1) { irq_obj 102 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c spin_lock_irqsave(&dpu_kms->irq_obj.cb_lock, irq_flags); irq_obj 104 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (list_empty(&dpu_kms->irq_obj.irq_cb_tbl[irq_idx])) irq_obj 107 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c spin_unlock_irqrestore(&dpu_kms->irq_obj.cb_lock, irq_flags); irq_obj 122 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c counts = atomic_read(&dpu_kms->irq_obj.enable_counts[irq_idxs[0]]); irq_obj 141 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (!dpu_kms || !dpu_kms->hw_intr || !dpu_kms->irq_obj.enable_counts) { irq_obj 151 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c enable_count = atomic_read(&dpu_kms->irq_obj.enable_counts[irq_idx]); irq_obj 155 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (atomic_dec_return(&dpu_kms->irq_obj.enable_counts[irq_idx]) == 0) { irq_obj 177 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c counts = atomic_read(&dpu_kms->irq_obj.enable_counts[irq_idxs[0]]); irq_obj 208 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (!dpu_kms || !dpu_kms->irq_obj.irq_cb_tbl) { irq_obj 228 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c spin_lock_irqsave(&dpu_kms->irq_obj.cb_lock, irq_flags); irq_obj 232 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c &dpu_kms->irq_obj.irq_cb_tbl[irq_idx]); irq_obj 233 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c spin_unlock_irqrestore(&dpu_kms->irq_obj.cb_lock, irq_flags); irq_obj 243 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (!dpu_kms || !dpu_kms->irq_obj.irq_cb_tbl) { irq_obj 263 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c spin_lock_irqsave(&dpu_kms->irq_obj.cb_lock, irq_flags); irq_obj 267 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (list_empty(&dpu_kms->irq_obj.irq_cb_tbl[irq_idx]) && irq_obj 268 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c atomic_read(&dpu_kms->irq_obj.enable_counts[irq_idx])) irq_obj 270 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c spin_unlock_irqrestore(&dpu_kms->irq_obj.cb_lock, irq_flags); irq_obj 309 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c struct dpu_irq *irq_obj = s->private; irq_obj 314 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (WARN_ON(!irq_obj->enable_counts || !irq_obj->irq_cb_tbl)) irq_obj 317 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c for (i = 0; i < irq_obj->total_irqs; i++) { irq_obj 318 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c spin_lock_irqsave(&irq_obj->cb_lock, irq_flags); irq_obj 320 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c irq_count = atomic_read(&irq_obj->irq_counts[i]); irq_obj 321 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c enable_count = atomic_read(&irq_obj->enable_counts[i]); irq_obj 322 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c list_for_each_entry(cb, &irq_obj->irq_cb_tbl[i], list) irq_obj 324 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c spin_unlock_irqrestore(&irq_obj->cb_lock, irq_flags); irq_obj 339 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c debugfs_create_file("core_irq", 0600, parent, &dpu_kms->irq_obj, irq_obj 363 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c spin_lock_init(&dpu_kms->irq_obj.cb_lock); irq_obj 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; irq_obj 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, irq_obj 369 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_kms->irq_obj.enable_counts = kcalloc(dpu_kms->irq_obj.total_irqs, irq_obj 371 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_kms->irq_obj.irq_counts = kcalloc(dpu_kms->irq_obj.total_irqs, irq_obj 373 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c for (i = 0; i < dpu_kms->irq_obj.total_irqs; i++) { irq_obj 374 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c INIT_LIST_HEAD(&dpu_kms->irq_obj.irq_cb_tbl[i]); irq_obj 375 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c atomic_set(&dpu_kms->irq_obj.enable_counts[i], 0); irq_obj 376 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c atomic_set(&dpu_kms->irq_obj.irq_counts[i], 0); irq_obj 395 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c for (i = 0; i < dpu_kms->irq_obj.total_irqs; i++) irq_obj 396 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c if (atomic_read(&dpu_kms->irq_obj.enable_counts[i]) || irq_obj 397 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c !list_empty(&dpu_kms->irq_obj.irq_cb_tbl[i])) irq_obj 404 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c kfree(dpu_kms->irq_obj.irq_cb_tbl); irq_obj 405 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c kfree(dpu_kms->irq_obj.enable_counts); irq_obj 406 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c kfree(dpu_kms->irq_obj.irq_counts); irq_obj 407 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_kms->irq_obj.irq_cb_tbl = NULL; irq_obj 408 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_kms->irq_obj.enable_counts = NULL; irq_obj 409 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_kms->irq_obj.irq_counts = NULL; irq_obj 410 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c dpu_kms->irq_obj.total_irqs = 0; irq_obj 110 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h struct dpu_irq irq_obj;