Lines Matching defs:irq_idx

202 #define DPU_IRQ_MASK(irq_idx)	(BIT(DPU_IRQ_BIT(irq_idx)))
204 static inline bool dpu_core_irq_is_valid(unsigned int irq_idx)
206 return irq_idx && irq_idx <= DPU_NUM_IRQS;
210 unsigned int irq_idx)
212 return &intr->irq_tbl[irq_idx - 1];
218 * @irq_idx: interrupt index
220 static void dpu_core_irq_callback_handler(struct dpu_kms *dpu_kms, unsigned int irq_idx)
222 struct dpu_hw_intr_entry *irq_entry = dpu_core_irq_get_entry(dpu_kms->hw_intr, irq_idx);
224 VERB("IRQ=[%d, %d]\n", DPU_IRQ_REG(irq_idx), DPU_IRQ_BIT(irq_idx));
228 DPU_IRQ_REG(irq_idx), DPU_IRQ_BIT(irq_idx));
245 unsigned int irq_idx;
280 irq_idx = DPU_IRQ_IDX(reg_idx, bit - 1);
282 dpu_core_irq_callback_handler(dpu_kms, irq_idx);
302 unsigned int irq_idx)
312 if (!dpu_core_irq_is_valid(irq_idx)) {
314 DPU_IRQ_REG(irq_idx), DPU_IRQ_BIT(irq_idx));
325 reg_idx = DPU_IRQ_REG(irq_idx);
333 if (cache_irq_mask & DPU_IRQ_MASK(irq_idx)) {
338 cache_irq_mask |= DPU_IRQ_MASK(irq_idx);
340 DPU_REG_WRITE(&intr->hw, reg->clr_off, DPU_IRQ_MASK(irq_idx));
351 DPU_IRQ_REG(irq_idx), DPU_IRQ_BIT(irq_idx), dbgstr,
352 DPU_IRQ_MASK(irq_idx), cache_irq_mask);
358 unsigned int irq_idx)
368 if (!dpu_core_irq_is_valid(irq_idx)) {
370 DPU_IRQ_REG(irq_idx), DPU_IRQ_BIT(irq_idx));
381 reg_idx = DPU_IRQ_REG(irq_idx);
385 if ((cache_irq_mask & DPU_IRQ_MASK(irq_idx)) == 0) {
390 cache_irq_mask &= ~DPU_IRQ_MASK(irq_idx);
394 DPU_REG_WRITE(&intr->hw, reg->clr_off, DPU_IRQ_MASK(irq_idx));
403 DPU_IRQ_REG(irq_idx), DPU_IRQ_BIT(irq_idx), dbgstr,
404 DPU_IRQ_MASK(irq_idx), cache_irq_mask);
446 unsigned int irq_idx)
456 if (!dpu_core_irq_is_valid(irq_idx)) {
457 pr_err("invalid IRQ=[%d, %d]\n", DPU_IRQ_REG(irq_idx), DPU_IRQ_BIT(irq_idx));
463 reg_idx = DPU_IRQ_REG(irq_idx);
466 DPU_IRQ_MASK(irq_idx);
521 unsigned int irq_idx,
531 DPU_IRQ_REG(irq_idx), DPU_IRQ_BIT(irq_idx));
535 if (!dpu_core_irq_is_valid(irq_idx)) {
537 DPU_IRQ_REG(irq_idx), DPU_IRQ_BIT(irq_idx), irq_cb);
542 DPU_IRQ_REG(irq_idx), DPU_IRQ_BIT(irq_idx));
546 irq_entry = dpu_core_irq_get_entry(dpu_kms->hw_intr, irq_idx);
553 trace_dpu_core_irq_register_callback(DPU_IRQ_REG(irq_idx), DPU_IRQ_BIT(irq_idx), irq_cb);
559 irq_idx);
562 DPU_IRQ_REG(irq_idx), DPU_IRQ_BIT(irq_idx));
565 trace_dpu_irq_register_success(DPU_IRQ_REG(irq_idx), DPU_IRQ_BIT(irq_idx));
571 unsigned int irq_idx)
577 if (!dpu_core_irq_is_valid(irq_idx)) {
579 DPU_IRQ_REG(irq_idx), DPU_IRQ_BIT(irq_idx));
584 DPU_IRQ_REG(irq_idx), DPU_IRQ_BIT(irq_idx));
587 trace_dpu_core_irq_unregister_callback(DPU_IRQ_REG(irq_idx), DPU_IRQ_BIT(irq_idx));
589 ret = dpu_hw_intr_disable_irq_locked(dpu_kms->hw_intr, irq_idx);
592 DPU_IRQ_REG(irq_idx), DPU_IRQ_BIT(irq_idx), ret);
594 irq_entry = dpu_core_irq_get_entry(dpu_kms->hw_intr, irq_idx);
600 trace_dpu_irq_unregister_success(DPU_IRQ_REG(irq_idx), DPU_IRQ_BIT(irq_idx));