drivers/staging/media/atomisp/pci/input_system_local.h
Source file repositories/reference/linux-study-clean/drivers/staging/media/atomisp/pci/input_system_local.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/staging/media/atomisp/pci/input_system_local.h- Extension
.h- Size
- 3548 bytes
- Lines
- 143
- Domain
- Driver Families
- Bucket
- drivers/staging
- 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
type_support.hinput_system_global.hisp2401_input_system_local.hisp2400_input_system_local.h
Detected Declarations
struct ctrl_unit_cfg_sstruct input_system_network_cfg_sstruct input_switch_cfg_channel_sstruct backend_channel_cfg_sstruct input_switch_cfg_sstruct rx_cfg_senum mipi_compressor
Annotated Snippet
struct ctrl_unit_cfg_s {
isp2400_ib_buffer_t buffer_mipi[N_CAPTURE_UNIT_ID];
isp2400_ib_buffer_t buffer_acquire[N_ACQUISITION_UNIT_ID];
};
struct input_system_network_cfg_s {
input_system_connection_t multicast_cfg[N_CAPTURE_UNIT_ID];
input_system_multiplex_t mux_cfg;
ctrl_unit_cfg_t ctrl_unit_cfg[N_CTRL_UNIT_ID];
};
typedef struct {
// TBD.
u32 dummy_parameter;
} target_isp_cfg_t;
typedef struct {
// TBD.
u32 dummy_parameter;
} target_sp_cfg_t;
typedef struct {
// TBD.
u32 dummy_parameter;
} target_strm2mem_cfg_t;
struct input_switch_cfg_channel_s {
u32 hsync_data_reg[2];
u32 vsync_data_reg;
};
struct backend_channel_cfg_s {
u32 fmt_control_word_1; // Format config.
u32 fmt_control_word_2;
u32 no_side_band;
};
typedef union {
csi_cfg_t csi_cfg;
tpg_cfg_t tpg_cfg;
prbs_cfg_t prbs_cfg;
gpfifo_cfg_t gpfifo_cfg;
} source_cfg_t;
struct input_switch_cfg_s {
u32 hsync_data_reg[N_RX_CHANNEL_ID * 2];
u32 vsync_data_reg;
};
/*
* In 2300 ports can be configured independently and stream
* formats need to be specified. In 2400, there are only 8
* supported configurations but the HW is fused to support
* only a single one.
*
* In 2300 the compressed format types are programmed by the
* user. In 2400 all stream formats are encoded on the stream.
*
* Use the enum to check validity of a user configuration
*/
typedef enum {
MONO_4L_1L_0L = 0,
MONO_3L_1L_0L,
MONO_2L_1L_0L,
MONO_1L_1L_0L,
STEREO_2L_1L_2L,
STEREO_3L_1L_1L,
STEREO_2L_1L_1L,
STEREO_1L_1L_1L,
N_RX_MODE
} rx_mode_t;
#define UNCOMPRESSED_BITS_PER_PIXEL_10 10
#define UNCOMPRESSED_BITS_PER_PIXEL_12 12
#define COMPRESSED_BITS_PER_PIXEL_6 6
#define COMPRESSED_BITS_PER_PIXEL_7 7
#define COMPRESSED_BITS_PER_PIXEL_8 8
enum mipi_compressor {
MIPI_COMPRESSOR_NONE = 0,
MIPI_COMPRESSOR_10_6_10,
MIPI_COMPRESSOR_10_7_10,
MIPI_COMPRESSOR_10_8_10,
MIPI_COMPRESSOR_12_6_12,
MIPI_COMPRESSOR_12_7_12,
MIPI_COMPRESSOR_12_8_12,
N_MIPI_COMPRESSOR_METHODS
};
typedef enum mipi_compressor mipi_compressor_t;
Annotation
- Immediate include surface: `type_support.h`, `input_system_global.h`, `isp2401_input_system_local.h`, `isp2400_input_system_local.h`.
- Detected declarations: `struct ctrl_unit_cfg_s`, `struct input_system_network_cfg_s`, `struct input_switch_cfg_channel_s`, `struct backend_channel_cfg_s`, `struct input_switch_cfg_s`, `struct rx_cfg_s`, `enum mipi_compressor`.
- Atlas domain: Driver Families / drivers/staging.
- 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.