diff options
author | Bich Hemon <bich.hemon@st.com> | 2016-01-12 03:28:43 -0500 |
---|---|---|
committer | Vincent Abriou <vincent.abriou@st.com> | 2016-02-26 04:03:57 -0500 |
commit | bfbaf631bda0181e6ca47d9c049966daf6206c55 (patch) | |
tree | 6286647e96bdfeb1bfad807409f447f928c35c0e | |
parent | 503290cedf96c434296adf22ae2e8205a734e508 (diff) |
drm/sti: awg_utils code cleanup
data_en is a local variable that doesn't need to be set as
awg_generate_instr can be called directly with the requested value.
Signed-off-by: Bich Hemon <bich.hemon@st.com>
Reviewed-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
Reviewed-by: Vincent Abriou <vincent.abriou@st.com>
-rw-r--r-- | drivers/gpu/drm/sti/sti_awg_utils.c | 33 |
1 files changed, 12 insertions, 21 deletions
diff --git a/drivers/gpu/drm/sti/sti_awg_utils.c b/drivers/gpu/drm/sti/sti_awg_utils.c index 00d0698be9d3..2378b9392907 100644 --- a/drivers/gpu/drm/sti/sti_awg_utils.c +++ b/drivers/gpu/drm/sti/sti_awg_utils.c | |||
@@ -34,6 +34,8 @@ static int awg_generate_instr(enum opcode opcode, | |||
34 | /* skip, repeat and replay arg should not exceed 1023. | 34 | /* skip, repeat and replay arg should not exceed 1023. |
35 | * If user wants to exceed this value, the instruction should be | 35 | * If user wants to exceed this value, the instruction should be |
36 | * duplicate and arg should be adjust for each duplicated instruction. | 36 | * duplicate and arg should be adjust for each duplicated instruction. |
37 | * | ||
38 | * mux_sel is used in case of SAV/EAV synchronization. | ||
37 | */ | 39 | */ |
38 | 40 | ||
39 | while (arg_tmp > 0) { | 41 | while (arg_tmp > 0) { |
@@ -115,63 +117,52 @@ int sti_awg_generate_code_data_enable_mode( | |||
115 | struct awg_timing *timing) | 117 | struct awg_timing *timing) |
116 | { | 118 | { |
117 | long int val; | 119 | long int val; |
118 | long int data_en; | ||
119 | int ret = 0; | 120 | int ret = 0; |
120 | 121 | ||
121 | if (timing->trailing_lines > 0) { | 122 | if (timing->trailing_lines > 0) { |
122 | /* skip trailing lines */ | 123 | /* skip trailing lines */ |
123 | val = timing->blanking_level; | 124 | val = timing->blanking_level; |
124 | data_en = 0; | 125 | ret |= awg_generate_instr(RPLSET, val, 0, 0, fwparams); |
125 | ret |= awg_generate_instr(RPLSET, val, 0, data_en, fwparams); | ||
126 | 126 | ||
127 | val = timing->trailing_lines - 1; | 127 | val = timing->trailing_lines - 1; |
128 | data_en = 0; | 128 | ret |= awg_generate_instr(REPLAY, val, 0, 0, fwparams); |
129 | ret |= awg_generate_instr(REPLAY, val, 0, data_en, fwparams); | ||
130 | } | 129 | } |
131 | 130 | ||
132 | if (timing->trailing_pixels > 0) { | 131 | if (timing->trailing_pixels > 0) { |
133 | /* skip trailing pixel */ | 132 | /* skip trailing pixel */ |
134 | val = timing->blanking_level; | 133 | val = timing->blanking_level; |
135 | data_en = 0; | 134 | ret |= awg_generate_instr(RPLSET, val, 0, 0, fwparams); |
136 | ret |= awg_generate_instr(RPLSET, val, 0, data_en, fwparams); | ||
137 | 135 | ||
138 | val = timing->trailing_pixels - 1; | 136 | val = timing->trailing_pixels - 1; |
139 | data_en = 0; | 137 | ret |= awg_generate_instr(SKIP, val, 0, 0, fwparams); |
140 | ret |= awg_generate_instr(SKIP, val, 0, data_en, fwparams); | ||
141 | } | 138 | } |
142 | 139 | ||
143 | /* set DE signal high */ | 140 | /* set DE signal high */ |
144 | val = timing->blanking_level; | 141 | val = timing->blanking_level; |
145 | data_en = 1; | ||
146 | ret |= awg_generate_instr((timing->trailing_pixels > 0) ? SET : RPLSET, | 142 | ret |= awg_generate_instr((timing->trailing_pixels > 0) ? SET : RPLSET, |
147 | val, 0, data_en, fwparams); | 143 | val, 0, 1, fwparams); |
148 | 144 | ||
149 | if (timing->blanking_pixels > 0) { | 145 | if (timing->blanking_pixels > 0) { |
150 | /* skip the number of active pixel */ | 146 | /* skip the number of active pixel */ |
151 | val = timing->active_pixels - 1; | 147 | val = timing->active_pixels - 1; |
152 | data_en = 1; | 148 | ret |= awg_generate_instr(SKIP, val, 0, 1, fwparams); |
153 | ret |= awg_generate_instr(SKIP, val, 0, data_en, fwparams); | ||
154 | 149 | ||
155 | /* set DE signal low */ | 150 | /* set DE signal low */ |
156 | val = timing->blanking_level; | 151 | val = timing->blanking_level; |
157 | data_en = 0; | 152 | ret |= awg_generate_instr(SET, val, 0, 0, fwparams); |
158 | ret |= awg_generate_instr(SET, val, 0, data_en, fwparams); | ||
159 | } | 153 | } |
160 | 154 | ||
161 | /* replay the sequence as many active lines defined */ | 155 | /* replay the sequence as many active lines defined */ |
162 | val = timing->active_lines - 1; | 156 | val = timing->active_lines - 1; |
163 | data_en = 0; | 157 | ret |= awg_generate_instr(REPLAY, val, 0, 0, fwparams); |
164 | ret |= awg_generate_instr(REPLAY, val, 0, data_en, fwparams); | ||
165 | 158 | ||
166 | if (timing->blanking_lines > 0) { | 159 | if (timing->blanking_lines > 0) { |
167 | /* skip blanking lines */ | 160 | /* skip blanking lines */ |
168 | val = timing->blanking_level; | 161 | val = timing->blanking_level; |
169 | data_en = 0; | 162 | ret |= awg_generate_instr(RPLSET, val, 0, 0, fwparams); |
170 | ret |= awg_generate_instr(RPLSET, val, 0, data_en, fwparams); | ||
171 | 163 | ||
172 | val = timing->blanking_lines - 1; | 164 | val = timing->blanking_lines - 1; |
173 | data_en = 0; | 165 | ret |= awg_generate_instr(REPLAY, val, 0, 0, fwparams); |
174 | ret |= awg_generate_instr(REPLAY, val, 0, data_en, fwparams); | ||
175 | } | 166 | } |
176 | 167 | ||
177 | return ret; | 168 | return ret; |