Hello, during the discussion about the last patchset touching the fimg2d code, it became apparent that the error handling for the command submission is currently unsatisfactory. This series rewrites the handling. All functions that submit command buffers now first check if enough space is available and only then proceed to build the command buffers. In particular the command buffer is no longer left in a half-finished state, since parameters passed to the functions are now validated before command submission. For this some validation functions are introduced. This should also increase performance if the bottleneck is the submission part, since adding commands to the buffer is now more lightweight. Last but not least some prefix was added to messages printed by fprintf and printf, and the G2D context struct was moved out of the public header. Please review and let me know if I can improve anything! With best wishes, Tobias Tobias Jakobi (14): exynos/fimg2d: fix empty buffer handling in g2d_flush() exynos/fimg2d: simplify base address submission in g2d_scale_and_blend() exynos/fimg2d: add g2d_check_space() exynos/fimg2d: check buffer space in g2d_solid_fill() exynos/fimg2d: check buffer space in g2d_copy() exynos/fimg2d: check buffer space in g2d_copy_with_scale() exynos/fimg2d: add g2d_validate_xyz() functions exynos/fimg2d: check buffer space in g2d_blend() exynos/fimg2d: check buffer space in g2d_scale_and_blend() exynos/fimg2d: remove default case from g2d_get_blend_op() exynos/fimg2d: remove superfluous initialization of g2d_point_val exynos/fimg2d: make g2d_add_cmd() less heavy exynos/fimg2d: add message prefix exynos/fimg2d: remove g2d_context from public header exynos/exynos_fimg2d.c | 367 +++++++++++++++++++++++++++++-------------------- exynos/exynos_fimg2d.h | 14 +- 2 files changed, 222 insertions(+), 159 deletions(-) -- 2.0.5 -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html