drm/doc: use preferred struct reference in kernel-doc
sed -e 's/\( \* .*\)struct &\([_a-z]*\)/\1\&struct \2/' -i Originally I wasnt a friend of this style because I thought a line-break between the "&struct" and "foo" part would break it. But a quick test shows that " * &struct \n * foo\n" works pefectly well with current kernel-doc. So time to mass-apply these changes! Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: David Herrmann <dh.herrmann@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1483044517-5770-6-git-send-email-daniel.vetter@ffwll.ch
This commit is contained in:
parent
e9b4d7b56f
commit
ea0dd85a75
|
@ -1882,7 +1882,7 @@ EXPORT_SYMBOL(drm_atomic_clean_old_fb);
|
||||||
* As a contrast, with implicit fencing the kernel keeps track of any
|
* As a contrast, with implicit fencing the kernel keeps track of any
|
||||||
* ongoing rendering, and automatically ensures that the atomic update waits
|
* ongoing rendering, and automatically ensures that the atomic update waits
|
||||||
* for any pending rendering to complete. For shared buffers represented with
|
* for any pending rendering to complete. For shared buffers represented with
|
||||||
* a struct &dma_buf this is tracked in &reservation_object structures.
|
* a &struct dma_buf this is tracked in &reservation_object structures.
|
||||||
* Implicit syncing is how Linux traditionally worked (e.g. DRI2/3 on X.org),
|
* Implicit syncing is how Linux traditionally worked (e.g. DRI2/3 on X.org),
|
||||||
* whereas explicit fencing is what Android wants.
|
* whereas explicit fencing is what Android wants.
|
||||||
*
|
*
|
||||||
|
@ -1898,7 +1898,7 @@ EXPORT_SYMBOL(drm_atomic_clean_old_fb);
|
||||||
* it will only check if the Sync File is a valid one.
|
* it will only check if the Sync File is a valid one.
|
||||||
*
|
*
|
||||||
* On the driver side the fence is stored on the @fence parameter of
|
* On the driver side the fence is stored on the @fence parameter of
|
||||||
* struct &drm_plane_state. Drivers which also support implicit fencing
|
* &struct drm_plane_state. Drivers which also support implicit fencing
|
||||||
* should set the implicit fence using drm_atomic_set_fence_for_plane(),
|
* should set the implicit fence using drm_atomic_set_fence_for_plane(),
|
||||||
* to make sure there's consistent behaviour between drivers in precedence
|
* to make sure there's consistent behaviour between drivers in precedence
|
||||||
* of implicit vs. explicit fencing.
|
* of implicit vs. explicit fencing.
|
||||||
|
@ -1917,7 +1917,7 @@ EXPORT_SYMBOL(drm_atomic_clean_old_fb);
|
||||||
* DRM_MODE_ATOMIC_TEST_ONLY flag the out fence will also be set to -1.
|
* DRM_MODE_ATOMIC_TEST_ONLY flag the out fence will also be set to -1.
|
||||||
*
|
*
|
||||||
* Note that out-fences don't have a special interface to drivers and are
|
* Note that out-fences don't have a special interface to drivers and are
|
||||||
* internally represented by a struct &drm_pending_vblank_event in struct
|
* internally represented by a &struct drm_pending_vblank_event in struct
|
||||||
* &drm_crtc_state, which is also used by the nonblocking atomic commit
|
* &drm_crtc_state, which is also used by the nonblocking atomic commit
|
||||||
* helpers and for the DRM event handling for existing userspace.
|
* helpers and for the DRM event handling for existing userspace.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -56,9 +56,9 @@
|
||||||
* implement these functions themselves but must use the provided helpers.
|
* implement these functions themselves but must use the provided helpers.
|
||||||
*
|
*
|
||||||
* The atomic helper uses the same function table structures as all other
|
* The atomic helper uses the same function table structures as all other
|
||||||
* modesetting helpers. See the documentation for struct &drm_crtc_helper_funcs,
|
* modesetting helpers. See the documentation for &struct drm_crtc_helper_funcs,
|
||||||
* struct &drm_encoder_helper_funcs and struct &drm_connector_helper_funcs. It
|
* struct &drm_encoder_helper_funcs and &struct drm_connector_helper_funcs. It
|
||||||
* also shares the struct &drm_plane_helper_funcs function table with the plane
|
* also shares the &struct drm_plane_helper_funcs function table with the plane
|
||||||
* helpers.
|
* helpers.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
|
@ -1369,7 +1369,7 @@ static int stall_checks(struct drm_crtc *crtc, bool nonblock)
|
||||||
* actually committing the hardware state, and for nonblocking commits this call
|
* actually committing the hardware state, and for nonblocking commits this call
|
||||||
* must be placed in the async worker. See also drm_atomic_helper_swap_state()
|
* must be placed in the async worker. See also drm_atomic_helper_swap_state()
|
||||||
* and it's stall parameter, for when a driver's commit hooks look at the
|
* and it's stall parameter, for when a driver's commit hooks look at the
|
||||||
* ->state pointers of struct &drm_crtc, &drm_plane or &drm_connector directly.
|
* ->state pointers of &struct drm_crtc, &drm_plane or &drm_connector directly.
|
||||||
*
|
*
|
||||||
* Completion of the hardware commit step must be signalled using
|
* Completion of the hardware commit step must be signalled using
|
||||||
* drm_atomic_helper_commit_hw_done(). After this step the driver is not allowed
|
* drm_atomic_helper_commit_hw_done(). After this step the driver is not allowed
|
||||||
|
|
|
@ -35,8 +35,8 @@
|
||||||
/**
|
/**
|
||||||
* DOC: master and authentication
|
* DOC: master and authentication
|
||||||
*
|
*
|
||||||
* struct &drm_master is used to track groups of clients with open
|
* &struct drm_master is used to track groups of clients with open
|
||||||
* primary/legacy device nodes. For every struct &drm_file which has had at
|
* primary/legacy device nodes. For every &struct drm_file which has had at
|
||||||
* least once successfully became the device master (either through the
|
* least once successfully became the device master (either through the
|
||||||
* SET_MASTER IOCTL, or implicitly through opening the primary device node when
|
* SET_MASTER IOCTL, or implicitly through opening the primary device node when
|
||||||
* no one else is the current master that time) there exists one &drm_master.
|
* no one else is the current master that time) there exists one &drm_master.
|
||||||
|
@ -294,7 +294,7 @@ EXPORT_SYMBOL(drm_is_current_master);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* drm_master_get - reference a master pointer
|
* drm_master_get - reference a master pointer
|
||||||
* @master: struct &drm_master
|
* @master: &struct drm_master
|
||||||
*
|
*
|
||||||
* Increments the reference count of @master and returns a pointer to @master.
|
* Increments the reference count of @master and returns a pointer to @master.
|
||||||
*/
|
*/
|
||||||
|
@ -322,7 +322,7 @@ static void drm_master_destroy(struct kref *kref)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* drm_master_put - unreference and clear a master pointer
|
* drm_master_put - unreference and clear a master pointer
|
||||||
* @master: pointer to a pointer of struct &drm_master
|
* @master: pointer to a pointer of &struct drm_master
|
||||||
*
|
*
|
||||||
* This decrements the &drm_master behind @master and sets it to NULL.
|
* This decrements the &drm_master behind @master and sets it to NULL.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
/**
|
/**
|
||||||
* DOC: overview
|
* DOC: overview
|
||||||
*
|
*
|
||||||
* struct &drm_bridge represents a device that hangs on to an encoder. These are
|
* &struct drm_bridge represents a device that hangs on to an encoder. These are
|
||||||
* handy when a regular &drm_encoder entity isn't enough to represent the entire
|
* handy when a regular &drm_encoder entity isn't enough to represent the entire
|
||||||
* encoder chain.
|
* encoder chain.
|
||||||
*
|
*
|
||||||
|
@ -55,7 +55,7 @@
|
||||||
* just provide additional hooks to get the desired output at the end of the
|
* just provide additional hooks to get the desired output at the end of the
|
||||||
* encoder chain.
|
* encoder chain.
|
||||||
*
|
*
|
||||||
* Bridges can also be chained up using the next pointer in struct &drm_bridge.
|
* Bridges can also be chained up using the next pointer in &struct drm_bridge.
|
||||||
*
|
*
|
||||||
* Both legacy CRTC helpers and the new atomic modeset helpers support bridges.
|
* Both legacy CRTC helpers and the new atomic modeset helpers support bridges.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
* "DEGAMMA_LUT”:
|
* "DEGAMMA_LUT”:
|
||||||
* Blob property to set the degamma lookup table (LUT) mapping pixel data
|
* Blob property to set the degamma lookup table (LUT) mapping pixel data
|
||||||
* from the framebuffer before it is given to the transformation matrix.
|
* from the framebuffer before it is given to the transformation matrix.
|
||||||
* The data is interpreted as an array of struct &drm_color_lut elements.
|
* The data is interpreted as an array of &struct drm_color_lut elements.
|
||||||
* Hardware might choose not to use the full precision of the LUT elements
|
* Hardware might choose not to use the full precision of the LUT elements
|
||||||
* nor use all the elements of the LUT (for example the hardware might
|
* nor use all the elements of the LUT (for example the hardware might
|
||||||
* choose to interpolate between LUT[0] and LUT[4]).
|
* choose to interpolate between LUT[0] and LUT[4]).
|
||||||
|
@ -65,7 +65,7 @@
|
||||||
* “GAMMA_LUT”:
|
* “GAMMA_LUT”:
|
||||||
* Blob property to set the gamma lookup table (LUT) mapping pixel data
|
* Blob property to set the gamma lookup table (LUT) mapping pixel data
|
||||||
* after the transformation matrix to data sent to the connector. The
|
* after the transformation matrix to data sent to the connector. The
|
||||||
* data is interpreted as an array of struct &drm_color_lut elements.
|
* data is interpreted as an array of &struct drm_color_lut elements.
|
||||||
* Hardware might choose not to use the full precision of the LUT elements
|
* Hardware might choose not to use the full precision of the LUT elements
|
||||||
* nor use all the elements of the LUT (for example the hardware might
|
* nor use all the elements of the LUT (for example the hardware might
|
||||||
* choose to interpolate between LUT[0] and LUT[4]).
|
* choose to interpolate between LUT[0] and LUT[4]).
|
||||||
|
|
|
@ -49,7 +49,7 @@
|
||||||
* Connectors must be attached to an encoder to be used. For devices that map
|
* Connectors must be attached to an encoder to be used. For devices that map
|
||||||
* connectors to encoders 1:1, the connector should be attached at
|
* connectors to encoders 1:1, the connector should be attached at
|
||||||
* initialization time with a call to drm_mode_connector_attach_encoder(). The
|
* initialization time with a call to drm_mode_connector_attach_encoder(). The
|
||||||
* driver must also set the struct &drm_connector encoder field to point to the
|
* driver must also set the &struct drm_connector encoder field to point to the
|
||||||
* attached encoder.
|
* attached encoder.
|
||||||
*
|
*
|
||||||
* For connectors which are not fixed (like built-in panels) the driver needs to
|
* For connectors which are not fixed (like built-in panels) the driver needs to
|
||||||
|
|
|
@ -71,7 +71,7 @@
|
||||||
*
|
*
|
||||||
* These legacy modeset helpers use the same function table structures as
|
* These legacy modeset helpers use the same function table structures as
|
||||||
* all other modesetting helpers. See the documentation for struct
|
* all other modesetting helpers. See the documentation for struct
|
||||||
* &drm_crtc_helper_funcs, struct &drm_encoder_helper_funcs and struct
|
* &drm_crtc_helper_funcs, &struct drm_encoder_helper_funcs and struct
|
||||||
* &drm_connector_helper_funcs.
|
* &drm_connector_helper_funcs.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -478,10 +478,10 @@ drm_crtc_helper_disable(struct drm_crtc *crtc)
|
||||||
* @set: mode set configuration
|
* @set: mode set configuration
|
||||||
*
|
*
|
||||||
* The drm_crtc_helper_set_config() helper function implements the set_config
|
* The drm_crtc_helper_set_config() helper function implements the set_config
|
||||||
* callback of struct &drm_crtc_funcs for drivers using the legacy CRTC helpers.
|
* callback of &struct drm_crtc_funcs for drivers using the legacy CRTC helpers.
|
||||||
*
|
*
|
||||||
* It first tries to locate the best encoder for each connector by calling the
|
* It first tries to locate the best encoder for each connector by calling the
|
||||||
* connector ->best_encoder() (struct &drm_connector_helper_funcs) helper
|
* connector ->best_encoder() (&struct drm_connector_helper_funcs) helper
|
||||||
* operation.
|
* operation.
|
||||||
*
|
*
|
||||||
* After locating the appropriate encoders, the helper function will call the
|
* After locating the appropriate encoders, the helper function will call the
|
||||||
|
@ -493,7 +493,7 @@ drm_crtc_helper_disable(struct drm_crtc *crtc)
|
||||||
*
|
*
|
||||||
* If the adjusted mode is identical to the current mode but changes to the
|
* If the adjusted mode is identical to the current mode but changes to the
|
||||||
* frame buffer need to be applied, the drm_crtc_helper_set_config() function
|
* frame buffer need to be applied, the drm_crtc_helper_set_config() function
|
||||||
* will call the CRTC ->mode_set_base() (struct &drm_crtc_helper_funcs) helper
|
* will call the CRTC ->mode_set_base() (&struct drm_crtc_helper_funcs) helper
|
||||||
* operation.
|
* operation.
|
||||||
*
|
*
|
||||||
* If the adjusted mode differs from the current mode, or if the
|
* If the adjusted mode differs from the current mode, or if the
|
||||||
|
@ -501,7 +501,7 @@ drm_crtc_helper_disable(struct drm_crtc *crtc)
|
||||||
* performs a full mode set sequence by calling the ->prepare(), ->mode_set()
|
* performs a full mode set sequence by calling the ->prepare(), ->mode_set()
|
||||||
* and ->commit() CRTC and encoder helper operations, in that order.
|
* and ->commit() CRTC and encoder helper operations, in that order.
|
||||||
* Alternatively it can also use the dpms and disable helper operations. For
|
* Alternatively it can also use the dpms and disable helper operations. For
|
||||||
* details see struct &drm_crtc_helper_funcs and struct
|
* details see &struct drm_crtc_helper_funcs and struct
|
||||||
* &drm_encoder_helper_funcs.
|
* &drm_encoder_helper_funcs.
|
||||||
*
|
*
|
||||||
* This function is deprecated. New drivers must implement atomic modeset
|
* This function is deprecated. New drivers must implement atomic modeset
|
||||||
|
@ -852,12 +852,12 @@ static int drm_helper_choose_crtc_dpms(struct drm_crtc *crtc)
|
||||||
* @mode: DPMS mode
|
* @mode: DPMS mode
|
||||||
*
|
*
|
||||||
* The drm_helper_connector_dpms() helper function implements the ->dpms()
|
* The drm_helper_connector_dpms() helper function implements the ->dpms()
|
||||||
* callback of struct &drm_connector_funcs for drivers using the legacy CRTC helpers.
|
* callback of &struct drm_connector_funcs for drivers using the legacy CRTC helpers.
|
||||||
*
|
*
|
||||||
* This is the main helper function provided by the CRTC helper framework for
|
* This is the main helper function provided by the CRTC helper framework for
|
||||||
* implementing the DPMS connector attribute. It computes the new desired DPMS
|
* implementing the DPMS connector attribute. It computes the new desired DPMS
|
||||||
* state for all encoders and CRTCs in the output mesh and calls the ->dpms()
|
* state for all encoders and CRTCs in the output mesh and calls the ->dpms()
|
||||||
* callbacks provided by the driver in struct &drm_crtc_helper_funcs and struct
|
* callbacks provided by the driver in &struct drm_crtc_helper_funcs and struct
|
||||||
* &drm_encoder_helper_funcs appropriately.
|
* &drm_encoder_helper_funcs appropriately.
|
||||||
*
|
*
|
||||||
* This function is deprecated. New drivers must implement atomic modeset
|
* This function is deprecated. New drivers must implement atomic modeset
|
||||||
|
|
|
@ -298,7 +298,7 @@ void drm_minor_release(struct drm_minor *minor)
|
||||||
/**
|
/**
|
||||||
* DOC: driver instance overview
|
* DOC: driver instance overview
|
||||||
*
|
*
|
||||||
* A device instance for a drm driver is represented by struct &drm_device. This
|
* A device instance for a drm driver is represented by &struct drm_device. This
|
||||||
* is allocated with drm_dev_alloc(), usually from bus-specific ->probe()
|
* is allocated with drm_dev_alloc(), usually from bus-specific ->probe()
|
||||||
* callbacks implemented by the driver. The driver then needs to initialize all
|
* callbacks implemented by the driver. The driver then needs to initialize all
|
||||||
* the various subsystems for the drm device like memory management, vblank
|
* the various subsystems for the drm device like memory management, vblank
|
||||||
|
@ -323,7 +323,7 @@ void drm_minor_release(struct drm_minor *minor)
|
||||||
* historical baggage. Hence use the reference counting provided by
|
* historical baggage. Hence use the reference counting provided by
|
||||||
* drm_dev_ref() and drm_dev_unref() only carefully.
|
* drm_dev_ref() and drm_dev_unref() only carefully.
|
||||||
*
|
*
|
||||||
* It is recommended that drivers embed struct &drm_device into their own device
|
* It is recommended that drivers embed &struct drm_device into their own device
|
||||||
* structure, which is supported through drm_dev_init().
|
* structure, which is supported through drm_dev_init().
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -461,8 +461,8 @@ static void drm_fs_inode_free(struct inode *inode)
|
||||||
* Note that for purely virtual devices @parent can be NULL.
|
* Note that for purely virtual devices @parent can be NULL.
|
||||||
*
|
*
|
||||||
* Drivers that do not want to allocate their own device struct
|
* Drivers that do not want to allocate their own device struct
|
||||||
* embedding struct &drm_device can call drm_dev_alloc() instead. For drivers
|
* embedding &struct drm_device can call drm_dev_alloc() instead. For drivers
|
||||||
* that do embed struct &drm_device it must be placed first in the overall
|
* that do embed &struct drm_device it must be placed first in the overall
|
||||||
* structure, and the overall structure must be allocated using kmalloc(): The
|
* structure, and the overall structure must be allocated using kmalloc(): The
|
||||||
* drm core's release function unconditionally calls kfree() on the @dev pointer
|
* drm core's release function unconditionally calls kfree() on the @dev pointer
|
||||||
* when the final reference is released.
|
* when the final reference is released.
|
||||||
|
@ -568,7 +568,7 @@ EXPORT_SYMBOL(drm_dev_init);
|
||||||
*
|
*
|
||||||
* Note that for purely virtual devices @parent can be NULL.
|
* Note that for purely virtual devices @parent can be NULL.
|
||||||
*
|
*
|
||||||
* Drivers that wish to subclass or embed struct &drm_device into their
|
* Drivers that wish to subclass or embed &struct drm_device into their
|
||||||
* own struct should look at using drm_dev_init() instead.
|
* own struct should look at using drm_dev_init() instead.
|
||||||
*
|
*
|
||||||
* RETURNS:
|
* RETURNS:
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
* KMS frame buffers.
|
* KMS frame buffers.
|
||||||
*
|
*
|
||||||
* To support dumb objects drivers must implement the dumb_create,
|
* To support dumb objects drivers must implement the dumb_create,
|
||||||
* dumb_destroy and dumb_map_offset operations from struct &drm_driver. See
|
* dumb_destroy and dumb_map_offset operations from &struct drm_driver. See
|
||||||
* there for further details.
|
* there for further details.
|
||||||
*
|
*
|
||||||
* Note that dumb objects may not be used for gpu acceleration, as has been
|
* Note that dumb objects may not be used for gpu acceleration, as has been
|
||||||
|
|
|
@ -30,8 +30,8 @@
|
||||||
* DOC: overview
|
* DOC: overview
|
||||||
*
|
*
|
||||||
* Encoders represent the connecting element between the CRTC (as the overall
|
* Encoders represent the connecting element between the CRTC (as the overall
|
||||||
* pixel pipeline, represented by struct &drm_crtc) and the connectors (as the
|
* pixel pipeline, represented by &struct drm_crtc) and the connectors (as the
|
||||||
* generic sink entity, represented by struct &drm_connector). An encoder takes
|
* generic sink entity, represented by &struct drm_connector). An encoder takes
|
||||||
* pixel data from a CRTC and converts it to a format suitable for any attached
|
* pixel data from a CRTC and converts it to a format suitable for any attached
|
||||||
* connector. Encoders are objects exposed to userspace, originally to allow
|
* connector. Encoders are objects exposed to userspace, originally to allow
|
||||||
* userspace to infer cloning and connector/CRTC restrictions. Unfortunately
|
* userspace to infer cloning and connector/CRTC restrictions. Unfortunately
|
||||||
|
|
|
@ -273,7 +273,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 put into prepare_fb hook of &struct drm_plane_helper_funcs .
|
||||||
*
|
*
|
||||||
* 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
|
||||||
|
|
|
@ -39,13 +39,13 @@
|
||||||
* Frame buffers rely on the underlying memory manager for allocating backing
|
* Frame buffers rely on the underlying memory manager for allocating backing
|
||||||
* storage. When creating a frame buffer applications pass a memory handle
|
* storage. When creating a frame buffer applications pass a memory handle
|
||||||
* (or a list of memory handles for multi-planar formats) through the
|
* (or a list of memory handles for multi-planar formats) through the
|
||||||
* struct &drm_mode_fb_cmd2 argument. For drivers using GEM as their userspace
|
* &struct drm_mode_fb_cmd2 argument. For drivers using GEM as their userspace
|
||||||
* buffer management interface this would be a GEM handle. Drivers are however
|
* buffer management interface this would be a GEM handle. Drivers are however
|
||||||
* free to use their own backing storage object handles, e.g. vmwgfx directly
|
* free to use their own backing storage object handles, e.g. vmwgfx directly
|
||||||
* exposes special TTM handles to userspace and so expects TTM handles in the
|
* exposes special TTM handles to userspace and so expects TTM handles in the
|
||||||
* create ioctl and not GEM handles.
|
* create ioctl and not GEM handles.
|
||||||
*
|
*
|
||||||
* Framebuffers are tracked with struct &drm_framebuffer. They are published
|
* Framebuffers are tracked with &struct drm_framebuffer. They are published
|
||||||
* using drm_framebuffer_init() - after calling that function userspace can use
|
* using drm_framebuffer_init() - after calling that function userspace can use
|
||||||
* and access the framebuffer object. The helper function
|
* and access the framebuffer object. The helper function
|
||||||
* drm_helper_mode_fill_fb_struct() can be used to pre-fill the required
|
* drm_helper_mode_fill_fb_struct() can be used to pre-fill the required
|
||||||
|
@ -55,7 +55,7 @@
|
||||||
* drivers can grab additional references with drm_framebuffer_reference() and
|
* drivers can grab additional references with drm_framebuffer_reference() and
|
||||||
* drop them again with drm_framebuffer_unreference(). For driver-private
|
* drop them again with drm_framebuffer_unreference(). For driver-private
|
||||||
* framebuffers for which the last reference is never dropped (e.g. for the
|
* framebuffers for which the last reference is never dropped (e.g. for the
|
||||||
* fbdev framebuffer when the struct struct &drm_framebuffer is embedded into
|
* fbdev framebuffer when the struct &struct drm_framebuffer is embedded into
|
||||||
* the fbdev helper struct) drivers can manually clean up a framebuffer at
|
* the fbdev helper struct) drivers can manually clean up a framebuffer at
|
||||||
* module unload time with drm_framebuffer_unregister_private(). But doing this
|
* module unload time with drm_framebuffer_unregister_private(). But doing this
|
||||||
* is not recommended, and it's better to have a normal free-standing struct
|
* is not recommended, and it's better to have a normal free-standing struct
|
||||||
|
|
|
@ -982,7 +982,7 @@ static void send_vblank_event(struct drm_device *dev,
|
||||||
* period. This helper function implements exactly the required vblank arming
|
* period. This helper function implements exactly the required vblank arming
|
||||||
* behaviour.
|
* behaviour.
|
||||||
*
|
*
|
||||||
* NOTE: Drivers using this to send out the event in struct &drm_crtc_state
|
* NOTE: Drivers using this to send out the event in &struct drm_crtc_state
|
||||||
* as part of an atomic commit must ensure that the next vblank happens at
|
* as part of an atomic commit must ensure that the next vblank happens at
|
||||||
* exactly the same time as the atomic commit is committed to the hardware. This
|
* exactly the same time as the atomic commit is committed to the hardware. This
|
||||||
* function itself does **not** protect again the next vblank interrupt racing
|
* function itself does **not** protect again the next vblank interrupt racing
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
* rotation or Z-position. All these properties are stored in &drm_plane_state.
|
* rotation or Z-position. All these properties are stored in &drm_plane_state.
|
||||||
*
|
*
|
||||||
* To create a plane, a KMS drivers allocates and zeroes an instances of
|
* To create a plane, a KMS drivers allocates and zeroes an instances of
|
||||||
* struct &drm_plane (possibly as part of a larger structure) and registers it
|
* &struct drm_plane (possibly as part of a larger structure) and registers it
|
||||||
* with a call to drm_universal_plane_init().
|
* with a call to drm_universal_plane_init().
|
||||||
*
|
*
|
||||||
* Cursor and overlay planes are optional. All drivers should provide one
|
* Cursor and overlay planes are optional. All drivers should provide one
|
||||||
|
|
|
@ -60,7 +60,7 @@
|
||||||
* Again drivers are strongly urged to switch to the new interfaces.
|
* Again drivers are strongly urged to switch to the new interfaces.
|
||||||
*
|
*
|
||||||
* The plane helpers share the function table structures with other helpers,
|
* The plane helpers share the function table structures with other helpers,
|
||||||
* specifically also the atomic helpers. See struct &drm_plane_helper_funcs for
|
* specifically also the atomic helpers. See &struct drm_plane_helper_funcs for
|
||||||
* the details.
|
* the details.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
|
@ -55,7 +55,7 @@
|
||||||
* handling code to avoid probing unrelated outputs.
|
* handling code to avoid probing unrelated outputs.
|
||||||
*
|
*
|
||||||
* The probe helpers share the function table structures with other display
|
* The probe helpers share the function table structures with other display
|
||||||
* helper libraries. See struct &drm_connector_helper_funcs for the details.
|
* helper libraries. See &struct drm_connector_helper_funcs for the details.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static bool drm_kms_helper_poll = true;
|
static bool drm_kms_helper_poll = true;
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
* even the only way to transport metadata about the desired new modeset
|
* even the only way to transport metadata about the desired new modeset
|
||||||
* configuration from userspace to the kernel. Properties have a well-defined
|
* configuration from userspace to the kernel. Properties have a well-defined
|
||||||
* value range, which is enforced by the drm core. See the documentation of the
|
* value range, which is enforced by the drm core. See the documentation of the
|
||||||
* flags member of struct &drm_property for an overview of the different
|
* flags member of &struct drm_property for an overview of the different
|
||||||
* property types and ranges.
|
* property types and ranges.
|
||||||
*
|
*
|
||||||
* Properties don't store the current value directly, but need to be
|
* Properties don't store the current value directly, but need to be
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
*
|
*
|
||||||
* drm_simple_display_pipe_init() initializes a simple display pipeline
|
* drm_simple_display_pipe_init() initializes a simple display pipeline
|
||||||
* which has only one full-screen scanout buffer feeding one output. The
|
* which has only one full-screen scanout buffer feeding one output. The
|
||||||
* pipeline is represented by struct &drm_simple_display_pipe and binds
|
* pipeline is represented by &struct drm_simple_display_pipe and binds
|
||||||
* together &drm_plane, &drm_crtc and &drm_encoder structures into one fixed
|
* together &drm_plane, &drm_crtc and &drm_encoder structures into one fixed
|
||||||
* entity. Some flexibility for code reuse is provided through a separately
|
* entity. Some flexibility for code reuse is provided through a separately
|
||||||
* allocated &drm_connector object and supporting optional &drm_bridge
|
* allocated &drm_connector object and supporting optional &drm_bridge
|
||||||
|
|
|
@ -398,7 +398,7 @@ void drm_state_dump(struct drm_device *dev, struct drm_printer *p);
|
||||||
* drm_atomic_crtc_needs_modeset - compute combined modeset need
|
* drm_atomic_crtc_needs_modeset - compute combined modeset need
|
||||||
* @state: &drm_crtc_state for the CRTC
|
* @state: &drm_crtc_state for the CRTC
|
||||||
*
|
*
|
||||||
* To give drivers flexibility struct &drm_crtc_state has 3 booleans to track
|
* To give drivers flexibility &struct drm_crtc_state has 3 booleans to track
|
||||||
* whether the state CRTC changed enough to need a full modeset cycle:
|
* whether the state CRTC changed enough to need a full modeset cycle:
|
||||||
* connectors_changed, mode_changed and active_changed. This helper simply
|
* connectors_changed, mode_changed and active_changed. This helper simply
|
||||||
* combines these three to compute the overall need for a modeset for @state.
|
* combines these three to compute the overall need for a modeset for @state.
|
||||||
|
|
|
@ -48,7 +48,7 @@ struct drm_master {
|
||||||
*/
|
*/
|
||||||
char *unique;
|
char *unique;
|
||||||
/**
|
/**
|
||||||
* @unique_len: Length of unique field. Protected by struct &drm_device
|
* @unique_len: Length of unique field. Protected by &struct drm_device
|
||||||
* master_mutex.
|
* master_mutex.
|
||||||
*/
|
*/
|
||||||
int unique_len;
|
int unique_len;
|
||||||
|
|
|
@ -98,7 +98,7 @@ struct drm_bridge_funcs {
|
||||||
* preceding element is a bridge this means it's called before that
|
* preceding element is a bridge this means it's called before that
|
||||||
* bridge's ->disable() function. If the preceding element is a
|
* bridge's ->disable() function. If the preceding element is a
|
||||||
* &drm_encoder it's called right before the encoder's ->disable(),
|
* &drm_encoder it's called right before the encoder's ->disable(),
|
||||||
* ->prepare() or ->dpms() hook from struct &drm_encoder_helper_funcs.
|
* ->prepare() or ->dpms() hook from &struct drm_encoder_helper_funcs.
|
||||||
*
|
*
|
||||||
* The bridge can assume that the display pipe (i.e. clocks and timing
|
* The bridge can assume that the display pipe (i.e. clocks and timing
|
||||||
* signals) feeding it is still running when this callback is called.
|
* signals) feeding it is still running when this callback is called.
|
||||||
|
@ -115,7 +115,7 @@ struct drm_bridge_funcs {
|
||||||
* preceding element is a bridge this means it's called after that
|
* preceding element is a bridge this means it's called after that
|
||||||
* bridge's ->post_disable() function. If the preceding element is a
|
* bridge's ->post_disable() function. If the preceding element is a
|
||||||
* &drm_encoder it's called right after the encoder's ->disable(),
|
* &drm_encoder it's called right after the encoder's ->disable(),
|
||||||
* ->prepare() or ->dpms() hook from struct &drm_encoder_helper_funcs.
|
* ->prepare() or ->dpms() hook from &struct drm_encoder_helper_funcs.
|
||||||
*
|
*
|
||||||
* The bridge must assume that the display pipe (i.e. clocks and timing
|
* The bridge must assume that the display pipe (i.e. clocks and timing
|
||||||
* singals) feeding it is no longer running when this callback is
|
* singals) feeding it is no longer running when this callback is
|
||||||
|
@ -144,7 +144,7 @@ struct drm_bridge_funcs {
|
||||||
* preceding element is a bridge this means it's called before that
|
* preceding element is a bridge this means it's called before that
|
||||||
* bridge's ->pre_enable() function. If the preceding element is a
|
* bridge's ->pre_enable() function. If the preceding element is a
|
||||||
* &drm_encoder it's called right before the encoder's ->enable(),
|
* &drm_encoder it's called right before the encoder's ->enable(),
|
||||||
* ->commit() or ->dpms() hook from struct &drm_encoder_helper_funcs.
|
* ->commit() or ->dpms() hook from &struct drm_encoder_helper_funcs.
|
||||||
*
|
*
|
||||||
* The display pipe (i.e. clocks and timing signals) feeding this bridge
|
* The display pipe (i.e. clocks and timing signals) feeding this bridge
|
||||||
* will not yet be running when this callback is called. The bridge must
|
* will not yet be running when this callback is called. The bridge must
|
||||||
|
@ -163,7 +163,7 @@ struct drm_bridge_funcs {
|
||||||
* preceding element is a bridge this means it's called after that
|
* preceding element is a bridge this means it's called after that
|
||||||
* bridge's ->enable() function. If the preceding element is a
|
* bridge's ->enable() function. If the preceding element is a
|
||||||
* &drm_encoder it's called right after the encoder's ->enable(),
|
* &drm_encoder it's called right after the encoder's ->enable(),
|
||||||
* ->commit() or ->dpms() hook from struct &drm_encoder_helper_funcs.
|
* ->commit() or ->dpms() hook from &struct drm_encoder_helper_funcs.
|
||||||
*
|
*
|
||||||
* The bridge can assume that the display pipe (i.e. clocks and timing
|
* The bridge can assume that the display pipe (i.e. clocks and timing
|
||||||
* signals) feeding it is running when this callback is called. This
|
* signals) feeding it is running when this callback is called. This
|
||||||
|
|
|
@ -94,7 +94,7 @@ enum subpixel_order {
|
||||||
*
|
*
|
||||||
* Describes a given display (e.g. CRT or flat panel) and its limitations. For
|
* Describes a given display (e.g. CRT or flat panel) and its limitations. For
|
||||||
* fixed display sinks like built-in panels there's not much difference between
|
* fixed display sinks like built-in panels there's not much difference between
|
||||||
* this and struct &drm_connector. But for sinks with a real cable this
|
* this and &struct drm_connector. But for sinks with a real cable this
|
||||||
* structure is meant to describe all the things at the other end of the cable.
|
* structure is meant to describe all the things at the other end of the cable.
|
||||||
*
|
*
|
||||||
* For sinks which provide an EDID this can be filled out by calling
|
* For sinks which provide an EDID this can be filled out by calling
|
||||||
|
@ -422,7 +422,7 @@ struct drm_connector_funcs {
|
||||||
* &drm_mode_config_funcs) will be cleaned up by calling the
|
* &drm_mode_config_funcs) will be cleaned up by calling the
|
||||||
* @atomic_destroy_state hook in this structure.
|
* @atomic_destroy_state hook in this structure.
|
||||||
*
|
*
|
||||||
* Atomic drivers which don't subclass struct &drm_connector_state should use
|
* Atomic drivers which don't subclass &struct drm_connector_state should use
|
||||||
* drm_atomic_helper_connector_duplicate_state(). Drivers that subclass the
|
* drm_atomic_helper_connector_duplicate_state(). Drivers that subclass the
|
||||||
* state structure to extend it with driver-private state should use
|
* state structure to extend it with driver-private state should use
|
||||||
* __drm_atomic_helper_connector_duplicate_state() to make sure shared state is
|
* __drm_atomic_helper_connector_duplicate_state() to make sure shared state is
|
||||||
|
@ -525,7 +525,7 @@ struct drm_connector_funcs {
|
||||||
/**
|
/**
|
||||||
* @atomic_print_state:
|
* @atomic_print_state:
|
||||||
*
|
*
|
||||||
* If driver subclasses struct &drm_connector_state, it should implement
|
* If driver subclasses &struct drm_connector_state, it should implement
|
||||||
* this optional hook for printing additional driver specific state.
|
* this optional hook for printing additional driver specific state.
|
||||||
*
|
*
|
||||||
* Do not call this directly, use drm_atomic_connector_print_state()
|
* Do not call this directly, use drm_atomic_connector_print_state()
|
||||||
|
@ -904,8 +904,8 @@ void drm_connector_list_iter_put(struct drm_connector_list_iter *iter);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* drm_for_each_connector_iter - connector_list iterator macro
|
* drm_for_each_connector_iter - connector_list iterator macro
|
||||||
* @connector: struct &drm_connector pointer used as cursor
|
* @connector: &struct drm_connector pointer used as cursor
|
||||||
* @iter: struct &drm_connector_list_iter
|
* @iter: &struct drm_connector_list_iter
|
||||||
*
|
*
|
||||||
* Note that @connector is only valid within the list body, if you want to use
|
* Note that @connector is only valid within the list body, if you want to use
|
||||||
* @connector after calling drm_connector_list_iter_put() then you need to grab
|
* @connector after calling drm_connector_list_iter_put() then you need to grab
|
||||||
|
|
|
@ -315,7 +315,7 @@ struct drm_crtc_funcs {
|
||||||
*
|
*
|
||||||
* This is the main legacy entry point to change the modeset state on a
|
* This is the main legacy entry point to change the modeset state on a
|
||||||
* CRTC. All the details of the desired configuration are passed in a
|
* CRTC. All the details of the desired configuration are passed in a
|
||||||
* struct &drm_mode_set - see there for details.
|
* &struct drm_mode_set - see there for details.
|
||||||
*
|
*
|
||||||
* Drivers implementing atomic modeset should use
|
* Drivers implementing atomic modeset should use
|
||||||
* drm_atomic_helper_set_config() to implement this hook.
|
* drm_atomic_helper_set_config() to implement this hook.
|
||||||
|
@ -346,7 +346,7 @@ struct drm_crtc_funcs {
|
||||||
* shared dma-buf.
|
* shared dma-buf.
|
||||||
*
|
*
|
||||||
* An application can request to be notified when the page flip has
|
* An application can request to be notified when the page flip has
|
||||||
* completed. The drm core will supply a struct &drm_event in the event
|
* completed. The drm core will supply a &struct drm_event in the event
|
||||||
* parameter in this case. This can be handled by the
|
* parameter in this case. This can be handled by the
|
||||||
* drm_crtc_send_vblank_event() function, which the driver should call on
|
* drm_crtc_send_vblank_event() function, which the driver should call on
|
||||||
* the provided event upon completion of the flip. Note that if
|
* the provided event upon completion of the flip. Note that if
|
||||||
|
@ -431,7 +431,7 @@ struct drm_crtc_funcs {
|
||||||
* &drm_mode_config_funcs) will be cleaned up by calling the
|
* &drm_mode_config_funcs) will be cleaned up by calling the
|
||||||
* @atomic_destroy_state hook in this structure.
|
* @atomic_destroy_state hook in this structure.
|
||||||
*
|
*
|
||||||
* Atomic drivers which don't subclass struct &drm_crtc should use
|
* Atomic drivers which don't subclass &struct drm_crtc should use
|
||||||
* drm_atomic_helper_crtc_duplicate_state(). Drivers that subclass the
|
* drm_atomic_helper_crtc_duplicate_state(). Drivers that subclass the
|
||||||
* state structure to extend it with driver-private state should use
|
* state structure to extend it with driver-private state should use
|
||||||
* __drm_atomic_helper_crtc_duplicate_state() to make sure shared state is
|
* __drm_atomic_helper_crtc_duplicate_state() to make sure shared state is
|
||||||
|
@ -583,7 +583,7 @@ struct drm_crtc_funcs {
|
||||||
/**
|
/**
|
||||||
* @atomic_print_state:
|
* @atomic_print_state:
|
||||||
*
|
*
|
||||||
* If driver subclasses struct &drm_crtc_state, it should implement
|
* If driver subclasses &struct drm_crtc_state, it should implement
|
||||||
* this optional hook for printing additional driver specific state.
|
* this optional hook for printing additional driver specific state.
|
||||||
*
|
*
|
||||||
* Do not call this directly, use drm_atomic_crtc_print_state()
|
* Do not call this directly, use drm_atomic_crtc_print_state()
|
||||||
|
|
|
@ -181,7 +181,7 @@ struct drm_fb_helper_connector {
|
||||||
*
|
*
|
||||||
* This is the main structure used by the fbdev helpers. Drivers supporting
|
* This is the main structure used by the fbdev helpers. Drivers supporting
|
||||||
* fbdev emulation should embedded this into their overall driver structure.
|
* fbdev emulation should embedded this into their overall driver structure.
|
||||||
* Drivers must also fill out a struct &drm_fb_helper_funcs with a few
|
* Drivers must also fill out a &struct drm_fb_helper_funcs with a few
|
||||||
* operations.
|
* operations.
|
||||||
*/
|
*/
|
||||||
struct drm_fb_helper {
|
struct drm_fb_helper {
|
||||||
|
|
|
@ -51,7 +51,7 @@ struct drm_framebuffer_funcs {
|
||||||
* @create_handle:
|
* @create_handle:
|
||||||
*
|
*
|
||||||
* Create a buffer handle in the driver-specific buffer manager (either
|
* Create a buffer handle in the driver-specific buffer manager (either
|
||||||
* GEM or TTM) valid for the passed-in struct &drm_file. This is used by
|
* GEM or TTM) valid for the passed-in &struct drm_file. This is used by
|
||||||
* the core to implement the GETFB IOCTL, which returns (for
|
* the core to implement the GETFB IOCTL, which returns (for
|
||||||
* sufficiently priviledged user) also a native buffer handle. This can
|
* sufficiently priviledged user) also a native buffer handle. This can
|
||||||
* be used for seamless transitions between modesetting clients by
|
* be used for seamless transitions between modesetting clients by
|
||||||
|
@ -149,7 +149,7 @@ struct drm_framebuffer {
|
||||||
*
|
*
|
||||||
* This should not be used to specifiy x/y pixel offsets into the buffer
|
* This should not be used to specifiy x/y pixel offsets into the buffer
|
||||||
* data (even for linear buffers). Specifying an x/y pixel offset is
|
* data (even for linear buffers). Specifying an x/y pixel offset is
|
||||||
* instead done through the source rectangle in struct &drm_plane_state.
|
* instead done through the source rectangle in &struct drm_plane_state.
|
||||||
*/
|
*/
|
||||||
unsigned int offsets[4];
|
unsigned int offsets[4];
|
||||||
/**
|
/**
|
||||||
|
@ -187,7 +187,7 @@ struct drm_framebuffer {
|
||||||
*/
|
*/
|
||||||
int hot_y;
|
int hot_y;
|
||||||
/**
|
/**
|
||||||
* @filp_head: Placed on struct &drm_file fbs list_head, protected by
|
* @filp_head: Placed on &struct drm_file fbs list_head, protected by
|
||||||
* fbs_lock in the same structure.
|
* fbs_lock in the same structure.
|
||||||
*/
|
*/
|
||||||
struct list_head filp_head;
|
struct list_head filp_head;
|
||||||
|
|
|
@ -51,8 +51,8 @@ struct drm_pending_vblank_event {
|
||||||
*
|
*
|
||||||
* Note that for historical reasons - the vblank handling code is still shared
|
* Note that for historical reasons - the vblank handling code is still shared
|
||||||
* with legacy/non-kms drivers - this is a free-standing structure not directly
|
* with legacy/non-kms drivers - this is a free-standing structure not directly
|
||||||
* connected to struct &drm_crtc. But all public interface functions are taking
|
* connected to &struct drm_crtc. But all public interface functions are taking
|
||||||
* a struct &drm_crtc to hide this implementation detail.
|
* a &struct drm_crtc to hide this implementation detail.
|
||||||
*/
|
*/
|
||||||
struct drm_vblank_crtc {
|
struct drm_vblank_crtc {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -47,7 +47,7 @@ struct drm_mode_config_funcs {
|
||||||
*
|
*
|
||||||
* Create a new framebuffer object. The core does basic checks on the
|
* Create a new framebuffer object. The core does basic checks on the
|
||||||
* requested metadata, but most of that is left to the driver. See
|
* requested metadata, but most of that is left to the driver. See
|
||||||
* struct &drm_mode_fb_cmd2 for details.
|
* &struct drm_mode_fb_cmd2 for details.
|
||||||
*
|
*
|
||||||
* If the parameters are deemed valid and the backing storage objects in
|
* If the parameters are deemed valid and the backing storage objects in
|
||||||
* the underlying memory manager all exist, then the driver allocates
|
* the underlying memory manager all exist, then the driver allocates
|
||||||
|
@ -135,7 +135,7 @@ struct drm_mode_config_funcs {
|
||||||
* error conditions which don't have to be checked at the
|
* error conditions which don't have to be checked at the
|
||||||
* ->atomic_check() stage?
|
* ->atomic_check() stage?
|
||||||
*
|
*
|
||||||
* See the documentation for struct &drm_atomic_state for how exactly
|
* See the documentation for &struct drm_atomic_state for how exactly
|
||||||
* an atomic modeset update is described.
|
* an atomic modeset update is described.
|
||||||
*
|
*
|
||||||
* Drivers using the atomic helpers can implement this hook using
|
* Drivers using the atomic helpers can implement this hook using
|
||||||
|
@ -171,7 +171,7 @@ struct drm_mode_config_funcs {
|
||||||
* calling this function, and that nothing has been changed in the
|
* calling this function, and that nothing has been changed in the
|
||||||
* interim.
|
* interim.
|
||||||
*
|
*
|
||||||
* See the documentation for struct &drm_atomic_state for how exactly
|
* See the documentation for &struct drm_atomic_state for how exactly
|
||||||
* an atomic modeset update is described.
|
* an atomic modeset update is described.
|
||||||
*
|
*
|
||||||
* Drivers using the atomic helpers can implement this hook using
|
* Drivers using the atomic helpers can implement this hook using
|
||||||
|
@ -198,7 +198,7 @@ struct drm_mode_config_funcs {
|
||||||
* completed. These events are per-CRTC and can be distinguished by the
|
* completed. These events are per-CRTC and can be distinguished by the
|
||||||
* CRTC index supplied in &drm_event to userspace.
|
* CRTC index supplied in &drm_event to userspace.
|
||||||
*
|
*
|
||||||
* The drm core will supply a struct &drm_event in the event
|
* The drm core will supply a &struct drm_event in the event
|
||||||
* member of each CRTC's &drm_crtc_state structure. See the
|
* member of each CRTC's &drm_crtc_state structure. See the
|
||||||
* documentation for &drm_crtc_state for more details about the precise
|
* documentation for &drm_crtc_state for more details about the precise
|
||||||
* semantics of this event.
|
* semantics of this event.
|
||||||
|
@ -381,7 +381,7 @@ struct drm_mode_config {
|
||||||
/**
|
/**
|
||||||
* @connector_list: List of connector objects. Protected by
|
* @connector_list: List of connector objects. Protected by
|
||||||
* @connector_list_lock. Only use drm_for_each_connector_iter() and
|
* @connector_list_lock. Only use drm_for_each_connector_iter() and
|
||||||
* struct &drm_connector_list_iter to walk this list.
|
* &struct drm_connector_list_iter to walk this list.
|
||||||
*/
|
*/
|
||||||
struct list_head connector_list;
|
struct list_head connector_list;
|
||||||
int num_encoder;
|
int num_encoder;
|
||||||
|
|
|
@ -726,7 +726,7 @@ struct drm_connector_helper_funcs {
|
||||||
* fixed panel can also manually add specific modes using
|
* fixed panel can also manually add specific modes using
|
||||||
* drm_mode_probed_add(). Drivers which manually add modes should also
|
* drm_mode_probed_add(). Drivers which manually add modes should also
|
||||||
* make sure that the @display_info, @width_mm and @height_mm fields of the
|
* make sure that the @display_info, @width_mm and @height_mm fields of the
|
||||||
* struct &drm_connector are filled in.
|
* &struct drm_connector are filled in.
|
||||||
*
|
*
|
||||||
* Virtual drivers that just want some standard VESA mode with a given
|
* Virtual drivers that just want some standard VESA mode with a given
|
||||||
* resolution can call drm_add_modes_noedid(), and mark the preferred
|
* resolution can call drm_add_modes_noedid(), and mark the preferred
|
||||||
|
|
|
@ -253,7 +253,7 @@ struct drm_plane_funcs {
|
||||||
* &drm_mode_config_funcs) will be cleaned up by calling the
|
* &drm_mode_config_funcs) will be cleaned up by calling the
|
||||||
* @atomic_destroy_state hook in this structure.
|
* @atomic_destroy_state hook in this structure.
|
||||||
*
|
*
|
||||||
* Atomic drivers which don't subclass struct &drm_plane_state should use
|
* Atomic drivers which don't subclass &struct drm_plane_state should use
|
||||||
* drm_atomic_helper_plane_duplicate_state(). Drivers that subclass the
|
* drm_atomic_helper_plane_duplicate_state(). Drivers that subclass the
|
||||||
* state structure to extend it with driver-private state should use
|
* state structure to extend it with driver-private state should use
|
||||||
* __drm_atomic_helper_plane_duplicate_state() to make sure shared state is
|
* __drm_atomic_helper_plane_duplicate_state() to make sure shared state is
|
||||||
|
@ -381,7 +381,7 @@ struct drm_plane_funcs {
|
||||||
/**
|
/**
|
||||||
* @atomic_print_state:
|
* @atomic_print_state:
|
||||||
*
|
*
|
||||||
* If driver subclasses struct &drm_plane_state, it should implement
|
* If driver subclasses &struct drm_plane_state, it should implement
|
||||||
* this optional hook for printing additional driver specific state.
|
* this optional hook for printing additional driver specific state.
|
||||||
*
|
*
|
||||||
* Do not call this directly, use drm_atomic_plane_print_state()
|
* Do not call this directly, use drm_atomic_plane_print_state()
|
||||||
|
|
|
@ -80,7 +80,7 @@ void drm_printf(struct drm_printer *p, const char *f, ...);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* drm_seq_file_printer - construct a &drm_printer that outputs to &seq_file
|
* drm_seq_file_printer - construct a &drm_printer that outputs to &seq_file
|
||||||
* @f: the struct &seq_file to output to
|
* @f: the &struct seq_file to output to
|
||||||
*
|
*
|
||||||
* RETURNS:
|
* RETURNS:
|
||||||
* The &drm_printer object
|
* The &drm_printer object
|
||||||
|
@ -96,7 +96,7 @@ static inline struct drm_printer drm_seq_file_printer(struct seq_file *f)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* drm_info_printer - construct a &drm_printer that outputs to dev_printk()
|
* drm_info_printer - construct a &drm_printer that outputs to dev_printk()
|
||||||
* @dev: the struct &device pointer
|
* @dev: the &struct device pointer
|
||||||
*
|
*
|
||||||
* RETURNS:
|
* RETURNS:
|
||||||
* The &drm_printer object
|
* The &drm_printer object
|
||||||
|
|
|
@ -73,9 +73,9 @@ struct drm_simple_display_pipe_funcs {
|
||||||
/**
|
/**
|
||||||
* @prepare_fb:
|
* @prepare_fb:
|
||||||
*
|
*
|
||||||
* Optional, called by struct &drm_plane_helper_funcs ->prepare_fb .
|
* Optional, called by &struct drm_plane_helper_funcs ->prepare_fb .
|
||||||
* Please read the documentation for the ->prepare_fb hook in
|
* Please read the documentation for the ->prepare_fb hook in
|
||||||
* struct &drm_plane_helper_funcs for more details.
|
* &struct drm_plane_helper_funcs for more details.
|
||||||
*/
|
*/
|
||||||
int (*prepare_fb)(struct drm_simple_display_pipe *pipe,
|
int (*prepare_fb)(struct drm_simple_display_pipe *pipe,
|
||||||
struct drm_plane_state *plane_state);
|
struct drm_plane_state *plane_state);
|
||||||
|
@ -83,9 +83,9 @@ struct drm_simple_display_pipe_funcs {
|
||||||
/**
|
/**
|
||||||
* @cleanup_fb:
|
* @cleanup_fb:
|
||||||
*
|
*
|
||||||
* Optional, called by struct &drm_plane_helper_funcs ->cleanup_fb .
|
* Optional, called by &struct drm_plane_helper_funcs ->cleanup_fb .
|
||||||
* Please read the documentation for the ->cleanup_fb hook in
|
* Please read the documentation for the ->cleanup_fb hook in
|
||||||
* struct &drm_plane_helper_funcs for more details.
|
* &struct drm_plane_helper_funcs for more details.
|
||||||
*/
|
*/
|
||||||
void (*cleanup_fb)(struct drm_simple_display_pipe *pipe,
|
void (*cleanup_fb)(struct drm_simple_display_pipe *pipe,
|
||||||
struct drm_plane_state *plane_state);
|
struct drm_plane_state *plane_state);
|
||||||
|
|
Loading…
Reference in New Issue