mbox series

[v3,0/5] drm/tinydrm: Use damage helper for dirtyfb

Message ID 20190115043643.2364-1-noralf@tronnes.org (mailing list archive)
Headers show
Series drm/tinydrm: Use damage helper for dirtyfb | expand

Message

Noralf Trønnes Jan. 15, 2019, 4:36 a.m. UTC
David discovered a bug which gave memory corruption because the tx_buf
was written past its end for st7586 which has a smaller tx_buf. The
problem was that mipi_dbi_enable_flush() now calls directly into
mipi_dbi_fb_dirty() instead of going via the tindyrm_device dirtyfb
callback.

Changes:
- Include vblank header (Sam)
- ili9225 and st7586 can't use mipi_dbi_enable_flush() (David)

Noralf.

Noralf Trønnes (5):
  drm/gem-fb-helper: Add drm_gem_fb_create_with_dirty()
  drm/damage-helper: Add drm_atomic_helper_damage_merged()
  drm/tinydrm: Use struct drm_rect
  drm/tinydrm: Use damage helper for dirtyfb
  drm/todo: Tick off some tinydrm entries

 Documentation/gpu/todo.rst                    |  35 ----
 drivers/gpu/drm/drm_damage_helper.c           |  41 +++++
 drivers/gpu/drm/drm_gem_framebuffer_helper.c  |  50 +++++-
 drivers/gpu/drm/tinydrm/core/tinydrm-core.c   |  21 +--
 .../gpu/drm/tinydrm/core/tinydrm-helpers.c    | 100 +-----------
 drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c   |  31 ----
 drivers/gpu/drm/tinydrm/hx8357d.c             |   2 +-
 drivers/gpu/drm/tinydrm/ili9225.c             | 149 +++++++-----------
 drivers/gpu/drm/tinydrm/ili9341.c             |   2 +-
 drivers/gpu/drm/tinydrm/mi0283qt.c            |   2 +-
 drivers/gpu/drm/tinydrm/mipi-dbi.c            |  94 +++++++----
 drivers/gpu/drm/tinydrm/repaper.c             |  43 ++---
 drivers/gpu/drm/tinydrm/st7586.c              |  86 ++++++----
 drivers/gpu/drm/tinydrm/st7735r.c             |   2 +-
 include/drm/drm_damage_helper.h               |   3 +
 include/drm/drm_gem_framebuffer_helper.h      |   3 +
 include/drm/tinydrm/mipi-dbi.h                |   5 +-
 include/drm/tinydrm/tinydrm-helpers.h         |  20 +--
 include/drm/tinydrm/tinydrm.h                 |  26 ---
 19 files changed, 309 insertions(+), 406 deletions(-)

Comments

Noralf Trønnes Jan. 17, 2019, 10:10 a.m. UTC | #1
Den 15.01.2019 05.36, skrev Noralf Trønnes:
> David discovered a bug which gave memory corruption because the tx_buf
> was written past its end for st7586 which has a smaller tx_buf. The
> problem was that mipi_dbi_enable_flush() now calls directly into
> mipi_dbi_fb_dirty() instead of going via the tindyrm_device dirtyfb
> callback.
> 
> Changes:
> - Include vblank header (Sam)
> - ili9225 and st7586 can't use mipi_dbi_enable_flush() (David)
> 
> Noralf.
> 
> Noralf Trønnes (5):
>   drm/gem-fb-helper: Add drm_gem_fb_create_with_dirty()
>   drm/damage-helper: Add drm_atomic_helper_damage_merged()
>   drm/tinydrm: Use struct drm_rect
>   drm/tinydrm: Use damage helper for dirtyfb
>   drm/todo: Tick off some tinydrm entries
> 

Thanks for reviews and testing, applied to drm-misc-next.

Noralf.

>  Documentation/gpu/todo.rst                    |  35 ----
>  drivers/gpu/drm/drm_damage_helper.c           |  41 +++++
>  drivers/gpu/drm/drm_gem_framebuffer_helper.c  |  50 +++++-
>  drivers/gpu/drm/tinydrm/core/tinydrm-core.c   |  21 +--
>  .../gpu/drm/tinydrm/core/tinydrm-helpers.c    | 100 +-----------
>  drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c   |  31 ----
>  drivers/gpu/drm/tinydrm/hx8357d.c             |   2 +-
>  drivers/gpu/drm/tinydrm/ili9225.c             | 149 +++++++-----------
>  drivers/gpu/drm/tinydrm/ili9341.c             |   2 +-
>  drivers/gpu/drm/tinydrm/mi0283qt.c            |   2 +-
>  drivers/gpu/drm/tinydrm/mipi-dbi.c            |  94 +++++++----
>  drivers/gpu/drm/tinydrm/repaper.c             |  43 ++---
>  drivers/gpu/drm/tinydrm/st7586.c              |  86 ++++++----
>  drivers/gpu/drm/tinydrm/st7735r.c             |   2 +-
>  include/drm/drm_damage_helper.h               |   3 +
>  include/drm/drm_gem_framebuffer_helper.h      |   3 +
>  include/drm/tinydrm/mipi-dbi.h                |   5 +-
>  include/drm/tinydrm/tinydrm-helpers.h         |  20 +--
>  include/drm/tinydrm/tinydrm.h                 |  26 ---
>  19 files changed, 309 insertions(+), 406 deletions(-)
>