drivers/gpu/drm/vmwgfx/device_include/svga_overlay.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/vmwgfx/device_include/svga_overlay.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/vmwgfx/device_include/svga_overlay.h
Extension
.h
Size
2860 bytes
Lines
118
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

#ifndef _SVGA_OVERLAY_H_
#define _SVGA_OVERLAY_H_

#include "svga_reg.h"

#if defined __cplusplus
extern "C" {
#endif

#define VMWARE_FOURCC_YV12 0x32315659
#define VMWARE_FOURCC_YUY2 0x32595559
#define VMWARE_FOURCC_UYVY 0x59565955

typedef enum {
	SVGA_OVERLAY_FORMAT_INVALID = 0,
	SVGA_OVERLAY_FORMAT_YV12 = VMWARE_FOURCC_YV12,
	SVGA_OVERLAY_FORMAT_YUY2 = VMWARE_FOURCC_YUY2,
	SVGA_OVERLAY_FORMAT_UYVY = VMWARE_FOURCC_UYVY,
} SVGAOverlayFormat;

#define SVGA_VIDEO_COLORKEY_MASK 0x00ffffff

#define SVGA_ESCAPE_VMWARE_VIDEO 0x00020000

#define SVGA_ESCAPE_VMWARE_VIDEO_SET_REGS 0x00020001

#define SVGA_ESCAPE_VMWARE_VIDEO_FLUSH 0x00020002

typedef struct SVGAEscapeVideoSetRegs {
	struct {
		uint32 cmdType;
		uint32 streamId;
	} header;

	struct {
		uint32 registerId;
		uint32 value;
	} items[1];
} SVGAEscapeVideoSetRegs;

typedef struct SVGAEscapeVideoFlush {
	uint32 cmdType;
	uint32 streamId;
} SVGAEscapeVideoFlush;

#pragma pack(push, 1)
typedef struct {
	uint32 command;
	uint32 overlay;
} SVGAFifoEscapeCmdVideoBase;
#pragma pack(pop)

#pragma pack(push, 1)
typedef struct {
	SVGAFifoEscapeCmdVideoBase videoCmd;
} SVGAFifoEscapeCmdVideoFlush;
#pragma pack(pop)

#pragma pack(push, 1)
typedef struct {
	SVGAFifoEscapeCmdVideoBase videoCmd;
	struct {
		uint32 regId;
		uint32 value;
	} items[1];
} SVGAFifoEscapeCmdVideoSetRegs;
#pragma pack(pop)

#pragma pack(push, 1)
typedef struct {
	SVGAFifoEscapeCmdVideoBase videoCmd;
	struct {
		uint32 regId;
		uint32 value;
	} items[SVGA_VIDEO_NUM_REGS];
} SVGAFifoEscapeCmdVideoSetAllRegs;
#pragma pack(pop)

#if defined __cplusplus
}
#endif

#endif

Annotation

Implementation Notes