mbox series

[RFC,0/2] DRM driver for hyper-v synthetic video device

Message ID 20200622110623.113546-1-drawat.floss@gmail.com (mailing list archive)
Headers show
Series DRM driver for hyper-v synthetic video device | expand

Message

Deepak Rawat June 22, 2020, 11:06 a.m. UTC
Hi All,

First draft of DRM driver for hyper-v synthetic video device. This synthetic
device is already supported by hyper-v and a corresponding framebuffer driver
exist at drivers/video/fbdev/hyperv_fb.c. With this patch, just reworked the
framebuffer driver into DRM, in doing so got mode-setting support. The code is
similar to cirrus DRM driver, using simple display pipe and shmem backed
GEM objects.

The device support more features like hardware cursor, EDID, multiple dirty
regions, etc, which were not supported with framebuffer driver. The plan is to
add support for those in future iteration. Wanted to get initial feedback and
discuss cursor support with simple kms helper. Is there any value to add cursor
support to drm_simple_kms_helper.c so that others can use it, or should I just
add cursor plane as device private? I believe we can still keep this driver
in drm/tiny?

For testing, ran GNOME and Weston with current changes in a Linux VM on
Windows 10 with hyper-v enabled.

Thanks,
Deepak

Deepak Rawat (2):
  drm/hyperv: Add DRM driver for hyperv synthetic video device
  MAINTAINERS: Add maintainer for hyperv video device

 MAINTAINERS                       |    8 +
 drivers/gpu/drm/tiny/Kconfig      |    9 +
 drivers/gpu/drm/tiny/Makefile     |    1 +
 drivers/gpu/drm/tiny/hyperv_drm.c | 1007 +++++++++++++++++++++++++++++
 4 files changed, 1025 insertions(+)
 create mode 100644 drivers/gpu/drm/tiny/hyperv_drm.c

Comments

Daniel Vetter June 28, 2020, 11:01 p.m. UTC | #1
On Mon, Jun 22, 2020 at 1:07 PM Deepak Rawat <drawat.floss@gmail.com> wrote:
>
> Hi All,
>
> First draft of DRM driver for hyper-v synthetic video device. This synthetic
> device is already supported by hyper-v and a corresponding framebuffer driver
> exist at drivers/video/fbdev/hyperv_fb.c. With this patch, just reworked the
> framebuffer driver into DRM, in doing so got mode-setting support. The code is
> similar to cirrus DRM driver, using simple display pipe and shmem backed
> GEM objects.
>
> The device support more features like hardware cursor, EDID, multiple dirty
> regions, etc, which were not supported with framebuffer driver. The plan is to
> add support for those in future iteration. Wanted to get initial feedback and
> discuss cursor support with simple kms helper. Is there any value to add cursor
> support to drm_simple_kms_helper.c so that others can use it, or should I just
> add cursor plane as device private? I believe we can still keep this driver
> in drm/tiny?

Simple is for really simple framebuffers, if you want a few planes or
multiple outputs or multiple crtcs then just write a normal drm
driver. We've worked hard to ditch all the boilerplate and replace it
with defaults, so the difference isn't much, and if we don't keep
simple helpers really simple there's not much point.

Also once you don't use simple helpers anymore I think migrating out
of drm/tiny is probably a good idea.
-Daniel

> For testing, ran GNOME and Weston with current changes in a Linux VM on
> Windows 10 with hyper-v enabled.
>
> Thanks,
> Deepak
>
> Deepak Rawat (2):
>   drm/hyperv: Add DRM driver for hyperv synthetic video device
>   MAINTAINERS: Add maintainer for hyperv video device
>
>  MAINTAINERS                       |    8 +
>  drivers/gpu/drm/tiny/Kconfig      |    9 +
>  drivers/gpu/drm/tiny/Makefile     |    1 +
>  drivers/gpu/drm/tiny/hyperv_drm.c | 1007 +++++++++++++++++++++++++++++
>  4 files changed, 1025 insertions(+)
>  create mode 100644 drivers/gpu/drm/tiny/hyperv_drm.c
>
> --
> 2.27.0
>