From: nicolas.ferre@atmel.com (Nicolas Ferre)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v9 0/2] drm: add support for Atmel HLCDC Display Controller
Date: Tue, 6 Jan 2015 15:33:24 +0100 [thread overview]
Message-ID: <54ABF234.9010506@atmel.com> (raw)
In-Reply-To: <1420544147-18379-1-git-send-email-boris.brezillon@free-electrons.com>
Le 06/01/2015 12:35, Boris Brezillon a ?crit :
> Hi Dave,
>
> As I already said here [1], I'd really like to have the Atmel HLCDC driver
> merged in 3.20 (it's already floating around for quite some time now).
> So, unless someone complain about this version, I plan to send a PR soon,
> is that okay for you ?
> Please note that this series depends on [1] (which I can also include in my
> PR).
>
> Here comes the usual description:
>
> This patch series adds support for the Atmel HLCDC Display Controller
> embedded in the HLCDC block.
>
> The drivers supports basic CRTC functionalities, several overlays and
> provides an hardware cursor.
>
> At the moment, it only supports connection to LCD panels through an RGB
> connector (defined as an LVDS connector in my implementation), though
> connection to other kind of devices (like DRM bridges) could be added later.
>
> It also supports several RGB formats on all planes and some YUV formats on
> the HEO overlay plane.
>
> Best Regards,
>
> Boris
>
> [1]https://lkml.org/lkml/2015/1/6/171
>
> Changes since v8:
> - remove dependency on this series https://lkml.org/lkml/2014/11/16/12
> (which did not make it into 3.19) to avoid cross subsystem dependency
> issues
>
> Changes since v7:
> - split MFD, PWM and Display Controller drivers in several patch series
> - fix inline documentation (suggested by Nicolas)
> - fix DMA BURST LEN config (suggested by Nicolas)
> - call load and unload in probe and remove functions instead of setting
> them in drm_driver struct
>
> Changes since v6:
> - move interrupts property from hlcdc display controller node to its
> parent node (the MFD device)
> - add mode_set_base implementation
> - rework page flip handling to rely on vblank events instead of DMA
> transfer events (the end of a DMA transfer does not mean the frame
> is actually flipped: data are first copied to an output FIFO before
> being sent on the RGB/DPI connector)
> - few minor coding style fixes
>
> Changes since v5:
> - fix Kconfig dependency bug
> - use adjusted mode in crtc config
> - move signal config (clk, hsync, vsync) from connector to crtc mode_set
> function
> - use standard rotation property
> - check display_mode validity in connecto mode_valid function
> - remove dma_set_coherent mask call (now done in MFD core)
> - do not use drm_platform_init
>
> Changes since v4:
> - fix a few more bugs in rotation handling (rotation was buggy on some
> formats)
> - return connector_status_unknown until a panel is exposed by the
> drm_panel infrastructure (prevent fbdev creation until everyting is
> in place)
> - rework Kconfig MFD_ATMEL_HLCDC selection to simplify the configuration
> (automatically select this option when selecting the HLCDC PMW or DRM
> driver, instead of depending on this option)
>
> Changes since v3:
> - rework the layer code to simplify several parts (locking and layer
> disabling)
> - make use of the drm_flip_work infrastructure
> - rely on default HW cursor implementation using on the cursor plane
> - rework the display controller DT bindings (based on OF graph
> representation)
> - add rotation support
> - retrieve RGB bus format from drm_display_info
> - drop the dynamic pinctrl state selection
> - rework HLCDC output handling (previously specialized to interface
> with LCD panels)
> - drop ".module = THIS_MODULE" lines
> - change display controller compatible string
>
> Changes since v2:
> - fix coding style issues (macro indentation)
> - make use of GENMASK in several places
> - declare regmap config as a static structure
> - rework hlcdc plane update API
> - rework cursor handling to make use of the new plane update API
> - fix backporch config
> - do not use devm_regmap_init_mmio_clk to avoid extra clk_enable
> clk disable calls when accessing registers
> - explicitly include regmap and clk headers instead of relying on
> atmel-hlcdc.h inclusions
> - make the atmel-hlcdc driver depends on CONFIG_OF
> - separate DT bindings documentation from driver implementation
> - support several pin muxing for HLCDC pins on sama5d3 SoCs
>
> Changes since v1:
> - replace the backlight driver by a PWM driver
> - make use of drm_panel infrastructure
> - split driver code in several subsystem: MFD, PWM and DRM
> - add support for overlays
> - add support for hardware cursor
>
>
> Boris Brezillon (2):
> drm: add Atmel HLCDC Display Controller support
> drm: add DT bindings documentation for atmel-hlcdc-dc driver
Boris, David,
I realize that I already gave my acknowledgement to this driver for the
v7 revision. It was before it is split.
For the record, here is my review and the message:
https://lkml.org/lkml/2014/10/8/219
As I had said:
"I'm absolutely not an expert in DRM drivers" but here is my:
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
On the driver and associated DT binding.
Thanks, bye,
> .../devicetree/bindings/drm/atmel/hlcdc-dc.txt | 53 ++
> drivers/gpu/drm/Kconfig | 2 +
> drivers/gpu/drm/Makefile | 1 +
> drivers/gpu/drm/atmel-hlcdc/Kconfig | 11 +
> drivers/gpu/drm/atmel-hlcdc/Makefile | 7 +
> drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c | 406 ++++++++++
> drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 579 ++++++++++++++
> drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h | 213 +++++
> drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_layer.c | 667 ++++++++++++++++
> drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_layer.h | 398 ++++++++++
> drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c | 319 ++++++++
> drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 856 +++++++++++++++++++++
> 12 files changed, 3512 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/drm/atmel/hlcdc-dc.txt
> create mode 100644 drivers/gpu/drm/atmel-hlcdc/Kconfig
> create mode 100644 drivers/gpu/drm/atmel-hlcdc/Makefile
> create mode 100644 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c
> create mode 100644 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
> create mode 100644 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h
> create mode 100644 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_layer.c
> create mode 100644 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_layer.h
> create mode 100644 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c
> create mode 100644 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
>
--
Nicolas Ferre
prev parent reply other threads:[~2015-01-06 14:33 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-06 11:35 [PATCH v9 0/2] drm: add support for Atmel HLCDC Display Controller Boris Brezillon
2015-01-06 11:35 ` [PATCH v9 1/2] drm: add Atmel HLCDC Display Controller support Boris Brezillon
2015-01-06 11:35 ` [PATCH v9 2/2] drm: add DT bindings documentation for atmel-hlcdc-dc driver Boris Brezillon
2015-01-06 14:33 ` Nicolas Ferre [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54ABF234.9010506@atmel.com \
--to=nicolas.ferre@atmel.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).