Subject: Re: [PATCH v3 00/15] Improvements and fixes for mxsfb DRM driver

From: Guido Günther <[email-masked]>
Date: Mon, 26 Aug 2019 14:05:48 +0200

Hi,
On Wed, Aug 21, 2019 at 01:15:40PM +0300, Robert Chiras wrote:
> This patch-set improves the use of eLCDIF block on iMX 8 SoCs (like 8MQ, 8MM
> and 8QXP). Following, are the new features added and fixes from this
> patch-set:

I've applied this whole series on top of my NWL work and it looks good
with a DSI panel. Applying the whole series also fixes an issue where
after unblank the output was sometimes shifted about half a screen width
to the right (which didn't happen with DCSS). So at least from the parts
I could test:

  Tested-by: Guido Günther <[email-masked]> 

for the whole thing.
Cheers,
 -- Guido
> 
> 1. Add support for drm_bridge
> On 8MQ and 8MM, the LCDIF block is not directly connected to a parallel
> display connector, where an LCD panel can be attached, but instead it is
> connected to DSI controller. Since this DSI stands between the display
> controller (eLCDIF) and the physical connector, the DSI can be implemented
> as a DRM bridge. So, in order to be able to connect the mxsfb driver to
> the DSI driver, the support for a drm_bridge was needed in mxsfb DRM
> driver (the actual driver for the eLCDIF block).
> 
> 2. Add support for additional pixel formats
> Some of the pixel formats needed by Android were not implemented in this
> driver, but they were actually supported. So, add support for them.
> 
> 3. Add support for horizontal stride
> Having support for horizontal stride allows the use of eLCDIF with a GPU
> (for example) that can only output resolution sizes multiple of a power of
> 8. For example, 1080 is not a power of 16, so in order to support 1920x1080
> output from GPUs that can produce linear buffers only in sizes multiple to 16,
> this feature is needed.
> 
> 3. Few minor features and bug-fixing
> The addition of max-res DT property was actually needed in order to limit
> the bandwidth usage of the eLCDIF block. This is need on systems where
> multiple display controllers are presend and the memory bandwidth is not
> enough to handle all of them at maximum capacity (like it is the case on
> 8MQ, where there are two display controllers: DCSS and eLCDIF).
> The rest of the patches are bug-fixes.
> 
> v3:
> - Removed the max-res property patches and added support for
>   max-memory-bandwidth property, as it is also implemented in other drivers
> - Removed unnecessary drm_vblank_off in probe
> 
> v2:
> - Collected Tested-by from Guido
> - Split the first patch, which added more than one feature into relevant
>   patches, explaining each feature added
> - Also split the second patch into more patches, to differentiate between
>   the feature itself (additional pixel formats support) and the cleanup
>   of the register definitions for a better representation (guido)
> - Included a patch submitted by Guido, while he was testing my patch-set
> 
> Guido Günther (1):
>   drm/mxsfb: Read bus flags from bridge if present
> 
> Mirela Rabulea (1):
>   drm/mxsfb: Signal mode changed when bpp changed
> 
> Robert Chiras (13):
>   drm/mxsfb: Update mxsfb to support a bridge
>   drm/mxsfb: Add defines for the rest of registers
>   drm/mxsfb: Reset vital registers for a proper initialization
>   drm/mxsfb: Update register definitions using bit manipulation defines
>   drm/mxsfb: Update mxsfb with additional pixel formats
>   drm/mxsfb: Fix the vblank events
>   drm/mxsfb: Add max-memory-bandwidth property for MXSFB
>   dt-bindings: display: Add max-memory-bandwidth property for mxsfb
>   drm/mxsfb: Update mxsfb to support LCD reset
>   drm/mxsfb: Improve the axi clock usage
>   drm/mxsfb: Clear OUTSTANDING_REQS bits
>   drm/mxsfb: Add support for horizontal stride
>   drm/mxsfb: Add support for live pixel format change
> 
>  .../devicetree/bindings/display/mxsfb.txt          |   5 +
>  drivers/gpu/drm/mxsfb/mxsfb_crtc.c                 | 287 ++++++++++++++++++---
>  drivers/gpu/drm/mxsfb/mxsfb_drv.c                  | 203 +++++++++++++--
>  drivers/gpu/drm/mxsfb/mxsfb_drv.h                  |  12 +-
>  drivers/gpu/drm/mxsfb/mxsfb_out.c                  |  26 +-
>  drivers/gpu/drm/mxsfb/mxsfb_regs.h                 | 193 +++++++++-----
>  6 files changed, 589 insertions(+), 137 deletions(-)
> 
> -- 
> 2.7.4
> 

_______________________________________________
linux-arm-kernel mailing list
[email-masked]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel