Workaround for imx5x M4IF burst len errata when armv7 neon enabled, use
pgprot_writecombine instead of pgprot_noncached, to avoid burst len > 8.
Signed-off-by: Sammy He <r62914@freescale.com>
If VPU doesn't use IRAM, there will be a kernel dump when
we enter VPU driver probe function.
This issue is caused by allocating IRAM with zero buffer
size.
Signed-off-by: Liu Ying <b17645@freescale.com>
disable dp-dc in the display flow end irq handler, otherwise,
ipu may get NFB4EOF error for next fb enabling under big resolution(like 1080p).
Signed-off-by: Jason Chen <b02280@freescale.com>
* Remove VGA support
* Remove HDMI customization (was for the old driver)
* Consolidate DI clock setting (view is to remove it eventually since
the bug it was meant to work around is fixed)
* Remove mxc_ipuv3_fb.c dependency on EfikaMX includes
If enabled MMU, there is AXI read/write error on MX508 when run
OpenVG CTS.
Besides, change EMEM1 size to 10MB by default to make gpu driver
work on MX50_ARM2 board with 128MB memory installed.
Signed-off-by: Jie Zhou <b30303@freescale.com>
Remove GSL_MMU_TRANSLATION_ENABLED macro originally used for conditional
compile, and replace it with runtime check to support one mx5x image
Signed-off-by: Jie Zhou <b30303@freescale.com>
When X-accel is enabled, uio driver is used for X server to access
z160 device, so in gsl, we should not operate z160 to avoid conflicts
Signed-off-by: Jie Zhou <b30303@freescale.com>
If dual display enabled, the second one may not be able to set
correct clock rate if it's from ext clk.
Signed-off-by: Jason Chen <b02280@freescale.com>
When terminating some applications such as OpenGL ES2.0 conf. test,
kgsl_device_stop is not triggered. And run such kind of application
for several times, system hang happens for inconsistency of device
states. So make sure device is stopped in kgsl_device_close, which
is only called by last running caller process.
Signed-off-by: Jie Zhou <b30303@freescale.com>
The mmap policy should be writethrough.
Signed-off-by: Jason Chen <b02280@freescale.com>
(cherry picked from commit aceea32a54b8aa248d771b589d46ce8fbe3c2806)
memstore should be freed properly. a following change will be prepared to
improve the alloc/free logic for device memstore.
Signed-off-by: Jie Zhou <b30303@freescale.com>
Acked-by: Rob Herring <r.herring@freescale.com>
Change pgprot_noncached to pgprot_writecombine in gsl_kmod_mmap to
improve performance
Signed-off-by: Thomas Peng <r80085@freescale.com>
Signed-off-by: Jie Zhou <b30303@freescale.com>
(cherry picked from commit 847baca41bceed49e397eaba8b1b3b00e86e20a3)
With latest VG/GL fix integration from RC16/EA, there will be some problems
as below, which can be solved by this patch:
- ENGR00124884 will happen again
- suspend/resume will not be supported in gpu driver
Signed-off-by: Jie Zhou <b30303@freescale.com>
1) Read buffer 1 ready register before setting buffer 1 ready.
2) Enable ISP in IPU_CONF when using VDI.
3) Fix link issue between MEM_VDI_PRP_VF_MEM and MEM_ROT_VF_MEM.
4) Correct g_channel_init_mask value.
5) Use fixed top field for VDI.
Signed-off-by: Liu Ying <b17645@freescale.com>
The support for YUV422 different combinations are added
The YUV422 is supported for DI1 interface for 720P frames with 16bits bus only:
di1_primary video=mxcdi1fb:YUYV16,720P60
To define required YUV422 format use one of:
YUYV16
YVYU16
UYVY16
VYUY16
Signed-off-by: Mark Gutman <r58412@freescale.com>
1)Set the IDMAC channel's burst size to be 32 pixels if the channel is
in UYVY pixel format.
2)Set the IDMAC channel's burst size to be 16 pixels if the channel is
in ABGR32 pixel format.
Signed-off-by: Liu Ying <b17645@freescale.com>
Rework the display command line options to not require new option for
every new display. Add mxcdi0fb/mxcdi1fb option <fmt> and to tell system
what kind of display device is going to use.
Use "di1_primary" to make DI1 the primary display (i.e. fb0).
The display selection is done using video= parameter.
For example on imx51:
di di_fmt video_mode
DVI: 0 RGB24 mxcdi0fb:800x600M-16@60 etc
DVI-HDMI: 0 RGB24 mxcdi0fb:720P60
LVDS: 0 LVDS666 mxcdi0fb:XGA
WVGA lcd: 1 RGB565 mxcdi1fb:800x480M-16@55
TVE: 1 YUV444 mxcdi1fb:TV-NTSC
mxcdi1fb:TV-PAL
mxcdi1fb:720P60
For example on imx53:
di di_fmt video_mode
DVI: 0 RGB24 mxcdi0fb:800x600M-16@60 etc
DVI-HDMI: 0 RGB24 mxcdi0fb:720P60
WVGA lcd: 0 RGB565 mxcdi0fb:800x480M-16@55
TVE: 1 YUV444 mxcdi1fb:TV-NTSC
mxcdi1fb:TV-PAL
mxcdi1fb:720P60
If you want to set NTSC tv as primary display, and make second display
DI0 as DVI 1024x768 resolution, just add
"di1_primary video=mxcdi0fb:RGB24,1024x768M-16@60 video=mxcdi1fb:YUV444,TV-NTSC"
to cmdline.
Signed-off-by: Rob Herring <r.herring@freescale.com>
Signed-off-by: Jason Chen <b02280@freescale.com>
Setting the AXI ID on to 1 for sync display channels on MX53 causes
display flickering when system is heavily loaded.
Signed-off-by: Rob Herring <r.herring@freescale.com>
(cherry picked from commit 30df5734fcea4146b60f35238aaf5368f3392b0d)