drivers/media/pci/ddbridge/ddbridge-mci.h

Source file repositories/reference/linux-study-clean/drivers/media/pci/ddbridge/ddbridge-mci.h

File Facts

System
Linux kernel
Corpus path
drivers/media/pci/ddbridge/ddbridge-mci.h
Extension
.h
Size
6345 bytes
Lines
254
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

struct mci_command {
	union {
		u32 command_word;
		struct {
			u8  command;
			u8  tuner;
			u8  demod;
			u8  output;
		};
	};
	union {
		u32 params[31];
		struct {
			/*
			 * Bit 0: DVB-S Enabled
			 * Bit 1: DVB-S2 Enabled
			 * Bit 7: InputStreamID
			 */
			u8  flags;
			/*
			 * Bit 0: QPSK,
			 * Bit 1: 8PSK/8APSK
			 * Bit 2: 16APSK
			 * Bit 3: 32APSK
			 * Bit 4: 64APSK
			 * Bit 5: 128APSK
			 * Bit 6: 256APSK
			 */
			u8  s2_modulation_mask;
			u8  rsvd1;
			u8  retry;
			u32 frequency;
			u32 symbol_rate;
			u8  input_stream_id;
			u8  rsvd2[3];
			u32 scrambling_sequence_index;
			u32 frequency_range;
		} dvbs2_search;

		struct {
			u8  tap;
			u8  rsvd;
			u16 point;
		} get_iq_symbol;

		struct {
			/*
			 * Bit 0: 0=VTM/1=SCAN
			 * Bit 1: Set Gain
			 */
			u8  flags;
			u8  roll_off;
			u8  rsvd1;
			u8  rsvd2;
			u32 frequency;
			u32 symbol_rate; /* Only in VTM mode */
			u16 gain;
		} sx8_start_iq;

		struct {
			/*
			 * Bit 1:0 = STVVGLNA Gain.
			 *   0 = AGC, 1 = 0dB, 2 = Minimum, 3 = Maximum
			 */
			u8  flags;
		} sx8_input_enable;
	};
};

struct mci_result {
	union {
		u32 status_word;
		struct {
			u8  status;
			u8  mode;
			u16 time;
		};
	};
	union {
		u32 result[27];
		struct {
			/* 1 = DVB-S, 2 = DVB-S2X */
			u8  standard;
			/* puncture rate for DVB-S */
			u8  pls_code;
			/* 2-0: rolloff */
			u8  roll_off;
			u8  rsvd;
			/* actual frequency in Hz */
			u32 frequency;

Annotation

Implementation Notes