drivers/gpu/drm/verisilicon/vs_plane.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/verisilicon/vs_plane.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/verisilicon/vs_plane.h
Extension
.h
Size
2311 bytes
Lines
90
Domain
Driver Families
Bucket
drivers/gpu
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 vs_format {
	enum vs_color_format color;
	enum vs_swizzle swizzle;
	bool uv_swizzle;
};

struct vs_plane_state {
	struct drm_plane_state base;

	struct vs_format format;
};

static inline struct vs_plane_state *to_vs_plane_state(struct drm_plane_state *state)
{
	return container_of(state, struct vs_plane_state, base);
}

int drm_format_to_vs_format(u32 drm_format, struct vs_format *vs_format);
dma_addr_t vs_fb_get_dma_addr(struct drm_framebuffer *fb,
			      const struct drm_rect *src_rect);

struct drm_plane_state *vs_plane_duplicate_state(struct drm_plane *plane);
void vs_plane_destroy_state(struct drm_plane *plane,
			    struct drm_plane_state *state);
void vs_plane_reset(struct drm_plane *plane);

struct drm_plane *vs_primary_plane_init(struct drm_device *dev, struct vs_dc *dc);
struct drm_plane *vs_cursor_plane_init(struct drm_device *dev, struct vs_dc *dc);

#endif /* _VS_PLANE_H_ */

Annotation

Implementation Notes