# kimsultech/android_kernel_xiaomi_msm8953-4.9 architecture

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

- Interactive diagram: https://gitdiagram.com/kimsultech/android_kernel_xiaomi_msm8953-4.9
- Repository: https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9

## Overview

Linux 4.x is a general-purpose operating-system kernel, not a single application. Its broad user-to-result workflow is applications making system requests that the kernel serves using architecture-specific and subsystem code, with hardware drivers mediating device operations. The sampled files show several distinct branches—graphics, crypto acceleration, USB, audio, storage, and power—but not a complete end-to-end request path. The README establishes the kernel’s broad capabilities; dashed edges mark workflows or subsystem relations not directly evidenced by the excerpts.

Main entry points: [`init/main.c`](https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/init/main.c) (Kernel entry), [`drivers/crypto/ccp/ccp-dmaengine.c`](https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/drivers/crypto/ccp/ccp-dmaengine.c) (CCP DMA), [`drivers/crypto/qat/qat_common/adf_accel_engine.c`](https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/drivers/crypto/qat/qat_common/adf_accel_engine.c) (QAT accelerator), [`drivers/gpu/drm/i915/intel_engine_cs.c`](https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/drivers/gpu/drm/i915/intel_engine_cs.c) (i915 engines)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_runtime["Kernel runtime"]
  node_kernel_entry["Kernel entry<br/>[main.c]"]
end

subgraph group_hardware["Architecture and devices"]
  node_alpha_setup["Alpha setup<br/>[setup.c]"]
  node_arm_setup["ARM setup<br/>[devtree.c]"]
  node_dma_core["DMA engine<br/>[dmaengine.c]"]
end

subgraph group_compute["Compute and media"]
  node_crypto_engine["Crypto engine<br/>[crypto_engine.c]"]
  node_ccp_dma["CCP DMA<br/>[ccp-dmaengine.c]"]
  node_qat_engine["QAT accelerator<br/>[adf_accel_engine.c]"]
  node_i915_engine["i915 engines<br/>[intel_engine_cs.c]"]
  node_audio_dsp["Audio DSP pipeline<br/>[dsp_pipeline.c]"]
end

subgraph group_io["Storage and connectivity"]
  node_usb_storage["USB mass storage<br/>[f_mass_storage.c]"]
  node_usb_pd["USB PD policy<br/>[policy_engine.c]"]
  node_romfs["RomFS storage<br/>[storage.c]"]
  node_networking["Networking<br/>[main.c]"]
end

subgraph group_platform["Platform services"]
  node_power_management["Power management<br/>[main.c]"]
  node_charger_manager["Charger manager<br/>[charger-manager.c]"]
end

node_application(("Applications"))

node_application -.->|"requests services"| node_kernel_entry
node_kernel_entry -.->|"initializes platform"| node_alpha_setup
node_kernel_entry -.->|"initializes platform"| node_arm_setup
node_ccp_dma -->|"uses DMA API"| node_dma_core
node_qat_engine -.->|"accelerates crypto"| node_crypto_engine
node_i915_engine -.->|"serves graphics"| node_application
node_usb_storage -.->|"serves storage"| node_application
node_romfs -.->|"provides files"| node_application
node_networking -.->|"provides networking"| node_application
node_usb_pd -.->|"coordinates power"| node_charger_manager

click node_kernel_entry "https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/init/main.c"
click node_alpha_setup "https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/arch/alpha/kernel/setup.c"
click node_arm_setup "https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/arch/arm/kernel/devtree.c"
click node_dma_core "https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/drivers/dma/dmaengine.c"
click node_crypto_engine "https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/crypto/crypto_engine.c"
click node_ccp_dma "https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/drivers/crypto/ccp/ccp-dmaengine.c"
click node_qat_engine "https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/drivers/crypto/qat/qat_common/adf_accel_engine.c"
click node_i915_engine "https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/drivers/gpu/drm/i915/intel_engine_cs.c"
click node_audio_dsp "https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/drivers/isdn/mISDN/dsp_pipeline.c"
click node_usb_storage "https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/drivers/usb/gadget/function/f_mass_storage.c"
click node_usb_pd "https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/drivers/usb/pd/policy_engine.c"
click node_romfs "https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/fs/romfs/storage.c"
click node_networking "https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/net/mac80211/main.c"
click node_power_management "https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/kernel/power/main.c"
click node_charger_manager "https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/drivers/power/supply/charger-manager.c"

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_kernel_entry toneBlue
class node_alpha_setup,node_arm_setup,node_dma_core toneAmber
class node_crypto_engine,node_ccp_dma,node_qat_engine,node_i915_engine,node_audio_dsp toneMint
class node_usb_storage,node_usb_pd,node_romfs,node_networking toneRose
class node_power_management,node_charger_manager,node_application toneIndigo
```

## Components

### Kernel runtime

- [Kernel entry](https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/init/main.c): `init/main.c`

### Architecture and devices

- [Alpha setup](https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/arch/alpha/kernel/setup.c): `arch/alpha/kernel/setup.c`
- [ARM setup](https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/arch/arm/kernel/devtree.c): `arch/arm/kernel/devtree.c`
- [DMA engine](https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/drivers/dma/dmaengine.c): `drivers/dma/dmaengine.c`

### Compute and media

- [Crypto engine](https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/crypto/crypto_engine.c): `crypto/crypto_engine.c`
- [CCP DMA](https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/drivers/crypto/ccp/ccp-dmaengine.c): `drivers/crypto/ccp/ccp-dmaengine.c`
- [QAT accelerator](https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/drivers/crypto/qat/qat_common/adf_accel_engine.c): `drivers/crypto/qat/qat_common/adf_accel_engine.c`
- [i915 engines](https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/drivers/gpu/drm/i915/intel_engine_cs.c): `drivers/gpu/drm/i915/intel_engine_cs.c`
- [Audio DSP pipeline](https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/drivers/isdn/mISDN/dsp_pipeline.c): `drivers/isdn/mISDN/dsp_pipeline.c`

### Storage and connectivity

- [USB mass storage](https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/drivers/usb/gadget/function/f_mass_storage.c): `drivers/usb/gadget/function/f_mass_storage.c`
- [USB PD policy](https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/drivers/usb/pd/policy_engine.c): `drivers/usb/pd/policy_engine.c`
- [RomFS storage](https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/fs/romfs/storage.c): `fs/romfs/storage.c`
- [Networking](https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/net/mac80211/main.c): `net/mac80211/main.c`

### Platform services

- [Power management](https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/kernel/power/main.c): `kernel/power/main.c`
- [Charger manager](https://github.com/kimsultech/android_kernel_xiaomi_msm8953-4.9/blob/PWR/drivers/power/supply/charger-manager.c): `drivers/power/supply/charger-manager.c`

### Other components

- **Applications**

## Connections

- Applications → Kernel entry: requests services (evidence: `README`)
- Kernel entry → Alpha setup: initializes platform
- Kernel entry → ARM setup: initializes platform
- CCP DMA → DMA engine: uses DMA API (evidence: `drivers/crypto/ccp/ccp-dmaengine.c`)
- QAT accelerator → Crypto engine: accelerates crypto
- i915 engines → Applications: serves graphics
- USB mass storage → Applications: serves storage
- RomFS storage → Applications: provides files
- Networking → Applications: provides networking
- USB PD policy → Charger manager: coordinates power
