All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/9] drm: Add generic fbdev emulation
@ 2018-05-23 14:34 Noralf Trønnes
  2018-05-23 14:34 ` [PATCH 1/9] drm: provide management functions for drm_file Noralf Trønnes
                   ` (12 more replies)
  0 siblings, 13 replies; 39+ messages in thread
From: Noralf Trønnes @ 2018-05-23 14:34 UTC (permalink / raw)
  To: dri-devel; +Cc: intel-gfx, laurent.pinchart

This patchset adds generic fbdev emulation for drivers that supports GEM
based dumb buffers which support .gem_prime_vmap and gem_prime_mmap. An
API is begun to support in-kernel clients in general.

The CMA helper drivers is moved as a whole over to this generic fbdev
emulation. I've added patches 8 and 9 to show where it's heading.
tinydrm will be the first driver to use the full emulation when it moves
to vmalloc buffers. The CMA helper drivers will be converted one by one
later.

This work is based on an idea[1] by Laurent Pinchart:

    Ideally I'd like to remove 100% of fbdev-related
    code from drivers. This includes
    - initialization and cleanup of fbdev helpers
    - fbdev restore in last_close()
    - forwarding of hotplug events to fbdev compatibility layer

Noralf.

[1] https://lists.freedesktop.org/archives/dri-devel/2017-September/152612.html

David Herrmann (1):
  drm: provide management functions for drm_file

Noralf Trønnes (8):
  drm/file: Don't set master on in-kernel clients
  drm: Make ioctls available for in-kernel clients
  drm: Begin an API for in-kernel clients
  drm/fb-helper: Add generic fbdev emulation .fb_probe function
  drm/pl111: Set .gem_prime_vmap and .gem_prime_mmap
  drm/cma-helper: Use the generic fbdev emulation
  drm/client: Add client callbacks
  drm/fb-helper: Finish the generic fbdev emulation

 Documentation/gpu/drm-client.rst    |  12 +
 Documentation/gpu/index.rst         |   1 +
 drivers/gpu/drm/Makefile            |   2 +-
 drivers/gpu/drm/drm_client.c        | 511 ++++++++++++++++++++++++++++++++++++
 drivers/gpu/drm/drm_crtc_internal.h |  19 +-
 drivers/gpu/drm/drm_debugfs.c       |   7 +
 drivers/gpu/drm/drm_drv.c           |   9 +
 drivers/gpu/drm/drm_dumb_buffers.c  |  33 ++-
 drivers/gpu/drm/drm_fb_cma_helper.c | 365 ++++----------------------
 drivers/gpu/drm/drm_fb_helper.c     | 287 ++++++++++++++++++++
 drivers/gpu/drm/drm_file.c          | 304 ++++++++++++---------
 drivers/gpu/drm/drm_framebuffer.c   |  42 +--
 drivers/gpu/drm/drm_internal.h      |   2 +
 drivers/gpu/drm/drm_ioctl.c         |   4 +-
 drivers/gpu/drm/drm_probe_helper.c  |   3 +
 drivers/gpu/drm/pl111/pl111_drv.c   |   2 +
 include/drm/drm_client.h            | 146 +++++++++++
 include/drm/drm_device.h            |  21 ++
 include/drm/drm_fb_cma_helper.h     |   3 -
 include/drm/drm_fb_helper.h         |  33 +++
 20 files changed, 1322 insertions(+), 484 deletions(-)
 create mode 100644 Documentation/gpu/drm-client.rst
 create mode 100644 drivers/gpu/drm/drm_client.c
 create mode 100644 include/drm/drm_client.h

-- 
2.15.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 39+ messages in thread
* [PATCH v5 0/8] drm: Add generic fbdev emulation
@ 2018-07-03 16:03 Noralf Trønnes
  2018-07-03 16:32 ` ✓ Fi.CI.BAT: success for " Patchwork
  0 siblings, 1 reply; 39+ messages in thread
From: Noralf Trønnes @ 2018-07-03 16:03 UTC (permalink / raw)
  To: dri-devel; +Cc: intel-gfx, Noralf Trønnes, laurent.pinchart, david

This patchset adds generic fbdev emulation for drivers that supports GEM
based dumb buffers which support .gem_prime_vmap and gem_prime_mmap. An
API is begun to support in-kernel clients in general.

I've squashed the client patches to ease review.
All patches have ack's and rb's so I'll apply this next week unless
something more comes up. It's taken me 6 months to get this done so I
look forward to getting it applied.

Thanks a lot Daniel for helping me make this happen!

Noralf.

Changes since version 4:
- Squash the two client patches to ease review.
- Remove drm_client_put() doc references.
- Remove drm_client_funcs->release, it's use went away in version 3.
- Add drm_client_dev_hotplug() doc

Changes since version 3:
- drm/cma-helper: Use the generic fbdev emulation: Fix error path
- Remove setting .lastclose in new tinydrm driver ili9341

Changes since version 2:
- Applied first 3 patches to drm-misc-next
- Drop client reference counting and only allow the driver to release
clients.

Noralf Trønnes (8):
  drm: Begin an API for in-kernel clients
  drm/fb-helper: Add generic fbdev emulation .fb_probe function
  drm/pl111: Set .gem_prime_vmap and .gem_prime_mmap
  drm/cma-helper: Use the generic fbdev emulation
  drm/debugfs: Add internal client debugfs file
  drm/fb-helper: Finish the generic fbdev emulation
  drm/tinydrm: Use drm_fbdev_generic_setup()
  drm/cma-helper: Remove drm_fb_cma_fbdev_init_with_funcs()

 Documentation/gpu/drm-client.rst            |  12 +
 Documentation/gpu/index.rst                 |   1 +
 drivers/gpu/drm/Makefile                    |   2 +-
 drivers/gpu/drm/drm_client.c                | 415 ++++++++++++++++++++++++++++
 drivers/gpu/drm/drm_debugfs.c               |   7 +
 drivers/gpu/drm/drm_drv.c                   |   8 +
 drivers/gpu/drm/drm_fb_cma_helper.c         | 379 +++----------------------
 drivers/gpu/drm/drm_fb_helper.c             | 316 ++++++++++++++++++++-
 drivers/gpu/drm/drm_file.c                  |   3 +
 drivers/gpu/drm/drm_probe_helper.c          |   3 +
 drivers/gpu/drm/pl111/pl111_drv.c           |   2 +
 drivers/gpu/drm/tinydrm/core/tinydrm-core.c |   3 +-
 drivers/gpu/drm/tinydrm/ili9225.c           |   1 -
 drivers/gpu/drm/tinydrm/ili9341.c           |   1 -
 drivers/gpu/drm/tinydrm/mi0283qt.c          |   1 -
 drivers/gpu/drm/tinydrm/st7586.c            |   1 -
 drivers/gpu/drm/tinydrm/st7735r.c           |   1 -
 include/drm/drm_client.h                    | 139 ++++++++++
 include/drm/drm_device.h                    |  21 ++
 include/drm/drm_fb_cma_helper.h             |   6 -
 include/drm/drm_fb_helper.h                 |  38 +++
 21 files changed, 1007 insertions(+), 353 deletions(-)
 create mode 100644 Documentation/gpu/drm-client.rst
 create mode 100644 drivers/gpu/drm/drm_client.c
 create mode 100644 include/drm/drm_client.h

-- 
2.15.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 39+ messages in thread
* [PATCH v4 0/9] drm: Add generic fbdev emulation
@ 2018-07-02 13:54 Noralf Trønnes
  2018-07-02 14:28 ` ✓ Fi.CI.BAT: success for " Patchwork
  0 siblings, 1 reply; 39+ messages in thread
From: Noralf Trønnes @ 2018-07-02 13:54 UTC (permalink / raw)
  To: dri-devel; +Cc: intel-gfx, laurent.pinchart, david

This patchset adds generic fbdev emulation for drivers that supports GEM
based dumb buffers which support .gem_prime_vmap and gem_prime_mmap. An
API is begun to support in-kernel clients in general.

Change this version:
Fix a bug in an error path that the kbuild test robot caught.

Change previous version:
Rework client removal (again). Drop reference counting, only allow the
driver to remove a client.

Noralf.

Changes since version 3:
- drm/cma-helper: Use the generic fbdev emulation: Fix error path
- Remove setting .lastclose in new tinydrm driver ili9341

Changes since version 2:
- Applied first 3 patches to drm-misc-next
- Drop client reference counting and only allow the driver to release
clients.

Noralf Trønnes (9):
  drm: Begin an API for in-kernel clients
  drm/fb-helper: Add generic fbdev emulation .fb_probe function
  drm/pl111: Set .gem_prime_vmap and .gem_prime_mmap
  drm/cma-helper: Use the generic fbdev emulation
  drm/client: Add client callbacks
  drm/debugfs: Add internal client debugfs file
  drm/fb-helper: Finish the generic fbdev emulation
  drm/tinydrm: Use drm_fbdev_generic_setup()
  drm/cma-helper: Remove drm_fb_cma_fbdev_init_with_funcs()

 Documentation/gpu/drm-client.rst            |  12 +
 Documentation/gpu/index.rst                 |   1 +
 drivers/gpu/drm/Makefile                    |   2 +-
 drivers/gpu/drm/drm_client.c                | 405 ++++++++++++++++++++++++++++
 drivers/gpu/drm/drm_debugfs.c               |   7 +
 drivers/gpu/drm/drm_drv.c                   |   8 +
 drivers/gpu/drm/drm_fb_cma_helper.c         | 379 +++-----------------------
 drivers/gpu/drm/drm_fb_helper.c             | 316 +++++++++++++++++++++-
 drivers/gpu/drm/drm_file.c                  |   3 +
 drivers/gpu/drm/drm_probe_helper.c          |   3 +
 drivers/gpu/drm/pl111/pl111_drv.c           |   2 +
 drivers/gpu/drm/tinydrm/core/tinydrm-core.c |   3 +-
 drivers/gpu/drm/tinydrm/ili9225.c           |   1 -
 drivers/gpu/drm/tinydrm/ili9341.c           |   1 -
 drivers/gpu/drm/tinydrm/mi0283qt.c          |   1 -
 drivers/gpu/drm/tinydrm/st7586.c            |   1 -
 drivers/gpu/drm/tinydrm/st7735r.c           |   1 -
 include/drm/drm_client.h                    | 152 +++++++++++
 include/drm/drm_device.h                    |  21 ++
 include/drm/drm_fb_cma_helper.h             |   6 -
 include/drm/drm_fb_helper.h                 |  38 +++
 21 files changed, 1010 insertions(+), 353 deletions(-)
 create mode 100644 Documentation/gpu/drm-client.rst
 create mode 100644 drivers/gpu/drm/drm_client.c
 create mode 100644 include/drm/drm_client.h

-- 
2.15.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 39+ messages in thread
* [PATCH v3 0/9] drm: Add generic fbdev emulation
@ 2018-06-27 13:08 Noralf Trønnes
  2018-06-27 17:05 ` ✓ Fi.CI.BAT: success for " Patchwork
  0 siblings, 1 reply; 39+ messages in thread
From: Noralf Trønnes @ 2018-06-27 13:08 UTC (permalink / raw)
  To: dri-devel; +Cc: intel-gfx, Noralf Trønnes, laurent.pinchart, david

This patchset adds generic fbdev emulation for drivers that supports GEM
based dumb buffers which support .gem_prime_vmap and gem_prime_mmap. An
API is begun to support in-kernel clients in general.

The only change this time is reworking client removal (again). Drop
reference counting, only allow the driver to remove a client.

Noralf.

Changes since version 2:
- Applied first 3 patches to drm-misc-next
- Drop client reference counting and only allow the driver to release
  clients.

Noralf Trønnes (9):
  drm: Begin an API for in-kernel clients
  drm/fb-helper: Add generic fbdev emulation .fb_probe function
  drm/pl111: Set .gem_prime_vmap and .gem_prime_mmap
  drm/cma-helper: Use the generic fbdev emulation
  drm/client: Add client callbacks
  drm/debugfs: Add internal client debugfs file
  drm/fb-helper: Finish the generic fbdev emulation
  drm/tinydrm: Use drm_fbdev_generic_setup()
  drm/cma-helper: Remove drm_fb_cma_fbdev_init_with_funcs()

 Documentation/gpu/drm-client.rst            |  12 +
 Documentation/gpu/index.rst                 |   1 +
 drivers/gpu/drm/Makefile                    |   2 +-
 drivers/gpu/drm/drm_client.c                | 405 ++++++++++++++++++++++++++++
 drivers/gpu/drm/drm_debugfs.c               |   7 +
 drivers/gpu/drm/drm_drv.c                   |   8 +
 drivers/gpu/drm/drm_fb_cma_helper.c         | 380 +++-----------------------
 drivers/gpu/drm/drm_fb_helper.c             | 316 +++++++++++++++++++++-
 drivers/gpu/drm/drm_file.c                  |   3 +
 drivers/gpu/drm/drm_probe_helper.c          |   3 +
 drivers/gpu/drm/pl111/pl111_drv.c           |   2 +
 drivers/gpu/drm/tinydrm/core/tinydrm-core.c |   3 +-
 drivers/gpu/drm/tinydrm/ili9225.c           |   1 -
 drivers/gpu/drm/tinydrm/mi0283qt.c          |   1 -
 drivers/gpu/drm/tinydrm/st7586.c            |   1 -
 drivers/gpu/drm/tinydrm/st7735r.c           |   1 -
 include/drm/drm_client.h                    | 152 +++++++++++
 include/drm/drm_device.h                    |  21 ++
 include/drm/drm_fb_cma_helper.h             |   6 -
 include/drm/drm_fb_helper.h                 |  38 +++
 20 files changed, 1011 insertions(+), 352 deletions(-)
 create mode 100644 Documentation/gpu/drm-client.rst
 create mode 100644 drivers/gpu/drm/drm_client.c
 create mode 100644 include/drm/drm_client.h

-- 
2.15.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 39+ messages in thread
* [PATCH v2 00/12] drm: Add generic fbdev emulation
@ 2018-06-18 14:17 Noralf Trønnes
  2018-06-18 15:20 ` ✓ Fi.CI.BAT: success for " Patchwork
  0 siblings, 1 reply; 39+ messages in thread
From: Noralf Trønnes @ 2018-06-18 14:17 UTC (permalink / raw)
  To: dri-devel; +Cc: intel-gfx, laurent.pinchart

This patchset adds generic fbdev emulation for drivers that supports GEM
based dumb buffers which support .gem_prime_vmap and gem_prime_mmap. An
API is begun to support in-kernel clients in general.

Notable changes since version 1:

- Rework client unregister code. I've used reference counting to manage
  the fact that both the client itself and the driver through
  drm_dev_unregister() can release the client. The client is now released
  using drm_client_put() instead of drm_client_free().

- fbdev: Use a shadow buffer for framebuffers that have a dirty
  callback. This makes the fbdev client truly generic and useable for all
  drivers. There's a blitting penalty, but this is generic emulation after
  all. The reason for needing a shadow buffer is that deferred I/O only
  works with kmalloc/vmalloc buffers and not with shmem buffers
  (page->lru/mapping).

- Let tinydrm use the full fbdev client

Noralf.

Changes since version 1:
- Make it possible to embed struct drm_client_dev and drop the private
  pointer
- Use kref reference counting to control client release since both the
  client and the driver can release.
- Add comment about using dma-buf as a possibility with some rework
- Move buffer NULL check to drm_client_framebuffer_delete()
- Move client name to struct drm_client_dev
- Move up drm_dev_get/put calls to make them more visible
- Move drm_client_dev.list definition to later patch that makes use of it

- Embed drm_client at the beginning of drm_fb_helper to avoid a fragile
  transitional kfree hack in drm_client_release()
- Set owner in drm_fbdev_fb_ops
- Add kerneldoc to drm_fb_helper_generic_probe()

- Remove unused functions
- Change name drm_client_funcs.lastclose -> .restore
- Change name drm_client_funcs.remove -> .unregister
- Rework unregister code

- tinydrm: Use drm_fbdev_generic_setup() and remove
  drm_fb_cma_fbdev_init_with_funcs()

David Herrmann (1):
  drm: provide management functions for drm_file

Noralf Trønnes (11):
  drm/file: Don't set master on in-kernel clients
  drm: Make ioctls available for in-kernel clients
  drm: Begin an API for in-kernel clients
  drm/fb-helper: Add generic fbdev emulation .fb_probe function
  drm/pl111: Set .gem_prime_vmap and .gem_prime_mmap
  drm/cma-helper: Use the generic fbdev emulation
  drm/client: Add client callbacks
  drm/debugfs: Add internal client debugfs file
  drm/fb-helper: Finish the generic fbdev emulation
  drm/tinydrm: Use drm_fbdev_generic_setup()
  drm/cma-helper: Remove drm_fb_cma_fbdev_init_with_funcs()

 Documentation/gpu/drm-client.rst            |  12 +
 Documentation/gpu/index.rst                 |   1 +
 drivers/gpu/drm/Makefile                    |   2 +-
 drivers/gpu/drm/drm_client.c                | 435 ++++++++++++++++++++++++++++
 drivers/gpu/drm/drm_crtc_internal.h         |  19 +-
 drivers/gpu/drm/drm_debugfs.c               |   7 +
 drivers/gpu/drm/drm_drv.c                   |   8 +
 drivers/gpu/drm/drm_dumb_buffers.c          |  33 ++-
 drivers/gpu/drm/drm_fb_cma_helper.c         | 380 +++---------------------
 drivers/gpu/drm/drm_fb_helper.c             | 330 ++++++++++++++++++++-
 drivers/gpu/drm/drm_file.c                  | 304 ++++++++++---------
 drivers/gpu/drm/drm_framebuffer.c           |  42 ++-
 drivers/gpu/drm/drm_internal.h              |   2 +
 drivers/gpu/drm/drm_ioctl.c                 |   4 +-
 drivers/gpu/drm/drm_probe_helper.c          |   3 +
 drivers/gpu/drm/pl111/pl111_drv.c           |   2 +
 drivers/gpu/drm/tinydrm/core/tinydrm-core.c |   3 +-
 drivers/gpu/drm/tinydrm/ili9225.c           |   1 -
 drivers/gpu/drm/tinydrm/mi0283qt.c          |   1 -
 drivers/gpu/drm/tinydrm/st7586.c            |   1 -
 drivers/gpu/drm/tinydrm/st7735r.c           |   1 -
 include/drm/drm_client.h                    | 156 ++++++++++
 include/drm/drm_device.h                    |  21 ++
 include/drm/drm_fb_cma_helper.h             |   6 -
 include/drm/drm_fb_helper.h                 |  38 +++
 25 files changed, 1298 insertions(+), 514 deletions(-)
 create mode 100644 Documentation/gpu/drm-client.rst
 create mode 100644 drivers/gpu/drm/drm_client.c
 create mode 100644 include/drm/drm_client.h

-- 
2.15.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 39+ messages in thread
* [RFC v4 00/25] drm: Add generic fbdev emulation
@ 2018-04-14 11:52 Noralf Trønnes
  2018-04-14 15:46 ` ✓ Fi.CI.BAT: success for " Patchwork
  0 siblings, 1 reply; 39+ messages in thread
From: Noralf Trønnes @ 2018-04-14 11:52 UTC (permalink / raw)
  To: dri-devel; +Cc: intel-gfx, Noralf Trønnes

This patchset explores the possibility of having generic fbdev emulation
in DRM for drivers that supports dumb buffers which they can export. An
API is added to support in-kernel clients in general.

In this version I was able to reuse the modesetting code from
drm_fb_helper in the client API. This avoids code duplication, carries
over lessons learned and the modesetting code is bisectable. The
downside is that it takes +10 patches to rip drm_fb_helper in two, so
maybe it's not worth it wrt possible breakage and a challenging review.

Does the Intel CI test the fbdev emulation?

Daniel had this concern with the previous version:

    The register/unregister model needs more thought. Allowing both clients
    to register whenever they want to, and drm_device instances to come and
    go is what fbcon has done, and the resulting locking is a horror show.

    I think if we require that all in-kernel drm_clients are registers when
    loading drm.ko (and enabled/disabled only per module options and
    Kconfig), then we can throw out all the locking. That avoids a lot of
    the headaches.

I have solved this by adding a notifier that fires when a new DRM device
is registered (I've removed the new() callback). Currently only
bootsplash uses this. The fbdev client needs to be setup from the driver
since it can't know on device registration if the driver will setup it's
own fbdev emulation later and the vtcon client hooks up to a user
provided device id.

Since fbcon can't handle fb_open failing, the buffer has to be
pre-allocated. Exporting a GEM buffer pins the driver module making it
impossible to unload it.
I have included 2 solutions to the problem:
- sysfs file to remove/close clients: remove_internal_clients
- Change drm_gem_prime_export() so it doesn't pin on client buffers

If a dumb buffer is exported from a kernel thread (worker) context, the
file descriptor isn't closed and I leak a reference so the buffer isn't
freed. Please look at drm_client_buffer_create() in patch
'drm/client: Finish the in-kernel client API'.
This is a blocker that needs a solution.


Noralf.

Changes since version 3:
Client API changes:
- Drop drm_client_register_funcs() which attached clients indirectly.
  Let clients attach directly using drm_client_new{_from_id}(). Clients
  that wants to attach to all devices must be linked into drm.ko and use
  the DRM device notifier. This is done to avoid the lock/race
  register/unregister hell we have with fbcon. (Daniel Vetter)
- drm_client_display_restore() checks if there is a master and if so
  returns -EBUSY. (Daniel Vetter)
- Allocate drm_file up front instead of on-demand. Since fbdev can't do
  on demand buffer allocation because of fbcon, there's no need for this.
- Add sysfs file to remove clients
- Don't pin driver module when exporting gem client buffers
- Dropped page flip support since drm_fb_helper is now used for fbdev
  emulation.

- The bootsplash client now switches over to fbdev on keypress.

Changes since version 2:
- Don't set drm master for in-kernel clients. (Daniel Vetter)
- Add in-kernel client API

Changes since version 1:
- Don't add drm_fb_helper_fb_open() and drm_fb_helper_fb_release() to
  DRM_FB_HELPER_DEFAULT_OPS(). (Fi.CI.STATIC)
  The following uses that macro and sets fb_open/close: udlfb_ops,
  amdgpufb_ops, drm_fb_helper_generic_fbdev_ops, nouveau_fbcon_ops,
  nouveau_fbcon_sw_ops, radeonfb_ops.
  This results in: warning: Initializer entry defined twice
- Support CONFIG_DRM_KMS_HELPER=m (kbuild test robot)
  ERROR: <function> [drivers/gpu/drm/drm_kms_helper.ko] undefined!
- Drop buggy patch: (Chris Wilson)
  drm/prime: Clear drm_gem_object->dma_buf on release
- Defer buffer creation until fb_open.


David Herrmann (1):
  drm: provide management functions for drm_file

Noralf Trønnes (24):
  drm/file: Don't set master on in-kernel clients
  drm/fb-helper: No need to cache rotation and sw_rotations
  drm/fb-helper: Remove drm_fb_helper_debug_enter/leave()
  drm/fb-helper: dpms_legacy(): Only set on connectors in use
  drm/atomic: Move __drm_atomic_helper_disable_plane/set_config()
  drm: Begin an API for in-kernel clients
  drm/fb-helper: Use struct drm_client_display
  drm/fb-helper: Move modeset commit code to drm_client
  drm/connector: Add
    drm_connector_has_preferred_mode/pick_cmdline_mode()
  drm/connector: Add connector array functions
  drm/i915: Add drm_driver->initial_client_display callback
  drm/fb-helper: Remove struct drm_fb_helper_crtc
  drm/fb-helper: Remove struct drm_fb_helper_connector
  drm/fb-helper: Move modeset config code to drm_client
  drm: Make ioctls available for in-kernel clients
  drm/client: Bail out if there's a DRM master
  drm/client: Make the display modes available to clients
  drm/client: Finish the in-kernel client API
  drm/prime: Don't pin module on export for in-kernel clients
  drm/fb-helper: Add drm_fb_helper_fb_open/release()
  drm/fb-helper: Add generic fbdev emulation
  drm: Add DRM device registered notifier
  drm/client: Hack: Add bootsplash
  drm/client: Hack: Add DRM VT console client

 drivers/gpu/drm/Kconfig                 |    2 +
 drivers/gpu/drm/Makefile                |    4 +-
 drivers/gpu/drm/client/Kconfig          |   14 +
 drivers/gpu/drm/client/Makefile         |    3 +
 drivers/gpu/drm/client/drm_bootsplash.c |  248 ++++++
 drivers/gpu/drm/client/drm_vtcon.c      |  785 +++++++++++++++++
 drivers/gpu/drm/client/internal.h       |   19 +
 drivers/gpu/drm/drm_atomic.c            |  168 ++++
 drivers/gpu/drm/drm_atomic_helper.c     |  168 +---
 drivers/gpu/drm/drm_auth.c              |   33 +
 drivers/gpu/drm/drm_client.c            | 1448 +++++++++++++++++++++++++++++++
 drivers/gpu/drm/drm_connector.c         |  199 +++++
 drivers/gpu/drm/drm_crtc_internal.h     |   18 +-
 drivers/gpu/drm/drm_debugfs.c           |    7 +
 drivers/gpu/drm/drm_drv.c               |   43 +
 drivers/gpu/drm/drm_dumb_buffers.c      |   33 +-
 drivers/gpu/drm/drm_fb_helper.c         | 1420 ++++++++----------------------
 drivers/gpu/drm/drm_file.c              |  304 ++++---
 drivers/gpu/drm/drm_framebuffer.c       |   50 +-
 drivers/gpu/drm/drm_internal.h          |    7 +
 drivers/gpu/drm/drm_ioc32.c             |    2 +-
 drivers/gpu/drm/drm_ioctl.c             |    4 +-
 drivers/gpu/drm/drm_prime.c             |   37 +-
 drivers/gpu/drm/drm_probe_helper.c      |    3 +
 drivers/gpu/drm/drm_sysfs.c             |   20 +
 drivers/gpu/drm/i915/i915_drv.c         |    1 +
 drivers/gpu/drm/i915/intel_drv.h        |   11 +
 drivers/gpu/drm/i915/intel_fbdev.c      |  112 +--
 include/drm/drm_atomic.h                |    5 +
 include/drm/drm_atomic_helper.h         |    4 -
 include/drm/drm_client.h                |  182 ++++
 include/drm/drm_connector.h             |   11 +
 include/drm/drm_device.h                |    4 +
 include/drm/drm_drv.h                   |   25 +
 include/drm/drm_fb_helper.h             |  126 ++-
 35 files changed, 4007 insertions(+), 1513 deletions(-)
 create mode 100644 drivers/gpu/drm/client/Kconfig
 create mode 100644 drivers/gpu/drm/client/Makefile
 create mode 100644 drivers/gpu/drm/client/drm_bootsplash.c
 create mode 100644 drivers/gpu/drm/client/drm_vtcon.c
 create mode 100644 drivers/gpu/drm/client/internal.h
 create mode 100644 drivers/gpu/drm/drm_client.c
 create mode 100644 include/drm/drm_client.h

--
2.15.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 39+ messages in thread

end of thread, other threads:[~2019-01-07 10:14 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-23 14:34 [PATCH 0/9] drm: Add generic fbdev emulation Noralf Trønnes
2018-05-23 14:34 ` [PATCH 1/9] drm: provide management functions for drm_file Noralf Trønnes
2018-05-23 14:34 ` [PATCH 2/9] drm/file: Don't set master on in-kernel clients Noralf Trønnes
2018-05-23 14:34 ` [PATCH 3/9] drm: Make ioctls available for " Noralf Trønnes
2018-05-24  8:22   ` Daniel Vetter
2018-05-23 14:34 ` [PATCH 4/9] drm: Begin an API " Noralf Trønnes
2018-05-23 21:45   ` Thomas Hellstrom
2018-05-24  8:32     ` Daniel Vetter
2018-05-24  9:25       ` Thomas Hellstrom
2018-05-24 10:14         ` Daniel Vetter
2018-05-24 16:51           ` Thomas Hellstrom
2018-05-24  8:42   ` Daniel Vetter
2018-05-28 13:26     ` Noralf Trønnes
2018-05-29  7:53       ` Daniel Vetter
2018-05-23 14:34 ` [PATCH 5/9] drm/fb-helper: Add generic fbdev emulation .fb_probe function Noralf Trønnes
2018-05-24  9:16   ` Daniel Vetter
2018-05-24 10:16     ` Daniel Vetter
2018-05-25 12:42     ` Noralf Trønnes
2018-05-29  7:54       ` Daniel Vetter
2018-12-28 20:38         ` Daniel Vetter
2019-01-03 17:06           ` Noralf Trønnes
2019-01-07 10:14             ` Daniel Vetter
2018-05-23 14:34 ` [PATCH 6/9] drm/pl111: Set .gem_prime_vmap and .gem_prime_mmap Noralf Trønnes
2018-05-30 19:04   ` Eric Anholt
2018-05-23 14:34 ` [PATCH 7/9] drm/cma-helper: Use the generic fbdev emulation Noralf Trønnes
2018-05-24 10:16   ` Daniel Vetter
2018-05-23 14:34 ` [PATCH 8/9] drm/client: Add client callbacks Noralf Trønnes
2018-05-24  9:52   ` Daniel Vetter
2018-05-23 14:34 ` [PATCH 9/9] drm/fb-helper: Finish the generic fbdev emulation Noralf Trønnes
2018-05-24  9:57   ` Daniel Vetter
2018-05-23 15:20 ` ✗ Fi.CI.CHECKPATCH: warning for drm: Add " Patchwork
2018-05-23 15:38 ` ✓ Fi.CI.BAT: success " Patchwork
2018-05-23 17:31 ` ✗ Fi.CI.IGT: failure " Patchwork
2018-05-24 10:17 ` [PATCH 0/9] " Daniel Vetter
  -- strict thread matches above, loose matches on Subject: below --
2018-07-03 16:03 [PATCH v5 0/8] " Noralf Trønnes
2018-07-03 16:32 ` ✓ Fi.CI.BAT: success for " Patchwork
2018-07-02 13:54 [PATCH v4 0/9] " Noralf Trønnes
2018-07-02 14:28 ` ✓ Fi.CI.BAT: success for " Patchwork
2018-06-27 13:08 [PATCH v3 0/9] " Noralf Trønnes
2018-06-27 17:05 ` ✓ Fi.CI.BAT: success for " Patchwork
2018-06-18 14:17 [PATCH v2 00/12] " Noralf Trønnes
2018-06-18 15:20 ` ✓ Fi.CI.BAT: success for " Patchwork
2018-04-14 11:52 [RFC v4 00/25] " Noralf Trønnes
2018-04-14 15:46 ` ✓ Fi.CI.BAT: success for " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.