diff options
author | Dave Airlie <airlied@redhat.com> | 2019-04-23 20:12:34 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2019-04-23 20:12:50 -0400 |
commit | 8d8f6f704495b1135ef77b7860d833fda97ea841 (patch) | |
tree | 459c4abf0d5e908f8107caa0a9e174d274e62bb3 /include/drm | |
parent | b1c4f7feada5a5cf4e13db1631fb4784b1ddcb31 (diff) | |
parent | debcd8f954be2b1f643e76b2400bc7c3d12b4594 (diff) |
Merge tag 'drm-misc-next-2019-04-18' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
drm-misc-next for v5.2:
UAPI Changes:
- Document which feature flags belong to which command in virtio_gpu.h
- Make the FB_DAMAGE_CLIPS available for atomic userspace only, it's useless for legacy.
Cross-subsystem Changes:
- Add device tree bindings for lg,acx467akm-7 panel and ST-Ericsson Multi Channel Display Engine MCDE
- Add parameters to the device tree bindings for tfp410
- iommu/io-pgtable: Add ARM Mali midgard MMU page table format
- dma-buf: Only do a 64-bits seqno compare when driver explicitly asks for it, else wraparound.
- Use the 64-bits compare for dma-fence-chains
Core Changes:
- Make the fb conversion functions use __iomem dst.
- Rename drm_client_add to drm_client_register
- Move intel_fb_initial_config to core.
- Add a drm_gem_objects_lookup helper
- Add drm_gem_fence_array helpers, and use it in lima.
- Add drm_format_helper.c to kerneldoc.
Driver Changes:
- Add panfrost driver for mali midgard/bitfrost.
- Converts bochs to use the simple display type.
- Small fixes to sun4i, tinydrm, ti-fp410.
- Fid aspeed's Kconfig options.
- Make some symbols/functions static in lima, sun4i and meson.
- Add a driver for the lg,acx467akm-7 panel.
Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/737ad994-213d-45b5-207a-b99d795acd21@linux.intel.com
Diffstat (limited to 'include/drm')
-rw-r--r-- | include/drm/drm_client.h | 2 | ||||
-rw-r--r-- | include/drm/drm_fb_helper.h | 23 | ||||
-rw-r--r-- | include/drm/drm_format_helper.h | 11 | ||||
-rw-r--r-- | include/drm/drm_gem.h | 7 |
4 files changed, 14 insertions, 29 deletions
diff --git a/include/drm/drm_client.h b/include/drm/drm_client.h index 8b552b1a6ce9..268b2cf0052a 100644 --- a/include/drm/drm_client.h +++ b/include/drm/drm_client.h | |||
@@ -90,7 +90,7 @@ struct drm_client_dev { | |||
90 | int drm_client_init(struct drm_device *dev, struct drm_client_dev *client, | 90 | int drm_client_init(struct drm_device *dev, struct drm_client_dev *client, |
91 | const char *name, const struct drm_client_funcs *funcs); | 91 | const char *name, const struct drm_client_funcs *funcs); |
92 | void drm_client_release(struct drm_client_dev *client); | 92 | void drm_client_release(struct drm_client_dev *client); |
93 | void drm_client_add(struct drm_client_dev *client); | 93 | void drm_client_register(struct drm_client_dev *client); |
94 | 94 | ||
95 | void drm_client_dev_unregister(struct drm_device *dev); | 95 | void drm_client_dev_unregister(struct drm_device *dev); |
96 | void drm_client_dev_hotplug(struct drm_device *dev); | 96 | void drm_client_dev_hotplug(struct drm_device *dev); |
diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h index 17857e458ac3..40af2866c26a 100644 --- a/include/drm/drm_fb_helper.h +++ b/include/drm/drm_fb_helper.h | |||
@@ -102,29 +102,6 @@ struct drm_fb_helper_funcs { | |||
102 | */ | 102 | */ |
103 | int (*fb_probe)(struct drm_fb_helper *helper, | 103 | int (*fb_probe)(struct drm_fb_helper *helper, |
104 | struct drm_fb_helper_surface_size *sizes); | 104 | struct drm_fb_helper_surface_size *sizes); |
105 | |||
106 | /** | ||
107 | * @initial_config: | ||
108 | * | ||
109 | * Driver callback to setup an initial fbdev display configuration. | ||
110 | * Drivers can use this callback to tell the fbdev emulation what the | ||
111 | * preferred initial configuration is. This is useful to implement | ||
112 | * smooth booting where the fbdev (and subsequently all userspace) never | ||
113 | * changes the mode, but always inherits the existing configuration. | ||
114 | * | ||
115 | * This callback is optional. | ||
116 | * | ||
117 | * RETURNS: | ||
118 | * | ||
119 | * The driver should return true if a suitable initial configuration has | ||
120 | * been filled out and false when the fbdev helper should fall back to | ||
121 | * the default probing logic. | ||
122 | */ | ||
123 | bool (*initial_config)(struct drm_fb_helper *fb_helper, | ||
124 | struct drm_fb_helper_crtc **crtcs, | ||
125 | struct drm_display_mode **modes, | ||
126 | struct drm_fb_offset *offsets, | ||
127 | bool *enabled, int width, int height); | ||
128 | }; | 105 | }; |
129 | 106 | ||
130 | struct drm_fb_helper_connector { | 107 | struct drm_fb_helper_connector { |
diff --git a/include/drm/drm_format_helper.h b/include/drm/drm_format_helper.h index 6f84380757ee..085d63faee12 100644 --- a/include/drm/drm_format_helper.h +++ b/include/drm/drm_format_helper.h | |||
@@ -15,17 +15,18 @@ struct drm_rect; | |||
15 | 15 | ||
16 | void drm_fb_memcpy(void *dst, void *vaddr, struct drm_framebuffer *fb, | 16 | void drm_fb_memcpy(void *dst, void *vaddr, struct drm_framebuffer *fb, |
17 | struct drm_rect *clip); | 17 | struct drm_rect *clip); |
18 | void drm_fb_memcpy_dstclip(void *dst, void *vaddr, struct drm_framebuffer *fb, | 18 | void drm_fb_memcpy_dstclip(void __iomem *dst, void *vaddr, |
19 | struct drm_framebuffer *fb, | ||
19 | struct drm_rect *clip); | 20 | struct drm_rect *clip); |
20 | void drm_fb_swab16(u16 *dst, void *vaddr, struct drm_framebuffer *fb, | 21 | void drm_fb_swab16(u16 *dst, void *vaddr, struct drm_framebuffer *fb, |
21 | struct drm_rect *clip); | 22 | struct drm_rect *clip); |
22 | void drm_fb_xrgb8888_to_rgb565(void *dst, void *vaddr, | 23 | void drm_fb_xrgb8888_to_rgb565(void *dst, void *vaddr, |
23 | struct drm_framebuffer *fb, | 24 | struct drm_framebuffer *fb, |
24 | struct drm_rect *clip, bool swap); | 25 | struct drm_rect *clip, bool swab); |
25 | void drm_fb_xrgb8888_to_rgb565_dstclip(void *dst, unsigned int dst_pitch, | 26 | void drm_fb_xrgb8888_to_rgb565_dstclip(void __iomem *dst, unsigned int dst_pitch, |
26 | void *vaddr, struct drm_framebuffer *fb, | 27 | void *vaddr, struct drm_framebuffer *fb, |
27 | struct drm_rect *clip, bool swap); | 28 | struct drm_rect *clip, bool swab); |
28 | void drm_fb_xrgb8888_to_rgb888_dstclip(void *dst, unsigned int dst_pitch, | 29 | void drm_fb_xrgb8888_to_rgb888_dstclip(void __iomem *dst, unsigned int dst_pitch, |
29 | void *vaddr, struct drm_framebuffer *fb, | 30 | void *vaddr, struct drm_framebuffer *fb, |
30 | struct drm_rect *clip); | 31 | struct drm_rect *clip); |
31 | void drm_fb_xrgb8888_to_gray8(u8 *dst, void *vaddr, struct drm_framebuffer *fb, | 32 | void drm_fb_xrgb8888_to_gray8(u8 *dst, void *vaddr, struct drm_framebuffer *fb, |
diff --git a/include/drm/drm_gem.h b/include/drm/drm_gem.h index 2955aaab3dca..5047c7ee25f5 100644 --- a/include/drm/drm_gem.h +++ b/include/drm/drm_gem.h | |||
@@ -381,6 +381,8 @@ struct page **drm_gem_get_pages(struct drm_gem_object *obj); | |||
381 | void drm_gem_put_pages(struct drm_gem_object *obj, struct page **pages, | 381 | void drm_gem_put_pages(struct drm_gem_object *obj, struct page **pages, |
382 | bool dirty, bool accessed); | 382 | bool dirty, bool accessed); |
383 | 383 | ||
384 | int drm_gem_objects_lookup(struct drm_file *filp, void __user *bo_handles, | ||
385 | int count, struct drm_gem_object ***objs_out); | ||
384 | struct drm_gem_object *drm_gem_object_lookup(struct drm_file *filp, u32 handle); | 386 | struct drm_gem_object *drm_gem_object_lookup(struct drm_file *filp, u32 handle); |
385 | long drm_gem_reservation_object_wait(struct drm_file *filep, u32 handle, | 387 | long drm_gem_reservation_object_wait(struct drm_file *filep, u32 handle, |
386 | bool wait_all, unsigned long timeout); | 388 | bool wait_all, unsigned long timeout); |
@@ -388,6 +390,11 @@ int drm_gem_lock_reservations(struct drm_gem_object **objs, int count, | |||
388 | struct ww_acquire_ctx *acquire_ctx); | 390 | struct ww_acquire_ctx *acquire_ctx); |
389 | void drm_gem_unlock_reservations(struct drm_gem_object **objs, int count, | 391 | void drm_gem_unlock_reservations(struct drm_gem_object **objs, int count, |
390 | struct ww_acquire_ctx *acquire_ctx); | 392 | struct ww_acquire_ctx *acquire_ctx); |
393 | int drm_gem_fence_array_add(struct xarray *fence_array, | ||
394 | struct dma_fence *fence); | ||
395 | int drm_gem_fence_array_add_implicit(struct xarray *fence_array, | ||
396 | struct drm_gem_object *obj, | ||
397 | bool write); | ||
391 | int drm_gem_dumb_map_offset(struct drm_file *file, struct drm_device *dev, | 398 | int drm_gem_dumb_map_offset(struct drm_file *file, struct drm_device *dev, |
392 | u32 handle, u64 *offset); | 399 | u32 handle, u64 *offset); |
393 | int drm_gem_dumb_destroy(struct drm_file *file, | 400 | int drm_gem_dumb_destroy(struct drm_file *file, |