1. 02 Nov, 2018 2 commits
    • Alexandru Gheorghe's avatar
      drm/fourcc: Add char_per_block, block_w and block_h in drm_format_info · 042bf753
      Alexandru Gheorghe authored
      For some pixel formats .cpp structure in drm_format info it's not
      enough to describe the peculiarities of the pixel layout, for example
      tiled formats or packed formats at bit level.
      
      What's implemented here is to add three new members to drm_format_info
      that could describe such formats:
      
      - char_per_block[3]
      - block_w[3]
      - block_h[3]
      
      char_per_block will be put in a union alongside cpp, for transparent
      compatibility  with the existing format descriptions.
      
      Regarding, block_w and block_h they are intended to be used through
      their equivalent getters drm_format_info_block_width /
      drm_format_info_block_height, the reason of the getters is to abstract
      the fact that for normal formats block_w and block_h will be unset/0,
      but the methods will be returning 1.
      
      Additionally, convenience function drm_format_info_min_pitch had been
      added that computes the minimum required pitch for a given pixel
      format and buffer width.
      
      Using that the following drm core functions had been updated to
      generically handle both block and non-block formats:
      
      - drm_fb_cma_get_gem_addr: for block formats it will just return the
        beginning of the block.
      - framebuffer_check: Use the newly added drm_format_info_min_pitch.
      - drm_gem_fb_create_with_funcs: Use the newly added
        drm_format_info_min_pitch.
      - In places where is not expecting to handle block formats, like fbdev
        helpers I just added some warnings in case the block width/height
        are greater than 1.
      
      Changes since v3:
       - Add helper function for computing the minimum required pitch.
       - Improve/cleanup documentation
      
      Changes since v8:
       - Fixed build on 32bits arm architectures, with:
      
      -       return DIV_ROUND_UP((u64)buffer_width * info->char_per_block[plane],
      +       return DIV_ROUND_UP_ULL((u64)buffer_width * info->char_per_block[plane],
      Reviewed-by: default avatarBrian Starkey <brian.starkey@arm.com>
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarAlexandru Gheorghe <alexandru-cosmin.gheorghe@arm.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20181101170055.5433-1-alexandru-cosmin.gheorghe@arm.com
      042bf753
    • Linus Walleij's avatar
      drm/panel: Add simple panel mode for the ARM RTSM · fcec4163
      Linus Walleij authored
      Having failed any attempts at a more generic solution,
      I fall back to the very specific solution: define a simple
      panel for the ARM RTSM emulated platforms.
      
      I am doing this so we can convert all old users from the
      previous fbdev driver to the PL111 DRM driver.
      
      This works fine as far as I can test, provided the
      device tree for RTSM AEMv8 is augmented accordingly.
      
      Cc: Sudeep Holla <sudeep.holla@arm.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Mali DP Maintainers <malidp@foss.arm.com>
      Cc: Robin Murphy <robin.murphy@arm.com>
      Reviewed-by: default avatarLiviu Dudau <liviu.dudau@arm.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20181026111334.3365-1-linus.walleij@linaro.org
      fcec4163
  2. 01 Nov, 2018 7 commits
  3. 30 Oct, 2018 18 commits
  4. 29 Oct, 2018 13 commits