drivers/media/pci/saa7164/saa7164-reg.h

Source file repositories/reference/linux-study-clean/drivers/media/pci/saa7164/saa7164-reg.h

File Facts

System
Linux kernel
Corpus path
drivers/media/pci/saa7164/saa7164-reg.h
Extension
.h
Size
6118 bytes
Lines
206
Domain
Driver Families
Bucket
drivers/media
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

#define SAA_OK				0
#define SAA_ERR_BAD_PARAMETER		0x09
#define SAA_ERR_NO_RESOURCES		0x0c
#define SAA_ERR_NOT_SUPPORTED		0x13
#define SAA_ERR_BUSY			0x15
#define SAA_ERR_READ			0x17
#define SAA_ERR_TIMEOUT			0x1f
#define SAA_ERR_OVERFLOW		0x20
#define SAA_ERR_EMPTY			0x22
#define SAA_ERR_NOT_STARTED		0x23
#define SAA_ERR_ALREADY_STARTED		0x24
#define SAA_ERR_NOT_STOPPED		0x25
#define SAA_ERR_ALREADY_STOPPED		0x26
#define SAA_ERR_INVALID_COMMAND		0x3e
#define SAA_ERR_NULL_PACKET		0x59

/* Errors and flags from the silicon */
#define PVC_ERRORCODE_UNKNOWN		0x00
#define PVC_ERRORCODE_INVALID_COMMAND	0x01
#define PVC_ERRORCODE_INVALID_CONTROL	0x02
#define PVC_ERRORCODE_INVALID_DATA	0x03
#define PVC_ERRORCODE_TIMEOUT		0x04
#define PVC_ERRORCODE_NAK		0x05
#define PVC_RESPONSEFLAG_ERROR		0x01
#define PVC_RESPONSEFLAG_OVERFLOW	0x02
#define PVC_RESPONSEFLAG_RESET		0x04
#define PVC_RESPONSEFLAG_INTERFACE	0x08
#define PVC_RESPONSEFLAG_CONTINUED	0x10
#define PVC_CMDFLAG_INTERRUPT		0x02
#define PVC_CMDFLAG_INTERFACE		0x04
#define PVC_CMDFLAG_SERIALIZE		0x08
#define PVC_CMDFLAG_CONTINUE		0x10

/* Silicon Commands */
#define GET_DESCRIPTORS_CONTROL		0x01
#define GET_STRING_CONTROL		0x03
#define GET_LANGUAGE_CONTROL		0x05
#define SET_POWER_CONTROL		0x07
#define GET_FW_STATUS_CONTROL		0x08
#define GET_FW_VERSION_CONTROL		0x09
#define SET_DEBUG_LEVEL_CONTROL		0x0B
#define GET_DEBUG_DATA_CONTROL		0x0C
#define GET_PRODUCTION_INFO_CONTROL	0x0D

/* cmd defines */
#define SAA_CMDFLAG_CONTINUE		0x10
#define SAA_CMD_MAX_MSG_UNITS		256

/* Some defines */
#define SAA_BUS_TIMEOUT			50
#define SAA_DEVICE_TIMEOUT		5000
#define SAA_DEVICE_MAXREQUESTSIZE	256

/* Register addresses */
#define SAA_DEVICE_VERSION		0x30
#define SAA_DOWNLOAD_FLAGS		0x34
#define SAA_DOWNLOAD_FLAG		0x34
#define SAA_DOWNLOAD_FLAG_ACK		0x38
#define SAA_DATAREADY_FLAG		0x3C
#define SAA_DATAREADY_FLAG_ACK		0x40

/* Boot loader register and bit definitions */
#define SAA_BOOTLOADERERROR_FLAGS	0x44
#define SAA_DEVICE_IMAGE_SEARCHING	0x01
#define SAA_DEVICE_IMAGE_LOADING	0x02
#define SAA_DEVICE_IMAGE_BOOTING	0x03
#define SAA_DEVICE_IMAGE_CORRUPT	0x04
#define SAA_DEVICE_MEMORY_CORRUPT	0x08
#define SAA_DEVICE_NO_IMAGE		0x10

/* Register addresses */
#define SAA_DEVICE_2ND_VERSION			0x50
#define SAA_DEVICE_2ND_DOWNLOADFLAG_OFFSET	0x54

/* Register addresses */
#define SAA_SECONDSTAGEERROR_FLAGS		0x64

/* Bootloader regs and flags */
#define SAA_DEVICE_DEADLOCK_DETECTED_OFFSET	0x6C
#define SAA_DEVICE_DEADLOCK_DETECTED		0xDEADDEAD

/* Basic firmware status registers */
#define SAA_DEVICE_SYSINIT_STATUS_OFFSET	0x70
#define SAA_DEVICE_SYSINIT_STATUS		0x70
#define SAA_DEVICE_SYSINIT_MODE			0x74
#define SAA_DEVICE_SYSINIT_SPEC			0x78
#define SAA_DEVICE_SYSINIT_INST			0x7C
#define SAA_DEVICE_SYSINIT_CPULOAD		0x80
#define SAA_DEVICE_SYSINIT_REMAINHEAP		0x84

Annotation

Implementation Notes