drivers/staging/media/atomisp/pci/runtime/isys/interface/ia_css_isys.h
Source file repositories/reference/linux-study-clean/drivers/staging/media/atomisp/pci/runtime/isys/interface/ia_css_isys.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/staging/media/atomisp/pci/runtime/isys/interface/ia_css_isys.h- Extension
.h- Size
- 5122 bytes
- Lines
- 168
- 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.hia_css_input_port.hia_css_stream_format.hia_css_stream_public.hsystem_global.hia_css_isys_comm.h
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
#ifndef __IA_CSS_ISYS_H__
#define __IA_CSS_ISYS_H__
#include <type_support.h>
#include <input_system.h>
#include <ia_css_input_port.h>
#include <ia_css_stream_format.h>
#include <ia_css_stream_public.h>
#include <system_global.h>
#include "ia_css_isys_comm.h"
/**
* Virtual Input System. (Input System 2401)
*/
typedef isp2401_input_system_cfg_t ia_css_isys_descr_t;
/* end of Virtual Input System */
input_system_err_t ia_css_isys_init(void);
void ia_css_isys_uninit(void);
enum mipi_port_id ia_css_isys_port_to_mipi_port(
enum mipi_port_id api_port);
/**
* @brief Register one (virtual) stream. This is used to track when all
* virtual streams are configured inside the input system. The CSI RX is
* only started when all registered streams are configured.
*
* @param[in] port CSI port
* @param[in] isys_stream_id Stream handle generated with ia_css_isys_generate_stream_id()
* Must be lower than SH_CSS_MAX_ISYS_CHANNEL_NODES
* @return 0 if successful, -EINVAL if
* there is already a stream registered with the same handle
*/
int ia_css_isys_csi_rx_register_stream(
enum mipi_port_id port,
uint32_t isys_stream_id);
/**
* @brief Unregister one (virtual) stream. This is used to track when all
* virtual streams are configured inside the input system. The CSI RX is
* only started when all registered streams are configured.
*
* @param[in] port CSI port
* @param[in] isys_stream_id Stream handle generated with ia_css_isys_generate_stream_id()
* Must be lower than SH_CSS_MAX_ISYS_CHANNEL_NODES
* @return 0 if successful, -EINVAL if
* there is no stream registered with that handle
*/
int ia_css_isys_csi_rx_unregister_stream(
enum mipi_port_id port,
uint32_t isys_stream_id);
int ia_css_isys_convert_compressed_format(
struct ia_css_csi2_compression *comp,
struct isp2401_input_system_cfg_s *cfg);
unsigned int ia_css_csi2_calculate_input_system_alignment(
enum atomisp_input_format fmt_type);
/* CSS Receiver */
void ia_css_isys_rx_configure(
const rx_cfg_t *config,
const enum ia_css_input_mode input_mode);
void ia_css_isys_rx_disable(void);
void ia_css_isys_rx_enable_all_interrupts(enum mipi_port_id port);
unsigned int ia_css_isys_rx_get_interrupt_reg(enum mipi_port_id port);
void ia_css_isys_rx_get_irq_info(enum mipi_port_id port,
unsigned int *irq_infos);
void ia_css_isys_rx_clear_irq_info(enum mipi_port_id port,
unsigned int irq_infos);
unsigned int ia_css_isys_rx_translate_irq_infos(unsigned int bits);
/* @brief Translate format and compression to format type.
*
* @param[in] input_format The input format.
* @param[in] compression The compression scheme.
* @param[out] fmt_type Pointer to the resulting format type.
* @return Error code.
*
* Translate an input format and mipi compression pair to the fmt_type.
* This is normally done by the sensor, but when using the input fifo, this
* format type must be sumitted correctly by the application.
*/
int ia_css_isys_convert_stream_format_to_mipi_format(
enum atomisp_input_format input_format,
Annotation
- Immediate include surface: `type_support.h`, `input_system.h`, `ia_css_input_port.h`, `ia_css_stream_format.h`, `ia_css_stream_public.h`, `system_global.h`, `ia_css_isys_comm.h`.
- 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.