Hello everybody
I have the problem with /dev/fb0 rotation:
I found following:
1) in kernel source, file drivers/video/mxc/mxc_ipuv3_fb.c, line 894:
if (var->rotate > IPU_ROTATE_VERT_FLIP)
var->rotate = IPU_ROTATE_NONE;
it does not allow to set rotation for fbN more than 1 (90 degrees >3)
2) I changed it to:
if (var->rotate > IPU_ROTATE_90_LEFT)
var->rotate = IPU_ROTATE_NONE;
3) I tried to set /sys/class/graphics/fb0/rotate to 4 and system returned an error:
imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_10 = 0x00080000
Regarding IMX6DQRM.pdf it means:
DI0 Synchronous display error interrupt
This bit indicates on the interrupt that is a result of an error during access to a synchronous display via DI0
Anybody faced it? Any suggestions how to solve it?
root@sabresd_6dq:/ # export DISPLAY=:0.0
root@sabresd_6dq:/ # xrandr
/system/bin/sh: xrandr: not found
127|root@sabresd_6dq:/ # xrandr left
/system/bin/sh: xrandr: not found
Please help to execute command xrandr in freescale board imx6 having 3.10.53 linux kernel
Hi Vladislav
this error bit is set when there's an error, usually as result of data starvation when
data that should be sent to display is not available in IPUs internal
FIFO. Most probable cause for this issue is huge load on the DDR memory bus.
One can try to decrease LCD frame rate/resolution or tweak GPR IPU QoS settings
via IOMUXC_GPR6,7
Rotate the 3.5 inch LCD screen to 180 degree
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
I tried with lower resolution:
480x272x2(16-bit)*60(fps) = 15.667.200B/s, the issue has remained.
I checked IOMUXC_GPR6 (use IPU1), the value is set to 0x007f007f.
Please tell me what else I could check.
Best Regards,
Vlad.
Thank you for answer.
Unforегtunatelly we are not using any X Window System. We are writing direct to framebuffer.
Thank you,
Vlad.
Hello Igor,
Regarding "huge load on the DDR" there is simple math:
480*800*4(32-bit)*60 = 92.160.000 Bytes/second.
Is it huge amount?
Could you tell where I can get more detailed manual about tweaking GPR IPU QoS?
Rotate the 3.5 inch LCD screen to 180 degree
Is not working in my case.
Thank you for your answer,
Best Regards,
Vlad.