DRM Driver Development For Embedded Systems



Similar documents
Camera Sensor Driver Development And Integration

HDMI on OMAP4 PANDA. Design, Challenges and Lessons Learned Mythri P K

Using Mobile Processors for Cost Effective Live Video Streaming to the Internet

Epiphan Frame Grabber User Guide

Solomon Systech Image Processor for Car Entertainment Application

A Design of Video Acquisition and Transmission Based on ARM. Ziqiang Hao a, Hongzuo Li b

Video Encoding on Intel Atom Processor E38XX Series using Intel EMGD and GStreamer

Multi Stream Transport (MST) Hub CSV-5200

Different Display Configurations on i.mx35 Linux PDK

Intel 810 and 815 Chipset Family Dynamic Video Memory Technology

Full HD(1080P) Resolution Video Wall Box

Digitizer Capture Card - PCI RGB User Manual

. ImagePRO. ImagePRO-SDI. ImagePRO-HD. ImagePRO TM. Multi-format image processor line

Capture video in 1080p HD

IP Video Rendering Basics

HV-PCI 6. Video frame grabber card

Data Sheet. Desktop ESPRIMO. General

The MeeGo Multimedia Stack. Dr. Stefan Kost Nokia - The MeeGo Multimedia Stack - CELF Embedded Linux Conference Europe

Intel 845G/GL Chipset Dynamic Video Memory Technology

Embedded Linux Platform Developer

Capture / Streaming: V-Tizer Series

Fastboot Techniques for x86 Architectures. Marcus Bortel Field Application Engineer QNX Software Systems

HDMI To Composite/S-Video Scaler. GTV-HDMI-2-COMPSVIDS User Manual.

3D Input Format Requirements for DLP Projectors using the new DDP4421/DDP4422 System Controller ASIC. Version 1.3, March 2 nd 2012

Video display interfaces

Intel Graphics Media Accelerator 900

Lesson 10: Video-Out Interface

Car Racing Game. Figure 1 The Car Racing Game

How do I Check if My Computer is Compatible with Windows 7

Linux Graphics Drivers: an Introduction

VP HDMI to VGA Converter

AGENDA. Overview GPU Video Encoding NVIDIA Video Encoding Capabilities. Software API Performance & Quality. Kepler vs Maxwell GPU capabilities Roadmap

RADEON 9700 SERIES. User s Guide. Copyright 2002, ATI Technologies Inc. All rights reserved.

AMD Radeon HD 8000M Series GPU Specifications AMD Radeon HD 8870M Series GPU Feature Summary

Lenovo ADD2 DVI-D Monitor Connection Adapter offers a low-cost multiple monitor solution for selected desktop systems

CAPTURE H.264 Compression Embedded DVR Introduction

CONTENTS. Section 1 Document Descriptions Purpose of this Document Nomenclature of this Document... 3

Migration to New Display Technologies on Intel Embedded Platforms

ALL-USB-RS422/485. User Manual. USB to Serial Converter RS422/485. ALLNET GmbH Computersysteme Alle Rechte vorbehalten

HDX 7000 vs. HDX 8000 vs. HDX 9000 Codecs

How to Connect a Computer to Your TV Set Overview Many people already know that you can connect a computer to a plasma TV, but it is not as well

XID ERRORS. vr352 May XID Errors

GV-N84STC-1GI/ GV-N84S-512I Rev3.0/ GV-N84STC-512I Rev2.0

Displaying Stereoscopic 3D (S3D) with Intel HD Graphics Processors for Software Developers August 2011

"All-In-One" Video Conferencing Solution. Versatile Connectivity with DisplayPort

VDI Clients. Delivering Tomorrow's Virtual Desktop Today

Data Sheet Graphic Cards for Fujitsu ESPRIMO PCs

ENGLISH. Matrox DualHead2Go and TripleHead2Go

Hardware models. As supported by BCF, Faculty of Mathematics & Computer Science. Last revision: October 2013

Red Hat Linux Internals

USB 3.0 to HDMI External Multi Monitor Graphics Adapter with 3-Port USB Hub HDMI and USB 3.0 Mini Dock 1920x1200 / 1080p

Optimizing BrightSign Video Quality

Pace plc. DC60Xu HD HD DTA. Monday, June 25, Private & Confidential

DVI Extender via 4 fiber channel LC Duplex Connector Extends DVI connection up to 500 meters

The reference model for smart TV. China Electronics Standardization Institute

IsumaTV. Media Player Setup Manual COOP Cable System. Media Player

VDI Clients Delivering Tomorrow's Virtual Desktop Today

USB to VGA Adapter USB2VGAE2. Instruction Manual. USB 2.0 to VGA Multi Monitor External Video Adapter

TVWall User s Manual (for WindowsXP/2003/Win7/Vista)

NVIDIA GeForce GT630 DP (2GB) PCIe x16 Card Graphics Card. QuickSpecs. Overview. Models. DA Worldwide Version 4 November 27, 2012 Page 1

Introduction to graphics and LCD technologies. NXP Product Line Microcontrollers Business Line Standard ICs

TeamPoS2000-M Windows XP Pro Device Installation

Samsung EBD Series SMART Signage

Connecting a Windows laptop to a TV

QuickSpecs. NVIDIA Quadro K5200 8GB Graphics INTRODUCTION. NVIDIA Quadro K5200 8GB Graphics. Technical Specifications

The modular concept of the MPA-3 system is designed to enable easy accommodation to a huge variety of experimental requirements.

NVIDIA Mosaic Technology

Cloud Gaming & Application Delivery with NVIDIA GRID Technologies. Franck DIARD, Ph.D. GRID Architect, NVIDIA

Intel Media Server Studio - Metrics Monitor (v1.1.0) Reference Manual

Split your video signal to multiple monitors

NVIDIA Quadro M4000 Sync PNY Part Number: VCQM4000SYNC-PB. User Guide

How To Use An Amd Ramfire R7 With A 4Gb Memory Card With A 2Gb Memory Chip With A 3D Graphics Card With An 8Gb Card With 2Gb Graphics Card (With 2D) And A 2D Video Card With

Scart/Video to HDMI Scaler Box

Starting a Videoconference with a portable unit:

PC GRAPHICS CARD INSTALLATION GUIDE & USER MANUAL. AGP version: GC- K2A-64 PCI version: GC- K2P-64

Lenovo ThinkVision L197 Widescreen LCD Monitor View your images on a wide screen

Computer Graphics Hardware An Overview

Virtual Machines. COMP 3361: Operating Systems I Winter

HIGH-PERFORMANCE GPU VIDEO ENCODING ABHIJIT PATAIT SR. MANAGER, NVIDIA

SAPPHIRE VAPOR-X R9 270X 2GB GDDR5 OC WITH BOOST

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1

Operating Guide EPIA EX-Series Mini-ITX Mainboard

REAL TIME OPERATING SYSTEM PROGRAMMING-II: II: Windows CE, OSEK and Real time Linux. Lesson-12: Real Time Linux

USB 3.0 to VGA External Multi Monitor Graphics Adapter with 3-Port USB Hub VGA and USB 3.0 Mini Dock 1920x1200 / 1080p

SNAPPIN.IO. FWR is a Hardware & Software Factory, which designs and develops digital platforms.

GRID SDK FAQ. PG January Frequently Asked Questions

Note monitors controlled by analog signals CRT monitors are controlled by analog voltage. i. e. the level of analog signal delivered through the

PLUS TV ANALOG USB STICK Installation Manual

USB 2.0 VGA ADAPTER USER MANUAL

QuickSpecs. NVIDIA Quadro K4200 4GB Graphics INTRODUCTION. NVIDIA Quadro K4200 4GB Graphics. Overview

SAPPHIRE TOXIC R9 270X 2GB GDDR5 WITH BOOST

QuickSpecs. NVIDIA Quadro K5200 8GB Graphics INTRODUCTION. NVIDIA Quadro K5200 8GB Graphics. Overview. NVIDIA Quadro K5200 8GB Graphics J3G90AA

Hauppauge Capture. Copyright 2013 Hauppauge Computer Works

85MIV2 / 85MIV2-L -- Components Locations

Preliminary Draft May 19th Video Subsystem

HP ENVY 24 IPS Monitor. User Guide

Specifications for the Gateway M1300 Tablet PC

GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series. By: Binesh Tuladhar Clay Smith

Transcription:

DRM Driver Development For Embedded Systems Inki Dae Software Platform Lab. Embedded Linux Conference, 26-28.10.2011

Contents What is DRM? PC vs Embedded Systems Advantages with DRM DRM KMS Framework Considerations for Embedded Systems References

DRM consists of KMS (Kernel Mode Setting) - Change resolution and depth. DRI (Direct Rendering Infrastructure) - Interfaces to access hardware directly. GEM (Graphics Execution Manager) - Buffer management DRM Driver in kernel side - Access hardware.

DRM Features Device-independent kernel-level device driver for XFree86 DRI. Kernel module that gives direct hardware access to DRI clients. Contains code intended to support the needs of complex graphics devices. Deals with DMA, AGP memory management, resource locking, and secure hardware access.

PC vs Embedded Systems PC usually has graphics card with its own video memory. - Graphics card includes display, hdmi, 2D/3D accelerators, and so on. Embedded system without such things. - no dedicated video memory. DRM framework is designed for PC.

Which were used by Embedded Systems without DRM? Linux Framebuffer for Display. V4L2 based device drivers for multimedia. - Rotator and Scaler - Video codec - HDMI Buffer managers such as UMP, HWMEM, CMEM, PMEM, ION, and so on.

What is the Advantages with DRM? From interface point of view Control all HW thru a single device node. Common interfaces for hardware access Common interfaces for buffer management.

What is the Advantages with DRM? From mechanism point of view Flexible Framebuffer and CRTC. - Construct screens. FB CRTCs Digital TV Smart Phone

How DRM Manages Buffer? GEM (Graphics Execution Manager) - Developed by Intel to manage graphics memory. - Framework for buffer management. Buffer allocation and sharing. - Wrapper to buffer - Provide only interfaces and framework.

Consists of Framebuffer CRTC Encoder Connector DRM KMS Framework

DRM KMS Framework Framebuffer - Memory information such as width, height, depth, bpp, pixel format, and so on.

DRM KMS Framework CRTC - Mode information. resolution, depth, polarity, porch, refresh rate, and so on. - Information of the buffer region displayed. - Change current framebuffer to new one.

DRM KMS Framework Encoder - Take the digital bit-stream from the CRTC - Convert to the appropriate analog levels for transmission across the connector to the monitor. Connector - Provide the appropriate physical plugs such as HDMI, DVI-D, VGA, S-Video, and so on. They are suitable to PC.

What is The Problem for Encoder and Connector? Display and HDMI controllers including all registers for setting. - Mode setting registers - Buffer setting registers - Power control registers - DMA control registers Cannot clearly split encoder and connector.

How To Mitigate? any requests from apps CRTC Encoder Connector Output Device Drivers Display & HDMI Drivers CRTC used commonly - call common callbacks of encoder or connector. Encoder and Connector with hardware specific callbacks. - call hardware specific callbacks of device drivers.

How to Implement Encoder? Provide callbacks to Control hardware overlays - Setup, enable and disable them. Control the power to Display and HDMI controllers.

How to Implement Connector? Provide callbacks to Control the timing to output devices. Control the power to output devices. Control the connection to output devices.

PC vs Embedded Systems For Buffer Management? PC graphics cards usually have VRAM. - Need pin/unpin for sync between system memory and video memory. Most Embedded Systems without VRAM Don t need pin/unpin.

PC vs Embedded Systems For Buffer Management? Most graphics cards use IOMMU. - Use non-continuous memory. - Map user space to physical pages at page fault handler. Most Embedded Systems without IOMMU. - Need physically continuous memory allocation from system memory. - Need direct mapping feature.

How To Implement GEM Framework For Embedded Systems? Physically continuous allocation - CMA (Continuous Memory Allocator) Direct mapping feature - Add a GEM ioctl command. Map user space and physical memory once user requests directly. Similar to mmap system call.

Issue on Reusing Existing Codes Same device drivers already exist to mainline. - Linux framebuffer and v4l2 based drivers. - Reuse them! Driver probing order. - Separated Platform/I2C Devices. Display and HDMI controller I2C based DDC(Display Data Channel) and HDMIPHY controller. - Some driver should be probed prior to another one.

DRM Features being Added for Embedded Systems Multiple Overlays - Have its own pixel format, size, and so on. - Overlays controlled respectively. What is the problem? - Supported one overlay. use plane feature introduced by Jesse Barnes to control multiple overlays.

DRM Features being Added for Embedded Systems Multiple IRQ - Have hardware IRQ more than one. Display and HDMI controller. What is the problem? - Supported one hardware IRQ. request_irq() by each hardware specific driver.

DRM Features being Added for Embedded Systems Multi Planer - Support various pixel formats. RGB, YUV, NV12, NV16, and so on. - NV12M, NV12MT and YUV420M Need non-contiguous two or three buffers. What is the problem? - Not support NV12M, NV12MT and YUV420M format types. - Have one plane per buffer.

References DRM driver for Samsung Exynos SoC - http://git.infradead.org/users/kmpark/linux-2.6-samsung - branch name: samsung-drm Deferred Driver Probing introduced by Grant Likely - http://lwn.net/articles/450178/ DRM plane feature - http://lists.freedesktop.org/archives/dri-devel/2011- June/011855.html

Thank You Contact Information: inki.dae@samsung.com daeinki@gmail.com