<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"Segoe UI";
panose-1:2 11 5 2 4 2 4 2 2 3;}
@font-face
{font-family:"var\(--ff-mono\)";
panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Hi,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="mso-margin-bottom-alt:auto;background:white;vertical-align:baseline">
<span style="font-size:11.5pt;font-family:"Segoe UI",sans-serif;color:#242729">My current system configuration is like application gives the frame to XORG and XORG is configured to use simple frame buffer driver(mapped to DDR address).<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-bottom-alt:auto;background:white;vertical-align:baseline">
<span style="font-size:11.5pt;font-family:"Segoe UI",sans-serif;color:#242729">I need to implement a ping pong buffer utility in such a way that every new frame goes to two different DDR addresses.<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-bottom-alt:auto;background:white;vertical-align:baseline">
<span style="font-size:11.5pt;font-family:"Segoe UI",sans-serif;color:#242729">I can reserve two block of memory in simple frame buffer driver adding below mentioned code in system-user.dtsi:<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in">chosen {<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"> framebuffer0: framebuffer@3ee48000 {<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"> compatible = "simple-framebuffer";<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"> memory-region = <&frontbuff_reserved> <&backbuff_reserved>;<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"> width = <1280>;<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"> height = <800>;<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"> stride = <5120>;<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"> format = "a8r8g8b8";<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"> status = "okay";<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"> };<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"><o:p> </o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in">};<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"><o:p> </o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"><o:p> </o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in">reserved-memory {<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"> #address-cells = <2>;<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"> #size-cells = <2>;<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"> ranges;<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"><o:p> </o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"> frontbuff_reserved: framebuffer@3ee48000 {<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"> no-map;<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"> reg = <0x0 0x3ee48000 0x0 0x400000>;<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"> };<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"> backbuff_reserved: framebuffer@3f248000 {<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"> no-map;<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"> reg = <0x0 0x3f248000 0x0 0x400000>;<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in"> };
<o:p></o:p></span></p>
<p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:10.0pt;font-family:"var(--ff-mono)",serif;border:none windowtext 1.0pt;padding:0in">};<o:p></o:p></span></p>
<p class="MsoNormal" style="background:white;vertical-align:baseline"><span style="font-size:11.5pt;font-family:"Segoe UI",sans-serif;color:#242729">But I need some support in how XORG can use these two memory alternatively on every frame/image at runtime.<o:p></o:p></span></p>
<p class="MsoNormal" style="background:white;vertical-align:baseline"><span style="font-size:11.5pt;font-family:"Segoe UI",sans-serif;color:#242729">I have attached the xorg log file and conf file for reference.<o:p></o:p></span></p>
<p class="MsoNormal" style="background:white;vertical-align:baseline"><span style="font-size:11.5pt;font-family:"Segoe UI",sans-serif;color:#242729"><o:p> </o:p></span></p>
<p class="MsoNormal" style="background:white;vertical-align:baseline"><span style="font-size:11.5pt;font-family:"Segoe UI",sans-serif;color:#242729">Regards,<o:p></o:p></span></p>
<p class="MsoNormal" style="background:white;vertical-align:baseline"><span style="font-size:11.5pt;font-family:"Segoe UI",sans-serif;color:#242729">Prija<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<hr>
<p style="font-size:8pt; line-height:10pt;font-style:italic;font-family: 'Cambria','times roman',serif;">
Please be advised that this email may contain confidential information. If you are not the intended recipient, please notify us by email by replying to the sender and delete this message.</p>
</body>
</html>