drivers/media/dvb-frontends/mxl5xx_defs.h
Source file repositories/reference/linux-study-clean/drivers/media/dvb-frontends/mxl5xx_defs.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/media/dvb-frontends/mxl5xx_defs.h- Extension
.h- Size
- 20678 bytes
- Lines
- 729
- 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.
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
struct MBIN_FILE_HEADER_Tstruct MBIN_FILE_Tstruct MBIN_SEGMENT_HEADER_Tstruct MBIN_SEGMENT_Tstruct MXL_REG_FIELD_Tstruct MXL_DEV_CMD_DATA_Tstruct MXL_HYDRA_SKU_COMMAND_Tstruct MXL_HYDRA_DEMOD_LOCK_Tstruct MXL_HYDRA_DEMOD_STATUS_DVBS_Tstruct MXL_HYDRA_DEMOD_STATUS_DSS_Tstruct MXL_HYDRA_DEMOD_STATUS_DVBS2_Tstruct MXL_HYDRA_DEMOD_STATUS_Tstruct MXL_HYDRA_DEMOD_SIG_OFFSET_INFO_Tstruct MXL_HYDRA_DEMOD_SCRAMBLE_INFO_Tstruct MXL_HYDRA_SPECTRUM_REQ_Tstruct MXL58X_CFG_FREQ_OFF_SEARCH_RANGE_Tstruct MXL_HYDRA_TS_PID_Tstruct MXL_HYDRA_TS_MUX_PREFIX_HEADER_Tstruct MXL_HYDRA_MPEGOUT_PARAM_Tstruct MXL_HYDRA_DEMOD_IQ_SRC_Tstruct MXL_HYDRA_DEMOD_ABORT_TUNE_Tstruct MXL_HYDRA_TUNER_CMDstruct MXL_HYDRA_DEMOD_PARAM_Tstruct MXL_HYDRA_DEMOD_SCRAMBLE_CODE_Tstruct MXL_INTR_CFG_Tstruct MXL_HYDRA_POWER_MODE_CMDstruct MXL_HYDRA_RF_WAKEUP_PARAM_Tstruct MXL_HYDRA_RF_WAKEUP_CFG_Tstruct MXL58X_DSQ_OP_MODE_Tstruct MXL_HYDRA_DISEQC_CFG_CONT_TONE_Tenum MXL_BOOL_Eenum MXL_HYDRA_HOST_CMD_ID_Eenum MXL_CMD_TYPE_Eenum MXL_HYDRA_SKU_TYPE_Eenum MXL_HYDRA_DEMOD_ID_Eenum MXL_DEMOD_CHAN_PARAMS_OFFSET_Eenum MXL_HYDRA_TUNER_ID_Eenum MXL_HYDRA_BCAST_STD_Eenum MXL_HYDRA_FEC_Eenum MXL_HYDRA_MODULATION_Eenum MXL_HYDRA_SPECTRUM_Eenum MXL_HYDRA_ROLLOFF_Eenum MXL_HYDRA_PILOTS_Eenum MXL_HYDRA_CONSTELLATION_SRC_Eenum MXL_HYDRA_SPECTRUM_STEP_SIZE_Eenum MXL_HYDRA_SPECTRUM_RESOLUTION_Eenum MXL_HYDRA_SPECTRUM_ERROR_CODE_Eenum MXL_HYDRA_SEARCH_FREQ_OFFSET_TYPE_E
Annotated Snippet
struct MBIN_FILE_HEADER_T {
u8 id;
u8 fmt_version;
u8 header_len;
u8 num_segments;
u8 entry_address[4];
u8 image_size24[3];
u8 image_checksum;
u8 reserved[4];
};
struct MBIN_FILE_T {
struct MBIN_FILE_HEADER_T header;
u8 data[];
};
struct MBIN_SEGMENT_HEADER_T {
u8 id;
u8 len24[3];
u8 address[4];
};
struct MBIN_SEGMENT_T {
struct MBIN_SEGMENT_HEADER_T header;
u8 data[];
};
enum MXL_CMD_TYPE_E { MXL_CMD_WRITE = 0, MXL_CMD_READ };
#define BUILD_HYDRA_CMD(cmd_id, req_type, size, data_ptr, cmd_buff) \
do { \
cmd_buff[0] = ((req_type == MXL_CMD_WRITE) ? MXL_HYDRA_PLID_CMD_WRITE : MXL_HYDRA_PLID_CMD_READ); \
cmd_buff[1] = (size > 251) ? 0xff : (u8) (size + 4); \
cmd_buff[2] = size; \
cmd_buff[3] = cmd_id; \
cmd_buff[4] = 0x00; \
cmd_buff[5] = 0x00; \
convert_endian(MXL_ENABLE_BIG_ENDIAN, size, (u8 *)data_ptr); \
memcpy((void *)&cmd_buff[6], data_ptr, size); \
} while (0)
struct MXL_REG_FIELD_T {
u32 reg_addr;
u8 lsb_pos;
u8 num_of_bits;
};
struct MXL_DEV_CMD_DATA_T {
u32 data_size;
u8 data[MAX_CMD_DATA];
};
enum MXL_HYDRA_SKU_TYPE_E {
MXL_HYDRA_SKU_TYPE_MIN = 0x00,
MXL_HYDRA_SKU_TYPE_581 = 0x00,
MXL_HYDRA_SKU_TYPE_584 = 0x01,
MXL_HYDRA_SKU_TYPE_585 = 0x02,
MXL_HYDRA_SKU_TYPE_544 = 0x03,
MXL_HYDRA_SKU_TYPE_561 = 0x04,
MXL_HYDRA_SKU_TYPE_5XX = 0x05,
MXL_HYDRA_SKU_TYPE_5YY = 0x06,
MXL_HYDRA_SKU_TYPE_511 = 0x07,
MXL_HYDRA_SKU_TYPE_561_DE = 0x08,
MXL_HYDRA_SKU_TYPE_582 = 0x09,
MXL_HYDRA_SKU_TYPE_541 = 0x0A,
MXL_HYDRA_SKU_TYPE_568 = 0x0B,
MXL_HYDRA_SKU_TYPE_542 = 0x0C,
MXL_HYDRA_SKU_TYPE_MAX = 0x0D,
};
struct MXL_HYDRA_SKU_COMMAND_T {
enum MXL_HYDRA_SKU_TYPE_E sku_type;
};
enum MXL_HYDRA_DEMOD_ID_E {
MXL_HYDRA_DEMOD_ID_0 = 0,
MXL_HYDRA_DEMOD_ID_1,
MXL_HYDRA_DEMOD_ID_2,
MXL_HYDRA_DEMOD_ID_3,
MXL_HYDRA_DEMOD_ID_4,
MXL_HYDRA_DEMOD_ID_5,
MXL_HYDRA_DEMOD_ID_6,
MXL_HYDRA_DEMOD_ID_7,
MXL_HYDRA_DEMOD_MAX
};
#define MXL_DEMOD_SCRAMBLE_SEQ_LEN 12
#define MAX_STEP_SIZE_24_XTAL_102_05_KHZ 195
#define MAX_STEP_SIZE_24_XTAL_204_10_KHZ 215
Annotation
- Detected declarations: `struct MBIN_FILE_HEADER_T`, `struct MBIN_FILE_T`, `struct MBIN_SEGMENT_HEADER_T`, `struct MBIN_SEGMENT_T`, `struct MXL_REG_FIELD_T`, `struct MXL_DEV_CMD_DATA_T`, `struct MXL_HYDRA_SKU_COMMAND_T`, `struct MXL_HYDRA_DEMOD_LOCK_T`, `struct MXL_HYDRA_DEMOD_STATUS_DVBS_T`, `struct MXL_HYDRA_DEMOD_STATUS_DSS_T`.
- Atlas domain: Driver Families / drivers/media.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.