<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX ProcessorsのトピックRe: iMX6Q IPU Double-buffering</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/iMX6Q-IPU-Double-buffering/m-p/1587714#M200624</link>
    <description>This is not acceptable answer. This is what the RM says:&lt;BR /&gt;&lt;BR /&gt;When double buffering is used, the EBA0 is the base address of the buffer 0 and the&amp;nbsp;EBA1 is the base address of the buffer 1. The IPU_CHA_CUR_BUF Register is a status&amp;nbsp;register. It contains 1-bit pointers to the current working buffers for all IPU DMA&amp;nbsp;channels. The IPU automatically toggles a pointer after completion of the current buffer&amp;nbsp;processing. If the ARM platform is a data source for specific double-buffered channel, it&amp;nbsp;should check this status bit in order to know what is the IPU current buffer. The ARM&lt;BR /&gt;platform is allowed to write to the buffer only when a working DMA channel does not use it. After the ARM platform has been fill the buffer, it has to set the corresponding bit&amp;nbsp;in the IPU_CHA_BUF0_RDY and IPU_CHA_BUF1_RDY Registers. If needed, the&amp;nbsp;ARM platform can only clear the pointer by writing 1 but not set it.</description>
    <pubDate>Wed, 25 Jan 2023 15:34:30 GMT</pubDate>
    <dc:creator>ogj</dc:creator>
    <dc:date>2023-01-25T15:34:30Z</dc:date>
    <item>
      <title>iMX6Q IPU Double-buffering</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX6Q-IPU-Double-buffering/m-p/1584329#M200291</link>
      <description>&lt;P&gt;I’m using an iMX6Q processor (bare metal build) and am trying to determine the correct usage of the IPU_CH_BUF0_RDY and IPU_CH_BUF1_RDY &amp;nbsp;bits in the IPU. I’m using a single buffer for a (static) background (IDMA ch 23), and double –buffering the foreground (ch 27). Now let’s say I’m displaying BUF0 (EBA0), IPU_CH_BUF0_RDY0:27 is 1, IPU_CUR_BUF:27 is 0, and I’m updating BUF1 (EBA1). It takes me several display refresh cycles (@ 60 per secs), say 60ms, to update BUF1 with new data. Now I want to switch over to display BUF1 (and then update BUF0) – which of course is the purpose of double buffering. If I now set IPU_CH_BUF1_RDY0:27 to 1, will this cause a switch to display BUF1 at the next EOF (so I can update BUF0)? I can’t clear IPU_CH_BUF0_RDY:27 using software, so how does it get cleared if the displays are swapped?&lt;/P&gt;&lt;P&gt;I tried playing around with the registers using a probe. I can set IPU_CH_BUF0_RDY0:27 fine. I thought if I then set IPU_CH_BUF1_RDY0:27, that it would clear IPU_CH_BUF0_RDY0:27, but it doesn’t, both bits remain set. This is with the IPU not running, so things may be different when it’s active. Any insight?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 18 Jan 2023 04:28:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX6Q-IPU-Double-buffering/m-p/1584329#M200291</guid>
      <dc:creator>ogj</dc:creator>
      <dc:date>2023-01-18T04:28:46Z</dc:date>
    </item>
    <item>
      <title>Re: iMX6Q IPU Double-buffering</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX6Q-IPU-Double-buffering/m-p/1584707#M200346</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;You can read the Mx6 reference manual for more information and you can how it is on current driver in yocto BSP.&lt;/P&gt;
&lt;P&gt;Regards&lt;/P&gt;</description>
      <pubDate>Wed, 18 Jan 2023 14:53:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX6Q-IPU-Double-buffering/m-p/1584707#M200346</guid>
      <dc:creator>Bio_TICFSL</dc:creator>
      <dc:date>2023-01-18T14:53:36Z</dc:date>
    </item>
    <item>
      <title>Re: iMX6Q IPU Double-buffering</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX6Q-IPU-Double-buffering/m-p/1587714#M200624</link>
      <description>This is not acceptable answer. This is what the RM says:&lt;BR /&gt;&lt;BR /&gt;When double buffering is used, the EBA0 is the base address of the buffer 0 and the&amp;nbsp;EBA1 is the base address of the buffer 1. The IPU_CHA_CUR_BUF Register is a status&amp;nbsp;register. It contains 1-bit pointers to the current working buffers for all IPU DMA&amp;nbsp;channels. The IPU automatically toggles a pointer after completion of the current buffer&amp;nbsp;processing. If the ARM platform is a data source for specific double-buffered channel, it&amp;nbsp;should check this status bit in order to know what is the IPU current buffer. The ARM&lt;BR /&gt;platform is allowed to write to the buffer only when a working DMA channel does not use it. After the ARM platform has been fill the buffer, it has to set the corresponding bit&amp;nbsp;in the IPU_CHA_BUF0_RDY and IPU_CHA_BUF1_RDY Registers. If needed, the&amp;nbsp;ARM platform can only clear the pointer by writing 1 but not set it.</description>
      <pubDate>Wed, 25 Jan 2023 15:34:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX6Q-IPU-Double-buffering/m-p/1587714#M200624</guid>
      <dc:creator>ogj</dc:creator>
      <dc:date>2023-01-25T15:34:30Z</dc:date>
    </item>
  </channel>
</rss>

