Lines Matching refs:community
112 struct intel_community *community; in intel_get_community() local
116 community = &pctrl->communities[i]; in intel_get_community()
117 if (pin >= community->pin_base && in intel_get_community()
118 pin < community->pin_base + community->npins) in intel_get_community()
119 return community; in intel_get_community()
129 const struct intel_community *community; in intel_get_padcfg() local
132 community = intel_get_community(pctrl, pin); in intel_get_padcfg()
133 if (!community) in intel_get_padcfg()
136 padno = pin_to_padno(community, pin); in intel_get_padcfg()
137 return community->pad_regs + reg + padno * 8; in intel_get_padcfg()
142 const struct intel_community *community; in intel_pad_owned_by_host() local
146 community = intel_get_community(pctrl, pin); in intel_pad_owned_by_host()
147 if (!community) in intel_pad_owned_by_host()
149 if (!community->padown_offset) in intel_pad_owned_by_host()
152 padno = pin_to_padno(community, pin); in intel_pad_owned_by_host()
153 group = padno / community->gpp_size; in intel_pad_owned_by_host()
154 gpp = PADOWN_GPP(padno % community->gpp_size); in intel_pad_owned_by_host()
155 offset = community->padown_offset + 0x10 * group + gpp * 4; in intel_pad_owned_by_host()
156 padown = community->regs + offset; in intel_pad_owned_by_host()
163 const struct intel_community *community; in intel_pad_acpi_mode() local
167 community = intel_get_community(pctrl, pin); in intel_pad_acpi_mode()
168 if (!community) in intel_pad_acpi_mode()
170 if (!community->hostown_offset) in intel_pad_acpi_mode()
173 padno = pin_to_padno(community, pin); in intel_pad_acpi_mode()
174 gpp = padno / community->gpp_size; in intel_pad_acpi_mode()
175 offset = community->hostown_offset + gpp * 4; in intel_pad_acpi_mode()
176 hostown = community->regs + offset; in intel_pad_acpi_mode()
178 return !(readl(hostown) & BIT(padno % community->gpp_size)); in intel_pad_acpi_mode()
183 struct intel_community *community; in intel_pad_locked() local
187 community = intel_get_community(pctrl, pin); in intel_pad_locked()
188 if (!community) in intel_pad_locked()
190 if (!community->padcfglock_offset) in intel_pad_locked()
193 padno = pin_to_padno(community, pin); in intel_pad_locked()
194 gpp = padno / community->gpp_size; in intel_pad_locked()
201 offset = community->padcfglock_offset + gpp * 8; in intel_pad_locked()
202 value = readl(community->regs + offset); in intel_pad_locked()
203 if (value & BIT(pin % community->gpp_size)) in intel_pad_locked()
206 offset = community->padcfglock_offset + 4 + gpp * 8; in intel_pad_locked()
207 value = readl(community->regs + offset); in intel_pad_locked()
208 if (value & BIT(pin % community->gpp_size)) in intel_pad_locked()
656 const struct intel_community *community; in intel_gpio_irq_ack() local
661 community = intel_get_community(pctrl, pin); in intel_gpio_irq_ack()
662 if (community) { in intel_gpio_irq_ack()
663 unsigned padno = pin_to_padno(community, pin); in intel_gpio_irq_ack()
664 unsigned gpp_offset = padno % community->gpp_size; in intel_gpio_irq_ack()
665 unsigned gpp = padno / community->gpp_size; in intel_gpio_irq_ack()
667 writel(BIT(gpp_offset), community->regs + GPI_IS + gpp * 4); in intel_gpio_irq_ack()
677 const struct intel_community *community; in intel_gpio_irq_mask_unmask() local
683 community = intel_get_community(pctrl, pin); in intel_gpio_irq_mask_unmask()
684 if (community) { in intel_gpio_irq_mask_unmask()
685 unsigned padno = pin_to_padno(community, pin); in intel_gpio_irq_mask_unmask()
686 unsigned gpp_offset = padno % community->gpp_size; in intel_gpio_irq_mask_unmask()
687 unsigned gpp = padno / community->gpp_size; in intel_gpio_irq_mask_unmask()
691 reg = community->regs + community->ie_offset + gpp * 4; in intel_gpio_irq_mask_unmask()
771 const struct intel_community *community; in intel_gpio_irq_wake() local
776 community = intel_get_community(pctrl, pin); in intel_gpio_irq_wake()
777 if (!community) in intel_gpio_irq_wake()
780 padno = pin_to_padno(community, pin); in intel_gpio_irq_wake()
781 gpp = padno / community->gpp_size; in intel_gpio_irq_wake()
782 gpp_offset = padno % community->gpp_size; in intel_gpio_irq_wake()
785 writel(BIT(gpp_offset), community->regs + GPI_GPE_STS + gpp * 4); in intel_gpio_irq_wake()
792 gpe_en = readl(community->regs + GPI_GPE_EN + gpp * 4); in intel_gpio_irq_wake()
797 writel(gpe_en, community->regs + GPI_GPE_EN + gpp * 4); in intel_gpio_irq_wake()
804 const struct intel_community *community) in intel_gpio_community_irq_handler() argument
810 for (gpp = 0; gpp < community->ngpps; gpp++) { in intel_gpio_community_irq_handler()
813 pending = readl(community->regs + GPI_IS + gpp * 4); in intel_gpio_community_irq_handler()
814 enabled = readl(community->regs + community->ie_offset + in intel_gpio_community_irq_handler()
820 for_each_set_bit(gpp_offset, &pending, community->gpp_size) { in intel_gpio_community_irq_handler()
827 padno = gpp_offset + gpp * community->gpp_size; in intel_gpio_community_irq_handler()
828 if (padno >= community->npins) in intel_gpio_community_irq_handler()
832 community->pin_base + padno); in intel_gpio_community_irq_handler()
844 const struct intel_community *community; in intel_gpio_irq() local
851 community = &pctrl->communities[i]; in intel_gpio_irq()
852 ret |= intel_gpio_community_irq_handler(pctrl, community); in intel_gpio_irq()
939 struct intel_community *community = &pctrl->communities[i]; in intel_pinctrl_pm_init() local
942 intmask = devm_kcalloc(pctrl->dev, community->ngpps, in intel_pinctrl_pm_init()
985 struct intel_community *community = &pctrl->communities[i]; in intel_pinctrl_probe() local
990 *community = pctrl->soc->communities[i]; in intel_pinctrl_probe()
993 community->barno); in intel_pinctrl_probe()
1001 community->regs = regs; in intel_pinctrl_probe()
1002 community->pad_regs = regs + padbar; in intel_pinctrl_probe()
1003 community->ngpps = DIV_ROUND_UP(community->npins, in intel_pinctrl_probe()
1004 community->gpp_size); in intel_pinctrl_probe()
1076 struct intel_community *community = &pctrl->communities[i]; in intel_pinctrl_suspend() local
1080 base = community->regs + community->ie_offset; in intel_pinctrl_suspend()
1081 for (gpp = 0; gpp < community->ngpps; gpp++) in intel_pinctrl_suspend()
1094 const struct intel_community *community; in intel_gpio_irq_init() local
1098 community = &pctrl->communities[i]; in intel_gpio_irq_init()
1099 base = community->regs; in intel_gpio_irq_init()
1101 for (gpp = 0; gpp < community->ngpps; gpp++) { in intel_gpio_irq_init()
1103 writel(0, base + community->ie_offset + gpp * 4); in intel_gpio_irq_init()
1148 struct intel_community *community = &pctrl->communities[i]; in intel_pinctrl_resume() local
1152 base = community->regs + community->ie_offset; in intel_pinctrl_resume()
1153 for (gpp = 0; gpp < community->ngpps; gpp++) { in intel_pinctrl_resume()