MyungJoo Ham System SW Lab SW Platform Team SWC
ARM Reference Kernel of Tizen 3
MyungJoo Ham, Ph.D. Tizen “System Domain” & “Base Domain” Architect Samsung Electronics
ARM Reference Kernel of Tizen 3 MyungJoo Ham, Ph.D. MyungJoo Ham - - PowerPoint PPT Presentation
ARM Reference Kernel of Tizen 3 MyungJoo Ham, Ph.D. MyungJoo Ham Tizen System Domain & Base Domain Architect System SW Lab SW Platform Team SWC Samsung Electronics ARM Reference Kernel of Tizen 3 1. What is it? 2. Idea
MyungJoo Ham System SW Lab SW Platform Team SWC
MyungJoo Ham, Ph.D. Tizen “System Domain” & “Base Domain” Architect Samsung Electronics
3
Image from seoz.com
BSP Validated & Tested for the Reference Devices
4
Image from seoz.com
BSP Validated & Tested for the Reference Devices
5
1 KDBUS, User PM-QoS, PASS, DMABUF Sync FW, … 2 CMA, DRM-Exynos, Devfreq, Extcon, Charger-manager, LAB/Turboboost …
6
1. Forked from production kernel. 2. Hard to read
7
9
10
11
12
kernel/platform.
Show Case for Vendors
13
14
Smaller Size / Faster Boot
16
Kern rnel Kernel OAL (OEM Adaptation Layer)
Telephony Plug-ins GStreamer Plug-ins Sensor Plug-ins System Plug-ins OpenGL ES/EGL Graphics Driver
Graphics Memory Management
IOMMU DMA BUF
Multimedia Power Management
CPUfre q Devf req Ther mal … DRM V4L2
Storage
Block Layer MMC/Flash Input, Sensor (IIO), …
Peripheral
CMA OpenGL ES 1.0/2.0 X11 GStreamer EFL . . . Multimedia FW Telephony FW . . . Sensor FW System FW . . .
Cor Core
17
Standard “Acceleromete r” Plugin (XML)
Kernel
driver B (IIO)
driver C (IIO) Standard “Magnetic” Plugin (XML) Sensor Fusion Plugins
18
19
20
21
drm_fb_helper drm_mode_config
Linux DRM Common Framework
GEM drm_framebuffer fb_info Crtc Connector Encoder GEM Allocator Plane Common Specific drm_framebuffer Crtc Connector Encoder Plane
22
drm_fb_helper drm_mode_config
Linux DRM Common Framework
GEM drm_framebuffer fb_info Crtc Connector Encoder GEM Allocator Plane Common Specific drm_framebuffer Crtc Connector Encoder Plane
libdrm updated with Tizen 3
23
drm_fb_helper drm_mode_config
Linux DRM Common Framework
GEM drm_framebuffer fb_info Crtc Connector Encoder GEM Allocator Plane Common Specific drm_framebuffer Crtc Connector Encoder Plane
Questions from Embedded Vendors… “What if SoC vendor supports FrameBuffer only?” Use Framebuffer (No DRM-KMS) + DRM-GEM libdrm updated with Tizen 3
24
Kernel / Device Drivers (BSP) Kernel / Core & Subsystem X Server DRM Framework
GEM
Display HDMI Virtual Display Post Processor
(maybe relocated)
G2D
EFL
Evas
2D GPU backend X Video Drivers
Userptr
NEON 2D GPU backend
PIXMAN EXA
V4L2
VB2
Codec Camera
GStreamer OpenMAX Libdrm
XV Extension
UMM Open GL Multimedia FW
XvImageSink
Core External Library Core Framework OEM Adaptation Kernel
Kernel
GPU DDK (G3D)
Radio
* Images from MS Office clipart and Samsung
Gstreamer- CameraSrc
DMABUF
25
Kernel / Device Drivers (BSP) Kernel / Core & Subsystem X Server DRM Framework
GEM
Display HDMI Virtual Display Post Processor
(maybe relocated)
G2D
EFL
Evas
2D GPU backend X Video Drivers
Userptr
NEON 2D GPU backend
PIXMAN EXA
V4L2
VB2
Codec Camera
GStreamer OpenMAX Libdrm
XV Extension
UMM Open GL Multimedia FW
XvImageSink
Core External Library Core Framework OEM Adaptation Kernel
Kernel
GPU DDK (G3D)
Radio
* Images from MS Office clipart and Samsung
Gstreamer- CameraSrc
DMABUF
Being Heavily Updated for Better Performance & Lower Power. (Available in LKML as well)
26
DRM / GEM DMA Mapping Framework IOMMU Buddy CMA IOMMU Common Driver System Memory V4L2 / VB2 1 2 2 2
27
Better Power-Performance Efficiency Upstreaming at the same time.
28
29
30
31
Packages (2014/5/23) Success: 796 Failed: 24 Unresolvable: 25
https://build.tizen.org/project/show?project=devel%3Aarm_toolchain%3AMobile%3AMain
32
34
1 As of 2014.5., Linux 3.10 2 Intel IA Referenece: Linux 3.15 For 3.0, LTS/LTSI won’t be supported. Intel is also going to support LTS/LTSI from the next version.
35
1 We need to publish “minimized .config” for Tizen 3
1 No new devices/Linux to support
1 Virtually no memory saving 2 Userspace might suffer from inefficient memory usage.