Display and Kernel Review and Future

Size: px
Start display at page:

Download "Display and Kernel Review and Future"

Transcription

1 Display and Kernel Review and Future Kernel Recipes 2013 Paris Laurent Pinchart

2

3 Problem Definition

4 display /

5 / graphics /

6 / video

7 display / graphics / video Problem - Purpose

8 format

9 memory / deep pipeline

10 device / CPU

11 format memory / deep pipeline device / CPU Problem - Source

12 rotation /

13 / scaling /

14 / composing

15 rotation scaling composing Problem - Processing

16 X11 /

17 / Wayland /

18 / MIR /

19 / SDL /

20 / DirectFB /

21 / Raw API

22 X11 Wayland SDL DirectFB Raw API Problem - Stack

23 DRM /

24 / FBDEV /

25 / V4L2

26 DRM FBDEV V4L2 Problem - API

27 Frame Buffer Display Scanout

28 CRTC Composition Plane(s) Display Composition

29

30

31

32

33

34 Origins

35 Origins FBDEV 2012 ng at s Li nu x Fo rm ki 4C C Bl an FB D EV,

36 Origins V4L pr e te d M vi ed de ia ob co uf nt D 2 rol M le r AB U F ev ca su bd de V4 L2 V4 L x x nu in u Li,L V4 L2, V4 L

37 Origins DRM/KMS EM F Bu ffe es r s,d M AB U b Pl an D um x TT M M,L in u KM S, G D R

38 Features

39 DRM FB V4L2 Dynamic Allocation Yes No Yes Multiple Buffers Yes panning Yes Import dmabuf No userptr dmabuf Export mmap mmap mmap Memory Management

40 Formats DRM FB V4L2 4CC RGB 4CC 4CC No Yes Enumeration Planes Negotiation No No Yes Atomicity Yes No No Mode Setting

41 DRM FB V4L2 Overlays Yes No Yes Rotation Yes No Yes Scaling Yes No Yes Cropping/Panning Yes Yes Yes Transformations

42 drm fb v4l2 api core Documentation drivers

43 The DRM core exports several interfaces to applications, generally intended to be used through corresponding libdrm wrapper functions. In addition, drivers export device-specific interfaces for use by userspace drivers & device-aware applications through ioctls and sysfs files. External interfaces include: memory mapping, context management, DMA operations, AGP management, vblank control, fence management, memory management, and output management. Cover generic ioctls and sysfs layout here. We only need highlevel info, since man pages should cover the rest. DRM API Documentation

44 drm fb v4l2 api core Documentation drivers

45 drm fb v4l2 api core Code Size drivers

46 drm fb v4l v4l2 fb 0 drm Cumulative Changes - API

47 drm fb v4l v4l fb drm Cumulative Changes - Core

48 drm fb v4l v4l fb drm Cumulative Changes - Drivers

49 drm fb v4l2 drm+bug Mailing List Traffic

50 Frame Buffer (memory) Display Device Device Model FBDEV

51 Frame Buffer (memory) CRTC Encoder Connector Connector Planes (memory) Encoder Connector Device Model DRM/KMS

52 Buffers (memory) Display Device Device Model V4L2 Connector

53 V4L2 queue V4L2 2 subdev 0 V4L2 1 subdev Device Model V4L2/MC

54 Device Model V4L2/MC

55 Use Cases

56 Use Cases - FBDEV

57 (that's it...) Use Cases - FBDEV

58 Video Use Cases - V4L2

59 Everything else Use Cases DRM/KMS

60 fbdev FB vs. DRM - sloccount

61 fbdev drm FB vs. DRM - sloccount

62 drm kms exynos i810 i915 mga nouveau r128 radeon savage sis via DRM/KMS API

63 Frame Buffer (memory) CRTC Plane (memory) Memory Encoder Connector Encoder Connector SoC KMS - Device Model Off-Chip

64 Frame Buffer GEM Object(s) Memory width height format pitches offsets Properties KMS Frame Buffer CRTC

65 Frame Buffer GEM Object width height bpp pitch size CRTC Memory Properties DRM/KMS GEM Object

66 Process A Process B 3 Send FD SCM_RIGHTS 1 Local Handle Global FD Global FD 2 GEM Object DRM Handles 4 Local Handle

67 sync back porch Active Area active area front porch KMS Modes (1/2)

68 hdisplay hsync_start hsync_end htotal sync back porch Active Area active area front porch KMS Modes (2/2)

69 fb Active Area mode mode.vdisplay y x crtc mode.hdisplay struct drm_mode_set { struct drm_framebuffer *fb; struct drm_crtc *crtc; struct drm_display_mode *mode; uint32_t x; uint32_t y; struct drm_connector **connectors; size_t num_connectors; }; KMS Mode Setting *connectors num_connectors

70 Source:

71 Common Display Framework WIP Display Framework

72 Entity Entity Link Port CDF - Entity Model

73 hdmi_encoder { ports { #address-cells = <1>; #size-cells = <0>; port@0 { hdmi_input: endpoint@0 { remote = <&display_output>; }; }; port@1 { endpoint@0 {... }; endpoint@1 {... }; }; }; }; CDF - Device Tree

74 Display Controller Video control Entity Entity Entity control Pipeline Controller CDF - Configuration Model

75 streaming control Display Controller Video Entity Entity streaming control CDF - Streaming Control Entity

76 FBDEV DRM DT Display Controller Driver Panel Driver pdata Control Bus API DSI SPI/I2C CDF - Integration Mem Map

77 Contact

78 ?!

79 merci.

DRM(Direct Rendering Manager) of Tizen Kernel Joonyoung Shim

DRM(Direct Rendering Manager) of Tizen Kernel Joonyoung Shim DRM(Direct Rendering Manager) of Tizen Kernel Joonyoung Shim jy0922.shim@samsung.com Contents What is DRM Why DRM What can we do How to implement Tizen kernel DRM Exynos DRM driver Future work 2 What is

More information

Media Controller (MC) and OMAP2+ Display Subsystem (DSS) Embedded Linux Conference, SFO, 2011 Sumit Semwal

Media Controller (MC) and OMAP2+ Display Subsystem (DSS) Embedded Linux Conference, SFO, 2011 Sumit Semwal Controller (MC) and OMAP+ Display Subsystem (DSS) Embedded Linux Conference, SFO, Sumit Semwal Agenda OMAP+ Display Subsystem (DSS) Overview of OMAP+ DSS Current software design DSS framework Interesting

More information

Bringing display and 3D to the C.H.I.P computer

Bringing display and 3D to the C.H.I.P computer Embedded Linux Conference 2016 Bringing display and 3D to the C.H.I.P computer Maxime Ripard maxime@bootlin.com Copyright 2004-2018, Bootlin. Creative Commons BY-SA 3.0 license. embedded Linux and kernel

More information

Bringing display and 3D to the C.H.I.P computer

Bringing display and 3D to the C.H.I.P computer Embedded Linux Conference 2016 Bringing display and 3D to the C.H.I.P computer Maxime Ripard Free Electrons maxime@free-electrons.com Free Electrons Embedded Linux Developers c Copyright 2004-2016, Free

More information

Marek Szyprowski Samsung R&D Institute Poland

Marek Szyprowski Samsung R&D Institute Poland Marek Szyprowski m.szyprowski@samsung.com Samsung R&D Institute Poland Quick Introduction to Linux DRM A few words on atomic KMS API Exynos DRM IPP subsystem New API proposal Some code examples Summary

More information

Linux DRM Developer s Guide

Linux DRM Developer s Guide Linux DRM Developer s Guide Linux DRM Developer s Guide Copyright 2008 Intel Corporation (Jesse Barnes ) The contents of this file may be used under the terms of the GNU General

More information

Memory Management in Tizen. SW Platform Team, SW R&D Center

Memory Management in Tizen. SW Platform Team, SW R&D Center Memory Management in Tizen SW Platform Team, SW R&D Center Contents Tizen Kernel Overview Memory Management in Tizen Kernel Memory Size Optimization 2 Tizen Kernel Overview 3 Tizen Kernel Overview Core

More information

Linux DRM Developer s Guide

Linux DRM Developer s Guide Linux DRM Developer s Guide Linux DRM Developer s Guide Copyright 2008-2009 Intel Corporation (Jesse Barnes ) The contents of this file may be used under the terms of the GNU General

More information

LCA14-417: mmap, allocators & sharing buffers - userland experience. Thu 6 March, 4:10pm, S.Semwal, B.Gaignard

LCA14-417: mmap, allocators & sharing buffers - userland experience. Thu 6 March, 4:10pm, S.Semwal, B.Gaignard LCA14-417: mmap, allocators & sharing buffers - userland experience Thu 6 March, 4:10pm, S.Semwal, B.Gaignard Agenda Discussion, not presentation :) Current state Your experiences? Idea of Central dmabuf

More information

Display Virtualization with KVM for Automotive Systems

Display Virtualization with KVM for Automotive Systems Display Virtualization with KVM for Automotive Systems Automotive Linux Summit 2018 Tokyo, Japan Laurent Pinchart laurent.pinchart@ideasonboard.com In computing, virtualization refers to the act of creating

More information

The DRM/KMS subsystem from a newbie s point of view

The DRM/KMS subsystem from a newbie s point of view The DRM/KMS subsystem from a newbie s point of view Free Electrons - Embedded Linux, kernel, drivers and Android - Development, consulting, training and support. http://free-electrons.com 1/49 Boris Brezillon

More information

Mainline Explicit Fencing

Mainline Explicit Fencing Mainline Explicit Fencing A new era for graphics Gustavo Padovan Open First Agenda Introduction Android Sync Framework Mainline Explicit Fencing Current Status 2 Fencing Ensure ordering between operations

More information

The Linux graphics stack, Optimus and the Nouveau driver

The Linux graphics stack, Optimus and the Nouveau driver The Linux graphics stack, Optimus and the Nouveau driver Cooperative rendering across GPUs on Linux Martin Peres Nouveau developer PhD student at LaBRI X.Org Foundation board member September 26, 2014

More information

Building X 2D rendering acceleration with OpenGL. Eric Anholt Intel Open Source Technology Center

Building X 2D rendering acceleration with OpenGL. Eric Anholt Intel Open Source Technology Center Building X 2D rendering acceleration with OpenGL Eric Anholt Intel Open Source Technology Center How 2D has worked X has always implemented graphics acceleration in a hardware specific driver Acceleration

More information

Multimedia SoC System Solutions

Multimedia SoC System Solutions Multimedia SoC System Solutions Presented By Yashu Gosain & Forrest Picket: System Software & SoC Solutions Marketing Girish Malipeddi: IP Subsystems Marketing Agenda Zynq Ultrascale+ MPSoC and Multimedia

More information

Methods to protect proprietary components in device drivers

Methods to protect proprietary components in device drivers Methods to protect proprietary components in device drivers Matt Porter Embedded Alley Solutions, Inc. Introduction Why the interest in closed drivers on Linux? Competition Advantage perception Upsell

More information

Kodi and Embedded Linux

Kodi and Embedded Linux Kodi and Embedded Linux Moving Towards Common Windowing and Video Acceleration Lukas Rusak 02-03-2018 FOSDEM Graphics Devroom The Problem What problem are we trying to solve How bad is it really? The Solution

More information

Exporting virtual memory as dmabuf. Nikhil Devshatwar Texas Instruments, India

Exporting virtual memory as dmabuf. Nikhil Devshatwar Texas Instruments, India 1 Exporting virtual memory as dmabuf Nikhil Devshatwar Texas Instruments, India 2 About author Embedded Linux developer @Texas Instruments Video subsystem Camera drivers Base port support Contributions

More information

Graphics Stack Update

Graphics Stack Update Graphics Stack Update Presented by Jammy Zhou Date March 9, 2016 Event BKK16 Agenda X11/Wayland/Android graphics overview Mali and Adreno driver status Linaro effort around graphics Discussion and Q&A

More information

The future of X.Org on non-gnu/linux systems

The future of X.Org on non-gnu/linux systems The future of X.Org on non-gnu/linux systems Matthieu Herrb OpenBSD/X.Org February 2, 2013 Introduction X has always been multi-platform XFree86 was started on SVr4 and FreeBSD, ported on Linux later.

More information

Sync Points in the Intel Gfx Driver. Jesse Barnes Intel Open Source Technology Center

Sync Points in the Intel Gfx Driver. Jesse Barnes Intel Open Source Technology Center Sync Points in the Intel Gfx Driver Jesse Barnes Intel Open Source Technology Center 1 Agenda History and other implementations Other I/O layers - block device ordering NV_fence, ARB_sync EGL_native_fence_sync,

More information

Efficient Video Processing on Embedded GPU

Efficient Video Processing on Embedded GPU Efficient Video Processing on Embedded GPU Tobias Kammacher Armin Weiss Matthias Frei Institute of Embedded Systems High Performance Multimedia Research Group Zurich University of Applied Sciences (ZHAW)

More information

A brief overview of DRM/KMS and its status in NetBSD

A brief overview of DRM/KMS and its status in NetBSD A brief overview of DRM/KMS and its status in NetBSD Taylor Riastradh Campbell campbell@mumble.net riastradh@netbsd.org AsiaBSDcon 2015 Tokyo, Japan March 13, 2015 No, not that DRM! DRM: Direct rendering

More information

Generic Buffer Sharing Mechanism for Mediated Devices

Generic Buffer Sharing Mechanism for Mediated Devices Generic Buffer Sharing Mechanism for Mediated Devices Tina Zhang tina.zhang@intel.com 1 Agenda Background Generic Buffer Sharing in MDEV Framework Status Summary 2 Virtual Function I/O Virtual Function

More information

DRI Memory Management

DRI Memory Management DRI Memory Management Full strength manager wasn't required for traditional usage: Quake3 and glxgears. Perceived to be difficult. Fundamental for modern desktops, offscreen rendering. Talked about for

More information

Porting Tizen-IVI 3.0 to an ARM based SoC Platform

Porting Tizen-IVI 3.0 to an ARM based SoC Platform Porting Tizen-IVI 3.0 to an ARM based SoC Platform Damian Hobson-Garcia Automotive Linux Summit July 1-2, 2014 Tokyo, Japan Tizen IVI support Until recently Intel architecture (x86) system Tizen IVI 2.0alpha,

More information

EXPLICIT SYNCHRONIZATION

EXPLICIT SYNCHRONIZATION EXPLICIT SYNCHRONIZATION Lauri Peltonen XDC, 8 October, 204 WHAT IS EXPLICIT SYNCHRONIZATION? Fence is an abstract primitive that marks completion of an operation Implicit synchronization Fences are attached

More information

Embedded Linux Conference EU Complex Cameras on Linux. Mauro Carvalho Chehab. Oct, SRBR Samsung R&D Institute Brazil

Embedded Linux Conference EU Complex Cameras on Linux. Mauro Carvalho Chehab. Oct, SRBR Samsung R&D Institute Brazil Embedded Linux Conference EU 2018 Complex Cameras on Linux Oct, 23 2018 Mauro Carvalho Chehab SRBR Samsung R&D Institute Brazil Contents I. What is a complex camera? II. Libv4l Manaus Campinas III. Modern

More information

Video4Linux: Current Status and Future Work

Video4Linux: Current Status and Future Work Video4Linux: Current Status and Future Work Hans Verkuil Cisco Systems Norway Typical Consumer Hardware Tuner A/D A/V decoder PCI/USB Bridge (DMA engine) /dev/video0 Sensor USB Bridge /dev/video0 SoC HW:

More information

4K Video Processing and Streaming Platform on TX1

4K Video Processing and Streaming Platform on TX1 4K Video Processing and Streaming Platform on TX1 Tobias Kammacher Dr. Matthias Rosenthal Institute of Embedded Systems / High Performance Multimedia Research Group Zurich University of Applied Sciences

More information

Groking the Linux SPI Subsystem FOSDEM Matt Porter

Groking the Linux SPI Subsystem FOSDEM Matt Porter Groking the Linux SPI Subsystem FOSDEM 2017 Matt Porter Obligatory geek reference deobfuscation grok (/gräk/) verb to understand intuitively or by empathy, to establish rapport with. Overview What is SPI?

More information

Linux GPU Driver Developer s Guide

Linux GPU Driver Developer s Guide Linux GPU Driver Developer s Guide Release 4.13.0-rc4+ The kernel development community Sep 05, 2017 CONTENTS 1 Introduction 1 1.1 Style Guidelines............................................... 1 1.2

More information

ECE 598 Advanced Operating Systems Lecture 18

ECE 598 Advanced Operating Systems Lecture 18 ECE 598 Advanced Operating Systems Lecture 18 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 5 April 2018 Announcements Homework #9 will be posted (graphics) 1 Graphics Interface

More information

PRIME Synchronization. XDC 2016 Alex Goins, Andy Ritger

PRIME Synchronization. XDC 2016 Alex Goins, Andy Ritger PRIME Synchronization XDC 2016 Alex Goins, Andy Ritger 1 Introduction: PRIME Output Slaving Enables the sequence: One GPU renders and transfer pixels through GEM shared buffers. Another GPU displays the

More information

Porting Tizen-IVI 3.0 to an ARM based SoC Platform. Damian Hobson-Garcia, IGEL Co., Ltd.

Porting Tizen-IVI 3.0 to an ARM based SoC Platform. Damian Hobson-Garcia, IGEL Co., Ltd. Porting Tizen-IVI 3.0 to an ARM based SoC Platform Damian Hobson-Garcia, IGEL Co., Ltd. Current State of Affairs Intel architecture (x86) system Tizen IVI 2.0alpha, Tizen IVI 3.0 ARM architecture based

More information

4K Video Processing and Streaming Platform on TX1

4K Video Processing and Streaming Platform on TX1 4K Video Processing and Streaming Platform on TX1 Tobias Kammacher Dr. Matthias Rosenthal Institute of Embedded Systems / High Performance Multimedia Research Group Zurich University of Applied Sciences

More information

A Linux multimedia platform for SH-Mobile processors

A Linux multimedia platform for SH-Mobile processors A Linux multimedia platform for SH-Mobile processors Embedded Linux Conference 2009 April 7, 2009 Abstract Over the past year I ve been working with the Japanese semiconductor manufacturer Renesas, developing

More information

FPGA Manager. State of the Union. Moritz Fischer, National Instruments

FPGA Manager. State of the Union. Moritz Fischer, National Instruments FPGA Manager State of the Union Moritz Fischer, National Instruments $whoami Embedded Software Engineer at National Instruments Other stuff I do: U-Boot, OE, Linux Kernel Co-Maintainer of FPGA Manager

More information

Unix Device Memory. James Jones XDC 2016

Unix Device Memory. James Jones XDC 2016 Unix Device Memory James Jones XDC 2016 Background Started with a Weston patch proposal Many strong views Much time invested in current software and APIs Thank you for keeping discussions civil Many areas

More information

Intel Atom x3-c3200rk Processor (Formerly SoFIA 3G R) Simple V4L2- based Capture Method for MIPI-CSI2 Smart Camera Sensors

Intel Atom x3-c3200rk Processor (Formerly SoFIA 3G R) Simple V4L2- based Capture Method for MIPI-CSI2 Smart Camera Sensors Intel Atom x3-c3200rk Processor (Formerly SoFIA 3G R) Simple V4L2- based Capture Method for MIPI-CSI2 Smart Camera Sensors Application developer s Guide June 2017 Maintenance Release 002 Document Number:

More information

TakanariHayama, HisaoMunakata and Denis Oliver Kropp

TakanariHayama, HisaoMunakata and Denis Oliver Kropp DirectFB Internals - Things You Need to Know to Write Your DirectFBgfxdriver TakanariHayama, HisaoMunakata and Denis Oliver Kropp 1 What is DirectFB? Thin Graphics Library Light weight and small footprint

More information

Expose NVIDIA s performance counters to the userspace for NV50/Tesla

Expose NVIDIA s performance counters to the userspace for NV50/Tesla Expose NVIDIA s performance counters to the userspace for NV50/Tesla Nouveau project Samuel Pitoiset Supervised by Martin Peres GSoC student 2013 & 2014 October 8, 2014 1 / 27 Summary 1 Introduction What

More information

TR4. PCIe Qsys Example Designs. June 20, 2018

TR4. PCIe Qsys Example Designs.   June 20, 2018 Q 1 Contents 1. PCI Express System Infrastructure... 3 2. PC PCI Express Software SDK... 4 3. PCI Express Software Stack... 5 4. PCI Express Library API... 10 5. PCIe Reference Design - Fundamental...

More information

Architecture and Drivers for Smartphones Introduction Labo 2

Architecture and Drivers for Smartphones Introduction Labo 2 Architecture and Drivers for Smartphones Introduction Labo 2 Cours APS Salvatore Valenza Version 1.0 (2012-2013) 1 Cours APS - Institut REDS/HEIG-VD - Introduction Linux User Space vs Kernel Space Application

More information

CMSC 2833 Lecture Memory Organization and Addressing

CMSC 2833 Lecture Memory Organization and Addressing Computer memory consists of a linear array of addressable storage cells that are similar to registers. Memory can be byte-addressable, or word-addressable, where a word typically consists of two or more

More information

F21 Microprocessor Preliminary specifications 9/98

F21 Microprocessor Preliminary specifications 9/98 F21 contains a CPU, a memory interface processor, two analog I/O coprocessors, an active message serial network coprocessor, and a parallel I/O port on a small custom VLSI CMOS chip. CPU 0 operand stack

More information

AM57x Sitara Processors Multimedia and Graphics

AM57x Sitara Processors Multimedia and Graphics AM57x Sitara Processors Multimedia and Graphics Agenda Introduction to GStreamer Framework for Multimedia Applications AM57x Multimedia and Graphics Functions Hardware Architecture Software Capabilities

More information

I/O Handling. ECE 650 Systems Programming & Engineering Duke University, Spring Based on Operating Systems Concepts, Silberschatz Chapter 13

I/O Handling. ECE 650 Systems Programming & Engineering Duke University, Spring Based on Operating Systems Concepts, Silberschatz Chapter 13 I/O Handling ECE 650 Systems Programming & Engineering Duke University, Spring 2018 Based on Operating Systems Concepts, Silberschatz Chapter 13 Input/Output (I/O) Typical application flow consists of

More information

Porting Nouveau to Tegra K1

Porting Nouveau to Tegra K1 Porting Nouveau to Tegra K1 How NVIDIA became a Nouveau contributor Alexandre Courbot, NVIDIA FOSDEM 2015 The Story So Far... In 2014 NVIDIA released the Tegra K1 SoC 32 bit quad-core or 64-bit dual core

More information

MARACAS: A Real-Time Multicore VCPU Scheduling Framework

MARACAS: A Real-Time Multicore VCPU Scheduling Framework : A Real-Time Framework Computer Science Department Boston University Overview 1 2 3 4 5 6 7 Motivation platforms are gaining popularity in embedded and real-time systems concurrent workload support less

More information

15: OS Scheduling and Buffering

15: OS Scheduling and Buffering 15: OS Scheduling and ing Mark Handley Typical Audio Pipeline (sender) Sending Host Audio Device Application A->D Device Kernel App Compress Encode for net RTP ed pending DMA to host (~10ms according to

More information

DRONE SITL BRINGUP WITH THE IIO FRAMEWORK

DRONE SITL BRINGUP WITH THE IIO FRAMEWORK DRONE SITL BRINGUP WITH THE IIO FRAMEWORK Bandan Das Open Source Summit, Europe, 2018 1. 1 WHAT'S THIS ABOUT? My experiments with bringing up sensors on a x86 board Understanding the IIO

More information

APPLICATION NOTE Using Video4Linux2 SAA7134 Driver with VFG73xx

APPLICATION NOTE Using Video4Linux2 SAA7134 Driver with VFG73xx APPLICATION NOTE Using Video4Linux2 SAA7134 Driver with VFG73xx ISO9001 and AS9100 Certified SWM-640020017 rev A APPLICATION NOTE Using Video4Linux2 SAA7134 Driver with VFG73xx RTD Embedded Technologies,

More information

Industrial I/O and You: Nonsense Hacks! Matt Ranostay Konsulko Group

Industrial I/O and You: Nonsense Hacks! Matt Ranostay Konsulko Group Industrial I/O and You: Nonsense Hacks! Matt Ranostay Konsulko Group Brief Introduction Been a contributor to the Industrial I/O system for about two years Any weird sensors

More information

SYSTEM CALL IMPLEMENTATION. CS124 Operating Systems Fall , Lecture 14

SYSTEM CALL IMPLEMENTATION. CS124 Operating Systems Fall , Lecture 14 SYSTEM CALL IMPLEMENTATION CS124 Operating Systems Fall 2017-2018, Lecture 14 2 User Processes and System Calls Previously stated that user applications interact with the kernel via system calls Typically

More information

Module 12: I/O Systems

Module 12: I/O Systems Module 12: I/O Systems I/O hardwared Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Performance 12.1 I/O Hardware Incredible variety of I/O devices Common

More information

An Introduction to SPI-NOR Subsystem. By Vignesh R Texas Instruments India

An Introduction to SPI-NOR Subsystem. By Vignesh R Texas Instruments India An Introduction to SPI-NOR Subsystem By Vignesh R Texas Instruments India vigneshr@ti.com About me Software Engineer at Texas Instruments India Part of Linux team that works on supporting various TI SoCs

More information

NVJPEG. DA _v0.1.4 August nvjpeg Libary Guide

NVJPEG. DA _v0.1.4 August nvjpeg Libary Guide NVJPEG DA-06762-001_v0.1.4 August 2018 Libary Guide TABLE OF CONTENTS Chapter 1. Introduction...1 Chapter 2. Using the Library... 3 2.1. Single Image Decoding... 3 2.3. Batched Image Decoding... 6 2.4.

More information

Mastering the DMA and IOMMU APIs

Mastering the DMA and IOMMU APIs Mastering the DMA and IOMMU APIs Embedded Linux Conference Europe 2014 Düsseldorf Laurent Pinchart laurent.pinchart@ideasonboard.com DMA!= DMA DMA!= DMA (mapping) (engine) The topic we will focus on is

More information

Caching and Buffering in HDF5

Caching and Buffering in HDF5 Caching and Buffering in HDF5 September 9, 2008 SPEEDUP Workshop - HDF5 Tutorial 1 Software stack Life cycle: What happens to data when it is transferred from application buffer to HDF5 file and from HDF5

More information

Microsecond Latency, Real-Time, Multi-Input/Output Control using GPU Processing

Microsecond Latency, Real-Time, Multi-Input/Output Control using GPU Processing Microsecond Latency, Real-Time, Multi-Input/Output Control using GPU Processing Nikolaus Rath March 20th, 2013 N. Rath (Columbia University) µs Latency Control using GPU Processing March 20th, 2013 1 /

More information

Running Android on the Mainline Graphics Stack. Robert

Running Android on the Mainline Graphics Stack. Robert Running Android on the Mainline Graphics Stack Robert Foss @memcpy_io Agenda Android History Android on Mainline Current Status Big Picture Android History Android History Qualcomm diff with mainline,

More information

Framebuffer Modifiers

Framebuffer Modifiers Framebuffer Modifiers Supporting end-to-end graphics compression Ben Widawsky 1 About Me Worked on all parts of graphics and other driver stacks Avid Buffer Modifier Motivated by disparity with closed

More information

Artisan Technology Group is your source for quality new and certified-used/pre-owned equipment

Artisan Technology Group is your source for quality new and certified-used/pre-owned equipment Artisan Technology Group is your source for quality new and certified-used/pre-owned equipment FAST SHIPPING AND DELIVERY TENS OF THOUSANDS OF IN-STOCK ITEMS EQUIPMENT DEMOS HUNDREDS OF MANUFACTURERS SUPPORTED

More information

6 THE ETRAX Introduction. Special registers. 6 The ETRAX 4

6 THE ETRAX Introduction. Special registers. 6 The ETRAX 4 6 THE ETRAX 4 6.1 Introduction The ETRAX 4 is the processor prior to the ETRAX 1 in the ETRAX family. The differences between the CRIS implementation in the ETRAX 1 and the ETRAX 4 are presented in this

More information

NIOS II Pixel Display

NIOS II Pixel Display NIOS Pixel Display SDRAM 512Mb Clock Reset_bar CPU Onchip Memory External Memory Controller JTAG UART Pixel DMA Resampler Scaler Dual Port FIFO VGA Controller Timer System ID VGA Connector PLL 2 tj SDRAM

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems COP 4610: Introduction to Operating Systems (Spring 2015) Chapter 13: I/O Systems Zhi Wang Florida State University Content I/O hardware Application I/O interface Kernel I/O subsystem I/O performance Objectives

More information

A practical introduction to XDP

A practical introduction to XDP A practical introduction to XDP Jesper Dangaard Brouer (Red Hat) Andy Gospodarek (Broadcom) Linux Plumbers Conference (LPC) Vancouver, Nov 2018 1 What will you learn? Introduction to XDP and relationship

More information

Operating Systems 2010/2011

Operating Systems 2010/2011 Operating Systems 2010/2011 Input/Output Systems part 1 (ch13) Shudong Chen 1 Objectives Discuss the principles of I/O hardware and its complexity Explore the structure of an operating system s I/O subsystem

More information

Intelligent Power Allocation for Consumer & Embedded Thermal Control

Intelligent Power Allocation for Consumer & Embedded Thermal Control Intelligent Power Allocation for Consumer & Embedded Thermal Control Ian Rickards ARM Ltd, Cambridge UK ELC San Diego 5-April-2016 Existing Linux Thermal Framework Trip1 Trip0 Thermal trip mechanism using

More information

NVJPEG. DA _v0.2.0 October nvjpeg Libary Guide

NVJPEG. DA _v0.2.0 October nvjpeg Libary Guide NVJPEG DA-06762-001_v0.2.0 October 2018 Libary Guide TABLE OF CONTENTS Chapter 1. Introduction...1 Chapter 2. Using the Library... 3 2.1. Single Image Decoding... 3 2.3. Batched Image Decoding... 6 2.4.

More information

Final Step #7. Memory mapping For Sunday 15/05 23h59

Final Step #7. Memory mapping For Sunday 15/05 23h59 Final Step #7 Memory mapping For Sunday 15/05 23h59 Remove the packet content print in the rx_handler rx_handler shall not print the first X bytes of the packet anymore nor any per-packet message This

More information

EC 513 Computer Architecture

EC 513 Computer Architecture EC 513 Computer Architecture Cache Coherence - Directory Cache Coherence Prof. Michel A. Kinsy Shared Memory Multiprocessor Processor Cores Local Memories Memory Bus P 1 Snoopy Cache Physical Memory P

More information

Adaptable Intelligence The Next Computing Era

Adaptable Intelligence The Next Computing Era Adaptable Intelligence The Next Computing Era Hot Chips, August 21, 2018 Victor Peng, CEO, Xilinx Pervasive Intelligence from Cloud to Edge to Endpoints >> 1 Exponential Growth and Opportunities Data Explosion

More information

Design Overview of the FreeBSD Kernel. Organization of the Kernel. What Code is Machine Independent?

Design Overview of the FreeBSD Kernel. Organization of the Kernel. What Code is Machine Independent? Design Overview of the FreeBSD Kernel CIS 657 Organization of the Kernel Machine-independent 86% of the kernel (80% in 4.4BSD) C C code Machine-dependent 14% of kernel Only 0.6% of kernel in assembler

More information

Cl. Cl. ..., V, V, -I..., - QJ d.

Cl. Cl. ..., V, V, -I..., - QJ d. )> Cl. Cl...., m V, V, -I..., QJ :J V, - QJ d. 0 :J Main Points Address Translation Concept - How do we convert a virtual address to a physical address? Flexible Address Translation I R. lz G.z: f1..t:?z:.mo/2_'-(

More information

NVDIMM Overview. Technology, Linux, and Xen

NVDIMM Overview. Technology, Linux, and Xen NVDIMM Overview Technology, Linux, and Xen Who am I? What are NVDIMMs? A standard for allowing NVRAM to be exposed as normal memory Potential to dramatically change the way software is written But.. They

More information

Demystifying Network Cards

Demystifying Network Cards Demystifying Network Cards Paul Emmerich December 27, 2017 Chair of Network Architectures and Services About me PhD student at Researching performance of software packet processing systems Mostly working

More information

BASIC COMPUTER ORGANIZATION. Operating System Concepts 8 th Edition

BASIC COMPUTER ORGANIZATION. Operating System Concepts 8 th Edition BASIC COMPUTER ORGANIZATION Silberschatz, Galvin and Gagne 2009 Topics CPU Structure Registers Memory Hierarchy (L1/L2/L3/RAM) Machine Language Assembly Language Running Process 3.2 Silberschatz, Galvin

More information

I/O Systems. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic)

I/O Systems. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic) I/O Systems Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) I/O Systems 1393/9/15 1 / 57 Motivation Amir H. Payberah (Tehran

More information

The State of the Art in Bufferbloat Testing and Reduction on Linux

The State of the Art in Bufferbloat Testing and Reduction on Linux The State of the Art in Bufferbloat Testing and Reduction on Linux Toke Høiland-Jørgensen Roskilde University IETF 86, 12th March 2013 1 / 31 Outline Introduction Recent changes in the Linux kernel Testing

More information

VDPA: VHOST-MDEV AS NEW VHOST PROTOCOL TRANSPORT

VDPA: VHOST-MDEV AS NEW VHOST PROTOCOL TRANSPORT VDPA: VHOST-MDEV AS NEW VHOST PROTOCOL TRANSPORT CUNMING(Steve) LIANG, Intel cunming.liang AT intel.com KVM Forum 2018, Edinburgh October, 2018 Background KVM Forum 2018 / Edinburg / 2018 Intel Corporation

More information

UI, Graphics & EFL. Carsten Haitzler Principal Engineer Samsung Electronics Korea Founder/Leader Enlightenment / EFL

UI, Graphics & EFL. Carsten Haitzler Principal Engineer Samsung Electronics Korea Founder/Leader Enlightenment / EFL UI, Graphics & EFL Carsten Haitzler Principal Engineer Samsung Electronics Korea c.haitzler@samsung.com Founder/Leader Enlightenment / EFL Display System Overview Graphics 4 Graphics Old-School FB 5 In

More information

Developing deterministic networking technology for railway applications using TTEthernet software-based end systems

Developing deterministic networking technology for railway applications using TTEthernet software-based end systems Developing deterministic networking technology for railway applications using TTEthernet software-based end systems Project n 100021 Astrit Ademaj, TTTech Computertechnik AG Outline GENESYS requirements

More information

UFG-10 MC. Frame Grabbers LINUX SOFTWARE PROGRAMMING GUIDE. Customized Property

UFG-10 MC. Frame Grabbers LINUX SOFTWARE PROGRAMMING GUIDE. Customized Property UFG-10 MC Frame Grabbers LINUX SOFTWARE PROGRAMMING GUIDE Customized Property General Copyright This manual, Copyright 2014 Unigraf Oy. All rights reserved Reproduction of this manual in whole or in part

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance Objectives Explore the structure of an operating

More information

Remote Access and Output Sharing Between Multiple ECUs for Automotive

Remote Access and Output Sharing Between Multiple ECUs for Automotive Remote Access and Output Sharing Between Multiple ECUs for Automotive 20/6/2018 Harunobu KUROKAWA Open system development center, Automotive information solution business division Renesas Electronics Corporation

More information

Mastering the DMA and IOMMU APIs

Mastering the DMA and IOMMU APIs Mastering the DMA and IOMMU APIs Embedded Linux Conference Europe 2014 Düsseldorf Laurent Pinchart laurent.pinchart@ideasonboard.com DMA!= DMA DMA!= DMA (mapping) (engine) The topic we will focus on is

More information

HKG net_mdev: Fast-path userspace I/O. Ilias Apalodimas Mykyta Iziumtsev François-Frédéric Ozog

HKG net_mdev: Fast-path userspace I/O. Ilias Apalodimas Mykyta Iziumtsev François-Frédéric Ozog HKG18-110 net_mdev: Fast-path userspace I/O Ilias Apalodimas Mykyta Iziumtsev François-Frédéric Ozog Why userland I/O Time sensitive networking Developed mostly for Industrial IOT, automotive and audio/video

More information

... Application Note AN-531. PCI Express System Interconnect Software Architecture. Notes Introduction. System Architecture.

... Application Note AN-531. PCI Express System Interconnect Software Architecture. Notes Introduction. System Architecture. PCI Express System Interconnect Software Architecture Application Note AN-531 Introduction By Kwok Kong A multi-peer system using a standard-based PCI Express (PCIe ) multi-port switch as the system interconnect

More information

Processes COMPSCI 386

Processes COMPSCI 386 Processes COMPSCI 386 Elements of a Process A process is a program in execution. Distinct processes may be created from the same program, but they are separate execution sequences. call stack heap STACK

More information

Input/Output Systems

Input/Output Systems CSE325 Principles of Operating Systems Input/Output Systems David P. Duggan dduggan@sandia.gov April 2, 2013 Input/Output Devices Output Device Input Device Processor 4/2/13 CSE325 - I/O Systems 2 Why

More information

Storage Systems. NPTEL Course Jan K. Gopinath Indian Institute of Science

Storage Systems. NPTEL Course Jan K. Gopinath Indian Institute of Science Storage Systems NPTEL Course Jan 2013 (Lecture 11) K. Gopinath Indian Institute of Science USB Mass Storage Device A USB has a microcontroller that handles USB protocol a media controller that handles

More information

Platform Device Assignment to KVM-on-ARM Virtual Machines via VFIO

Platform Device Assignment to KVM-on-ARM Virtual Machines via VFIO 2014 International Conference on Embedded and Ubiquitous Computing Platform Device Assignment to KVM-on-ARM Virtual Machines via VFIO Antonios Motakis, Alvise Rigo, Daniel Raho Virtual Open Systems Grenoble,

More information

Tandem Software Flow

Tandem Software Flow Xilinx Answer 51950 Tandem PCIe Second Stage Bitstream Loading across the PCI Express Link Important Note: This downloadable PDF of an Answer Record is provided to enhance its usability and readability.

More information

Module 12: I/O Systems

Module 12: I/O Systems Module 12: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Performance Operating System Concepts 12.1 Silberschatz and Galvin c

More information

Device-Functionality Progression

Device-Functionality Progression Chapter 12: I/O Systems I/O Hardware I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Incredible variety of I/O devices Common concepts Port

More information

Chapter 12: I/O Systems. I/O Hardware

Chapter 12: I/O Systems. I/O Hardware Chapter 12: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations I/O Hardware Incredible variety of I/O devices Common concepts Port

More information

I/O Devices. Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau)

I/O Devices. Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau) I/O Devices Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau) Hardware Support for I/O CPU RAM Network Card Graphics Card Memory Bus General I/O Bus (e.g., PCI) Canonical Device OS reads/writes

More information

The unique feature of the T4E is the wide variety of clocking options. The clock can be:

The unique feature of the T4E is the wide variety of clocking options. The clock can be: FarSync OEM T4E A intelligent PCI / PCI-X sync/async multi clock source 4 port adapter Key Features PCI / PCI-X (Universal PCI) bus mastering WAN adapter Interfaces for RS232C, X.21, RS530, RS449 and V.35

More information