Lines Matching refs:gs
388 struct tegra_hte_soc *gs;
405 gs = gc->data;
406 if (!gs || !gs->prov_data)
420 if (gs->prov_data->type == HTE_TEGRA_TYPE_GPIO && !args) {
421 line_id = desc->attr.line_id - gs->c->base;
422 map = gs->prov_data->map;
423 map_sz = gs->prov_data->map_sz;
424 } else if (gs->prov_data->type == HTE_TEGRA_TYPE_GPIO && args) {
426 map = gs->prov_data->sec_map;
427 map_sz = gs->prov_data->sec_map_sz;
457 struct tegra_hte_soc *gs;
464 gs = chip->data;
477 spin_lock(&gs->sl[slice].s_lock);
479 if (test_bit(HTE_SUSPEND, &gs->sl[slice].flags)) {
480 spin_unlock(&gs->sl[slice].s_lock);
485 val = tegra_hte_readl(gs, reg);
490 tegra_hte_writel(gs, reg, val);
492 spin_unlock(&gs->sl[slice].s_lock);
520 struct tegra_hte_soc *gs;
526 gs = chip->data;
529 if (gs->prov_data->type == HTE_TEGRA_TYPE_GPIO) {
538 gs->line_data[line_id].data = attr->line_data;
539 gs->line_data[line_id].flags = attr->edge_flags;
548 struct tegra_hte_soc *gs;
555 gs = chip->data;
558 if (gs->prov_data->type == HTE_TEGRA_TYPE_GPIO) {
560 gs->line_data[line_id].flags);
564 gs->line_data[line_id].data = NULL;
565 gs->line_data[line_id].flags = 0;
585 static int tegra_hte_get_level(struct tegra_hte_soc *gs, u32 line_id)
589 if (gs->prov_data->type == HTE_TEGRA_TYPE_GPIO) {
590 desc = gs->line_data[line_id].data;
598 static void tegra_hte_read_fifo(struct tegra_hte_soc *gs)
604 while ((tegra_hte_readl(gs, HTE_TESTATUS) >>
607 tsh = tegra_hte_readl(gs, HTE_TETSCH);
608 tsl = tegra_hte_readl(gs, HTE_TETSCL);
611 src = tegra_hte_readl(gs, HTE_TESRC);
615 pv = tegra_hte_readl(gs, HTE_TEPCV);
616 cv = tegra_hte_readl(gs, HTE_TECCV);
622 el.raw_level = tegra_hte_get_level(gs, line_id);
623 hte_push_ts_ns(gs->chip, line_id, &el);
626 tegra_hte_writel(gs, HTE_TECMD, HTE_TECMD_CMD_POP);
632 struct tegra_hte_soc *gs = dev_id;
635 tegra_hte_read_fifo(gs);
671 struct tegra_hte_soc *gs = dev_get_drvdata(&pdev->dev);
673 tegra_hte_writel(gs, HTE_TECTRL, 0);
815 struct tegra_hte_soc *gs = dev_get_drvdata(dev);
816 u32 slices = gs->chip->nlines / NV_LINES_IN_SLICE;
819 tegra_hte_writel(gs, HTE_TECTRL, gs->conf_rval);
822 spin_lock(&gs->sl[i].s_lock);
823 tegra_hte_writel(gs,
825 gs->sl[i].r_val);
826 clear_bit(HTE_SUSPEND, &gs->sl[i].flags);
827 spin_unlock(&gs->sl[i].s_lock);
836 struct tegra_hte_soc *gs = dev_get_drvdata(dev);
837 u32 slices = gs->chip->nlines / NV_LINES_IN_SLICE;
840 gs->conf_rval = tegra_hte_readl(gs, HTE_TECTRL);
842 spin_lock(&gs->sl[i].s_lock);
843 gs->sl[i].r_val = tegra_hte_readl(gs,
845 set_bit(HTE_SUSPEND, &gs->sl[i].flags);
846 spin_unlock(&gs->sl[i].s_lock);