diff mbox

drm/stm: check pitch and size calculations even if !CONFIG_MMU

Message ID 20180130152400.28972-1-benjamin.gaignard@linaro.org (mailing list archive)
State New, archived
Headers show

Commit Message

Benjamin Gaignard Jan. 30, 2018, 3:24 p.m. UTC
In all cases we have to check pitch and size calculations.
Rely on drm_gem_cma_dumb_create for no MMU cases.

Fixes: 21f815bf773c ("drm/stm: drv: Improve data transfers")

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
---
 drivers/gpu/drm/stm/drv.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Philippe CORNU Jan. 30, 2018, 8:02 p.m. UTC | #1
Hi Benjamin,

Working on a coming patch (based on the new has_alpha field in fourcc), 
I realized that in particular cases (2 layers + "odd" layer sizes) 
memory transfers on MCU are greatly improved too if drm buffers are 
aligned on 128 bytes : )

So I suggest to cancel this patch.

Then you can post a new one removing ifdef CONFIG_MMU endif, or I can do 
it, it is up to you.

Many thanks for your support,
Philippe :-)

On 01/30/2018 04:24 PM, Benjamin Gaignard wrote:
> In all cases we have to check pitch and size calculations.

> Rely on drm_gem_cma_dumb_create for no MMU cases.

> 

> Fixes: 21f815bf773c ("drm/stm: drv: Improve data transfers")

> 

> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>

> ---

>   drivers/gpu/drm/stm/drv.c | 4 +++-

>   1 file changed, 3 insertions(+), 1 deletion(-)

> 

> diff --git a/drivers/gpu/drm/stm/drv.c b/drivers/gpu/drm/stm/drv.c

> index 8bc7e8418b8d..3e0fb5f34b8e 100644

> --- a/drivers/gpu/drm/stm/drv.c

> +++ b/drivers/gpu/drm/stm/drv.c

> @@ -44,9 +44,11 @@ static int stm_gem_cma_dumb_create(struct drm_file *file,

>   	 */

>   	args->pitch = roundup(min_pitch, 128);

>   	args->height = roundup(args->height, 4);

> -#endif

>   

>   	return drm_gem_cma_dumb_create_internal(file, dev, args);

> +#else

> +	return drm_gem_cma_dumb_create(file, dev, args);

> +#endif

>   }

>   

>   DEFINE_DRM_GEM_CMA_FOPS(drv_driver_fops);

>
diff mbox

Patch

diff --git a/drivers/gpu/drm/stm/drv.c b/drivers/gpu/drm/stm/drv.c
index 8bc7e8418b8d..3e0fb5f34b8e 100644
--- a/drivers/gpu/drm/stm/drv.c
+++ b/drivers/gpu/drm/stm/drv.c
@@ -44,9 +44,11 @@  static int stm_gem_cma_dumb_create(struct drm_file *file,
 	 */
 	args->pitch = roundup(min_pitch, 128);
 	args->height = roundup(args->height, 4);
-#endif
 
 	return drm_gem_cma_dumb_create_internal(file, dev, args);
+#else
+	return drm_gem_cma_dumb_create(file, dev, args);
+#endif
 }
 
 DEFINE_DRM_GEM_CMA_FOPS(drv_driver_fops);