# manish4586/android_kernel_xiaomi_jasmine_sprout architecture

> Architecture diagram of the GitHub repository manish4586/android_kernel_xiaomi_jasmine_sprout, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/manish4586/android_kernel_xiaomi_jasmine_sprout
- Repository: https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout

## Overview

This is the Linux kernel: a monolithic operating-system kernel providing architecture support, device drivers, filesystems, and shared runtime services. The supplied tree spans many unrelated kernel areas, so the graph presents selected substantial subsystems rather than implying a single end-to-end request pipeline. Shown relationships are limited to explicit source-index references or excerpted includes; most subsystem internals and their runtime wiring were not sampled.

Main entry points: [`drivers/crypto/qat/qat_common/adf_accel_engine.c`](https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/crypto/qat/qat_common/adf_accel_engine.c) (QAT firmware engine), [`drivers/crypto/ccp/ccp-dmaengine.c`](https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/crypto/ccp/ccp-dmaengine.c) (CCP DMA driver), [`drivers/gpu/drm/i915/intel_engine_cs.c`](https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/gpu/drm/i915/intel_engine_cs.c) (i915 engine runtime), [`include/linux/dmaengine.h`](https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/include/linux/dmaengine.h) (DMA engine API)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_crypto["Crypto acceleration"]
  node_crypto_engine["Crypto engine<br/>[crypto_engine.c]"]
  node_ccp_dma["CCP DMA driver<br/>[ccp-dmaengine.c]"]
  node_ccp_device["CCP device model<br/>[ccp-dev.h]"]
  node_qat_engine["QAT firmware engine<br/>[adf_accel_engine.c]"]
  node_qat_devices["QAT device model"]
  node_qat_config["QAT configuration<br/>[adf_cfg_common.h]"]
  node_qat_driver_types["QAT driver types<br/>[adf_common_drv.h]"]
  node_qat_loader["QAT object loader<br/>[icp_qat_uclo.h]"]
end

subgraph group_graphics["Graphics driver"]
  node_i915_engine["i915 engine runtime<br/>[intel_engine_cs.c]"]
  node_i915_driver["i915 driver model"]
  node_i915_ring["i915 ring requests<br/>[intel_ringbuffer.h]"]
end

subgraph group_usb["USB functions"]
  node_usb_pd["USB PD policy<br/>[policy_engine.c]"]
  node_mass_storage["USB mass storage<br/>[f_mass_storage.c]"]
  node_mass_storage_types["Mass storage types<br/>[storage_common.h]"]
end

subgraph group_storage["Storage and filesystems"]
  node_romfs_storage["RomFS access<br/>[storage.c]"]
  node_romfs_internal["RomFS internals<br/>[internal.h]"]
end

subgraph group_platform["Platform and media"]
  node_dsp_pipeline["DSP pipeline<br/>[dsp_pipeline.c]"]
  node_pcmcia_nano["NanoEngine PCMCIA"]
  node_pcmcia_common["SA11xx PCMCIA support<br/>[sa1100_generic.h]"]
end

node_dmaengine["DMA engine core<br/>[dmaengine.c]"]
node_dmaengine_api["DMA engine API<br/>[dmaengine.h]"]

node_ccp_dma -->|"references"| node_ccp_device
node_ccp_dma -->|"uses API"| node_dmaengine
node_ccp_dma -->|"uses API"| node_dmaengine_api
node_qat_engine -->|"uses types"| node_qat_devices
node_qat_engine -->|"uses configuration"| node_qat_config
node_qat_engine -->|"references"| node_qat_driver_types
node_qat_engine -->|"uses loader"| node_qat_loader
node_i915_engine -->|"uses driver definitions"| node_i915_driver
node_i915_engine -->|"uses ring definitions"| node_i915_ring
node_mass_storage -->|"uses definitions"| node_mass_storage_types
node_romfs_storage -->|"uses definitions"| node_romfs_internal
node_dsp_pipeline -.-> node_dmaengine_api
node_pcmcia_nano -->|"includes support"| node_pcmcia_common

click node_crypto_engine "https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/crypto/crypto_engine.c"
click node_ccp_dma "https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/crypto/ccp/ccp-dmaengine.c"
click node_ccp_device "https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/crypto/ccp/ccp-dev.h"
click node_qat_engine "https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/crypto/qat/qat_common/adf_accel_engine.c"
click node_qat_devices "https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/crypto/qat/qat_common/adf_accel_devices.h"
click node_qat_config "https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/crypto/qat/qat_common/adf_cfg_common.h"
click node_qat_driver_types "https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/crypto/qat/qat_common/adf_common_drv.h"
click node_qat_loader "https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/crypto/qat/qat_common/icp_qat_uclo.h"
click node_i915_engine "https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/gpu/drm/i915/intel_engine_cs.c"
click node_i915_driver "https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/tree/Q-4.14/drivers/gpu/drm/i915"
click node_i915_ring "https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/gpu/drm/i915/intel_ringbuffer.h"
click node_usb_pd "https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/usb/pd/policy_engine.c"
click node_mass_storage "https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/usb/gadget/function/f_mass_storage.c"
click node_mass_storage_types "https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/usb/gadget/function/storage_common.h"
click node_romfs_storage "https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/fs/romfs/storage.c"
click node_romfs_internal "https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/fs/romfs/internal.h"
click node_dsp_pipeline "https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/isdn/mISDN/dsp_pipeline.c"
click node_pcmcia_nano "https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/pcmcia/sa1100_nanoengine.c"
click node_pcmcia_common "https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/pcmcia/sa1100_generic.h"
click node_dmaengine "https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/dma/dmaengine.c"
click node_dmaengine_api "https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/include/linux/dmaengine.h"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_crypto_engine,node_ccp_dma,node_ccp_device,node_qat_engine,node_qat_devices,node_qat_config,node_qat_driver_types,node_qat_loader toneBlue
class node_i915_engine,node_i915_driver,node_i915_ring toneAmber
class node_usb_pd,node_mass_storage,node_mass_storage_types,node_dmaengine_api toneMint
class node_romfs_storage,node_romfs_internal toneRose
class node_dsp_pipeline,node_pcmcia_nano,node_pcmcia_common toneIndigo
class node_dmaengine toneTeal
```

## Components

### Crypto acceleration

- [Crypto engine](https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/crypto/crypto_engine.c): `crypto/crypto_engine.c`
- [CCP DMA driver](https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/crypto/ccp/ccp-dmaengine.c): `drivers/crypto/ccp/ccp-dmaengine.c`
- [CCP device model](https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/crypto/ccp/ccp-dev.h): `drivers/crypto/ccp/ccp-dev.h`
- [QAT firmware engine](https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/crypto/qat/qat_common/adf_accel_engine.c): `drivers/crypto/qat/qat_common/adf_accel_engine.c`
- [QAT device model](https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/crypto/qat/qat_common/adf_accel_devices.h): `drivers/crypto/qat/qat_common/adf_accel_devices.h`
- [QAT configuration](https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/crypto/qat/qat_common/adf_cfg_common.h): `drivers/crypto/qat/qat_common/adf_cfg_common.h`
- [QAT driver types](https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/crypto/qat/qat_common/adf_common_drv.h): `drivers/crypto/qat/qat_common/adf_common_drv.h`
- [QAT object loader](https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/crypto/qat/qat_common/icp_qat_uclo.h): `drivers/crypto/qat/qat_common/icp_qat_uclo.h`

### Graphics driver

- [i915 engine runtime](https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/gpu/drm/i915/intel_engine_cs.c): `drivers/gpu/drm/i915/intel_engine_cs.c`
- [i915 driver model](https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/tree/Q-4.14/drivers/gpu/drm/i915): `drivers/gpu/drm/i915`
- [i915 ring requests](https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/gpu/drm/i915/intel_ringbuffer.h): `drivers/gpu/drm/i915/intel_ringbuffer.h`

### USB functions

- [USB PD policy](https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/usb/pd/policy_engine.c): `drivers/usb/pd/policy_engine.c`
- [USB mass storage](https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/usb/gadget/function/f_mass_storage.c): `drivers/usb/gadget/function/f_mass_storage.c`
- [Mass storage types](https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/usb/gadget/function/storage_common.h): `drivers/usb/gadget/function/storage_common.h`

### Storage and filesystems

- [RomFS access](https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/fs/romfs/storage.c): `fs/romfs/storage.c`
- [RomFS internals](https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/fs/romfs/internal.h): `fs/romfs/internal.h`

### Platform and media

- [DSP pipeline](https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/isdn/mISDN/dsp_pipeline.c): `drivers/isdn/mISDN/dsp_pipeline.c`
- [NanoEngine PCMCIA](https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/pcmcia/sa1100_nanoengine.c): `drivers/pcmcia/sa1100_nanoengine.c`
- [SA11xx PCMCIA support](https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/pcmcia/sa1100_generic.h): `drivers/pcmcia/sa1100_generic.h`

### Other components

- [DMA engine core](https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/drivers/dma/dmaengine.c): `drivers/dma/dmaengine.c`
- [DMA engine API](https://github.com/manish4586/android_kernel_xiaomi_jasmine_sprout/blob/Q-4.14/include/linux/dmaengine.h): `include/linux/dmaengine.h`

## Connections

- CCP DMA driver → CCP device model: references (evidence: `drivers/crypto/ccp/ccp-dmaengine.c`)
- CCP DMA driver → DMA engine core: uses API (evidence: `drivers/crypto/ccp/ccp-dmaengine.c`)
- CCP DMA driver → DMA engine API: uses API (evidence: `drivers/crypto/ccp/ccp-dmaengine.c`)
- QAT firmware engine → QAT device model: uses types (evidence: `drivers/crypto/qat/qat_common/adf_accel_engine.c`)
- QAT firmware engine → QAT configuration: uses configuration (evidence: `drivers/crypto/qat/qat_common/adf_accel_engine.c`)
- QAT firmware engine → QAT driver types: references (evidence: `drivers/crypto/qat/qat_common/adf_accel_engine.c`)
- QAT firmware engine → QAT object loader: uses loader (evidence: `drivers/crypto/qat/qat_common/adf_accel_engine.c`)
- i915 engine runtime → i915 driver model: uses driver definitions (evidence: `drivers/gpu/drm/i915/intel_engine_cs.c`)
- i915 engine runtime → i915 ring requests: uses ring definitions (evidence: `drivers/gpu/drm/i915/intel_engine_cs.c`)
- USB mass storage → Mass storage types: uses definitions (evidence: `drivers/usb/gadget/function/f_mass_storage.c`)
- RomFS access → RomFS internals: uses definitions (evidence: `fs/romfs/storage.c`)
- DSP pipeline → DMA engine API
- NanoEngine PCMCIA → SA11xx PCMCIA support: includes support (evidence: `drivers/pcmcia/sa1100_nanoengine.c`)
