dpaux 67 drivers/gpu/drm/tegra/dpaux.c static inline u32 tegra_dpaux_readl(struct tegra_dpaux *dpaux, dpaux 70 drivers/gpu/drm/tegra/dpaux.c u32 value = readl(dpaux->regs + (offset << 2)); dpaux 72 drivers/gpu/drm/tegra/dpaux.c trace_dpaux_readl(dpaux->dev, offset, value); dpaux 77 drivers/gpu/drm/tegra/dpaux.c static inline void tegra_dpaux_writel(struct tegra_dpaux *dpaux, dpaux 80 drivers/gpu/drm/tegra/dpaux.c trace_dpaux_writel(dpaux->dev, offset, value); dpaux 81 drivers/gpu/drm/tegra/dpaux.c writel(value, dpaux->regs + (offset << 2)); dpaux 84 drivers/gpu/drm/tegra/dpaux.c static void tegra_dpaux_write_fifo(struct tegra_dpaux *dpaux, const u8 *buffer, dpaux 96 drivers/gpu/drm/tegra/dpaux.c tegra_dpaux_writel(dpaux, value, DPAUX_DP_AUXDATA_WRITE(i)); dpaux 100 drivers/gpu/drm/tegra/dpaux.c static void tegra_dpaux_read_fifo(struct tegra_dpaux *dpaux, u8 *buffer, dpaux 109 drivers/gpu/drm/tegra/dpaux.c value = tegra_dpaux_readl(dpaux, DPAUX_DP_AUXDATA_READ(i)); dpaux 120 drivers/gpu/drm/tegra/dpaux.c struct tegra_dpaux *dpaux = to_dpaux(aux); dpaux 186 drivers/gpu/drm/tegra/dpaux.c tegra_dpaux_writel(dpaux, msg->address, DPAUX_DP_AUXADDR); dpaux 187 drivers/gpu/drm/tegra/dpaux.c tegra_dpaux_writel(dpaux, value, DPAUX_DP_AUXCTL); dpaux 190 drivers/gpu/drm/tegra/dpaux.c tegra_dpaux_write_fifo(dpaux, msg->buffer, msg->size); dpaux 195 drivers/gpu/drm/tegra/dpaux.c value = tegra_dpaux_readl(dpaux, DPAUX_DP_AUXCTL); dpaux 197 drivers/gpu/drm/tegra/dpaux.c tegra_dpaux_writel(dpaux, value, DPAUX_DP_AUXCTL); dpaux 199 drivers/gpu/drm/tegra/dpaux.c status = wait_for_completion_timeout(&dpaux->complete, timeout); dpaux 204 drivers/gpu/drm/tegra/dpaux.c value = tegra_dpaux_readl(dpaux, DPAUX_DP_AUXSTAT); dpaux 205 drivers/gpu/drm/tegra/dpaux.c tegra_dpaux_writel(dpaux, 0xf00, DPAUX_DP_AUXSTAT); dpaux 244 drivers/gpu/drm/tegra/dpaux.c tegra_dpaux_read_fifo(dpaux, msg->buffer, count); dpaux 254 drivers/gpu/drm/tegra/dpaux.c struct tegra_dpaux *dpaux = work_to_dpaux(work); dpaux 256 drivers/gpu/drm/tegra/dpaux.c if (dpaux->output) dpaux 257 drivers/gpu/drm/tegra/dpaux.c drm_helper_hpd_irq_event(dpaux->output->connector.dev); dpaux 262 drivers/gpu/drm/tegra/dpaux.c struct tegra_dpaux *dpaux = data; dpaux 267 drivers/gpu/drm/tegra/dpaux.c value = tegra_dpaux_readl(dpaux, DPAUX_INTR_AUX); dpaux 268 drivers/gpu/drm/tegra/dpaux.c tegra_dpaux_writel(dpaux, value, DPAUX_INTR_AUX); dpaux 271 drivers/gpu/drm/tegra/dpaux.c schedule_work(&dpaux->work); dpaux 278 drivers/gpu/drm/tegra/dpaux.c complete(&dpaux->complete); dpaux 289 drivers/gpu/drm/tegra/dpaux.c static void tegra_dpaux_pad_power_down(struct tegra_dpaux *dpaux) dpaux 291 drivers/gpu/drm/tegra/dpaux.c u32 value = tegra_dpaux_readl(dpaux, DPAUX_HYBRID_SPARE); dpaux 295 drivers/gpu/drm/tegra/dpaux.c tegra_dpaux_writel(dpaux, value, DPAUX_HYBRID_SPARE); dpaux 298 drivers/gpu/drm/tegra/dpaux.c static void tegra_dpaux_pad_power_up(struct tegra_dpaux *dpaux) dpaux 300 drivers/gpu/drm/tegra/dpaux.c u32 value = tegra_dpaux_readl(dpaux, DPAUX_HYBRID_SPARE); dpaux 304 drivers/gpu/drm/tegra/dpaux.c tegra_dpaux_writel(dpaux, value, DPAUX_HYBRID_SPARE); dpaux 307 drivers/gpu/drm/tegra/dpaux.c static int tegra_dpaux_pad_config(struct tegra_dpaux *dpaux, unsigned function) dpaux 330 drivers/gpu/drm/tegra/dpaux.c tegra_dpaux_pad_power_down(dpaux); dpaux 337 drivers/gpu/drm/tegra/dpaux.c tegra_dpaux_writel(dpaux, value, DPAUX_HYBRID_PADCTL); dpaux 338 drivers/gpu/drm/tegra/dpaux.c tegra_dpaux_pad_power_up(dpaux); dpaux 415 drivers/gpu/drm/tegra/dpaux.c struct tegra_dpaux *dpaux = pinctrl_dev_get_drvdata(pinctrl); dpaux 417 drivers/gpu/drm/tegra/dpaux.c return tegra_dpaux_pad_config(dpaux, function); dpaux 430 drivers/gpu/drm/tegra/dpaux.c struct tegra_dpaux *dpaux; dpaux 435 drivers/gpu/drm/tegra/dpaux.c dpaux = devm_kzalloc(&pdev->dev, sizeof(*dpaux), GFP_KERNEL); dpaux 436 drivers/gpu/drm/tegra/dpaux.c if (!dpaux) dpaux 439 drivers/gpu/drm/tegra/dpaux.c INIT_WORK(&dpaux->work, tegra_dpaux_hotplug); dpaux 440 drivers/gpu/drm/tegra/dpaux.c init_completion(&dpaux->complete); dpaux 441 drivers/gpu/drm/tegra/dpaux.c INIT_LIST_HEAD(&dpaux->list); dpaux 442 drivers/gpu/drm/tegra/dpaux.c dpaux->dev = &pdev->dev; dpaux 445 drivers/gpu/drm/tegra/dpaux.c dpaux->regs = devm_ioremap_resource(&pdev->dev, regs); dpaux 446 drivers/gpu/drm/tegra/dpaux.c if (IS_ERR(dpaux->regs)) dpaux 447 drivers/gpu/drm/tegra/dpaux.c return PTR_ERR(dpaux->regs); dpaux 449 drivers/gpu/drm/tegra/dpaux.c dpaux->irq = platform_get_irq(pdev, 0); dpaux 450 drivers/gpu/drm/tegra/dpaux.c if (dpaux->irq < 0) { dpaux 456 drivers/gpu/drm/tegra/dpaux.c dpaux->rst = devm_reset_control_get(&pdev->dev, "dpaux"); dpaux 457 drivers/gpu/drm/tegra/dpaux.c if (IS_ERR(dpaux->rst)) { dpaux 460 drivers/gpu/drm/tegra/dpaux.c PTR_ERR(dpaux->rst)); dpaux 461 drivers/gpu/drm/tegra/dpaux.c return PTR_ERR(dpaux->rst); dpaux 465 drivers/gpu/drm/tegra/dpaux.c dpaux->clk = devm_clk_get(&pdev->dev, NULL); dpaux 466 drivers/gpu/drm/tegra/dpaux.c if (IS_ERR(dpaux->clk)) { dpaux 468 drivers/gpu/drm/tegra/dpaux.c PTR_ERR(dpaux->clk)); dpaux 469 drivers/gpu/drm/tegra/dpaux.c return PTR_ERR(dpaux->clk); dpaux 472 drivers/gpu/drm/tegra/dpaux.c dpaux->clk_parent = devm_clk_get(&pdev->dev, "parent"); dpaux 473 drivers/gpu/drm/tegra/dpaux.c if (IS_ERR(dpaux->clk_parent)) { dpaux 475 drivers/gpu/drm/tegra/dpaux.c PTR_ERR(dpaux->clk_parent)); dpaux 476 drivers/gpu/drm/tegra/dpaux.c return PTR_ERR(dpaux->clk_parent); dpaux 479 drivers/gpu/drm/tegra/dpaux.c err = clk_set_rate(dpaux->clk_parent, 270000000); dpaux 486 drivers/gpu/drm/tegra/dpaux.c dpaux->vdd = devm_regulator_get_optional(&pdev->dev, "vdd"); dpaux 487 drivers/gpu/drm/tegra/dpaux.c if (IS_ERR(dpaux->vdd)) { dpaux 488 drivers/gpu/drm/tegra/dpaux.c if (PTR_ERR(dpaux->vdd) != -ENODEV) { dpaux 489 drivers/gpu/drm/tegra/dpaux.c if (PTR_ERR(dpaux->vdd) != -EPROBE_DEFER) dpaux 492 drivers/gpu/drm/tegra/dpaux.c PTR_ERR(dpaux->vdd)); dpaux 494 drivers/gpu/drm/tegra/dpaux.c return PTR_ERR(dpaux->vdd); dpaux 498 drivers/gpu/drm/tegra/dpaux.c platform_set_drvdata(pdev, dpaux); dpaux 502 drivers/gpu/drm/tegra/dpaux.c err = devm_request_irq(dpaux->dev, dpaux->irq, tegra_dpaux_irq, 0, dpaux 503 drivers/gpu/drm/tegra/dpaux.c dev_name(dpaux->dev), dpaux); dpaux 505 drivers/gpu/drm/tegra/dpaux.c dev_err(dpaux->dev, "failed to request IRQ#%u: %d\n", dpaux 506 drivers/gpu/drm/tegra/dpaux.c dpaux->irq, err); dpaux 510 drivers/gpu/drm/tegra/dpaux.c disable_irq(dpaux->irq); dpaux 512 drivers/gpu/drm/tegra/dpaux.c dpaux->aux.transfer = tegra_dpaux_transfer; dpaux 513 drivers/gpu/drm/tegra/dpaux.c dpaux->aux.dev = &pdev->dev; dpaux 515 drivers/gpu/drm/tegra/dpaux.c err = drm_dp_aux_register(&dpaux->aux); dpaux 527 drivers/gpu/drm/tegra/dpaux.c err = tegra_dpaux_pad_config(dpaux, DPAUX_PADCTL_FUNC_I2C); dpaux 532 drivers/gpu/drm/tegra/dpaux.c dpaux->desc.name = dev_name(&pdev->dev); dpaux 533 drivers/gpu/drm/tegra/dpaux.c dpaux->desc.pins = tegra_dpaux_pins; dpaux 534 drivers/gpu/drm/tegra/dpaux.c dpaux->desc.npins = ARRAY_SIZE(tegra_dpaux_pins); dpaux 535 drivers/gpu/drm/tegra/dpaux.c dpaux->desc.pctlops = &tegra_dpaux_pinctrl_ops; dpaux 536 drivers/gpu/drm/tegra/dpaux.c dpaux->desc.pmxops = &tegra_dpaux_pinmux_ops; dpaux 537 drivers/gpu/drm/tegra/dpaux.c dpaux->desc.owner = THIS_MODULE; dpaux 539 drivers/gpu/drm/tegra/dpaux.c dpaux->pinctrl = devm_pinctrl_register(&pdev->dev, &dpaux->desc, dpaux); dpaux 540 drivers/gpu/drm/tegra/dpaux.c if (IS_ERR(dpaux->pinctrl)) { dpaux 542 drivers/gpu/drm/tegra/dpaux.c return PTR_ERR(dpaux->pinctrl); dpaux 548 drivers/gpu/drm/tegra/dpaux.c tegra_dpaux_writel(dpaux, value, DPAUX_INTR_EN_AUX); dpaux 549 drivers/gpu/drm/tegra/dpaux.c tegra_dpaux_writel(dpaux, value, DPAUX_INTR_AUX); dpaux 552 drivers/gpu/drm/tegra/dpaux.c list_add_tail(&dpaux->list, &dpaux_list); dpaux 560 drivers/gpu/drm/tegra/dpaux.c struct tegra_dpaux *dpaux = platform_get_drvdata(pdev); dpaux 562 drivers/gpu/drm/tegra/dpaux.c cancel_work_sync(&dpaux->work); dpaux 565 drivers/gpu/drm/tegra/dpaux.c tegra_dpaux_pad_power_down(dpaux); dpaux 570 drivers/gpu/drm/tegra/dpaux.c drm_dp_aux_unregister(&dpaux->aux); dpaux 573 drivers/gpu/drm/tegra/dpaux.c list_del(&dpaux->list); dpaux 582 drivers/gpu/drm/tegra/dpaux.c struct tegra_dpaux *dpaux = dev_get_drvdata(dev); dpaux 585 drivers/gpu/drm/tegra/dpaux.c if (dpaux->rst) { dpaux 586 drivers/gpu/drm/tegra/dpaux.c err = reset_control_assert(dpaux->rst); dpaux 595 drivers/gpu/drm/tegra/dpaux.c clk_disable_unprepare(dpaux->clk_parent); dpaux 596 drivers/gpu/drm/tegra/dpaux.c clk_disable_unprepare(dpaux->clk); dpaux 603 drivers/gpu/drm/tegra/dpaux.c struct tegra_dpaux *dpaux = dev_get_drvdata(dev); dpaux 606 drivers/gpu/drm/tegra/dpaux.c err = clk_prepare_enable(dpaux->clk); dpaux 612 drivers/gpu/drm/tegra/dpaux.c err = clk_prepare_enable(dpaux->clk_parent); dpaux 620 drivers/gpu/drm/tegra/dpaux.c if (dpaux->rst) { dpaux 621 drivers/gpu/drm/tegra/dpaux.c err = reset_control_deassert(dpaux->rst); dpaux 633 drivers/gpu/drm/tegra/dpaux.c clk_disable_unprepare(dpaux->clk_parent); dpaux 635 drivers/gpu/drm/tegra/dpaux.c clk_disable_unprepare(dpaux->clk); dpaux 665 drivers/gpu/drm/tegra/dpaux.c struct tegra_dpaux *dpaux; dpaux 669 drivers/gpu/drm/tegra/dpaux.c list_for_each_entry(dpaux, &dpaux_list, list) dpaux 670 drivers/gpu/drm/tegra/dpaux.c if (np == dpaux->dev->of_node) { dpaux 672 drivers/gpu/drm/tegra/dpaux.c return &dpaux->aux; dpaux 682 drivers/gpu/drm/tegra/dpaux.c struct tegra_dpaux *dpaux = to_dpaux(aux); dpaux 687 drivers/gpu/drm/tegra/dpaux.c dpaux->output = output; dpaux 689 drivers/gpu/drm/tegra/dpaux.c err = regulator_enable(dpaux->vdd); dpaux 700 drivers/gpu/drm/tegra/dpaux.c enable_irq(dpaux->irq); dpaux 712 drivers/gpu/drm/tegra/dpaux.c struct tegra_dpaux *dpaux = to_dpaux(aux); dpaux 716 drivers/gpu/drm/tegra/dpaux.c disable_irq(dpaux->irq); dpaux 718 drivers/gpu/drm/tegra/dpaux.c err = regulator_disable(dpaux->vdd); dpaux 729 drivers/gpu/drm/tegra/dpaux.c dpaux->output = NULL; dpaux 741 drivers/gpu/drm/tegra/dpaux.c struct tegra_dpaux *dpaux = to_dpaux(aux); dpaux 744 drivers/gpu/drm/tegra/dpaux.c value = tegra_dpaux_readl(dpaux, DPAUX_DP_AUXSTAT); dpaux 754 drivers/gpu/drm/tegra/dpaux.c struct tegra_dpaux *dpaux = to_dpaux(aux); dpaux 756 drivers/gpu/drm/tegra/dpaux.c return tegra_dpaux_pad_config(dpaux, DPAUX_PADCTL_FUNC_AUX); dpaux 761 drivers/gpu/drm/tegra/dpaux.c struct tegra_dpaux *dpaux = to_dpaux(aux); dpaux 763 drivers/gpu/drm/tegra/dpaux.c tegra_dpaux_pad_power_down(dpaux);