<?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>topic Re: i.MX6 IPU and rotating a frame buffer in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269943#M28863</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Based on patches provide by Jerome and Cassol I am uploading one patch more patch for framebuffer&amp;nbsp; rotation.I am not expert of IPU but&amp;nbsp; I have done some additional work on top that. &lt;BR /&gt;I have uploaded that patch here for reference. It is created on kernel 3.14.28.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;This patch has following additional fixes/changes:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;It fixes below errors:&lt;BR /&gt;&amp;nbsp;&amp;nbsp; mxc_sdc_fb fb.17: Error updating SDC buf 1 to address=0x42F00000, current buf 2, buf0 ready 1, buf1 ready 0, buf2 ready 0.&lt;/LI&gt;&lt;LI&gt;Take care of parameters checking for overlay layer. Original patch is limited to BG layer of primary display it didn't take care parameter &lt;BR /&gt;&amp;nbsp;&amp;nbsp; checking for overlay layer(fb1) of primary display.&lt;/LI&gt;&lt;LI&gt;With original patch you can't run preview usecase (capture-&amp;gt;display) due to MEM_ROT_VF_MEM channel. Because in preview (capture-&amp;gt;display) use case IPU is checking few channels are busy or not. So I have setup DMA through IRT using different channel (MEM_ROT_ENC_MEM). In short this patch will be help in usecase where user want to run GUI on one layer (fb0 or BG) and want to display video on overlay layer (fb1 or FG) using alpha blending simultaneously. Please note that to rotate (overlay)layer user need to pass rotation parameter via application.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; example:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct ipu_task&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _task;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _task.output.rotate = 4; (IPU_ROTATE_90_RIGHT) /* for no rotation pass '0' here */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ioctl( _fd, IPU_CHECK_TASK, &amp;amp; _task )&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;And the best thing about following this approach is that no additional CPU usage because everything is taken care by IPU.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For additional information refer commit message available with patch.&lt;/P&gt;&lt;P&gt;By taking reference of my patch on kernel 3.14.28 I have also prepared similar patch on kernel 4.9.11 which latest kernel based on wandbard.&lt;/P&gt;&lt;P&gt;I have attached that patch (framebuffer_rotaion_90_degree_kernel_4.9.patch.zip) here for reference.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Jemish&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 22 Mar 2018 06:09:13 GMT</pubDate>
    <dc:creator>jemish_1990</dc:creator>
    <dc:date>2018-03-22T06:09:13Z</dc:date>
    <item>
      <title>i.MX6 IPU and rotating a frame buffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269912#M28832</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'll try to make a long story as short as possible :smileyhappy: (let me know if I skip any important details).&amp;nbsp; Hopefully this is an easy one, but we're still a little green on this part and the IPU is a pretty complex beast, so I'm banging my head at the moment.&amp;nbsp; The LCD we're planning on using for this product is FHD/portrait mode (so, 1080x1920) connected via DSI.&amp;nbsp; We've written a driver for this to glue in to the existing DSI driver (so, pretty much like the hx8369 driver down in drivers/video/mxc).&amp;nbsp; So far so good - everything works at this point.&amp;nbsp; However, the physical orientation of the display will be landscape i.e. 1920x1080, so we were hoping to use the IPU's IRT to rotate the final framebuffer 90 degrees.&amp;nbsp; In order to not have to write plugins for our userspace application(s) to worry about setting up the IPU to do this (and also just to try to get a proof-of-concept going), I've tried to modify the IPU framebuffer driver (mxc_ipuv3_fb.c) to accommodate this.&amp;nbsp; The quick hack to test this out was just to have the driver allocate an extra framebuffer down in mxcfb_map_video_memory (we'll call this new buffer A and the original buffer B).&amp;nbsp; This new buffer is the one that now gets attached to the kernel framebuffer i.e. fb_info-&amp;gt;screen_base (so this is the one that will get rendered in to).&amp;nbsp; I set up DMA through the IRT using MEM_ROT_VF_MEM (channel 46 in, channel 49 out) with buffer A being the input and buffer B being the output (initializing both with ipu_init_channel_buffer) (the rotation parameter is set to IPU_ROTATE_90_RIGHT, input resolution is x=1920/y=1080/stride=(3*1920) (we're running rgb/24bpp), output resolution is x=1080/y=1920/stride=(3*1080)).&amp;nbsp; Finally I link the rotation channel to the display channel (ipu_link_channels, MEM_ROT_VF_MEM -&amp;gt; MEM_FG_SYNC).&lt;/P&gt;&lt;P&gt;With this setup, my rotated screen is pretty much garbage (so much so that there's no discernible pattern to guess as to what might be wrong).&amp;nbsp; The weird part though is if I cut down horizontal resolution of the input framebuffer (and of course the framebuffer structure that gets registered) to 1080x1080, the rotation works fine (I believe I've tried non-square resolutions too with a lower x resolution and they worked okay, but I'll have to double-check that one).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Okay, I just did some more digging in to the underlying registers that are getting configured by the IPU driver and I see that the width/height fields in IPUx_IC_IDMAC_3/4 are limited to 10 bits (1024 pixels), so I assume that I'd need to figure a way to break the 1080x1920 rotation in to four separate DMA transfers, correct?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Jul 2013 13:38:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269912#M28832</guid>
      <dc:creator>jasonhaedt</dc:creator>
      <dc:date>2013-07-12T13:38:48Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 IPU and rotating a frame buffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269913#M28833</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jason,&lt;/P&gt;&lt;P&gt;You're right. The maximum IPU can rotate is 1024x1024. Linux kernel splits the image to show images bigger than 1024x1024.&lt;/P&gt;&lt;P&gt;You can check the file linux/drivers/mxc/ipu3/ipu_device.c about the way it splits. See the "create_split_task" function.&lt;/P&gt;&lt;P&gt;Rgds&lt;/P&gt;&lt;P&gt;Rogerio&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Jul 2013 19:34:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269913#M28833</guid>
      <dc:creator>rogerio_silva</dc:creator>
      <dc:date>2013-07-12T19:34:17Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 IPU and rotating a frame buffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269914#M28834</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry to be a nuisance, but after some more digging I've got some more information on what we're seeing and I was sort hoping to do a sanity-check with you guys.&amp;nbsp; I wrote a little program to enable the profiler in the MMDC just to get a rough idea of what DDR utilization looks like in a few different scenarios.&amp;nbsp; I don't think I mentioned before, but we're running on the sabresd board right now with a little custom daughterboard to a mipi dsi display.&amp;nbsp; DDR clock is at 528MHz, and we're running around a 66MHz pixel clock.&amp;nbsp; I'm calculating utilization by just dividing MADPSR1/MADPSR0.&amp;nbsp; What I see is&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;display blanked - &amp;lt; 1%&lt;/P&gt;&lt;P&gt;display unblanked/unrotated - 28%&lt;/P&gt;&lt;P&gt;display unblanked/rotated - 50%&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I was somewhat surprised by these numbers - the 28% for just the display seems a lot higher than I'd expect.&amp;nbsp; Given approximately a 66MHz pixel clock, the total bandwidth&amp;nbsp; from the memory should be around 264MByte/sec (66*4 - according to the reference manual the IPU translates everything in/out of memory to 8:8:8:8).&amp;nbsp; Peak rate for the ddr should be 528*2*64/8 = 8.4GByte/sec (and I realize peak bandwidth is a mostly useless metric here and that average throughput should be considerably lower, but it's a starting point).&amp;nbsp; Have you guys done any profiling at different resolutions/frame rates, and if so do the numbers we're seeing seem reasonable?&lt;/P&gt;&lt;P&gt;Like I said, sorry to be a nuisance, but we're trying to finalize our hardware design and we're trying to get a handle on whether there are pieces of the design we need to optimize by moving certain processing operations (like screen rotation) out in to our fpga.&lt;/P&gt;&lt;P&gt;Thanks again!&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 19 Jul 2013 14:29:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269914#M28834</guid>
      <dc:creator>jasonhaedt</dc:creator>
      <dc:date>2013-07-19T14:29:08Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 IPU and rotating a frame buffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269915#M28835</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello, I am working now on the same problem.&lt;/P&gt;&lt;BLOCKQUOTE&gt;
&lt;P&gt;Jason Haedt wrote:&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Okay, I just did some more digging in to the underlying registers that are getting configured by the IPU driver and I see that the width/height fields in IPUx_IC_IDMAC_3/4 are limited to 10 bits (1024 pixels), so I assume that I'd need to figure a way to break the 1080x1920 rotation in to four separate DMA transfers, correct?&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&lt;/P&gt;

&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have you found a way to do it? Or any other workaround?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jan 2014 12:59:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269915#M28835</guid>
      <dc:creator>haff</dc:creator>
      <dc:date>2014-01-16T12:59:42Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 IPU and rotating a frame buffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269916#M28836</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;But split task isn't applicable in case of rotate as far as I understand. For this case there is even special error IPU_CHECK_ERR_SPLIT_WITH_ROT. Am I mistaken? Is there any other way to rotate video bigger than 1024x1024?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Lavnikevich Dmitry&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Jan 2014 09:46:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269916#M28836</guid>
      <dc:creator>haff</dc:creator>
      <dc:date>2014-01-21T09:46:50Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 IPU and rotating a frame buffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269917#M28837</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, I wonder if you can post some code snippet of your changes in the framebuffer driver: I am stuck in a similar situation, but I get always a "timeout fl*ip" error and I can't figure out why :smileysad:&lt;/P&gt;&lt;P&gt;edit: some words&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Jan 2014 16:34:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269917#M28837</guid>
      <dc:creator>michelesponchia</dc:creator>
      <dc:date>2014-01-27T16:34:11Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 IPU and rotating a frame buffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269918#M28838</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello, Your changes can rotate the UI ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Aug 2014 09:50:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269918#M28838</guid>
      <dc:creator>shanghuadai</dc:creator>
      <dc:date>2014-08-08T09:50:04Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 IPU and rotating a frame buffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269919#M28839</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Based on architecture proposed by Jason, I wrote a patch to support framebuffer rotation on imx6. It may help someone. It is available here:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;A href="https://github.com/jerome-pouiller/mxc-video-rotate" title="https://github.com/jerome-pouiller/mxc-video-rotate"&gt;jerome-pouiller/mxc-video-rotate · GitHub&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Obviously, there are a few limitations, but it works very well.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Jul 2015 15:50:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269919#M28839</guid>
      <dc:creator>jérômepouiller</dc:creator>
      <dc:date>2015-07-23T15:50:39Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 IPU and rotating a frame buffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269920#M28840</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Jerome,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thank you for your patch it works well for me when I use 90 degrees and 270 degrees,&lt;/P&gt;&lt;P&gt;but when I rotate 180 degrees the image is splitted into 5 columns.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do you have any idea what could be the issue ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind regards&lt;/P&gt;&lt;P&gt;Wolfgang&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Jul 2015 12:34:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269920#M28840</guid>
      <dc:creator>wolnet</dc:creator>
      <dc:date>2015-07-29T12:34:49Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 IPU and rotating a frame buffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269921#M28841</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Wolfgang,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The issue is that the code is assuming that every rotation will invert width and height, which is not true for a 180deg rotation where the resolution stays the same.&lt;/P&gt;&lt;P&gt;The following diff based on the Freescale Kernel 3.14.28 and the implementation from Jerome should work with the 8 different kinds of rotation.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Sep 2015 16:11:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269921#M28841</guid>
      <dc:creator>marco_cassol</dc:creator>
      <dc:date>2015-09-14T16:11:49Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 IPU and rotating a frame buffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269922#M28842</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Marco!&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Thank You very much! It works perfect!&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Ivan.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Oct 2015 07:04:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269922#M28842</guid>
      <dc:creator>ivannikolaenko</dc:creator>
      <dc:date>2015-10-02T07:04:55Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 IPU and rotating a frame buffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269923#M28843</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Jérôme and Marco Antonio for providing the patch to enable rotation!&lt;/P&gt;&lt;P&gt;It works fine, but I'm getting error messages like this:&lt;/P&gt;&lt;P&gt;mxc_sdc_fb fb.17: Error updating SDC buf 1 to address=0x42F00000, current buf 2, buf0 ready 1, buf1 ready 0, buf2 ready 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What do they mean? Is there any way to get rid of them?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks and Regards&lt;/P&gt;&lt;P&gt;Frieder Schrempf&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Nov 2015 15:58:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269923#M28843</guid>
      <dc:creator>friederschrempf</dc:creator>
      <dc:date>2015-11-17T15:58:18Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 IPU and rotating a frame buffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269924#M28844</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Frieder,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It means a part of IPU try to access a buffer that is not yet ready. I have just pushed (on my github) a fix hat should solve this issue.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Nov 2015 16:09:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269924#M28844</guid>
      <dc:creator>jérômepouiller</dc:creator>
      <dc:date>2015-11-19T16:09:37Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 IPU and rotating a frame buffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269925#M28845</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Wolfgang,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Normally, it should be able to do 180° rotation. But, as Marco pointed out, I have only tested it on kernel 3.10.17 and I won't be surprised some changes will be necessary for other versions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, my patch should not be necessary for 180° rotation. Did you try to just call FBIOPUT_VSCREENINFO with rotate member of fb_var_screeninfo set to 1 or 2?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Nov 2015 17:14:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269925#M28845</guid>
      <dc:creator>jérômepouiller</dc:creator>
      <dc:date>2015-11-19T17:14:57Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 IPU and rotating a frame buffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269926#M28846</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jerome, Marco Antonio,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks a lot for sharing your work. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried attached patch with linux 3.14.28 and I can see the "boot logo" rotated by 180 degree&amp;nbsp; after adding the "video=mxcfb2:dev=lcd,CLAA-WVGA,if=RGB24,rotate=3" in kernel command line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However I don't see the QT application screens rotated by 180 degree.&amp;nbsp; Do you know if this works with GUI toolkits (e.g. QT) and display server/compositor (wayaland/weston)? or Do I need to add such support in those components?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My platform is based on&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i.MX6 Duallite&lt;/P&gt;&lt;P&gt;Linux 3.14.28&lt;/P&gt;&lt;P&gt;Vivante GPU driver imx-gpu-viv_5.0.11.p4.4&lt;/P&gt;&lt;P&gt;Weston 1.8.0&lt;/P&gt;&lt;P&gt;Wyaland-ivi-extension 1.4.0&lt;/P&gt;&lt;P&gt;Qt 5.4.2&lt;/P&gt;&lt;P&gt;QTWayland 5.4.2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;Vikas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Nov 2015 12:50:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269926#M28846</guid>
      <dc:creator>vikaspatil</dc:creator>
      <dc:date>2015-11-26T12:50:22Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 IPU and rotating a frame buffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269927#M28847</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jerome, Marco Antonio,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;QT app also works. I was using fb1 for weston, after chnaging it to fb0 it works.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vikas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Nov 2015 13:09:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269927#M28847</guid>
      <dc:creator>vikaspatil</dc:creator>
      <dc:date>2015-11-26T13:09:22Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 IPU and rotating a frame buffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269928#M28848</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This code rotates the fb0. Do you know if same way fb1 (overlay) also can be rotated?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vikash&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Nov 2015 06:06:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269928#M28848</guid>
      <dc:creator>vikaspatil</dc:creator>
      <dc:date>2015-11-27T06:06:59Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 IPU and rotating a frame buffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269929#M28849</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Vikash,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't think it would be possible to also rotate fb1 without redesigning whole architecture. You can try to place `fb0` and `fb1` buffers in contiguous memory and rotate both buffer together, but I am not sure it would work.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Feb 2016 16:51:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269929#M28849</guid>
      <dc:creator>jérômepouiller</dc:creator>
      <dc:date>2016-02-09T16:51:27Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 IPU and rotating a frame buffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269930#M28850</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We moved to a imx-3.14.52 kernel and I was surprised that it still not implemented rotation of the image. Moreover, I was surprised and very disappointed that patch proposed by Jerome Pouiller is not working anymore. That made me write to this topic.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, does anyone have any ideas how, after all, to implement a hardware rotation of the image once and for all? &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/jasonhaedt"&gt;jasonhaedt&lt;/A&gt;​, could you share your solution?&lt;BR /&gt;Thank you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 May 2016 13:51:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269930#M28850</guid>
      <dc:creator>ivannikolaenko</dc:creator>
      <dc:date>2016-05-23T13:51:32Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 IPU and rotating a frame buffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269931#M28851</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I use kernel&amp;nbsp;&lt;SPAN style="color: #2d2d2d; background-color: #ffffff; font-size: 14px;"&gt;3.14.56 for Udoo. Have someone the patch to this version?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #2d2d2d; background-color: #ffffff; font-size: 14px;"&gt;Thanks!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Feb 2017 12:10:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-IPU-and-rotating-a-frame-buffer/m-p/269931#M28851</guid>
      <dc:creator>alexv</dc:creator>
      <dc:date>2017-02-03T12:10:25Z</dc:date>
    </item>
  </channel>
</rss>

