Lines Matching refs:chip_data

219 	struct stm32_exti_chip_data *chip_data = gc->private;  in stm32_exti_pending()  local
220 const struct stm32_exti_bank *stm32_bank = chip_data->reg_bank; in stm32_exti_pending()
280 static int stm32_exti_hwspin_lock(struct stm32_exti_chip_data *chip_data) in stm32_exti_hwspin_lock() argument
284 if (!chip_data->host_data->hwlock) in stm32_exti_hwspin_lock()
293 ret = hwspin_trylock_raw(chip_data->host_data->hwlock); in stm32_exti_hwspin_lock()
310 static void stm32_exti_hwspin_unlock(struct stm32_exti_chip_data *chip_data) in stm32_exti_hwspin_unlock() argument
312 if (chip_data->host_data->hwlock) in stm32_exti_hwspin_unlock()
313 hwspin_unlock_raw(chip_data->host_data->hwlock); in stm32_exti_hwspin_unlock()
319 struct stm32_exti_chip_data *chip_data = gc->private; in stm32_irq_set_type() local
320 const struct stm32_exti_bank *stm32_bank = chip_data->reg_bank; in stm32_irq_set_type()
326 err = stm32_exti_hwspin_lock(chip_data); in stm32_irq_set_type()
341 stm32_exti_hwspin_unlock(chip_data); in stm32_irq_set_type()
348 static void stm32_chip_suspend(struct stm32_exti_chip_data *chip_data, in stm32_chip_suspend() argument
351 const struct stm32_exti_bank *stm32_bank = chip_data->reg_bank; in stm32_chip_suspend()
352 void __iomem *base = chip_data->host_data->base; in stm32_chip_suspend()
355 chip_data->rtsr_cache = readl_relaxed(base + stm32_bank->rtsr_ofst); in stm32_chip_suspend()
356 chip_data->ftsr_cache = readl_relaxed(base + stm32_bank->ftsr_ofst); in stm32_chip_suspend()
361 static void stm32_chip_resume(struct stm32_exti_chip_data *chip_data, in stm32_chip_resume() argument
364 const struct stm32_exti_bank *stm32_bank = chip_data->reg_bank; in stm32_chip_resume()
365 void __iomem *base = chip_data->host_data->base; in stm32_chip_resume()
368 writel_relaxed(chip_data->rtsr_cache, base + stm32_bank->rtsr_ofst); in stm32_chip_resume()
369 writel_relaxed(chip_data->ftsr_cache, base + stm32_bank->ftsr_ofst); in stm32_chip_resume()
376 struct stm32_exti_chip_data *chip_data = gc->private; in stm32_irq_suspend() local
379 stm32_chip_suspend(chip_data, gc->wake_active); in stm32_irq_suspend()
385 struct stm32_exti_chip_data *chip_data = gc->private; in stm32_irq_resume() local
388 stm32_chip_resume(chip_data, gc->mask_cache); in stm32_irq_resume()
422 struct stm32_exti_chip_data *chip_data = gc->private; in stm32_irq_ack() local
423 const struct stm32_exti_bank *stm32_bank = chip_data->reg_bank; in stm32_irq_ack()
436 struct stm32_exti_chip_data *chip_data = irq_data_get_irq_chip_data(d); in stm32_exti_set_bit() local
437 void __iomem *base = chip_data->host_data->base; in stm32_exti_set_bit()
449 struct stm32_exti_chip_data *chip_data = irq_data_get_irq_chip_data(d); in stm32_exti_clr_bit() local
450 void __iomem *base = chip_data->host_data->base; in stm32_exti_clr_bit()
462 struct stm32_exti_chip_data *chip_data = irq_data_get_irq_chip_data(d); in stm32_exti_h_eoi() local
463 const struct stm32_exti_bank *stm32_bank = chip_data->reg_bank; in stm32_exti_h_eoi()
465 raw_spin_lock(&chip_data->rlock); in stm32_exti_h_eoi()
471 raw_spin_unlock(&chip_data->rlock); in stm32_exti_h_eoi()
479 struct stm32_exti_chip_data *chip_data = irq_data_get_irq_chip_data(d); in stm32_exti_h_mask() local
480 const struct stm32_exti_bank *stm32_bank = chip_data->reg_bank; in stm32_exti_h_mask()
482 raw_spin_lock(&chip_data->rlock); in stm32_exti_h_mask()
483 chip_data->mask_cache = stm32_exti_clr_bit(d, stm32_bank->imr_ofst); in stm32_exti_h_mask()
484 raw_spin_unlock(&chip_data->rlock); in stm32_exti_h_mask()
492 struct stm32_exti_chip_data *chip_data = irq_data_get_irq_chip_data(d); in stm32_exti_h_unmask() local
493 const struct stm32_exti_bank *stm32_bank = chip_data->reg_bank; in stm32_exti_h_unmask()
495 raw_spin_lock(&chip_data->rlock); in stm32_exti_h_unmask()
496 chip_data->mask_cache = stm32_exti_set_bit(d, stm32_bank->imr_ofst); in stm32_exti_h_unmask()
497 raw_spin_unlock(&chip_data->rlock); in stm32_exti_h_unmask()
505 struct stm32_exti_chip_data *chip_data = irq_data_get_irq_chip_data(d); in stm32_exti_h_set_type() local
506 const struct stm32_exti_bank *stm32_bank = chip_data->reg_bank; in stm32_exti_h_set_type()
507 void __iomem *base = chip_data->host_data->base; in stm32_exti_h_set_type()
511 raw_spin_lock(&chip_data->rlock); in stm32_exti_h_set_type()
513 err = stm32_exti_hwspin_lock(chip_data); in stm32_exti_h_set_type()
528 stm32_exti_hwspin_unlock(chip_data); in stm32_exti_h_set_type()
530 raw_spin_unlock(&chip_data->rlock); in stm32_exti_h_set_type()
537 struct stm32_exti_chip_data *chip_data = irq_data_get_irq_chip_data(d); in stm32_exti_h_set_wake() local
540 raw_spin_lock(&chip_data->rlock); in stm32_exti_h_set_wake()
543 chip_data->wake_active |= mask; in stm32_exti_h_set_wake()
545 chip_data->wake_active &= ~mask; in stm32_exti_h_set_wake()
547 raw_spin_unlock(&chip_data->rlock); in stm32_exti_h_set_wake()
563 struct stm32_exti_chip_data *chip_data; in stm32_exti_h_suspend() local
567 chip_data = &stm32_host_data->chips_data[i]; in stm32_exti_h_suspend()
568 raw_spin_lock(&chip_data->rlock); in stm32_exti_h_suspend()
569 stm32_chip_suspend(chip_data, chip_data->wake_active); in stm32_exti_h_suspend()
570 raw_spin_unlock(&chip_data->rlock); in stm32_exti_h_suspend()
578 struct stm32_exti_chip_data *chip_data; in stm32_exti_h_resume() local
582 chip_data = &stm32_host_data->chips_data[i]; in stm32_exti_h_resume()
583 raw_spin_lock(&chip_data->rlock); in stm32_exti_h_resume()
584 stm32_chip_resume(chip_data, chip_data->mask_cache); in stm32_exti_h_resume()
585 raw_spin_unlock(&chip_data->rlock); in stm32_exti_h_resume()
624 struct stm32_exti_chip_data *chip_data; in stm32_exti_h_domain_alloc() local
632 chip_data = &host_data->chips_data[bank]; in stm32_exti_h_domain_alloc()
635 &stm32_exti_h_chip, chip_data); in stm32_exti_h_domain_alloc()
692 struct stm32_exti_chip_data *chip_data; in stm32_exti_chip_init() local
696 chip_data = &h_data->chips_data[bank_idx]; in stm32_exti_chip_init()
697 chip_data->host_data = h_data; in stm32_exti_chip_init()
698 chip_data->reg_bank = stm32_bank; in stm32_exti_chip_init()
700 raw_spin_lock_init(&chip_data->rlock); in stm32_exti_chip_init()
711 return chip_data; in stm32_exti_chip_init()
746 struct stm32_exti_chip_data *chip_data; in stm32_exti_init() local
749 chip_data = stm32_exti_chip_init(host_data, i, node); in stm32_exti_init()
765 gc->private = (void *)chip_data; in stm32_exti_init()