sor.c (b299221ca99683e50ea03ac8ca638f9f43d2a59c) sor.c (618dee3941a43d8d4f762a7af99bcb59baba2bc5)
1/*
2 * Copyright (C) 2013 NVIDIA Corporation
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8

--- 159 unchanged lines hidden (view full) ---

168
169 const struct tegra_sor_soc *soc;
170 void __iomem *regs;
171
172 struct reset_control *rst;
173 struct clk *clk_parent;
174 struct clk *clk_brick;
175 struct clk *clk_safe;
1/*
2 * Copyright (C) 2013 NVIDIA Corporation
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8

--- 159 unchanged lines hidden (view full) ---

168
169 const struct tegra_sor_soc *soc;
170 void __iomem *regs;
171
172 struct reset_control *rst;
173 struct clk *clk_parent;
174 struct clk *clk_brick;
175 struct clk *clk_safe;
176 struct clk *clk_src;
176 struct clk *clk_dp;
177 struct clk *clk;
178
179 struct drm_dp_aux *aux;
180
181 struct drm_info_list *debugfs_files;
182 struct drm_minor *minor;
183 struct dentry *debugfs;

--- 1912 unchanged lines hidden (view full) ---

2096 SOR_XBAR_CTRL_LINK0_XSEL(2, 0) |
2097 SOR_XBAR_CTRL_LINK0_XSEL(1, 1) |
2098 SOR_XBAR_CTRL_LINK0_XSEL(0, 2);
2099 tegra_sor_writel(sor, value, SOR_XBAR_CTRL);
2100
2101 tegra_sor_writel(sor, 0x00000000, SOR_XBAR_POL);
2102
2103 /* switch to parent clock */
177 struct clk *clk_dp;
178 struct clk *clk;
179
180 struct drm_dp_aux *aux;
181
182 struct drm_info_list *debugfs_files;
183 struct drm_minor *minor;
184 struct dentry *debugfs;

--- 1912 unchanged lines hidden (view full) ---

2097 SOR_XBAR_CTRL_LINK0_XSEL(2, 0) |
2098 SOR_XBAR_CTRL_LINK0_XSEL(1, 1) |
2099 SOR_XBAR_CTRL_LINK0_XSEL(0, 2);
2100 tegra_sor_writel(sor, value, SOR_XBAR_CTRL);
2101
2102 tegra_sor_writel(sor, 0x00000000, SOR_XBAR_POL);
2103
2104 /* switch to parent clock */
2104 err = tegra_sor_set_parent_clock(sor, sor->clk_parent);
2105 err = clk_set_parent(sor->clk_src, sor->clk_parent);
2105 if (err < 0)
2106 if (err < 0)
2107 dev_err(sor->dev, "failed to set source clock: %d\n", err);
2108
2109 err = tegra_sor_set_parent_clock(sor, sor->clk_src);
2110 if (err < 0)
2106 dev_err(sor->dev, "failed to set parent clock: %d\n", err);
2107
2108 value = SOR_INPUT_CONTROL_HDMI_SRC_SELECT(dc->pipe);
2109
2110 /* XXX is this the proper check? */
2111 if (mode->clock < 75000)
2112 value |= SOR_INPUT_CONTROL_ARM_VIDEO_RANGE_LIMITED;
2113

--- 476 unchanged lines hidden (view full) ---

2590
2591 sor->clk = devm_clk_get(&pdev->dev, NULL);
2592 if (IS_ERR(sor->clk)) {
2593 err = PTR_ERR(sor->clk);
2594 dev_err(&pdev->dev, "failed to get module clock: %d\n", err);
2595 goto remove;
2596 }
2597
2111 dev_err(sor->dev, "failed to set parent clock: %d\n", err);
2112
2113 value = SOR_INPUT_CONTROL_HDMI_SRC_SELECT(dc->pipe);
2114
2115 /* XXX is this the proper check? */
2116 if (mode->clock < 75000)
2117 value |= SOR_INPUT_CONTROL_ARM_VIDEO_RANGE_LIMITED;
2118

--- 476 unchanged lines hidden (view full) ---

2595
2596 sor->clk = devm_clk_get(&pdev->dev, NULL);
2597 if (IS_ERR(sor->clk)) {
2598 err = PTR_ERR(sor->clk);
2599 dev_err(&pdev->dev, "failed to get module clock: %d\n", err);
2600 goto remove;
2601 }
2602
2603 if (sor->soc->supports_hdmi || sor->soc->supports_dp) {
2604 sor->clk_src = devm_clk_get(&pdev->dev, "source");
2605 if (IS_ERR(sor->clk_src)) {
2606 err = PTR_ERR(sor->clk_src);
2607 dev_err(sor->dev, "failed to get source clock: %d\n",
2608 err);
2609 goto remove;
2610 }
2611 }
2612
2598 sor->clk_parent = devm_clk_get(&pdev->dev, "parent");
2599 if (IS_ERR(sor->clk_parent)) {
2600 err = PTR_ERR(sor->clk_parent);
2601 dev_err(&pdev->dev, "failed to get parent clock: %d\n", err);
2602 goto remove;
2603 }
2604
2605 sor->clk_safe = devm_clk_get(&pdev->dev, "safe");

--- 128 unchanged lines hidden ---
2613 sor->clk_parent = devm_clk_get(&pdev->dev, "parent");
2614 if (IS_ERR(sor->clk_parent)) {
2615 err = PTR_ERR(sor->clk_parent);
2616 dev_err(&pdev->dev, "failed to get parent clock: %d\n", err);
2617 goto remove;
2618 }
2619
2620 sor->clk_safe = devm_clk_get(&pdev->dev, "safe");

--- 128 unchanged lines hidden ---