tgi                30 drivers/gpio/gpio-tegra.c #define GPIO_REG(tgi, x)	(GPIO_BANK(x) * tgi->soc->bank_stride + \
tgi                76 drivers/gpio/gpio-tegra.c 	struct tegra_gpio_info *tgi;
tgi                96 drivers/gpio/gpio-tegra.c static inline void tegra_gpio_writel(struct tegra_gpio_info *tgi,
tgi                99 drivers/gpio/gpio-tegra.c 	__raw_writel(val, tgi->regs + reg);
tgi               102 drivers/gpio/gpio-tegra.c static inline u32 tegra_gpio_readl(struct tegra_gpio_info *tgi, u32 reg)
tgi               104 drivers/gpio/gpio-tegra.c 	return __raw_readl(tgi->regs + reg);
tgi               113 drivers/gpio/gpio-tegra.c static void tegra_gpio_mask_write(struct tegra_gpio_info *tgi, u32 reg,
tgi               121 drivers/gpio/gpio-tegra.c 	tegra_gpio_writel(tgi, val, reg);
tgi               124 drivers/gpio/gpio-tegra.c static void tegra_gpio_enable(struct tegra_gpio_info *tgi, unsigned int gpio)
tgi               126 drivers/gpio/gpio-tegra.c 	tegra_gpio_mask_write(tgi, GPIO_MSK_CNF(tgi, gpio), gpio, 1);
tgi               129 drivers/gpio/gpio-tegra.c static void tegra_gpio_disable(struct tegra_gpio_info *tgi, unsigned int gpio)
tgi               131 drivers/gpio/gpio-tegra.c 	tegra_gpio_mask_write(tgi, GPIO_MSK_CNF(tgi, gpio), gpio, 0);
tgi               141 drivers/gpio/gpio-tegra.c 	struct tegra_gpio_info *tgi = gpiochip_get_data(chip);
tgi               144 drivers/gpio/gpio-tegra.c 	tegra_gpio_disable(tgi, offset);
tgi               150 drivers/gpio/gpio-tegra.c 	struct tegra_gpio_info *tgi = gpiochip_get_data(chip);
tgi               152 drivers/gpio/gpio-tegra.c 	tegra_gpio_mask_write(tgi, GPIO_MSK_OUT(tgi, offset), offset, value);
tgi               157 drivers/gpio/gpio-tegra.c 	struct tegra_gpio_info *tgi = gpiochip_get_data(chip);
tgi               161 drivers/gpio/gpio-tegra.c 	if (tegra_gpio_readl(tgi, GPIO_OE(tgi, offset)) & bval)
tgi               162 drivers/gpio/gpio-tegra.c 		return !!(tegra_gpio_readl(tgi, GPIO_OUT(tgi, offset)) & bval);
tgi               164 drivers/gpio/gpio-tegra.c 	return !!(tegra_gpio_readl(tgi, GPIO_IN(tgi, offset)) & bval);
tgi               170 drivers/gpio/gpio-tegra.c 	struct tegra_gpio_info *tgi = gpiochip_get_data(chip);
tgi               173 drivers/gpio/gpio-tegra.c 	tegra_gpio_mask_write(tgi, GPIO_MSK_OE(tgi, offset), offset, 0);
tgi               174 drivers/gpio/gpio-tegra.c 	tegra_gpio_enable(tgi, offset);
tgi               178 drivers/gpio/gpio-tegra.c 		dev_err(tgi->dev,
tgi               189 drivers/gpio/gpio-tegra.c 	struct tegra_gpio_info *tgi = gpiochip_get_data(chip);
tgi               193 drivers/gpio/gpio-tegra.c 	tegra_gpio_mask_write(tgi, GPIO_MSK_OE(tgi, offset), offset, 1);
tgi               194 drivers/gpio/gpio-tegra.c 	tegra_gpio_enable(tgi, offset);
tgi               198 drivers/gpio/gpio-tegra.c 		dev_err(tgi->dev,
tgi               208 drivers/gpio/gpio-tegra.c 	struct tegra_gpio_info *tgi = gpiochip_get_data(chip);
tgi               212 drivers/gpio/gpio-tegra.c 	cnf = tegra_gpio_readl(tgi, GPIO_CNF(tgi, offset));
tgi               216 drivers/gpio/gpio-tegra.c 	oe = tegra_gpio_readl(tgi, GPIO_OE(tgi, offset));
tgi               224 drivers/gpio/gpio-tegra.c 	struct tegra_gpio_info *tgi = gpiochip_get_data(chip);
tgi               225 drivers/gpio/gpio-tegra.c 	struct tegra_gpio_bank *bank = &tgi->bank_info[GPIO_BANK(offset)];
tgi               231 drivers/gpio/gpio-tegra.c 		tegra_gpio_mask_write(tgi, GPIO_MSK_DBC_EN(tgi, offset),
tgi               244 drivers/gpio/gpio-tegra.c 		tegra_gpio_writel(tgi, debounce_ms, GPIO_DBC_CNT(tgi, offset));
tgi               249 drivers/gpio/gpio-tegra.c 	tegra_gpio_mask_write(tgi, GPIO_MSK_DBC_EN(tgi, offset), offset, 1);
tgi               268 drivers/gpio/gpio-tegra.c 	struct tegra_gpio_info *tgi = gpiochip_get_data(chip);
tgi               270 drivers/gpio/gpio-tegra.c 	return irq_find_mapping(tgi->irq_domain, offset);
tgi               276 drivers/gpio/gpio-tegra.c 	struct tegra_gpio_info *tgi = bank->tgi;
tgi               279 drivers/gpio/gpio-tegra.c 	tegra_gpio_writel(tgi, 1 << GPIO_BIT(gpio), GPIO_INT_CLR(tgi, gpio));
tgi               285 drivers/gpio/gpio-tegra.c 	struct tegra_gpio_info *tgi = bank->tgi;
tgi               288 drivers/gpio/gpio-tegra.c 	tegra_gpio_mask_write(tgi, GPIO_MSK_INT_ENB(tgi, gpio), gpio, 0);
tgi               294 drivers/gpio/gpio-tegra.c 	struct tegra_gpio_info *tgi = bank->tgi;
tgi               297 drivers/gpio/gpio-tegra.c 	tegra_gpio_mask_write(tgi, GPIO_MSK_INT_ENB(tgi, gpio), gpio, 1);
tgi               304 drivers/gpio/gpio-tegra.c 	struct tegra_gpio_info *tgi = bank->tgi;
tgi               336 drivers/gpio/gpio-tegra.c 	val = tegra_gpio_readl(tgi, GPIO_INT_LVL(tgi, gpio));
tgi               339 drivers/gpio/gpio-tegra.c 	tegra_gpio_writel(tgi, val, GPIO_INT_LVL(tgi, gpio));
tgi               343 drivers/gpio/gpio-tegra.c 	tegra_gpio_mask_write(tgi, GPIO_MSK_OE(tgi, gpio), gpio, 0);
tgi               344 drivers/gpio/gpio-tegra.c 	tegra_gpio_enable(tgi, gpio);
tgi               346 drivers/gpio/gpio-tegra.c 	ret = gpiochip_lock_as_irq(&tgi->gc, gpio);
tgi               348 drivers/gpio/gpio-tegra.c 		dev_err(tgi->dev,
tgi               350 drivers/gpio/gpio-tegra.c 		tegra_gpio_disable(tgi, gpio);
tgi               365 drivers/gpio/gpio-tegra.c 	struct tegra_gpio_info *tgi = bank->tgi;
tgi               369 drivers/gpio/gpio-tegra.c 	gpiochip_unlock_as_irq(&tgi->gc, gpio);
tgi               380 drivers/gpio/gpio-tegra.c 	struct tegra_gpio_info *tgi = bank->tgi;
tgi               386 drivers/gpio/gpio-tegra.c 		sta = tegra_gpio_readl(tgi, GPIO_INT_STA(tgi, gpio)) &
tgi               387 drivers/gpio/gpio-tegra.c 			tegra_gpio_readl(tgi, GPIO_INT_ENB(tgi, gpio));
tgi               388 drivers/gpio/gpio-tegra.c 		lvl = tegra_gpio_readl(tgi, GPIO_INT_LVL(tgi, gpio));
tgi               391 drivers/gpio/gpio-tegra.c 			tegra_gpio_writel(tgi, 1 << pin,
tgi               392 drivers/gpio/gpio-tegra.c 					  GPIO_INT_CLR(tgi, gpio));
tgi               403 drivers/gpio/gpio-tegra.c 			generic_handle_irq(irq_find_mapping(tgi->irq_domain,
tgi               416 drivers/gpio/gpio-tegra.c 	struct tegra_gpio_info *tgi = dev_get_drvdata(dev);
tgi               422 drivers/gpio/gpio-tegra.c 	for (b = 0; b < tgi->bank_count; b++) {
tgi               423 drivers/gpio/gpio-tegra.c 		struct tegra_gpio_bank *bank = &tgi->bank_info[b];
tgi               428 drivers/gpio/gpio-tegra.c 			tegra_gpio_writel(tgi, bank->cnf[p],
tgi               429 drivers/gpio/gpio-tegra.c 					  GPIO_CNF(tgi, gpio));
tgi               431 drivers/gpio/gpio-tegra.c 			if (tgi->soc->debounce_supported) {
tgi               432 drivers/gpio/gpio-tegra.c 				tegra_gpio_writel(tgi, bank->dbc_cnt[p],
tgi               433 drivers/gpio/gpio-tegra.c 						  GPIO_DBC_CNT(tgi, gpio));
tgi               434 drivers/gpio/gpio-tegra.c 				tegra_gpio_writel(tgi, bank->dbc_enb[p],
tgi               435 drivers/gpio/gpio-tegra.c 						  GPIO_MSK_DBC_EN(tgi, gpio));
tgi               438 drivers/gpio/gpio-tegra.c 			tegra_gpio_writel(tgi, bank->out[p],
tgi               439 drivers/gpio/gpio-tegra.c 					  GPIO_OUT(tgi, gpio));
tgi               440 drivers/gpio/gpio-tegra.c 			tegra_gpio_writel(tgi, bank->oe[p],
tgi               441 drivers/gpio/gpio-tegra.c 					  GPIO_OE(tgi, gpio));
tgi               442 drivers/gpio/gpio-tegra.c 			tegra_gpio_writel(tgi, bank->int_lvl[p],
tgi               443 drivers/gpio/gpio-tegra.c 					  GPIO_INT_LVL(tgi, gpio));
tgi               444 drivers/gpio/gpio-tegra.c 			tegra_gpio_writel(tgi, bank->int_enb[p],
tgi               445 drivers/gpio/gpio-tegra.c 					  GPIO_INT_ENB(tgi, gpio));
tgi               455 drivers/gpio/gpio-tegra.c 	struct tegra_gpio_info *tgi = dev_get_drvdata(dev);
tgi               460 drivers/gpio/gpio-tegra.c 	for (b = 0; b < tgi->bank_count; b++) {
tgi               461 drivers/gpio/gpio-tegra.c 		struct tegra_gpio_bank *bank = &tgi->bank_info[b];
tgi               466 drivers/gpio/gpio-tegra.c 			bank->cnf[p] = tegra_gpio_readl(tgi,
tgi               467 drivers/gpio/gpio-tegra.c 							GPIO_CNF(tgi, gpio));
tgi               468 drivers/gpio/gpio-tegra.c 			bank->out[p] = tegra_gpio_readl(tgi,
tgi               469 drivers/gpio/gpio-tegra.c 							GPIO_OUT(tgi, gpio));
tgi               470 drivers/gpio/gpio-tegra.c 			bank->oe[p] = tegra_gpio_readl(tgi,
tgi               471 drivers/gpio/gpio-tegra.c 						       GPIO_OE(tgi, gpio));
tgi               472 drivers/gpio/gpio-tegra.c 			if (tgi->soc->debounce_supported) {
tgi               473 drivers/gpio/gpio-tegra.c 				bank->dbc_enb[p] = tegra_gpio_readl(tgi,
tgi               474 drivers/gpio/gpio-tegra.c 						GPIO_MSK_DBC_EN(tgi, gpio));
tgi               479 drivers/gpio/gpio-tegra.c 			bank->int_enb[p] = tegra_gpio_readl(tgi,
tgi               480 drivers/gpio/gpio-tegra.c 						GPIO_INT_ENB(tgi, gpio));
tgi               481 drivers/gpio/gpio-tegra.c 			bank->int_lvl[p] = tegra_gpio_readl(tgi,
tgi               482 drivers/gpio/gpio-tegra.c 						GPIO_INT_LVL(tgi, gpio));
tgi               485 drivers/gpio/gpio-tegra.c 			tegra_gpio_writel(tgi, bank->wake_enb[p],
tgi               486 drivers/gpio/gpio-tegra.c 					  GPIO_INT_ENB(tgi, gpio));
tgi               519 drivers/gpio/gpio-tegra.c 	struct tegra_gpio_info *tgi = s->private;
tgi               522 drivers/gpio/gpio-tegra.c 	for (i = 0; i < tgi->bank_count; i++) {
tgi               529 drivers/gpio/gpio-tegra.c 				tegra_gpio_readl(tgi, GPIO_CNF(tgi, gpio)),
tgi               530 drivers/gpio/gpio-tegra.c 				tegra_gpio_readl(tgi, GPIO_OE(tgi, gpio)),
tgi               531 drivers/gpio/gpio-tegra.c 				tegra_gpio_readl(tgi, GPIO_OUT(tgi, gpio)),
tgi               532 drivers/gpio/gpio-tegra.c 				tegra_gpio_readl(tgi, GPIO_IN(tgi, gpio)),
tgi               533 drivers/gpio/gpio-tegra.c 				tegra_gpio_readl(tgi, GPIO_INT_STA(tgi, gpio)),
tgi               534 drivers/gpio/gpio-tegra.c 				tegra_gpio_readl(tgi, GPIO_INT_ENB(tgi, gpio)),
tgi               535 drivers/gpio/gpio-tegra.c 				tegra_gpio_readl(tgi, GPIO_INT_LVL(tgi, gpio)));
tgi               543 drivers/gpio/gpio-tegra.c static void tegra_gpio_debuginit(struct tegra_gpio_info *tgi)
tgi               545 drivers/gpio/gpio-tegra.c 	debugfs_create_file("tegra_gpio", 0444, NULL, tgi,
tgi               551 drivers/gpio/gpio-tegra.c static inline void tegra_gpio_debuginit(struct tegra_gpio_info *tgi)
tgi               563 drivers/gpio/gpio-tegra.c 	struct tegra_gpio_info *tgi;
tgi               568 drivers/gpio/gpio-tegra.c 	tgi = devm_kzalloc(&pdev->dev, sizeof(*tgi), GFP_KERNEL);
tgi               569 drivers/gpio/gpio-tegra.c 	if (!tgi)
tgi               572 drivers/gpio/gpio-tegra.c 	tgi->soc = of_device_get_match_data(&pdev->dev);
tgi               573 drivers/gpio/gpio-tegra.c 	tgi->dev = &pdev->dev;
tgi               579 drivers/gpio/gpio-tegra.c 	tgi->bank_count = ret;
tgi               581 drivers/gpio/gpio-tegra.c 	if (!tgi->bank_count) {
tgi               586 drivers/gpio/gpio-tegra.c 	tgi->gc.label			= "tegra-gpio";
tgi               587 drivers/gpio/gpio-tegra.c 	tgi->gc.request			= tegra_gpio_request;
tgi               588 drivers/gpio/gpio-tegra.c 	tgi->gc.free			= tegra_gpio_free;
tgi               589 drivers/gpio/gpio-tegra.c 	tgi->gc.direction_input		= tegra_gpio_direction_input;
tgi               590 drivers/gpio/gpio-tegra.c 	tgi->gc.get			= tegra_gpio_get;
tgi               591 drivers/gpio/gpio-tegra.c 	tgi->gc.direction_output	= tegra_gpio_direction_output;
tgi               592 drivers/gpio/gpio-tegra.c 	tgi->gc.set			= tegra_gpio_set;
tgi               593 drivers/gpio/gpio-tegra.c 	tgi->gc.get_direction		= tegra_gpio_get_direction;
tgi               594 drivers/gpio/gpio-tegra.c 	tgi->gc.to_irq			= tegra_gpio_to_irq;
tgi               595 drivers/gpio/gpio-tegra.c 	tgi->gc.base			= 0;
tgi               596 drivers/gpio/gpio-tegra.c 	tgi->gc.ngpio			= tgi->bank_count * 32;
tgi               597 drivers/gpio/gpio-tegra.c 	tgi->gc.parent			= &pdev->dev;
tgi               598 drivers/gpio/gpio-tegra.c 	tgi->gc.of_node			= pdev->dev.of_node;
tgi               600 drivers/gpio/gpio-tegra.c 	tgi->ic.name			= "GPIO";
tgi               601 drivers/gpio/gpio-tegra.c 	tgi->ic.irq_ack			= tegra_gpio_irq_ack;
tgi               602 drivers/gpio/gpio-tegra.c 	tgi->ic.irq_mask		= tegra_gpio_irq_mask;
tgi               603 drivers/gpio/gpio-tegra.c 	tgi->ic.irq_unmask		= tegra_gpio_irq_unmask;
tgi               604 drivers/gpio/gpio-tegra.c 	tgi->ic.irq_set_type		= tegra_gpio_irq_set_type;
tgi               605 drivers/gpio/gpio-tegra.c 	tgi->ic.irq_shutdown		= tegra_gpio_irq_shutdown;
tgi               607 drivers/gpio/gpio-tegra.c 	tgi->ic.irq_set_wake		= tegra_gpio_irq_set_wake;
tgi               610 drivers/gpio/gpio-tegra.c 	platform_set_drvdata(pdev, tgi);
tgi               612 drivers/gpio/gpio-tegra.c 	if (tgi->soc->debounce_supported)
tgi               613 drivers/gpio/gpio-tegra.c 		tgi->gc.set_config = tegra_gpio_set_config;
tgi               615 drivers/gpio/gpio-tegra.c 	tgi->bank_info = devm_kcalloc(&pdev->dev, tgi->bank_count,
tgi               616 drivers/gpio/gpio-tegra.c 				      sizeof(*tgi->bank_info), GFP_KERNEL);
tgi               617 drivers/gpio/gpio-tegra.c 	if (!tgi->bank_info)
tgi               620 drivers/gpio/gpio-tegra.c 	tgi->irq_domain = irq_domain_add_linear(pdev->dev.of_node,
tgi               621 drivers/gpio/gpio-tegra.c 						tgi->gc.ngpio,
tgi               623 drivers/gpio/gpio-tegra.c 	if (!tgi->irq_domain)
tgi               626 drivers/gpio/gpio-tegra.c 	for (i = 0; i < tgi->bank_count; i++) {
tgi               631 drivers/gpio/gpio-tegra.c 		bank = &tgi->bank_info[i];
tgi               634 drivers/gpio/gpio-tegra.c 		bank->tgi = tgi;
tgi               637 drivers/gpio/gpio-tegra.c 	tgi->regs = devm_platform_ioremap_resource(pdev, 0);
tgi               638 drivers/gpio/gpio-tegra.c 	if (IS_ERR(tgi->regs))
tgi               639 drivers/gpio/gpio-tegra.c 		return PTR_ERR(tgi->regs);
tgi               641 drivers/gpio/gpio-tegra.c 	for (i = 0; i < tgi->bank_count; i++) {
tgi               645 drivers/gpio/gpio-tegra.c 			tegra_gpio_writel(tgi, 0x00, GPIO_INT_ENB(tgi, gpio));
tgi               649 drivers/gpio/gpio-tegra.c 	ret = devm_gpiochip_add_data(&pdev->dev, &tgi->gc, tgi);
tgi               651 drivers/gpio/gpio-tegra.c 		irq_domain_remove(tgi->irq_domain);
tgi               655 drivers/gpio/gpio-tegra.c 	for (gpio = 0; gpio < tgi->gc.ngpio; gpio++) {
tgi               656 drivers/gpio/gpio-tegra.c 		int irq = irq_create_mapping(tgi->irq_domain, gpio);
tgi               659 drivers/gpio/gpio-tegra.c 		bank = &tgi->bank_info[GPIO_BANK(gpio)];
tgi               662 drivers/gpio/gpio-tegra.c 		irq_set_chip_and_handler(irq, &tgi->ic, handle_simple_irq);
tgi               665 drivers/gpio/gpio-tegra.c 	for (i = 0; i < tgi->bank_count; i++) {
tgi               666 drivers/gpio/gpio-tegra.c 		bank = &tgi->bank_info[i];
tgi               677 drivers/gpio/gpio-tegra.c 	tegra_gpio_debuginit(tgi);
tgi                95 net/netfilter/xt_TPROXY.c 	const struct xt_tproxy_target_info *tgi = par->targinfo;
tgi                97 net/netfilter/xt_TPROXY.c 	return tproxy_tg4(xt_net(par), skb, tgi->laddr, tgi->lport,
tgi                98 net/netfilter/xt_TPROXY.c 			  tgi->mark_mask, tgi->mark_value);
tgi               104 net/netfilter/xt_TPROXY.c 	const struct xt_tproxy_target_info_v1 *tgi = par->targinfo;
tgi               106 net/netfilter/xt_TPROXY.c 	return tproxy_tg4(xt_net(par), skb, tgi->laddr.ip, tgi->lport,
tgi               107 net/netfilter/xt_TPROXY.c 			  tgi->mark_mask, tgi->mark_value);
tgi               116 net/netfilter/xt_TPROXY.c 	const struct xt_tproxy_target_info_v1 *tgi = par->targinfo;
tgi               145 net/netfilter/xt_TPROXY.c 	laddr = nf_tproxy_laddr6(skb, &tgi->laddr.in6, &iph->daddr);
tgi               146 net/netfilter/xt_TPROXY.c 	lport = tgi->lport ? tgi->lport : hp->dest;
tgi               150 net/netfilter/xt_TPROXY.c 		const struct xt_tproxy_target_info_v1 *tgi = par->targinfo;
tgi               154 net/netfilter/xt_TPROXY.c 					      &tgi->laddr.in6,
tgi               155 net/netfilter/xt_TPROXY.c 					      tgi->lport,
tgi               170 net/netfilter/xt_TPROXY.c 		skb->mark = (skb->mark & ~tgi->mark_mask) ^ tgi->mark_value;