__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<!DOCTYPE html>
<html lang="en" data-content_root="../">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>drm/mcde ST-Ericsson MCDE Multi-channel display engine — The Linux Kernel documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/alabaster.css?v=3918102e" />
<script src="../_static/documentation_options.js?v=5929fcd5"></script>
<script src="../_static/doctools.js?v=9bcbadda"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="drm/meson AmLogic Meson Video Processing Unit" href="meson.html" />
<link rel="prev" title="UAPI" href="imagination/uapi.html" />
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
</head><body>
<div class="document">
<div class="sphinxsidebar" role="navigation" aria-label="Main">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/logo.svg" alt="Logo of The Linux Kernel"/>
</a></p>
<h1 class="logo"><a href="../index.html">The Linux Kernel</a></h1>
<p class="blurb">6.18.50</p>
<search id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script>
<p>
<h3 class="kernel-toc-contents">Contents</h3>
<input type="checkbox" class="kernel-toc-toggle" id = "kernel-toc-toggle" checked>
<label class="kernel-toc-title" for="kernel-toc-toggle"></label>
<div class="kerneltoc" id="kerneltoc">
<ul>
<li class="toctree-l1"><a class="reference internal" href="../process/development-process.html">Development process</a></li>
<li class="toctree-l1"><a class="reference internal" href="../process/submitting-patches.html">Submitting patches</a></li>
<li class="toctree-l1"><a class="reference internal" href="../process/code-of-conduct.html">Code of conduct</a></li>
<li class="toctree-l1"><a class="reference internal" href="../maintainer/index.html">Maintainer handbook</a></li>
<li class="toctree-l1"><a class="reference internal" href="../process/index.html">All development-process docs</a></li>
</ul>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../core-api/index.html">Core API</a></li>
<li class="toctree-l1"><a class="reference internal" href="../driver-api/index.html">Driver APIs</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../subsystem-apis.html">Subsystems</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../subsystem-apis.html#core-subsystems">Core subsystems</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="../subsystem-apis.html#human-interfaces">Human interfaces</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="../input/index.html">Input Documentation</a></li>
<li class="toctree-l3"><a class="reference internal" href="../hid/index.html">Human Interface Devices (HID)</a></li>
<li class="toctree-l3"><a class="reference internal" href="../sound/index.html">Sound Subsystem Documentation</a></li>
<li class="toctree-l3 current"><a class="reference internal" href="index.html">GPU Driver Developer’s Guide</a></li>
<li class="toctree-l3"><a class="reference internal" href="../fb/index.html">Frame Buffer</a></li>
<li class="toctree-l3"><a class="reference internal" href="../leds/index.html">LEDs</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../subsystem-apis.html#networking-interfaces">Networking interfaces</a></li>
<li class="toctree-l2"><a class="reference internal" href="../subsystem-apis.html#storage-interfaces">Storage interfaces</a></li>
<li class="toctree-l2"><a class="reference internal" href="../subsystem-apis.html#other-subsystems">Other subsystems</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../locking/index.html">Locking</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../process/license-rules.html">Licensing rules</a></li>
<li class="toctree-l1"><a class="reference internal" href="../doc-guide/index.html">Writing documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../dev-tools/index.html">Development tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="../dev-tools/testing-overview.html">Testing guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../kernel-hacking/index.html">Hacking guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../trace/index.html">Tracing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../fault-injection/index.html">Fault injection</a></li>
<li class="toctree-l1"><a class="reference internal" href="../livepatch/index.html">Livepatching</a></li>
<li class="toctree-l1"><a class="reference internal" href="../rust/index.html">Rust</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../admin-guide/index.html">Administration</a></li>
<li class="toctree-l1"><a class="reference internal" href="../kbuild/index.html">Build system</a></li>
<li class="toctree-l1"><a class="reference internal" href="../admin-guide/reporting-issues.html">Reporting issues</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Userspace tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="../userspace-api/index.html">Userspace API</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../firmware-guide/index.html">Firmware</a></li>
<li class="toctree-l1"><a class="reference internal" href="../devicetree/index.html">Firmware and Devicetree</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../arch/index.html">CPU architectures</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../staging/index.html">Unsorted documentation</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../translations/index.html">Translations</a></li>
</ul>
</div>
<script type="text/javascript"> <!--
var sbar = document.getElementsByClassName("sphinxsidebar")[0];
let currents = document.getElementsByClassName("current")
if (currents.length) {
sbar.scrollTop = currents[currents.length - 1].offsetTop;
}
--> </script>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/gpu/mcde.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="drm-mcde-st-ericsson-mcde-multi-channel-display-engine">
<h1>drm/mcde ST-Ericsson MCDE Multi-channel display engine<a class="headerlink" href="#drm-mcde-st-ericsson-mcde-multi-channel-display-engine" title="Link to this heading">¶</a></h1>
<p>The MCDE (short for multi-channel display engine) is a graphics
controller found in the Ux500 chipsets, such as NovaThor U8500.
It was initially conceptualized by ST Microelectronics for the
successor of the Nomadik line, STn8500 but productified in the
ST-Ericsson U8500 where is was used for mass-market deployments
in Android phones from Samsung and Sony Ericsson.</p>
<p>It can do 1080p30 on SDTV CCIR656, DPI-2, DBI-2 or DSI for
panels with or without frame buffering and can convert most
input formats including most variants of RGB and YUV.</p>
<p>The hardware has four display pipes, and the layout is a little
bit like this:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>Memory -> Overlay -> Channel -> FIFO -> 8 formatters -> DSI/DPI
External 0..5 0..3 A,B, 6 x DSI bridge
source 0..9 C0,C1 2 x DPI
</pre></div>
</div>
<p>FIFOs A and B are for LCD and HDMI while FIFO CO/C1 are for
panels with embedded buffer.
6 of the formatters are for DSI, 3 pairs for VID/CMD respectively.
2 of the formatters are for DPI.</p>
<p>Behind the formatters are the DSI or DPI ports that route to
the external pins of the chip. As there are 3 DSI ports and one
DPI port, it is possible to configure up to 4 display pipelines
(effectively using channels 0..3) for concurrent use.</p>
<p>In the current DRM/KMS setup, we use one external source, one overlay,
one FIFO and one formatter which we connect to the simple DMA framebuffer
helpers. We then provide a bridge to the DSI port, and on the DSI port
bridge we connect hang a panel bridge or other bridge. This may be subject
to change as we exploit more of the hardware capabilities.</p>
<p>TODO:</p>
<ul class="simple">
<li><p>Enabled damaged rectangles using <a class="reference internal" href="drm-kms.html#c.drm_plane_enable_fb_damage_clips" title="drm_plane_enable_fb_damage_clips"><code class="xref c c-func docutils literal notranslate"><span class="pre">drm_plane_enable_fb_damage_clips()</span></code></a>
so we can selectively just transmit the damaged area to a
command-only display.</p></li>
<li><p>Enable mixing of more planes, possibly at the cost of moving away
from using the simple framebuffer pipeline.</p></li>
<li><p>Enable output to bridges such as the AV8100 HDMI encoder from
the DSI bridge.</p></li>
</ul>
</section>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="footer">
©The kernel development community.
|
Powered by <a href="https://www.sphinx-doc.org/">Sphinx 8.1.3</a>
& <a href="https://alabaster.readthedocs.io">Alabaster 0.7.16</a>
|
<a href="../_sources/gpu/mcde.rst.txt"
rel="nofollow">Page source</a>
</div>
</body>
</html>| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| amdgpu | Folder | 0755 |
|
|
| bridge | Folder | 0755 |
|
|
| imagination | Folder | 0755 |
|
|
| nova | Folder | 0755 |
|
|
| rfc | Folder | 0755 |
|
|
| xe | Folder | 0755 |
|
|
| afbc.html | File | 18.3 KB | 0644 |
|
| automated_testing.html | File | 17.37 KB | 0644 |
|
| backlight.html | File | 46.97 KB | 0644 |
|
| driver-uapi.html | File | 465.42 KB | 0644 |
|
| drivers.html | File | 44.63 KB | 0644 |
|
| drm-client.html | File | 56.03 KB | 0644 |
|
| drm-compute.html | File | 10.65 KB | 0644 |
|
| drm-internals.html | File | 278.54 KB | 0644 |
|
| drm-kms-helpers.html | File | 2 MB | 0644 |
|
| drm-kms.html | File | 1.36 MB | 0644 |
|
| drm-mm.html | File | 1.03 MB | 0644 |
|
| drm-uapi.html | File | 236.88 KB | 0644 |
|
| drm-usage-stats.html | File | 20.29 KB | 0644 |
|
| drm-vm-bind-async.html | File | 28.12 KB | 0644 |
|
| drm-vm-bind-locking.html | File | 57.14 KB | 0644 |
|
| i915.html | File | 643.37 KB | 0644 |
|
| implementation_guidelines.html | File | 11.4 KB | 0644 |
|
| index.html | File | 131.32 KB | 0644 |
|
| introduction.html | File | 20.55 KB | 0644 |
|
| komeda-kms.html | File | 74.2 KB | 0644 |
|
| mcde.html | File | 10.4 KB | 0644 |
|
| meson.html | File | 16.81 KB | 0644 |
|
| msm-crash-dump.html | File | 9.44 KB | 0644 |
|
| msm-preemption.html | File | 11 KB | 0644 |
|
| nouveau.html | File | 12.63 KB | 0644 |
|
| panfrost.html | File | 9.98 KB | 0644 |
|
| panthor.html | File | 10.44 KB | 0644 |
|
| pl111.html | File | 9 KB | 0644 |
|
| tegra.html | File | 68.04 KB | 0644 |
|
| todo.html | File | 67.35 KB | 0644 |
|
| tve200.html | File | 8.64 KB | 0644 |
|
| v3d.html | File | 11.2 KB | 0644 |
|
| vc4.html | File | 19.26 KB | 0644 |
|
| vga-switcheroo.html | File | 65.4 KB | 0644 |
|
| vgaarbiter.html | File | 35.58 KB | 0644 |
|
| vkms.html | File | 18.06 KB | 0644 |
|
| xen-front.html | File | 10.71 KB | 0644 |
|
| zynqmp.html | File | 135.56 KB | 0644 |
|