drivers/platform/raspberrypi/vchiq-mmal/mmal-msg-port.h

Source file repositories/reference/linux-study-clean/drivers/platform/raspberrypi/vchiq-mmal/mmal-msg-port.h

File Facts

System
Linux kernel
Corpus path
drivers/platform/raspberrypi/vchiq-mmal/mmal-msg-port.h
Extension
.h
Size
3506 bytes
Lines
110
Domain
Driver Families
Bucket
drivers/platform
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct mmal_port {
	u32 priv;	/* Private member used by the framework */
	u32 name;	/* Port name. Used for debugging purposes (RO) */

	u32 type;	/* Type of the port (RO) enum mmal_port_type */
	u16 index;	/* Index of the port in its type list (RO) */
	u16 index_all;	/* Index of the port in the list of all ports (RO) */

	u32 is_enabled;	/* Indicates whether the port is enabled or not (RO) */
	u32 format;	/* Format of the elementary stream */

	u32 buffer_num_min;	/* Minimum number of buffers the port
				 *   requires (RO).  This is set by the
				 *   component.
				 */

	u32 buffer_size_min;	/* Minimum size of buffers the port
				 * requires (RO).  This is set by the
				 * component.
				 */

	u32 buffer_alignment_min;/* Minimum alignment requirement for
				  * the buffers (RO).  A value of
				  * zero means no special alignment
				  * requirements.  This is set by the
				  * component.
				  */

	u32 buffer_num_recommended;	/* Number of buffers the port
					 * recommends for optimal
					 * performance (RO).  A value of
					 * zero means no special
					 * recommendation.  This is set
					 * by the component.
					 */

	u32 buffer_size_recommended;	/* Size of buffers the port
					 * recommends for optimal
					 * performance (RO).  A value of
					 * zero means no special
					 * recommendation.  This is set
					 * by the component.
					 */

	u32 buffer_num;	/* Actual number of buffers the port will use.
			 * This is set by the client.
			 */

	u32 buffer_size; /* Actual maximum size of the buffers that
			  * will be sent to the port. This is set by
			  * the client.
			  */

	u32 component;	/* Component this port belongs to (Read Only) */

	u32 userdata;	/* Field reserved for use by the client */

	u32 capabilities;	/* Flags describing the capabilities of a
				 * port (RO).  Bitwise combination of \ref
				 * portcapabilities "Port capabilities"
				 * values.
				 */
};

Annotation

Implementation Notes