mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
503290cedf
commit
bfbaf631bd
|
@ -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) {
|
||||
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue