Re: [PATCH v7 0/4] Add support for KeemBay DRM driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Aug 31, 2020 at 01:02:48PM -0700, Anitha Chrisanthus wrote:
> This is a new DRM driver for Intel's KeemBay SOC.
> The SoC couples an ARM Cortex A53 CPU with an Intel
> Movidius VPU.
> 
> This driver is tested with the KMB EVM board which is the refernce baord
> for Keem Bay SOC. The SOC's display pipeline is as follows
> 
> +--------------+    +---------+    +-----------------------+
> |LCD controller| -> |Mipi DSI | -> |Mipi to HDMI Converter |
> +--------------+    +---------+    +-----------------------+
> 
> LCD controller and Mipi DSI transmitter are part of the SOC and
> mipi to HDMI converter is ADV7535 for KMB EVM board.
> 
> The DRM driver is a basic KMS atomic modesetting display driver and
> has no 2D or 3D graphics.It calls into the ADV bridge driver at
> the connector level.
> 
> Only 1080p resolution and single plane is supported at this time.
> The usecase is for debugging video and camera outputs.
> 
> Device tree patches are under review here
> https://lore.kernel.org/linux-arm-kernel/20200708175020.194436-1-daniele.alessandrelli@xxxxxxxxxxxxxxx/T/

I've looked at the code, and imo looks fairly reasonable. I think the
remaining things can also be polished in-tree, and we could start merging
the code already. For that 2 things are missing:

- Need a MAINTAINERS entry for this (I'm assuming you're volunteering)
- You need drm-misc commit rights set up so you can push patches, see

https://dri.freedesktop.org/docs/drm/gpu/drm-uapi.html#validating-changes-with-igt

The docs there also have howto and everything.

Cheers, Daniel

> 
> Changes since v1:
> - Removed redundant license text, updated license
> - Rearranged include blocks
> - renamed global vars and removed extern in c
> - Used upclassing for dev_private
> - Used drm_dev_init in drm device create
> - minor cleanups
> 
> Changes since v2:
> - squashed all commits to a single commit
> - logging changed to drm_info, drm_dbg etc.
> - used devm_drm_dev_alloc()
> - removed commented out sections and general cleanup
> 
> Changes since v3:
> - renamed dev_p to kmb
> - moved clocks under kmb_clock, consolidated clk initializations
> - use drmm functions
> - use DRM_GEM_CMA_DRIVER_OPS_VMAP
> - more cleanups
> 
> Changes since v4:
> - corrected spellings
> 
> Changes since v5:
> - corrected checkpatch warnings/checks
>    -Please ignore checkpatch checks on Camelcase - this is how it is
>    named in the databook
>    - Please ignore checkpatch warnings on misspelled for hsa, dout,
>    widthn etc. - they are spelled as in the databook
>    - Please ignore checkpatch checks on macro arguments reuse -
>    its confirmed ok
> 
> Changes since v6:
> - review changes Sam Ravnborg and Thomas Zimmerman
> 	split patch into 4 parts, part1 register definitions, part2 display
> 	driver files, part3 mipi dsi, part4 build files (Sam)
> 	removed kmb_crtc.h kmb_crtc_cleanup (Thomas)
> 	renamed mode_set, kmb_load, inlined unload (Thomas)
> 	moved remaining logging to drm_*(Thomas)
> 	re-orged driver initialization (Thomas)
> 	moved plane_status to drm_private (Sam)
> 	removed unnecessary logs and defines and ifdef codes (Sam)
> 	split dphy_init_sequence smaller (Sam)
> 	removed redundant checks in kmb_dsi (Sam)
> 	changed kmb_dsi_init to drm_bridge_connector_init and
> 	drm_connector_attach_encoder to bridge's connector (Sam)
> 	call helper_check in plane_atomic_check (Sam)
> 	renamed set to get for bpp and format functions(Sam)
> 	use drm helper functions for reset, duplicate/destroy state instead
> 	of kmb functions (Sam)
> 	removed kmb_priv from kmb_plane and removed kmb_plane_state (Sam)
> 
> Anitha Chrisanthus (4):
>   drm/kmb: Keem Bay driver register definition
>   drm/kmb: Add support for KeemBay Display
>   drm/kmb: Mipi DSI part of the display driver
>   drm/kmb: Build files for KeemBay Display driver
> 
>  drivers/gpu/drm/Kconfig         |    2 +
>  drivers/gpu/drm/Makefile        |    1 +
>  drivers/gpu/drm/kmb/Kconfig     |   13 +
>  drivers/gpu/drm/kmb/Makefile    |    2 +
>  drivers/gpu/drm/kmb/kmb_crtc.c  |  224 ++++++
>  drivers/gpu/drm/kmb/kmb_drv.c   |  676 +++++++++++++++++
>  drivers/gpu/drm/kmb/kmb_drv.h   |  170 +++++
>  drivers/gpu/drm/kmb/kmb_dsi.c   | 1523 +++++++++++++++++++++++++++++++++++++++
>  drivers/gpu/drm/kmb/kmb_dsi.h   |  350 +++++++++
>  drivers/gpu/drm/kmb/kmb_plane.c |  480 ++++++++++++
>  drivers/gpu/drm/kmb/kmb_plane.h |  110 +++
>  drivers/gpu/drm/kmb/kmb_regs.h  |  748 +++++++++++++++++++
>  12 files changed, 4299 insertions(+)
>  create mode 100644 drivers/gpu/drm/kmb/Kconfig
>  create mode 100644 drivers/gpu/drm/kmb/Makefile
>  create mode 100644 drivers/gpu/drm/kmb/kmb_crtc.c
>  create mode 100644 drivers/gpu/drm/kmb/kmb_drv.c
>  create mode 100644 drivers/gpu/drm/kmb/kmb_drv.h
>  create mode 100644 drivers/gpu/drm/kmb/kmb_dsi.c
>  create mode 100644 drivers/gpu/drm/kmb/kmb_dsi.h
>  create mode 100644 drivers/gpu/drm/kmb/kmb_plane.c
>  create mode 100644 drivers/gpu/drm/kmb/kmb_plane.h
>  create mode 100644 drivers/gpu/drm/kmb/kmb_regs.h
> 
> -- 
> 2.7.4
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux