Lines Matching full:bank
209 * @bank: pin bank related to the domain
213 struct samsung_pin_bank *bank; member
268 struct samsung_pin_bank *bank, int pin) in s3c64xx_irq_set_function() argument
270 const struct samsung_pin_bank_type *bank_type = bank->type; in s3c64xx_irq_set_function()
278 reg = d->virt_base + bank->pctl_offset; in s3c64xx_irq_set_function()
281 /* 4-bit bank type with 2 con regs */ in s3c64xx_irq_set_function()
289 raw_spin_lock_irqsave(&bank->slock, flags); in s3c64xx_irq_set_function()
293 val |= bank->eint_func << shift; in s3c64xx_irq_set_function()
296 raw_spin_unlock_irqrestore(&bank->slock, flags); in s3c64xx_irq_set_function()
305 struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd); in s3c64xx_gpio_irq_set_mask() local
306 struct samsung_pinctrl_drv_data *d = bank->drvdata; in s3c64xx_gpio_irq_set_mask()
307 unsigned char index = EINT_OFFS(bank->eint_offset) + irqd->hwirq; in s3c64xx_gpio_irq_set_mask()
308 void __iomem *reg = d->virt_base + EINTMASK_REG(bank->eint_offset); in s3c64xx_gpio_irq_set_mask()
331 struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd); in s3c64xx_gpio_irq_ack() local
332 struct samsung_pinctrl_drv_data *d = bank->drvdata; in s3c64xx_gpio_irq_ack()
333 unsigned char index = EINT_OFFS(bank->eint_offset) + irqd->hwirq; in s3c64xx_gpio_irq_ack()
334 void __iomem *reg = d->virt_base + EINTPEND_REG(bank->eint_offset); in s3c64xx_gpio_irq_ack()
341 struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd); in s3c64xx_gpio_irq_set_type() local
342 struct samsung_pinctrl_drv_data *d = bank->drvdata; in s3c64xx_gpio_irq_set_type()
357 reg = d->virt_base + EINTCON_REG(bank->eint_offset); in s3c64xx_gpio_irq_set_type()
358 shift = EINT_OFFS(bank->eint_offset) + irqd->hwirq; in s3c64xx_gpio_irq_set_type()
366 s3c64xx_irq_set_function(d, bank, irqd->hwirq); in s3c64xx_gpio_irq_set_type()
385 struct samsung_pin_bank *bank = h->host_data; in s3c64xx_gpio_irq_map() local
387 if (!(bank->eint_mask & (1 << hw))) in s3c64xx_gpio_irq_map()
392 irq_set_chip_data(virq, bank); in s3c64xx_gpio_irq_map()
452 struct samsung_pin_bank *bank; in s3c64xx_eint_gpio_init() local
463 bank = d->pin_banks; in s3c64xx_eint_gpio_init()
464 for (i = 0; i < d->nr_banks; ++i, ++bank) { in s3c64xx_eint_gpio_init()
468 if (bank->eint_type != EINT_TYPE_GPIO) in s3c64xx_eint_gpio_init()
471 mask = bank->eint_mask; in s3c64xx_eint_gpio_init()
474 bank->irq_domain = irq_domain_create_linear(bank->fwnode, in s3c64xx_eint_gpio_init()
475 nr_eints, &s3c64xx_gpio_irqd_ops, bank); in s3c64xx_eint_gpio_init()
476 if (!bank->irq_domain) { in s3c64xx_eint_gpio_init()
490 bank = d->pin_banks; in s3c64xx_eint_gpio_init()
492 for (i = 0; i < d->nr_banks; ++i, ++bank) { in s3c64xx_eint_gpio_init()
493 if (bank->eint_type != EINT_TYPE_GPIO) in s3c64xx_eint_gpio_init()
496 data->domains[nr_domains++] = bank->irq_domain; in s3c64xx_eint_gpio_init()
512 struct samsung_pinctrl_drv_data *d = ddata->bank->drvdata; in s3c64xx_eint0_irq_set_mask()
537 struct samsung_pinctrl_drv_data *d = ddata->bank->drvdata; in s3c64xx_eint0_irq_ack()
547 struct samsung_pin_bank *bank = ddata->bank; in s3c64xx_eint0_irq_set_type() local
548 struct samsung_pinctrl_drv_data *d = bank->drvdata; in s3c64xx_eint0_irq_set_type()
576 s3c64xx_irq_set_function(d, bank, irqd->hwirq); in s3c64xx_eint0_irq_set_type()
655 struct samsung_pin_bank *bank = ddata->bank; in s3c64xx_eint0_irq_map() local
657 if (!(bank->eint_mask & (1 << hw))) in s3c64xx_eint0_irq_map()
690 struct samsung_pin_bank *bank; in s3c64xx_eint_eint0_init() local
726 bank = d->pin_banks; in s3c64xx_eint_eint0_init()
727 for (i = 0; i < d->nr_banks; ++i, ++bank) { in s3c64xx_eint_eint0_init()
734 if (bank->eint_type != EINT_TYPE_WKUP) in s3c64xx_eint_eint0_init()
737 mask = bank->eint_mask; in s3c64xx_eint_eint0_init()
744 ddata->bank = bank; in s3c64xx_eint_eint0_init()
746 bank->irq_domain = irq_domain_create_linear(bank->fwnode, in s3c64xx_eint_eint0_init()
748 if (!bank->irq_domain) { in s3c64xx_eint_eint0_init()
753 irq = bank->eint_offset; in s3c64xx_eint_eint0_init()
754 mask = bank->eint_mask; in s3c64xx_eint_eint0_init()
758 data->domains[irq] = bank->irq_domain; in s3c64xx_eint_eint0_init()