mbox series

[v8,0/3] GUD USB Display driver

Message ID 20210313112545.37527-1-noralf@tronnes.org (mailing list archive)
Headers show
Series GUD USB Display driver | expand

Message

Noralf Trønnes March 13, 2021, 11:25 a.m. UTC
Hi,

A while back I had the idea to turn a Raspberry Pi Zero into a $5
USB to HDMI/SDTV/DPI display adapter.

The protocol is open so people are free to make displays implementing it and
use this driver, all that's needed is to add a USB vid:pid to the driver for
the display.

See the wiki[1] for more information and images for the Raspberry Pi Zero/4.

Changes in this version:
- Forgot to filter RGB111 from reaching userspace
- Handle a device that only returns unknown device properties (Peter)
- s/GUD_PIXEL_FORMAT_RGB111/GUD_PIXEL_FORMAT_XRGB1111/ (Peter)
- Fix R1 and XRGB1111 format conversion
- Add FIXME about Big Endian being broken (Peter, Ilia)

I will apply the patches as soon as the dependency shows up in drm-misc-next.

Dependency:
drm: Use USB controller's DMA mask when importing dmabufs[2]
(currently in drm-misc-fixes but not in drm-misc-next yet, also present in
drm-tip and linux-next)

Noralf.

[1] https://github.com/notro/gud/wiki
[2] https://patchwork.freedesktop.org/patch/msgid/20210303133229.3288-1-tzimmermann@suse.de


Noralf Trønnes (3):
  drm/uapi: Add USB connector type
  drm/probe-helper: Check epoch counter in output_poll_execute()
  drm: Add GUD USB Display driver

 MAINTAINERS                         |   8 +
 drivers/gpu/drm/Kconfig             |   2 +
 drivers/gpu/drm/Makefile            |   1 +
 drivers/gpu/drm/drm_connector.c     |   1 +
 drivers/gpu/drm/drm_probe_helper.c  |   7 +-
 drivers/gpu/drm/gud/Kconfig         |  14 +
 drivers/gpu/drm/gud/Makefile        |   4 +
 drivers/gpu/drm/gud/gud_connector.c | 729 ++++++++++++++++++++++++++++
 drivers/gpu/drm/gud/gud_drv.c       | 661 +++++++++++++++++++++++++
 drivers/gpu/drm/gud/gud_internal.h  | 154 ++++++
 drivers/gpu/drm/gud/gud_pipe.c      | 552 +++++++++++++++++++++
 include/drm/gud.h                   | 333 +++++++++++++
 include/uapi/drm/drm_mode.h         |   1 +
 13 files changed, 2466 insertions(+), 1 deletion(-)
 create mode 100644 drivers/gpu/drm/gud/Kconfig
 create mode 100644 drivers/gpu/drm/gud/Makefile
 create mode 100644 drivers/gpu/drm/gud/gud_connector.c
 create mode 100644 drivers/gpu/drm/gud/gud_drv.c
 create mode 100644 drivers/gpu/drm/gud/gud_internal.h
 create mode 100644 drivers/gpu/drm/gud/gud_pipe.c
 create mode 100644 include/drm/gud.h

Comments

Noralf Trønnes March 16, 2021, 12:34 p.m. UTC | #1
Den 13.03.2021 12.25, skrev Noralf Trønnes:
> Hi,
> 
> A while back I had the idea to turn a Raspberry Pi Zero into a $5
> USB to HDMI/SDTV/DPI display adapter.
> 
> The protocol is open so people are free to make displays implementing it and
> use this driver, all that's needed is to add a USB vid:pid to the driver for
> the display.
> 
> See the wiki[1] for more information and images for the Raspberry Pi Zero/4.
> 
> Changes in this version:
> - Forgot to filter RGB111 from reaching userspace
> - Handle a device that only returns unknown device properties (Peter)
> - s/GUD_PIXEL_FORMAT_RGB111/GUD_PIXEL_FORMAT_XRGB1111/ (Peter)
> - Fix R1 and XRGB1111 format conversion
> - Add FIXME about Big Endian being broken (Peter, Ilia)
> 
> I will apply the patches as soon as the dependency shows up in drm-misc-next.
> 
> Dependency:
> drm: Use USB controller's DMA mask when importing dmabufs[2]
> (currently in drm-misc-fixes but not in drm-misc-next yet, also present in
> drm-tip and linux-next)
> 
> Noralf.
> 
> [1] https://github.com/notro/gud/wiki
> [2] https://patchwork.freedesktop.org/patch/msgid/20210303133229.3288-1-tzimmermann@suse.de
> 
> 
> Noralf Trønnes (3):
>   drm/uapi: Add USB connector type
>   drm/probe-helper: Check epoch counter in output_poll_execute()
>   drm: Add GUD USB Display driver
> 

Patches are now applied to drm-misc-next.
Thanks for reviewing and testing!

Noralf.

>  MAINTAINERS                         |   8 +
>  drivers/gpu/drm/Kconfig             |   2 +
>  drivers/gpu/drm/Makefile            |   1 +
>  drivers/gpu/drm/drm_connector.c     |   1 +
>  drivers/gpu/drm/drm_probe_helper.c  |   7 +-
>  drivers/gpu/drm/gud/Kconfig         |  14 +
>  drivers/gpu/drm/gud/Makefile        |   4 +
>  drivers/gpu/drm/gud/gud_connector.c | 729 ++++++++++++++++++++++++++++
>  drivers/gpu/drm/gud/gud_drv.c       | 661 +++++++++++++++++++++++++
>  drivers/gpu/drm/gud/gud_internal.h  | 154 ++++++
>  drivers/gpu/drm/gud/gud_pipe.c      | 552 +++++++++++++++++++++
>  include/drm/gud.h                   | 333 +++++++++++++
>  include/uapi/drm/drm_mode.h         |   1 +
>  13 files changed, 2466 insertions(+), 1 deletion(-)
>  create mode 100644 drivers/gpu/drm/gud/Kconfig
>  create mode 100644 drivers/gpu/drm/gud/Makefile
>  create mode 100644 drivers/gpu/drm/gud/gud_connector.c
>  create mode 100644 drivers/gpu/drm/gud/gud_drv.c
>  create mode 100644 drivers/gpu/drm/gud/gud_internal.h
>  create mode 100644 drivers/gpu/drm/gud/gud_pipe.c
>  create mode 100644 include/drm/gud.h
>