Skip to content

Commit

Permalink
drm/sti: awg_utils code cleanup
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Bich Hemon authored and Vincent Abriou committed Feb 26, 2016
1 parent 503290c commit bfbaf63
Showing 1 changed file with 12 additions and 21 deletions.
33 changes: 12 additions & 21 deletions drivers/gpu/drm/sti/sti_awg_utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ static int awg_generate_instr(enum opcode opcode,
/* skip, repeat and replay arg should not exceed 1023.
* If user wants to exceed this value, the instruction should be
* duplicate and arg should be adjust for each duplicated instruction.
*
* mux_sel is used in case of SAV/EAV synchronization.
*/

while (arg_tmp > 0) {
Expand Down Expand Up @@ -115,63 +117,52 @@ int sti_awg_generate_code_data_enable_mode(
struct awg_timing *timing)
{
long int val;
long int data_en;
int ret = 0;

if (timing->trailing_lines > 0) {
/* skip trailing lines */
val = timing->blanking_level;
data_en = 0;
ret |= awg_generate_instr(RPLSET, val, 0, data_en, fwparams);
ret |= awg_generate_instr(RPLSET, val, 0, 0, fwparams);

val = timing->trailing_lines - 1;
data_en = 0;
ret |= awg_generate_instr(REPLAY, val, 0, data_en, fwparams);
ret |= awg_generate_instr(REPLAY, val, 0, 0, fwparams);
}

if (timing->trailing_pixels > 0) {
/* skip trailing pixel */
val = timing->blanking_level;
data_en = 0;
ret |= awg_generate_instr(RPLSET, val, 0, data_en, fwparams);
ret |= awg_generate_instr(RPLSET, val, 0, 0, fwparams);

val = timing->trailing_pixels - 1;
data_en = 0;
ret |= awg_generate_instr(SKIP, val, 0, data_en, fwparams);
ret |= awg_generate_instr(SKIP, val, 0, 0, fwparams);
}

/* set DE signal high */
val = timing->blanking_level;
data_en = 1;
ret |= awg_generate_instr((timing->trailing_pixels > 0) ? SET : RPLSET,
val, 0, data_en, fwparams);
val, 0, 1, fwparams);

if (timing->blanking_pixels > 0) {
/* skip the number of active pixel */
val = timing->active_pixels - 1;
data_en = 1;
ret |= awg_generate_instr(SKIP, val, 0, data_en, fwparams);
ret |= awg_generate_instr(SKIP, val, 0, 1, fwparams);

/* set DE signal low */
val = timing->blanking_level;
data_en = 0;
ret |= awg_generate_instr(SET, val, 0, data_en, fwparams);
ret |= awg_generate_instr(SET, val, 0, 0, fwparams);
}

/* replay the sequence as many active lines defined */
val = timing->active_lines - 1;
data_en = 0;
ret |= awg_generate_instr(REPLAY, val, 0, data_en, fwparams);
ret |= awg_generate_instr(REPLAY, val, 0, 0, fwparams);

if (timing->blanking_lines > 0) {
/* skip blanking lines */
val = timing->blanking_level;
data_en = 0;
ret |= awg_generate_instr(RPLSET, val, 0, data_en, fwparams);
ret |= awg_generate_instr(RPLSET, val, 0, 0, fwparams);

val = timing->blanking_lines - 1;
data_en = 0;
ret |= awg_generate_instr(REPLAY, val, 0, data_en, fwparams);
ret |= awg_generate_instr(REPLAY, val, 0, 0, fwparams);
}

return ret;
Expand Down

0 comments on commit bfbaf63

Please sign in to comment.