diff options
author | Dave Airlie <airlied@redhat.com> | 2016-10-12 06:07:38 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2016-10-12 06:07:38 +1000 |
commit | 69405d3da98b48633b78a49403e4f9cdb7c6a0f5 (patch) | |
tree | d2826882487ef3add220661cacad6885a3a3d7c3 /include | |
parent | 28da9ed6574d43e78b89d9a6990cf65047b9deae (diff) | |
parent | a5bd451b6e6ece69be07a425381c4f3438eadba0 (diff) |
Merge tag 'topic/drm-misc-2016-10-11' of git://anongit.freedesktop.org/drm-intel into drm-next
Just flushing out my -misc queue. Slightly important are the prime
refcount/unload fixes from Chris.
There's also the reservation stuff from Chris still pending, and Sumits
hasn't landed that yet. Might get another pull for that, but pls don't
hold up the main pull for it ;-)
* tag 'topic/drm-misc-2016-10-11' of git://anongit.freedesktop.org/drm-intel:
drm/crtc: constify drm_crtc_index parameter
drm: use the right function name in documentation
drm: Release resources with a safer function
drm: Fix up kerneldoc for new drm_gem_dmabuf_export()
drm/bridge: Drop drm_connector_unregister and call drm_connector_cleanup directly
drm/fb-helper: fix sphinx markup for DRM_FB_HELPER_DEFAULT_OPS
drm/bridge: Add RGB to VGA bridge support
drm/prime: Take a ref on the drm_dev when exporting a dma_buf
drm/prime: Pass the right module owner through to dma_buf_export()
drm/bridge: Call drm_connector_cleanup directly
drm: simple_kms_helper: Add prepare_fb and cleanup_fb hooks
drm: Release resources with a safer function
Diffstat (limited to 'include')
-rw-r--r-- | include/drm/drmP.h | 7 | ||||
-rw-r--r-- | include/drm/drm_connector.h | 4 | ||||
-rw-r--r-- | include/drm/drm_crtc.h | 2 | ||||
-rw-r--r-- | include/drm/drm_fb_helper.h | 2 | ||||
-rw-r--r-- | include/drm/drm_simple_kms_helper.h | 20 |
5 files changed, 30 insertions, 5 deletions
diff --git a/include/drm/drmP.h b/include/drm/drmP.h index 0e99669159c1..672644031bd5 100644 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h @@ -1011,8 +1011,11 @@ static inline int drm_debugfs_remove_files(const struct drm_info_list *files, } #endif +struct dma_buf_export_info; + extern struct dma_buf *drm_gem_prime_export(struct drm_device *dev, - struct drm_gem_object *obj, int flags); + struct drm_gem_object *obj, + int flags); extern int drm_gem_prime_handle_to_fd(struct drm_device *dev, struct drm_file *file_priv, uint32_t handle, uint32_t flags, int *prime_fd); @@ -1020,6 +1023,8 @@ extern struct drm_gem_object *drm_gem_prime_import(struct drm_device *dev, struct dma_buf *dma_buf); extern int drm_gem_prime_fd_to_handle(struct drm_device *dev, struct drm_file *file_priv, int prime_fd, uint32_t *handle); +struct dma_buf *drm_gem_dmabuf_export(struct drm_device *dev, + struct dma_buf_export_info *exp_info); extern void drm_gem_dmabuf_release(struct dma_buf *dma_buf); extern int drm_prime_sg_to_page_addr_arrays(struct sg_table *sgt, struct page **pages, diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h index 287a610f464e..ac9d7d8e0e43 100644 --- a/include/drm/drm_connector.h +++ b/include/drm/drm_connector.h @@ -356,7 +356,7 @@ struct drm_connector_funcs { * * This optional hook should be used to unregister the additional * userspace interfaces attached to the connector from - * late_unregister(). It is called from drm_connector_unregister(), + * late_register(). It is called from drm_connector_unregister(), * early in the driver unload sequence to disable userspace access * before data structures are torndown. */ @@ -376,7 +376,7 @@ struct drm_connector_funcs { * @atomic_duplicate_state: * * Duplicate the current atomic state for this connector and return it. - * The core and helpers gurantee that any atomic state duplicated with + * The core and helpers guarantee that any atomic state duplicated with * this hook and still owned by the caller (i.e. not transferred to the * driver by calling ->atomic_commit() from struct * &drm_mode_config_funcs) will be cleaned up by calling the diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index 61932f55f788..0aa292526567 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -1342,7 +1342,7 @@ extern void drm_crtc_cleanup(struct drm_crtc *crtc); * Given a registered CRTC, return the index of that CRTC within a DRM * device's list of CRTCs. */ -static inline unsigned int drm_crtc_index(struct drm_crtc *crtc) +static inline unsigned int drm_crtc_index(const struct drm_crtc *crtc) { return crtc->index; } diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h index 3c5f5992b96a..ed8edfef75b2 100644 --- a/include/drm/drm_fb_helper.h +++ b/include/drm/drm_fb_helper.h @@ -218,7 +218,7 @@ struct drm_fb_helper { }; /** - * @DRM_FB_HELPER_DEFAULT_OPS: + * define DRM_FB_HELPER_DEFAULT_OPS - helper define for drm drivers * * Helper define to register default implementations of drm_fb_helper * functions. To be used in struct fb_ops of drm drivers. diff --git a/include/drm/drm_simple_kms_helper.h b/include/drm/drm_simple_kms_helper.h index 5d112f75e04c..01a8436ccb0a 100644 --- a/include/drm/drm_simple_kms_helper.h +++ b/include/drm/drm_simple_kms_helper.h @@ -69,6 +69,26 @@ struct drm_simple_display_pipe_funcs { */ void (*update)(struct drm_simple_display_pipe *pipe, struct drm_plane_state *plane_state); + + /** + * @prepare_fb: + * + * Optional, called by struct &drm_plane_helper_funcs ->prepare_fb . + * Please read the documentation for the ->prepare_fb hook in + * struct &drm_plane_helper_funcs for more details. + */ + int (*prepare_fb)(struct drm_simple_display_pipe *pipe, + struct drm_plane_state *plane_state); + + /** + * @cleanup_fb: + * + * Optional, called by struct &drm_plane_helper_funcs ->cleanup_fb . + * Please read the documentation for the ->cleanup_fb hook in + * struct &drm_plane_helper_funcs for more details. + */ + void (*cleanup_fb)(struct drm_simple_display_pipe *pipe, + struct drm_plane_state *plane_state); }; /** |