[PATCH 00/14] drm/exynos: rewrite fimg2d error handling

Tobias Jakobi tjakobi at math.uni-bielefeld.de
Mon Aug 24 07:13:55 PDT 2015


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 Jakobi (14):
  exynos/fimg2d: fix empty buffer handling in g2d_flush()
  exynos/fimg2d: simplify base address submission in
  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(-)


More information about the dri-devel mailing list