diff options
author | Jingoo Han <jg1.han@samsung.com> | 2012-05-25 03:21:08 -0400 |
---|---|---|
committer | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2012-05-29 09:16:15 -0400 |
commit | 24db03a834089a3600780ea1c7abe08e483e5d29 (patch) | |
tree | 732f124a75ec0327d5de7520ac905668e5f2bd09 /drivers/video | |
parent | 4d10ecf86b31b732092dc9668a6088323c24ab09 (diff) |
video: exynos_dp: move sw reset prioir to enabling sw defined function
The sw reset should be called prioir to enabling sw defined function,
according to datasheet.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/exynos/exynos_dp_core.c | 2 | ||||
-rw-r--r-- | drivers/video/exynos/exynos_dp_core.h | 1 | ||||
-rw-r--r-- | drivers/video/exynos/exynos_dp_reg.c | 7 |
3 files changed, 8 insertions, 2 deletions
diff --git a/drivers/video/exynos/exynos_dp_core.c b/drivers/video/exynos/exynos_dp_core.c index aabd214990d3..b446f7e42f2a 100644 --- a/drivers/video/exynos/exynos_dp_core.c +++ b/drivers/video/exynos/exynos_dp_core.c | |||
@@ -27,6 +27,8 @@ static int exynos_dp_init_dp(struct exynos_dp_device *dp) | |||
27 | { | 27 | { |
28 | exynos_dp_reset(dp); | 28 | exynos_dp_reset(dp); |
29 | 29 | ||
30 | exynos_dp_swreset(dp); | ||
31 | |||
30 | /* SW defined function Normal operation */ | 32 | /* SW defined function Normal operation */ |
31 | exynos_dp_enable_sw_function(dp); | 33 | exynos_dp_enable_sw_function(dp); |
32 | 34 | ||
diff --git a/drivers/video/exynos/exynos_dp_core.h b/drivers/video/exynos/exynos_dp_core.h index 8f596b9e7b2b..1e0f998e0c9f 100644 --- a/drivers/video/exynos/exynos_dp_core.h +++ b/drivers/video/exynos/exynos_dp_core.h | |||
@@ -41,6 +41,7 @@ void exynos_dp_lane_swap(struct exynos_dp_device *dp, bool enable); | |||
41 | void exynos_dp_init_analog_param(struct exynos_dp_device *dp); | 41 | void exynos_dp_init_analog_param(struct exynos_dp_device *dp); |
42 | void exynos_dp_init_interrupt(struct exynos_dp_device *dp); | 42 | void exynos_dp_init_interrupt(struct exynos_dp_device *dp); |
43 | void exynos_dp_reset(struct exynos_dp_device *dp); | 43 | void exynos_dp_reset(struct exynos_dp_device *dp); |
44 | void exynos_dp_swreset(struct exynos_dp_device *dp); | ||
44 | void exynos_dp_config_interrupt(struct exynos_dp_device *dp); | 45 | void exynos_dp_config_interrupt(struct exynos_dp_device *dp); |
45 | u32 exynos_dp_get_pll_lock_status(struct exynos_dp_device *dp); | 46 | u32 exynos_dp_get_pll_lock_status(struct exynos_dp_device *dp); |
46 | void exynos_dp_set_pll_power_down(struct exynos_dp_device *dp, bool enable); | 47 | void exynos_dp_set_pll_power_down(struct exynos_dp_device *dp, bool enable); |
diff --git a/drivers/video/exynos/exynos_dp_reg.c b/drivers/video/exynos/exynos_dp_reg.c index 99bafb82537e..6ce76d56c3a1 100644 --- a/drivers/video/exynos/exynos_dp_reg.c +++ b/drivers/video/exynos/exynos_dp_reg.c | |||
@@ -109,8 +109,6 @@ void exynos_dp_reset(struct exynos_dp_device *dp) | |||
109 | { | 109 | { |
110 | u32 reg; | 110 | u32 reg; |
111 | 111 | ||
112 | writel(RESET_DP_TX, dp->reg_base + EXYNOS_DP_TX_SW_RESET); | ||
113 | |||
114 | exynos_dp_stop_video(dp); | 112 | exynos_dp_stop_video(dp); |
115 | exynos_dp_enable_video_mute(dp, 0); | 113 | exynos_dp_enable_video_mute(dp, 0); |
116 | 114 | ||
@@ -155,6 +153,11 @@ void exynos_dp_reset(struct exynos_dp_device *dp) | |||
155 | exynos_dp_init_interrupt(dp); | 153 | exynos_dp_init_interrupt(dp); |
156 | } | 154 | } |
157 | 155 | ||
156 | void exynos_dp_swreset(struct exynos_dp_device *dp) | ||
157 | { | ||
158 | writel(RESET_DP_TX, dp->reg_base + EXYNOS_DP_TX_SW_RESET); | ||
159 | } | ||
160 | |||
158 | void exynos_dp_config_interrupt(struct exynos_dp_device *dp) | 161 | void exynos_dp_config_interrupt(struct exynos_dp_device *dp) |
159 | { | 162 | { |
160 | u32 reg; | 163 | u32 reg; |