DRM(Direct Rendering Manager) of Tizen Kernel Joonyoung Shim [email protected] Contents

DRM(Direct Rendering Manager) of Tizen Kernel Joonyoung Shim Jy0922.Shim@Samsung.Com Contents

DRM(Direct Rendering Manager) of Tizen Kernel Joonyoung Shim [email protected] Contents • What is DRM • Why DRM • What can we do • How to implement • Tizen kernel DRM – Exynos DRM driver • Future work 2 tizen.org What is DRM • DRM is not Digital Right Management • Direct Rendering Manager – Kernel-level graphics device driver that support Direct Rendering Infrastructure. – Direct Rendering • An application communicates directly with graphics device driver – Display mode setting – Graphics memory management 3 tizen.org Why DRM • Can give display experiences similar to PC system • However, why not use DRM until now – DRM was designed for PC – Embedded system • Low performance • No dedicated graphics memory • Not one graphics card but separated hardware devices – Linux framebuffer driver 4 tizen.org Why DRM • Changed embedded environment – Powerful embedded SoCs – Requirements • Display hotplug & clone, extended mode • Unified memory management • Direct rendering • Varying device control with common interface • So, we choose DRM for next 5 tizen.org What can we do • Export image data from buffer to the screen – Generic display pipeline • Buffer CRTC Output Monitor • Flexible environments with multiple displays – Smart Phone and Digital TV • LCD and HDMI – Possible modes • Clone mode (Duplicate display) • Extended mode (Dual display) 6 tizen.org Scenario: Clone mode HDMI CRTCs FB 7 tizen.org Scenario: Extended mode HDMI CRTCs FBs 8 tizen.org How to implement • Use common DRM core – GEM framework • For buffers – Kernel mode setting • To control CRTCs and outputs • Implement hardware specific parts – Wrapper common DRM core – Support each different devices driver 9 tizen.org DRM of Tizen kernel • Tizen supports several processors • However, the current version supports Exynos SoCs • Need Exynos specific DRM driver! 10 tizen.org Exynos DRM driver • DRM driver to support graphics hardware of Exynos SoCs • First ARM SoC graphics driver to use the Direct Rendering Manager • Merged into the mainline linux 3.2 kernel first • linux/drivers/gpu/drm/exynos 11 tizen.org Features • KMS(Kernel Mode Setting) • GEM(Graphics Execution Manager) • Fbdev(linux framebuffer) • Specific ioctls • Pageflip • HDMI hotplug 12 tizen.org Exynos graphics devices • Display controller – Transfer image data in system memory to external LCD interface • HDMI – HDMI v1.3 / v1.4 • G2D – The 2D graphic accelerator that supports Bit Block Transfer • Virtual display device – Provide virtual display to user – Can be used for wireless display 13 tizen.org Architecture User /dev/dri/card0 File operations DRM Core Exynos DRM DRV CRTC Plane Framebuffer GEM Subdrv Encoder & Connector fbdev Buffer Operation callback of manager Exynos graphic devices driver Display HDMI Virtual Display G2D Controller Hardware 14 tizen.org KMS (Kernel Mode Setting) • A method for setting display resolution, frequency and depth in the kernel space • Can change mode without X server reloading • Include framebuffer and output management code • KMS in the Exynos DRM – CRTC used commonly – Encoder and Connector with hardware specific callbacks – Plane support (control multiple window layers) – Default FB and user FB 15 tizen.org GEM (Graphics Execution Manager) • Developed by Intel to manage graphics memory • Memory allocation and freeing • Command execution • Share graphics memory by multiple applications • Exynos SoCs do not have dedicated graphics memory – Implement buffer management – Memory type • Physically Continuous memory • Physically Non-Continuous memory 16 tizen.org SUB driver • DRM is not aware of graphics devices driver – Each graphics device driver registers sub driver data – Exynos DRM driver manages sub driver data to linked list – Sub driver data must be registered when Exynos DRM driver is probed • Manager – The interface to communicate with graphics devices driver – Delivered to Encoder and Connector – Operation callback functions 17 tizen.org Future work • Support more Exynos graphics devices – Rotator – Post processor – G3D • Update features – IOMMU support – DMA-buf support – HDMI / Plane update • The updating patches will be posted to dri-devel ML 18 tizen.org References • http://dri.freedesktop.org/wiki • http://www.x.org/wiki/Development/Documentation/HowVi deoCardsWork • https://wiki.archlinux.org/index.php/KMS • http://www.kernel.org/doc/htmldocs/drm.html • http://elinux.org/images/7/71/Elce11_dae.pdf 19 tizen.org .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    20 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us