drivers/crypto/intel/qat/qat_common/icp_qat_uclo.h
Source file repositories/reference/linux-study-clean/drivers/crypto/intel/qat/qat_common/icp_qat_uclo.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/crypto/intel/qat/qat_common/icp_qat_uclo.h- Extension
.h- Size
- 15194 bytes
- Lines
- 599
- Domain
- Driver Families
- Bucket
- drivers/crypto
- 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 icp_qat_uclo_pagestruct icp_qat_uclo_regionstruct icp_qat_uclo_aeslicestruct icp_qat_uclo_aedatastruct icp_qat_uof_encap_objstruct icp_qat_uclo_encap_uwblockstruct icp_qat_uclo_encap_pagestruct icp_qat_uclo_encapmestruct icp_qat_uclo_init_mem_tablestruct icp_qat_uclo_objhdrstruct icp_qat_uof_strtablestruct icp_qat_uclo_objhandlestruct icp_qat_uof_uword_blockstruct icp_qat_uof_filehdrstruct icp_qat_uof_filechunkhdrstruct icp_qat_uof_objhdrstruct icp_qat_uof_chunkhdrstruct icp_qat_uof_memvar_attrstruct icp_qat_uof_initmemstruct icp_qat_uof_init_regsymstruct icp_qat_uof_varmem_segstruct icp_qat_uof_gtidstruct icp_qat_uof_sbreakstruct icp_qat_uof_code_pagestruct icp_qat_uof_imagestruct icp_qat_uof_objtablestruct icp_qat_uof_ae_regstruct icp_qat_uof_code_areastruct icp_qat_uof_batch_initstruct icp_qat_suof_img_hdrstruct icp_qat_suof_img_tblstruct icp_qat_suof_handlestruct icp_qat_fw_auth_descstruct icp_qat_auth_chunkstruct icp_qat_css_hdrstruct icp_qat_simg_ae_modestruct icp_qat_suof_filehdrstruct icp_qat_suof_chunk_hdrstruct icp_qat_suof_strtablestruct icp_qat_suof_objhdrstruct icp_qat_mof_file_hdrstruct icp_qat_mof_chunkhdrstruct icp_qat_mof_str_tablestruct icp_qat_mof_obj_hdrstruct icp_qat_mof_obj_chunkhdrstruct icp_qat_mof_objhdrstruct icp_qat_mof_tablestruct icp_qat_mof_handle
Annotated Snippet
struct icp_qat_uclo_page {
struct icp_qat_uclo_encap_page *encap_page;
struct icp_qat_uclo_region *region;
unsigned int flags;
};
struct icp_qat_uclo_region {
struct icp_qat_uclo_page *loaded;
struct icp_qat_uclo_page *page;
};
struct icp_qat_uclo_aeslice {
struct icp_qat_uclo_region *region;
struct icp_qat_uclo_page *page;
struct icp_qat_uclo_page *cur_page[ICP_QAT_UCLO_MAX_CTX];
struct icp_qat_uclo_encapme *encap_image;
unsigned int ctx_mask_assigned;
unsigned int new_uaddr[ICP_QAT_UCLO_MAX_CTX];
};
struct icp_qat_uclo_aedata {
unsigned int slice_num;
unsigned int eff_ustore_size;
struct icp_qat_uclo_aeslice ae_slices[ICP_QAT_UCLO_MAX_CTX];
};
struct icp_qat_uof_encap_obj {
char *beg_uof;
struct icp_qat_uof_objhdr *obj_hdr;
struct icp_qat_uof_chunkhdr *chunk_hdr;
struct icp_qat_uof_varmem_seg *var_mem_seg;
};
struct icp_qat_uclo_encap_uwblock {
unsigned int start_addr;
unsigned int words_num;
u64 micro_words;
};
struct icp_qat_uclo_encap_page {
unsigned int def_page;
unsigned int page_region;
unsigned int beg_addr_v;
unsigned int beg_addr_p;
unsigned int micro_words_num;
unsigned int uwblock_num;
struct icp_qat_uclo_encap_uwblock *uwblock;
};
struct icp_qat_uclo_encapme {
struct icp_qat_uof_image *img_ptr;
struct icp_qat_uclo_encap_page *page;
unsigned int ae_reg_num;
struct icp_qat_uof_ae_reg *ae_reg;
unsigned int init_regsym_num;
struct icp_qat_uof_init_regsym *init_regsym;
unsigned int sbreak_num;
struct icp_qat_uof_sbreak *sbreak;
unsigned int uwords_num;
};
struct icp_qat_uclo_init_mem_table {
unsigned int entry_num;
struct icp_qat_uof_initmem *init_mem;
};
struct icp_qat_uclo_objhdr {
char *file_buff;
unsigned int checksum;
unsigned int size;
};
struct icp_qat_uof_strtable {
unsigned int table_len;
unsigned int reserved;
u64 strings;
};
struct icp_qat_uclo_objhandle {
unsigned int prod_type;
unsigned int prod_rev;
struct icp_qat_uclo_objhdr *obj_hdr;
struct icp_qat_uof_encap_obj encap_uof_obj;
struct icp_qat_uof_strtable str_table;
struct icp_qat_uclo_encapme ae_uimage[ICP_QAT_UCLO_MAX_UIMAGE];
struct icp_qat_uclo_aedata ae_data[ICP_QAT_UCLO_MAX_AE];
struct icp_qat_uclo_init_mem_table init_mem_tab;
struct icp_qat_uof_batch_init *lm_init_tab[ICP_QAT_UCLO_MAX_AE];
struct icp_qat_uof_batch_init *umem_init_tab[ICP_QAT_UCLO_MAX_AE];
int uimage_num;
Annotation
- Detected declarations: `struct icp_qat_uclo_page`, `struct icp_qat_uclo_region`, `struct icp_qat_uclo_aeslice`, `struct icp_qat_uclo_aedata`, `struct icp_qat_uof_encap_obj`, `struct icp_qat_uclo_encap_uwblock`, `struct icp_qat_uclo_encap_page`, `struct icp_qat_uclo_encapme`, `struct icp_qat_uclo_init_mem_table`, `struct icp_qat_uclo_objhdr`.
- Atlas domain: Driver Families / drivers/crypto.
- 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.