Kevin Tang b07bcf34b6 drm/sprd: add Unisoc's drm display controller driver
Adds DPU(Display Processor Unit) support for the Unisoc's display
subsystem.
It's support multi planes, scaler, rotation, PQ(Picture Quality) and more.

v2:
  - Use drm_xxx to replace all DRM_XXX.
  - Use kzalloc to replace devm_kzalloc for sprd_dpu structure init.

v3:
  - Remove dpu_layer stuff layer and commit layers by aotmic_update

v4:
  - Use drmm_helpers to allocate crtc and planes.
  - Move rotation enum definitions to crtc layer reg bitfields.
  - Move allocate crtc and planes to bind function.

v5:
  - Fix the checkpatch warnings.
  - Use mode_set_nofb instead of mode_valid callback.
  - Follow the OF-Graph bindings, use of_graph_get_port_by_id
    instead of of_parse_phandle.
  - Use zpos to represent the layer position.
  - Rebase to last drm misc branch.

v6:
  - Disable and clear interrupts before register dpu IRQ
  - Init dpi config used by crtc_state->adjusted_mode on mode_set_nofb
  - Remove enable_irq and disable_irq function call.
  - Remove drm_format_info function call.

v7:
  - Remove iommu error interrupt handling function.

Cc: Orson Zhai <orsonzhai@gmail.com>
Cc: Chunyan Zhang <zhang.lyra@gmail.com>
Signed-off-by: Kevin Tang <kevin.tang@unisoc.com>
Reviewed-by: Maxime Ripard <maxime@cerno.tech>
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211207142717.30296-5-kevin3.tang@gmail.com
2021-12-10 12:37:36 +01:00
..
2021-11-10 11:52:40 -08:00
2021-11-06 14:36:12 -07:00
2021-11-09 11:24:08 -08:00
2021-11-13 09:11:33 -08:00
2021-11-01 10:09:14 -07:00
2021-11-04 08:21:47 -07:00
2021-11-18 09:36:39 +01:00
2021-11-02 11:24:14 -07:00
2021-11-03 17:00:52 -07:00
2021-11-06 14:36:12 -07:00
2021-11-08 11:49:48 -08:00
2021-11-10 11:47:55 -08:00
2021-11-05 08:42:02 -07:00
2021-11-08 11:55:21 -08:00
2021-11-04 13:56:55 -07:00
2021-11-02 10:56:49 -07:00
2021-11-10 11:52:40 -08:00
2021-11-10 11:36:43 -08:00
2021-11-05 08:42:02 -07:00
2021-11-06 14:36:12 -07:00
2021-11-09 11:24:08 -08:00
2021-11-10 11:52:40 -08:00
2021-11-06 14:36:12 -07:00
2021-11-10 11:36:43 -08:00
2021-11-10 11:52:40 -08:00
2021-10-26 19:12:01 +02:00
2021-11-09 11:24:08 -08:00
2021-11-10 10:56:02 -08:00
2021-11-09 11:20:07 -08:00
2021-11-14 11:11:51 -08:00
2021-11-02 06:20:58 -07:00
2021-11-02 15:58:39 -07:00
2021-11-04 08:21:47 -07:00
2021-10-28 14:42:20 +01:00
2021-11-18 09:36:39 +01:00
2021-11-08 12:07:52 -08:00
2021-11-03 17:00:52 -07:00
2021-11-10 09:07:26 -08:00
2021-11-12 11:44:31 -08:00
2021-11-12 12:25:50 -08:00
2021-11-01 19:09:04 -07:00
2021-11-12 12:25:50 -08:00
2021-11-04 08:21:47 -07:00
2021-11-11 09:40:15 -08:00
2021-11-03 15:00:39 -07:00
2021-11-10 09:41:22 -08:00
2021-11-10 11:14:21 -08:00