[PATCH 4.4 084/118] drm: atmel-hlcdc: Fix vertical scaling

2016-09-22 Thread Greg Kroah-Hartman
4.4-stable review patch.  If anyone has any objections, please let me know.

--

From: Jan Leupold 

commit d31ed3f05763644840c654a384eaefa94c097ba2 upstream.

The code is applying the same scaling for the X and Y components,
thus making the scaling feature only functional when both components
have the same scaling factor.

Do the s/_w/_h/ replacement where appropriate to fix vertical scaling.

Signed-off-by: Jan Leupold 
Fixes: 1a396789f65a2 ("drm: add Atmel HLCDC Display Controller support")
Signed-off-by: Boris Brezillon 
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c |   10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

--- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
+++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
@@ -316,19 +316,19 @@ atmel_hlcdc_plane_update_pos_and_size(st
u32 *coeff_tab = heo_upscaling_ycoef;
u32 max_memsize;
 
-   if (state->crtc_w < state->src_w)
+   if (state->crtc_h < state->src_h)
coeff_tab = heo_downscaling_ycoef;
for (i = 0; i < ARRAY_SIZE(heo_upscaling_ycoef); i++)
atmel_hlcdc_layer_update_cfg(>layer,
 33 + i,
 0x,
 coeff_tab[i]);
-   factor = ((8 * 256 * state->src_w) - (256 * 4)) /
-state->crtc_w;
+   factor = ((8 * 256 * state->src_h) - (256 * 4)) /
+state->crtc_h;
factor++;
-   max_memsize = ((factor * state->crtc_w) + (256 * 4)) /
+   max_memsize = ((factor * state->crtc_h) + (256 * 4)) /
  2048;
-   if (max_memsize > state->src_w)
+   if (max_memsize > state->src_h)
factor--;
factor_reg |= (factor << 16) | 0x8000;
}




[PATCH 4.4 084/118] drm: atmel-hlcdc: Fix vertical scaling

2016-09-22 Thread Greg Kroah-Hartman
4.4-stable review patch.  If anyone has any objections, please let me know.

--

From: Jan Leupold 

commit d31ed3f05763644840c654a384eaefa94c097ba2 upstream.

The code is applying the same scaling for the X and Y components,
thus making the scaling feature only functional when both components
have the same scaling factor.

Do the s/_w/_h/ replacement where appropriate to fix vertical scaling.

Signed-off-by: Jan Leupold 
Fixes: 1a396789f65a2 ("drm: add Atmel HLCDC Display Controller support")
Signed-off-by: Boris Brezillon 
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c |   10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

--- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
+++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
@@ -316,19 +316,19 @@ atmel_hlcdc_plane_update_pos_and_size(st
u32 *coeff_tab = heo_upscaling_ycoef;
u32 max_memsize;
 
-   if (state->crtc_w < state->src_w)
+   if (state->crtc_h < state->src_h)
coeff_tab = heo_downscaling_ycoef;
for (i = 0; i < ARRAY_SIZE(heo_upscaling_ycoef); i++)
atmel_hlcdc_layer_update_cfg(>layer,
 33 + i,
 0x,
 coeff_tab[i]);
-   factor = ((8 * 256 * state->src_w) - (256 * 4)) /
-state->crtc_w;
+   factor = ((8 * 256 * state->src_h) - (256 * 4)) /
+state->crtc_h;
factor++;
-   max_memsize = ((factor * state->crtc_w) + (256 * 4)) /
+   max_memsize = ((factor * state->crtc_h) + (256 * 4)) /
  2048;
-   if (max_memsize > state->src_w)
+   if (max_memsize > state->src_h)
factor--;
factor_reg |= (factor << 16) | 0x8000;
}