On Tue, 2012-09-25 at 11:49 +0530, Archit Taneja wrote:
> Writeback uses the WB_PICTURE_SIZE register to define the size of the content
> written to memory, this is the output of the scaler. It uses the WB_SIZE
> register to define the size of the content coming from the overlay/manager to
> which it is connected, this is the input to the scaler. This naming is 
> different
> as compared to overlays.
> 
> Add checks for writeback in dispc_ovl_set_input_size() and
> dispc_ovl_set_output_size() to write to the correct registers.
> 
> Signed-off-by: Archit Taneja <arc...@ti.com>
> ---
>  drivers/video/omap2/dss/dispc.c |    7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
> index e42e902..04fdd33 100644
> --- a/drivers/video/omap2/dss/dispc.c
> +++ b/drivers/video/omap2/dss/dispc.c
> @@ -719,7 +719,7 @@ static void dispc_ovl_set_input_size(enum omap_plane 
> plane, int width,
>  {
>       u32 val = FLD_VAL(height - 1, 26, 16) | FLD_VAL(width - 1, 10, 0);
>  
> -     if (plane == OMAP_DSS_GFX)
> +     if (plane == OMAP_DSS_GFX || plane == OMAP_DSS_WB)
>               dispc_write_reg(DISPC_OVL_SIZE(plane), val);
>       else
>               dispc_write_reg(DISPC_OVL_PICTURE_SIZE(plane), val);
> @@ -734,7 +734,10 @@ static void dispc_ovl_set_output_size(enum omap_plane 
> plane, int width,
>  
>       val = FLD_VAL(height - 1, 26, 16) | FLD_VAL(width - 1, 10, 0);
>  
> -     dispc_write_reg(DISPC_OVL_SIZE(plane), val);
> +     if (plane == OMAP_DSS_WB)
> +             dispc_write_reg(DISPC_OVL_PICTURE_SIZE(plane), val);
> +     else
> +             dispc_write_reg(DISPC_OVL_SIZE(plane), val);
>  }

Should we just rename the dispc registers to DISPC_OVL_IN_SIZE and
DISPC_OVL_OUT_SIZE, and then we could do without the ifs? The registers
have always confused me a bit, I don't know why they are named so in the
TRM.

 Tomi

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to