Commit 421242aa authored by Daniel Vetter's avatar Daniel Vetter

drm/cma-helpers: Use recommened kerneldoc for struct member refs

I just learned that &struct_name.member_name works and looks pretty
even. It doesn't (yet) link to the member directly though, which would
be really good for big structures or vfunc tables (where the
per-member kerneldoc tends to be long).

Also some minor drive-by polish where it makes sense, I read a lot
of docs ...

v2: Review from Laurent:
- Move misplaced doc change to the right patch.
- Remove "DRM driver's", it's redundant.
- Spotted 3 more places where where we could add prose reference with
  a real one.

Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1483044517-5770-14-git-send-email-daniel.vetter@ffwll.ch
parent b112481b
...@@ -48,14 +48,14 @@ struct drm_fbdev_cma { ...@@ -48,14 +48,14 @@ struct drm_fbdev_cma {
* Provides helper functions for creating a cma (contiguous memory allocator) * Provides helper functions for creating a cma (contiguous memory allocator)
* backed framebuffer. * backed framebuffer.
* *
* drm_fb_cma_create() is used in the &drm_mode_config_funcs ->fb_create * drm_fb_cma_create() is used in the &drm_mode_config_funcs.fb_create
* callback function to create a cma backed framebuffer. * callback function to create a cma backed framebuffer.
* *
* An fbdev framebuffer backed by cma is also available by calling * An fbdev framebuffer backed by cma is also available by calling
* drm_fbdev_cma_init(). drm_fbdev_cma_fini() tears it down. * drm_fbdev_cma_init(). drm_fbdev_cma_fini() tears it down.
* If the &drm_framebuffer_funcs ->dirty callback is set, fb_deferred_io * If the &drm_framebuffer_funcs.dirty callback is set, fb_deferred_io will be
* will be set up automatically. dirty() is called by * set up automatically. &drm_framebuffer_funcs.dirty is called by
* drm_fb_helper_deferred_io() in process context (struct delayed_work). * drm_fb_helper_deferred_io() in process context (&struct delayed_work).
* *
* Example fbdev deferred io code:: * Example fbdev deferred io code::
* *
...@@ -155,16 +155,16 @@ static struct drm_fb_cma *drm_fb_cma_alloc(struct drm_device *dev, ...@@ -155,16 +155,16 @@ static struct drm_fb_cma *drm_fb_cma_alloc(struct drm_device *dev,
/** /**
* drm_fb_cma_create_with_funcs() - helper function for the * drm_fb_cma_create_with_funcs() - helper function for the
* &drm_mode_config_funcs ->fb_create * &drm_mode_config_funcs.fb_create
* callback function * callback
* @dev: DRM device * @dev: DRM device
* @file_priv: drm file for the ioctl call * @file_priv: drm file for the ioctl call
* @mode_cmd: metadata from the userspace fb creation request * @mode_cmd: metadata from the userspace fb creation request
* @funcs: vtable to be used for the new framebuffer object * @funcs: vtable to be used for the new framebuffer object
* *
* This can be used to set &drm_framebuffer_funcs for drivers that need the * This can be used to set &drm_framebuffer_funcs for drivers that need the
* dirty() callback. Use drm_fb_cma_create() if you don't need to change * &drm_framebuffer_funcs.dirty callback. Use drm_fb_cma_create() if you don't
* &drm_framebuffer_funcs. * need to change &drm_framebuffer_funcs.
*/ */
struct drm_framebuffer *drm_fb_cma_create_with_funcs(struct drm_device *dev, struct drm_framebuffer *drm_fb_cma_create_with_funcs(struct drm_device *dev,
struct drm_file *file_priv, const struct drm_mode_fb_cmd2 *mode_cmd, struct drm_file *file_priv, const struct drm_mode_fb_cmd2 *mode_cmd,
...@@ -221,14 +221,14 @@ struct drm_framebuffer *drm_fb_cma_create_with_funcs(struct drm_device *dev, ...@@ -221,14 +221,14 @@ struct drm_framebuffer *drm_fb_cma_create_with_funcs(struct drm_device *dev,
EXPORT_SYMBOL_GPL(drm_fb_cma_create_with_funcs); EXPORT_SYMBOL_GPL(drm_fb_cma_create_with_funcs);
/** /**
* drm_fb_cma_create() - &drm_mode_config_funcs ->fb_create callback function * drm_fb_cma_create() - &drm_mode_config_funcs.fb_create callback function
* @dev: DRM device * @dev: DRM device
* @file_priv: drm file for the ioctl call * @file_priv: drm file for the ioctl call
* @mode_cmd: metadata from the userspace fb creation request * @mode_cmd: metadata from the userspace fb creation request
* *
* If your hardware has special alignment or pitch requirements these should be * If your hardware has special alignment or pitch requirements these should be
* checked before calling this function. Use drm_fb_cma_create_with_funcs() if * checked before calling this function. Use drm_fb_cma_create_with_funcs() if
* you need to set &drm_framebuffer_funcs ->dirty. * you need to set &drm_framebuffer_funcs.dirty.
*/ */
struct drm_framebuffer *drm_fb_cma_create(struct drm_device *dev, struct drm_framebuffer *drm_fb_cma_create(struct drm_device *dev,
struct drm_file *file_priv, const struct drm_mode_fb_cmd2 *mode_cmd) struct drm_file *file_priv, const struct drm_mode_fb_cmd2 *mode_cmd)
...@@ -264,7 +264,7 @@ EXPORT_SYMBOL_GPL(drm_fb_cma_get_gem_obj); ...@@ -264,7 +264,7 @@ EXPORT_SYMBOL_GPL(drm_fb_cma_get_gem_obj);
* @plane: Which plane * @plane: Which plane
* @state: Plane state attach fence to * @state: Plane state attach fence to
* *
* This should be put into prepare_fb hook of &struct drm_plane_helper_funcs . * This should be set as the &struct drm_plane_helper_funcs.prepare_fb hook.
* *
* This function checks if the plane FB has an dma-buf attached, extracts * This function checks if the plane FB has an dma-buf attached, extracts
* the exclusive fence and attaches it to plane state for the atomic helper * the exclusive fence and attaches it to plane state for the atomic helper
...@@ -588,7 +588,7 @@ EXPORT_SYMBOL_GPL(drm_fbdev_cma_fini); ...@@ -588,7 +588,7 @@ EXPORT_SYMBOL_GPL(drm_fbdev_cma_fini);
* drm_fbdev_cma_restore_mode() - Restores initial framebuffer mode * drm_fbdev_cma_restore_mode() - Restores initial framebuffer mode
* @fbdev_cma: The drm_fbdev_cma struct, may be NULL * @fbdev_cma: The drm_fbdev_cma struct, may be NULL
* *
* This function is usually called from the DRM drivers lastclose callback. * This function is usually called from the &drm_driver.lastclose callback.
*/ */
void drm_fbdev_cma_restore_mode(struct drm_fbdev_cma *fbdev_cma) void drm_fbdev_cma_restore_mode(struct drm_fbdev_cma *fbdev_cma)
{ {
...@@ -601,7 +601,7 @@ EXPORT_SYMBOL_GPL(drm_fbdev_cma_restore_mode); ...@@ -601,7 +601,7 @@ EXPORT_SYMBOL_GPL(drm_fbdev_cma_restore_mode);
* drm_fbdev_cma_hotplug_event() - Poll for hotpulug events * drm_fbdev_cma_hotplug_event() - Poll for hotpulug events
* @fbdev_cma: The drm_fbdev_cma struct, may be NULL * @fbdev_cma: The drm_fbdev_cma struct, may be NULL
* *
* This function is usually called from the DRM drivers output_poll_changed * This function is usually called from the &drm_mode_config.output_poll_changed
* callback. * callback.
*/ */
void drm_fbdev_cma_hotplug_event(struct drm_fbdev_cma *fbdev_cma) void drm_fbdev_cma_hotplug_event(struct drm_fbdev_cma *fbdev_cma)
......
...@@ -176,8 +176,8 @@ drm_gem_cma_create_with_handle(struct drm_file *file_priv, ...@@ -176,8 +176,8 @@ drm_gem_cma_create_with_handle(struct drm_file *file_priv,
* *
* This function frees the backing memory of the CMA GEM object, cleans up the * This function frees the backing memory of the CMA GEM object, cleans up the
* GEM object state and frees the memory used to store the object itself. * GEM object state and frees the memory used to store the object itself.
* Drivers using the CMA helpers should set this as their DRM driver's * Drivers using the CMA helpers should set this as their
* ->gem_free_object() callback. * &drm_driver.gem_free_object callback.
*/ */
void drm_gem_cma_free_object(struct drm_gem_object *gem_obj) void drm_gem_cma_free_object(struct drm_gem_object *gem_obj)
{ {
...@@ -207,7 +207,7 @@ EXPORT_SYMBOL_GPL(drm_gem_cma_free_object); ...@@ -207,7 +207,7 @@ EXPORT_SYMBOL_GPL(drm_gem_cma_free_object);
* This aligns the pitch and size arguments to the minimum required. This is * This aligns the pitch and size arguments to the minimum required. This is
* an internal helper that can be wrapped by a driver to account for hardware * an internal helper that can be wrapped by a driver to account for hardware
* with more specific alignment requirements. It should not be used directly * with more specific alignment requirements. It should not be used directly
* as the ->dumb_create() callback in a DRM driver. * as their &drm_driver.dumb_create callback.
* *
* Returns: * Returns:
* 0 on success or a negative error code on failure. * 0 on success or a negative error code on failure.
...@@ -240,7 +240,7 @@ EXPORT_SYMBOL_GPL(drm_gem_cma_dumb_create_internal); ...@@ -240,7 +240,7 @@ EXPORT_SYMBOL_GPL(drm_gem_cma_dumb_create_internal);
* This function computes the pitch of the dumb buffer and rounds it up to an * This function computes the pitch of the dumb buffer and rounds it up to an
* integer number of bytes per pixel. Drivers for hardware that doesn't have * integer number of bytes per pixel. Drivers for hardware that doesn't have
* any additional restrictions on the pitch can directly use this function as * any additional restrictions on the pitch can directly use this function as
* their ->dumb_create() callback. * their &drm_driver.dumb_create callback.
* *
* For hardware with additional restrictions, drivers can adjust the fields * For hardware with additional restrictions, drivers can adjust the fields
* set up by userspace and pass the IOCTL data along to the * set up by userspace and pass the IOCTL data along to the
...@@ -274,7 +274,7 @@ EXPORT_SYMBOL_GPL(drm_gem_cma_dumb_create); ...@@ -274,7 +274,7 @@ EXPORT_SYMBOL_GPL(drm_gem_cma_dumb_create);
* *
* This function look up an object by its handle and returns the fake mmap * This function look up an object by its handle and returns the fake mmap
* offset associated with it. Drivers using the CMA helpers should set this * offset associated with it. Drivers using the CMA helpers should set this
* as their DRM driver's ->dumb_map_offset() callback. * as their &drm_driver.dumb_map_offset callback.
* *
* Returns: * Returns:
* 0 on success or a negative error code on failure. * 0 on success or a negative error code on failure.
...@@ -391,7 +391,7 @@ EXPORT_SYMBOL_GPL(drm_gem_cma_describe); ...@@ -391,7 +391,7 @@ EXPORT_SYMBOL_GPL(drm_gem_cma_describe);
* *
* This function exports a scatter/gather table suitable for PRIME usage by * This function exports a scatter/gather table suitable for PRIME usage by
* calling the standard DMA mapping API. Drivers using the CMA helpers should * calling the standard DMA mapping API. Drivers using the CMA helpers should
* set this as their DRM driver's ->gem_prime_get_sg_table() callback. * set this as their &drm_driver.gem_prime_get_sg_table callback.
* *
* Returns: * Returns:
* A pointer to the scatter/gather table of pinned pages or NULL on failure. * A pointer to the scatter/gather table of pinned pages or NULL on failure.
...@@ -429,8 +429,8 @@ EXPORT_SYMBOL_GPL(drm_gem_cma_prime_get_sg_table); ...@@ -429,8 +429,8 @@ EXPORT_SYMBOL_GPL(drm_gem_cma_prime_get_sg_table);
* This function imports a scatter/gather table exported via DMA-BUF by * This function imports a scatter/gather table exported via DMA-BUF by
* another driver. Imported buffers must be physically contiguous in memory * another driver. Imported buffers must be physically contiguous in memory
* (i.e. the scatter/gather table must contain a single entry). Drivers that * (i.e. the scatter/gather table must contain a single entry). Drivers that
* use the CMA helpers should set this as their DRM driver's * use the CMA helpers should set this as their
* ->gem_prime_import_sg_table() callback. * &drm_driver.gem_prime_import_sg_table callback.
* *
* Returns: * Returns:
* A pointer to a newly created GEM object or an ERR_PTR-encoded negative * A pointer to a newly created GEM object or an ERR_PTR-encoded negative
...@@ -467,7 +467,7 @@ EXPORT_SYMBOL_GPL(drm_gem_cma_prime_import_sg_table); ...@@ -467,7 +467,7 @@ EXPORT_SYMBOL_GPL(drm_gem_cma_prime_import_sg_table);
* *
* This function maps a buffer imported via DRM PRIME into a userspace * This function maps a buffer imported via DRM PRIME into a userspace
* process's address space. Drivers that use the CMA helpers should set this * process's address space. Drivers that use the CMA helpers should set this
* as their DRM driver's ->gem_prime_mmap() callback. * as their &drm_driver.gem_prime_mmap callback.
* *
* Returns: * Returns:
* 0 on success or a negative error code on failure. * 0 on success or a negative error code on failure.
...@@ -496,7 +496,7 @@ EXPORT_SYMBOL_GPL(drm_gem_cma_prime_mmap); ...@@ -496,7 +496,7 @@ EXPORT_SYMBOL_GPL(drm_gem_cma_prime_mmap);
* virtual address space. Since the CMA buffers are already mapped into the * virtual address space. Since the CMA buffers are already mapped into the
* kernel virtual address space this simply returns the cached virtual * kernel virtual address space this simply returns the cached virtual
* address. Drivers using the CMA helpers should set this as their DRM * address. Drivers using the CMA helpers should set this as their DRM
* driver's ->gem_prime_vmap() callback. * driver's &drm_driver.gem_prime_vmap callback.
* *
* Returns: * Returns:
* The kernel virtual address of the CMA GEM object's backing store. * The kernel virtual address of the CMA GEM object's backing store.
...@@ -518,7 +518,7 @@ EXPORT_SYMBOL_GPL(drm_gem_cma_prime_vmap); ...@@ -518,7 +518,7 @@ EXPORT_SYMBOL_GPL(drm_gem_cma_prime_vmap);
* This function removes a buffer exported via DRM PRIME from the kernel's * This function removes a buffer exported via DRM PRIME from the kernel's
* virtual address space. This is a no-op because CMA buffers cannot be * virtual address space. This is a no-op because CMA buffers cannot be
* unmapped from kernel space. Drivers using the CMA helpers should set this * unmapped from kernel space. Drivers using the CMA helpers should set this
* as their DRM driver's ->gem_prime_vunmap() callback. * as their &drm_driver.gem_prime_vunmap callback.
*/ */
void drm_gem_cma_prime_vunmap(struct drm_gem_object *obj, void *vaddr) void drm_gem_cma_prime_vunmap(struct drm_gem_object *obj, void *vaddr)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment