1. 16 Jun, 2022 4 commits
  2. 15 Jun, 2022 2 commits
  3. 13 Jun, 2022 9 commits
  4. 12 Jun, 2022 20 commits
  5. 11 Jun, 2022 1 commit
  6. 10 Jun, 2022 1 commit
  7. 09 Jun, 2022 3 commits
    • Paul Kocialkowski's avatar
      drm: Add support for the LogiCVC display controller · efeeaefe
      Paul Kocialkowski authored
      Introduces a driver for the LogiCVC display controller, a programmable
      logic controller optimized for use in Xilinx Zynq-7000 SoCs and other
      Xilinx FPGAs. The controller is mostly configured at logic synthesis
      time so only a subset of configuration is left for the driver to
      handle.
      
      The following features are implemented and tested:
      - LVDS 4-bit interface;
      - RGB565 pixel formats;
      - Multiple layers and hardware composition;
      - Layer-wide alpha mode;
      
      The following features are implemented but untested:
      - Other RGB pixel formats;
      - Layer framebuffer configuration for version 4;
      - Lowest-layer used as background color;
      - Per-pixel alpha mode.
      
      The following features are not implemented:
      - YUV pixel formats;
      - DVI, LVDS 3-bit, ITU656 and camera link interfaces;
      - External parallel input for layer;
      - Color-keying;
      - LUT-based alpha modes.
      
      Additional implementation-specific notes:
      - Panels are only enabled after the first page flip to avoid flashing a
        white screen.
      - Depth used in context of the LogiCVC driver only counts color components
        to match the definition of the synthesis parameters.
      
      Support is implemented for both version 3 and 4 of the controller.
      
      With version 3, framebuffers are stored in a dedicated contiguous
      memory area, with a base address hardcoded for each layer. This requires
      using a dedicated CMA pool registered at the base address and tweaking a
      few offset-related registers to try to use any buffer allocated from
      the pool. This is done on a best-effort basis to have the hardware cope
      with the DRM framebuffer allocation model and there is no guarantee
      that each buffer allocated by GEM CMA can be used for any layer.
      In particular, buffers allocated below the base address for a layer are
      guaranteed not to be configurable for that layer. See the implementation of
      logicvc_layer_buffer_find_setup for specifics.
      
      Version 4 allows configuring each buffer address directly, which
      guarantees that any buffer can be configured.
      Signed-off-by: default avatarPaul Kocialkowski <paul.kocialkowski@bootlin.com>
      Reviewed-by: default avatarMaxime Ripard <mripard@kernel.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220520141555.1429041-2-paul.kocialkowski@bootlin.com
      efeeaefe
    • Daniel Vetter's avatar
      Revert "fbdev: Prevent probing generic drivers if a FB is already registered" · bdde97ac
      Daniel Vetter authored
      This reverts commit fb561bf9.
      
      With
      
      commit 27599aac
      Author: Thomas Zimmermann <tzimmermann@suse.de>
      Date:   Tue Jan 25 10:12:18 2022 +0100
      
          fbdev: Hot-unplug firmware fb devices on forced removal
      
      this should be fixed properly and we can remove this somewhat hackish
      check here (e.g. this won't catch drm drivers if fbdev emulation isn't
      enabled).
      
      Cc: Thomas Zimmermann <tzimmermann@suse.de>
      Cc: Zack Rusin <zackr@vmware.com>
      Cc: Javier Martinez Canillas <javierm@redhat.com>
      Cc: Zack Rusin <zackr@vmware.com>
      Cc: Hans de Goede <hdegoede@redhat.com>
      Cc: Ilya Trukhanov <lahvuun@gmail.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Reviewed-by: default avatarJavier Martinez Canillas <javierm@redhat.com>
      Cc: Peter Jones <pjones@redhat.com>
      Cc: linux-fbdev@vger.kernel.org
      Signed-off-by: default avatarJavier Martinez Canillas <javierm@redhat.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220607182338.344270-5-javierm@redhat.com
      bdde97ac
    • Javier Martinez Canillas's avatar
      fbdev: Disable sysfb device registration when removing conflicting FBs · 873eb3b1
      Javier Martinez Canillas authored
      The platform devices registered by sysfb match with firmware-based DRM or
      fbdev drivers, that are used to have early graphics using a framebuffer
      provided by the system firmware.
      
      DRM or fbdev drivers later are probed and remove conflicting framebuffers,
      leading to these platform devices for generic drivers to be unregistered.
      
      But the current solution has a race, since the sysfb_init() function could
      be called after a DRM or fbdev driver is probed and request to unregister
      the devices for drivers with conflicting framebuffes.
      
      To prevent this, disable any future sysfb platform device registration by
      calling sysfb_disable(), if a driver requests to remove the conflicting
      framebuffers.
      Suggested-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarJavier Martinez Canillas <javierm@redhat.com>
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220607182338.344270-4-javierm@redhat.com
      873eb3b1