[PATCH 0/5 v5] drm: Add support of ARC PGU display controller

From: Alexey Brodkin
Date: Mon Mar 28 2016 - 07:37:07 EST

This series add support of ARC PGU display controller.
ARC PGU is a quite simple byte streamer that gets data from the framebuffer
and pushes it to hte connected encoder (DP or HDMI).

It was tested on ARC SDP boards (axs101/103 in particular).

Note following series that introduces
drm_connector_register_all()/drm_connector_unregister_all() is a prerequisite
now: https://lkml.org/lkml/2016/3/23/61

Changes v4 -> v5:
* Removed encode node from DT bindings example (as suggested by Rob)

Changes v3 -> v4:
* Main driver author is now set properly (thanks Carlos for all your efforts)
* Implemented correct hsync and vsync setup (thanks Jose)
* Dummy call-backs were removed (as suggested by Daniel)
* Obsolete load()/unload() call-backs were removed (as suggested by Daniel)
* With above in mind we were able to adopt recently introduced
* Implemented setup of properties (uncached) for FB user-pages
* Minor clean-up in DT binding docs and axs10x_mb.dtsi

Changes v2 -> v3:
* Improved failure path if arcpgu_connector wasn't allocated.
* Fixed driver building as module.
* Implemented uncached mapping of user-space FB pages.
* Again updated DT bindings docs.

Changes v1 -> v2:
* Clean-up of DT bindings documentation.
* Added missing "pxlclk" clock in axs10x_mb.dtsi.

Cc: David Airlie <airlied@xxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx
Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx>
Cc: Kumar Gala <galak@xxxxxxxxxxxxxx>
Cc: linux-snps-arc@xxxxxxxxxxxxxxxxxxx
Cc: Mark Rutland <mark.rutland@xxxxxxx>
Cc: Pawel Moll <pawel.moll@xxxxxxx>
Cc: Rob Herring <robh+dt@xxxxxxxxxx>
Cc: Vineet Gupta <vgupta@xxxxxxxxxxxx>
Cc: Jose Abreu <joabreu@xxxxxxxxxxxx>
Cc: Carlos Palminha <palminha@xxxxxxxxxxxx>

Alexey Brodkin (4):
drm: Add DT bindings documentation for ARC PGU display controller
MAINTAINERS: Add maintainer for ARC PGU display controller
arc: Add our own implementation of fb_pgprotect()
arc: axs10x - add support of ARC PGU

Carlos Palminha (1):
drm: Add support of ARC PGU display controller

.../devicetree/bindings/display/snps,arcpgu.txt | 35 +++
arch/arc/boot/dts/axs10x_mb.dtsi | 61 +++++
arch/arc/include/asm/fb.h | 19 ++
drivers/gpu/drm/Kconfig | 2 +
drivers/gpu/drm/Makefile | 1 +
drivers/gpu/drm/arc/Kconfig | 10 +
drivers/gpu/drm/arc/Makefile | 2 +
drivers/gpu/drm/arc/arcpgu.h | 50 ++++
drivers/gpu/drm/arc/arcpgu_crtc.c | 257 +++++++++++++++++++
drivers/gpu/drm/arc/arcpgu_drv.c | 282 +++++++++++++++++++++
drivers/gpu/drm/arc/arcpgu_hdmi.c | 201 +++++++++++++++
drivers/gpu/drm/arc/arcpgu_regs.h | 40 +++
13 files changed, 966 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/snps,arcpgu.txt
create mode 100644 arch/arc/include/asm/fb.h
create mode 100644 drivers/gpu/drm/arc/Kconfig
create mode 100644 drivers/gpu/drm/arc/Makefile
create mode 100644 drivers/gpu/drm/arc/arcpgu.h
create mode 100644 drivers/gpu/drm/arc/arcpgu_crtc.c
create mode 100644 drivers/gpu/drm/arc/arcpgu_drv.c
create mode 100644 drivers/gpu/drm/arc/arcpgu_hdmi.c
create mode 100644 drivers/gpu/drm/arc/arcpgu_regs.h