mbox series

[v6,0/5] Support Nuvoton NPCM Video Capture/Encode Engine

Message ID 20221104033810.1324686-1-milkfafa@gmail.com
Headers show
Series Support Nuvoton NPCM Video Capture/Encode Engine | expand

Message

Marvin Lin Nov. 4, 2022, 3:38 a.m. UTC
This patch series add DTS node, dt-bindings document and drivers for Video
Capture/Differentiation Engine (VCD) and Encoding Compression Engine (ECE)
present on Nuvoton NPCM SoCs.

VCD can capture/differentiate video data from digital or analog sources,
then the ECE will compress the data into HEXTILE format.

HEXTILE compressed format is defined in Remote Framebuffer Protocol (RFC
6143) and is used by VNC features, so we also add a patch to support it.

Changes in v6:
  - Support NPCM845 and add compatible "nuvoton,npcm845-video".
  - Correct pixel format to V4L2_PIX_FMT_HEXTILE which is newly added in
    this patch series.

Changes in v5:
  - Simplify function prefix "nuvoton_" to "npcm_".
  - Increase VCD_BUSY_TIMEOUT_US and ECE_POLL_TIMEOUT_US to 300ms to
    prevent polling timeout when ECC is enabled or system is busy.

Changes in v4:
  - Fix compile warning reported by kernel test robot.

Changes in v3:
  - Add video driver entry in MAINTAINERS.
  - Change config name to CONFIG_VIDEO_NPCM_VCD_ECE.
  - Reduce the waiting time after resetting the VCD/ECE module.
  - Correct data types of some variables.

Changes in v2:
  - Add Hextile document and locate with vendor formats.

Marvin Lin (5):
  arm: dts: Add node for NPCM Video Capture/Encode Engine
  dt-bindings: media: Add dt-bindings for NPCM Video Capture/Encode
    Engine
  dt-bindings: arm/npcm: Add dt-bindings for Graphics Core Information
  media: Add HEXTILE compressed format
  drivers: media: platform: Add NPCM Video Capture/Encode Engine driver

 .../bindings/arm/npcm/nuvoton,gfxi.yaml       |   41 +
 .../bindings/media/nuvoton,npcm-video.yaml    |   87 +
 .../media/v4l/pixfmt-reserved.rst             |    7 +
 MAINTAINERS                                   |    9 +
 arch/arm/boot/dts/nuvoton-common-npcm7xx.dtsi |   19 +
 drivers/media/platform/Kconfig                |    1 +
 drivers/media/platform/Makefile               |    1 +
 drivers/media/platform/nuvoton/Kconfig        |   12 +
 drivers/media/platform/nuvoton/Makefile       |    2 +
 drivers/media/platform/nuvoton/npcm-video.c   | 2093 +++++++++++++++++
 drivers/media/v4l2-core/v4l2-ioctl.c          |    1 +
 include/uapi/linux/videodev2.h                |    1 +
 12 files changed, 2274 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/npcm/nuvoton,gfxi.yaml
 create mode 100644 Documentation/devicetree/bindings/media/nuvoton,npcm-video.yaml
 create mode 100644 drivers/media/platform/nuvoton/Kconfig
 create mode 100644 drivers/media/platform/nuvoton/Makefile
 create mode 100644 drivers/media/platform/nuvoton/npcm-video.c

Comments

Hans Verkuil Nov. 4, 2022, 8:36 a.m. UTC | #1
Hi Marvin,

On 04/11/2022 04:38, Marvin Lin wrote:
> This patch series add DTS node, dt-bindings document and drivers for Video
> Capture/Differentiation Engine (VCD) and Encoding Compression Engine (ECE)
> present on Nuvoton NPCM SoCs.
> 
> VCD can capture/differentiate video data from digital or analog sources,
> then the ECE will compress the data into HEXTILE format.
> 
> HEXTILE compressed format is defined in Remote Framebuffer Protocol (RFC
> 6143) and is used by VNC features, so we also add a patch to support it.
> 
> Changes in v6:
>   - Support NPCM845 and add compatible "nuvoton,npcm845-video".
>   - Correct pixel format to V4L2_PIX_FMT_HEXTILE which is newly added in
>     this patch series.
> 
> Changes in v5:
>   - Simplify function prefix "nuvoton_" to "npcm_".
>   - Increase VCD_BUSY_TIMEOUT_US and ECE_POLL_TIMEOUT_US to 300ms to
>     prevent polling timeout when ECC is enabled or system is busy.
> 
> Changes in v4:
>   - Fix compile warning reported by kernel test robot.
> 
> Changes in v3:
>   - Add video driver entry in MAINTAINERS.
>   - Change config name to CONFIG_VIDEO_NPCM_VCD_ECE.
>   - Reduce the waiting time after resetting the VCD/ECE module.
>   - Correct data types of some variables.
> 
> Changes in v2:
>   - Add Hextile document and locate with vendor formats.
> 
> Marvin Lin (5):
>   arm: dts: Add node for NPCM Video Capture/Encode Engine
>   dt-bindings: media: Add dt-bindings for NPCM Video Capture/Encode
>     Engine
>   dt-bindings: arm/npcm: Add dt-bindings for Graphics Core Information

FYI: you need to CC this series to devicetree@vger.kernel.org so they can review
the bindings.

Regards,

	Hans

>   media: Add HEXTILE compressed format
>   drivers: media: platform: Add NPCM Video Capture/Encode Engine driver
> 
>  .../bindings/arm/npcm/nuvoton,gfxi.yaml       |   41 +
>  .../bindings/media/nuvoton,npcm-video.yaml    |   87 +
>  .../media/v4l/pixfmt-reserved.rst             |    7 +
>  MAINTAINERS                                   |    9 +
>  arch/arm/boot/dts/nuvoton-common-npcm7xx.dtsi |   19 +
>  drivers/media/platform/Kconfig                |    1 +
>  drivers/media/platform/Makefile               |    1 +
>  drivers/media/platform/nuvoton/Kconfig        |   12 +
>  drivers/media/platform/nuvoton/Makefile       |    2 +
>  drivers/media/platform/nuvoton/npcm-video.c   | 2093 +++++++++++++++++
>  drivers/media/v4l2-core/v4l2-ioctl.c          |    1 +
>  include/uapi/linux/videodev2.h                |    1 +
>  12 files changed, 2274 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/arm/npcm/nuvoton,gfxi.yaml
>  create mode 100644 Documentation/devicetree/bindings/media/nuvoton,npcm-video.yaml
>  create mode 100644 drivers/media/platform/nuvoton/Kconfig
>  create mode 100644 drivers/media/platform/nuvoton/Makefile
>  create mode 100644 drivers/media/platform/nuvoton/npcm-video.c
>
Marvin Lin Nov. 7, 2022, 4 a.m. UTC | #2
Hi Hans,

> FYI: you need to CC this series to devicetree@vger.kernel.org so they can review
> the bindings.

Thanks for the reminder. I'll CC devicetree group in next version.

Regards,
Marvin