Age | Commit message (Collapse) | Author |
|
gpu2d hang fix has side effect, it causes flicker issue for popup window
menu on android, not integrate this fix before the side effect be fixed.
Revert "ENGR00302036-3 gpu:gpu2d may cause bus hang in some corner case"
This reverts commit 0d5505cfd0b50db4bd046270b119c4dae0a143c2.
Signed-off-by: Richard Liu <r66033@freescale.com>
Acked-by: Shawn Guo
|
|
Vivante patch name:
cl17466.17776.rls.lockup.2dhang(clear.blit)
-Updated the outstanding request limit to 12.
-Refined the 2D chip feature check.
-Refine the 2D cache flush operation
(avoid FE and PE access memory through the same port).
-Enable cache flush for filterblt.
-Dynamic enabling SPLIT_RECT by checking chip feature(disable for us)
-Use brush stretch blt for clear operation.
Date: Mar 26, 2014
Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Shawn Guo
|
|
drivers/usb/host/ehci-arc.c: In function 'ehci_fsl_drv_resume':
drivers/usb/host/ehci-arc.c:805: warning: ISO C90 forbids mixed declarations and code
Signed-off-by: Peter Chen <peter.chen@freescale.com>
|
|
This issue happens when multiple thread is trying to idle GPU at the
same time, root cause is some wrong logic related with powerMutex which
cause cpu still access GPU AHB register after GPU is suspend(clock off),
that cause the bus lockup and make the whole system hang.
Signed-off-by: Richard Liu <r66033@freescale.com>
Acked-by: Jason Liu
|
|
We find a bug that the usb will produce endless interrupt during the
resume after below steps:
- nothing connected at usb otg port, but enable usb gadget driver
- system enters suspend
- plug in usb cable
- system leaves suspend
The reasons of endless interrupt is: the host controller resume routine
leaves the phy low power mode, but device controller resume routine has
still not been called, so the software considers it is still at low power
mode. After this time, the vbus change interrupt comes, the wakeup routine
considers it is an wakeup interrupt, but in fact it is not. So, the endless
interrupt occurs.
The solution of this problem is do noop during host controller resume
routine if current usb mode is not host mode, and the device controller
reusme routine will handle it.
Signed-off-by: Peter Chen <peter.chen@freescale.com>
|
|
Set the correct permissions of the fsl_disp_property sysfs entry.
Acked-by: Liu Ying <Ying.Liu@freescale.com>
Signed-off-by: Julien Olivain <julien.olivain@freescale.com>
(cherry picked from commit 9db2d982c90b6edb3dfebe03a68f50f381bb99bb)
|
|
In order to avoid any random pixelation issue, we should follow a correct
display controller/LDB initialization sequence, that is, LDB channel should
be enabled after its relevant display controller is enabled. Since the
enable() callback of the mxc display driver is called after a display
controller is enabled, this patch uses the enable()/disable() callbacks
to replace the fb notifier callback implemented in the LDB driver. Also,
we disable a LDB channel in the setup() callback of the mxc display driver
to make sure of the correct sequence in any fb set_par() function. As the
enable()/disable() callbacks are always invoked with fb_blank(), this
patch drops the suspend()/resume() functions of the LDB driver which
do nothing but enable/disable LDB channels. We also remove the code to
enable ldb di clocks because they can be enabled when their relevant
child pixel clocks are enabled.
Conflicts:
drivers/video/mxc/ldb.c
drivers/video/mxc/mxc_dispdrv.h
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit 8d189a9cc067f74cc3d49757af25118b459b9726)
|
|
2G above address will cause system reboot and fixed in original patch,
error check code is added based on the original logic.
Signed-off-by: Xianzhong <b07117@freescale.com>
Acked-by: Jason Liu
|
|
commit c7ac8679bec9397afe8918f788cbcef88c38da54 upstream.
The message size allocated for rtnl ifinfo dumps was limited to
a single page. This is not enough for additional interface info
available with devices that support SR-IOV and caused a bug in
which VF info would not be displayed if more than approximately
40 VFs were created per interface.
Implement a new function pointer for the rtnl_register service that will
calculate the amount of data required for the ifinfo dump and allocate
enough data to satisfy the request.
Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Cc: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
scsi_run_queue() examines all SCSI devices that are present on
the starved list. Since scsi_run_queue() unlocks the SCSI host
lock a SCSI device can get removed after it has been removed
from the starved list and before its queue is run. Protect
against that race condition by holding a reference on the
queue while running it.
Reported-by: Chanho Min <chanho.min@lge.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
|
|
Based on Bart Van Assche's below patch
Avoid that the code for requeueing SCSI requests triggers a
crash by making sure that that code isn't scheduled anymore
after a device has been removed.
Also, source code inspection of __scsi_remove_device() revealed
a race condition in this function: no new SCSI requests must be
accepted for a SCSI device after device removal started.
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Peter Chen <peter.chen@freescale.com>
|
|
Set 720x576's HS, HW register's value same as other resolutions
Signed-off-by: Fang Hui <b31070@freescale.com>
|
|
There are two possible reasons to cause AXI bus error
1.Allocate Tile status buffer from virtual memory. It seems gc2000
and gc880 doesn't support tile status buffer from virtual memory.
2.Stream buffer using very beginning gpu mmu address. In this condition,
a faked non gpu mmu address maybe generated and fill into gpu which cause
AXI bus error.
[DATE]09-01-2014
Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Shawn Guo
|
|
Update new sensor version to support new batch feature in Android4.4.
Patch is from sensor team.
Signed-off-by: b38342 <b38342@freescale.com>
Signed-off-by: Jianzheng Zhou <jianzheng.zhou@freescale.com>
Acked-by: Jason Liu
|
|
For some resolution, add some delay to walk around this issue
Signed-off-by: Fang Hui <b31070@freescale.com>
|
|
Don't send hdmi_audio uevent when HDMI-DVI connected.
Signed-off-by: Shengjiu Wang <b02247@freescale.com>
|
|
Fix EVK SL build failed.
Signed-off-by: Ke Qinghua <qinghua.ke@freescale.com>
|
|
Add IR char driver,mx6_ir driver,epit driver and update configuration
for support IR.
Signed-off-by: Ke Qinghua <qinghua.ke@freescale.com>
|
|
In rtl8723as new driver, it introduce CONFIG_MMC_PM_KEEP_POWER
, in fact our platform is using boarddata->keep_power_at_suspend
to config mmc host's MMC_PM_KEEP_POWER capability.Just remove it
will make suspend&resume OK.
Signed-off-by: Jianzheng Zhou <jianzheng.zhou@freescale.com>
|
|
Update rtl8723as driver from realtek.
New version is 20131126_RTL8723A_WiFi_linux_v4.1.8_9660_BT_V2.15_P17.
Signed-off-by: Jianzheng Zhou <jianzheng.zhou@freescale.com>
|
|
System reboot occur during 1080p recording if exit MovieStudio after play a mixed clip with single HDMI,
Vivante's intial feedback is alloc_pages_exact/free_pages_exact APIs are not stable in some kernel,
In other side, need check if some memory size miscalculated is hided by this optimization.
Temporarily this optimization shall be reverted to fix the critical issue.
Signed-off-by: Xianzhong <b07117@freescale.com>
Acked-by: Jason Liu
|
|
In original implement, HDMI driver will use the last video mode
when cable plugin. Change the mechanism, use default video mode
seting in bootargs.
Signed-off-by: Liu Xiaowen <b37945@freescale.com>
|
|
gpu kernel dump the error message when enable DEBUG mode:
gckCONTEXT_Update(1493): State 0x0518 is not mapped.
gckCONTEXT_Update(1493): State 0x0520 is not mapped.
gckCONTEXT_Update(1493): State 0x0518 is not mapped.
gckCONTEXT_Update(1493): State 0x0520 is not mapped.
align gpu kernel driver to fix the error message
Signed-off-by: Xianzhong <b07117@freescale.com>
Acked-by: Jason Liu
|
|
this is a fake recovery to cause system reboot, when run
http://people.mozilla.org/~sicking/webgl/ray.html
the fix is to disable GPU recovery in Chrome browser,
Signed-off-by: Xianzhong <b07117@freescale.com>
Acked-by: Jason Liu
|
|
Integrate GPU 4.6.9p13 release kernel driver for Android.
Signed-off-by: Xianzhong <b07117@freescale.com>
Acked-by: Jason Liu
|
|
Fix kernel crash issue meet when do 720p Camera recording
on WFD source side, the crash is related with timer schedule,
fixed by add protection code in gckOS_StartTimer function.
Kernel crash log:
[<c004ffec>] (__bug+0x1c/0x28) from [<c00a7e00>] (queue_delayed_work_on+0x10c/0x148)
[<c00a7e00>] (queue_delayed_work_on+0x10c/0x148) from [<c046f4d0>] (gckOS_StartTimer+0x44/0x84)
[<c046f4d0>] (gckOS_StartTimer+0x44/0x84) from [<c047f4ac>] (gckHARDWARE_SetPowerManagementState+0xa24/0xa5c)
[<c047f4ac>] (gckHARDWARE_SetPowerManagementState+0xa24/0xa5c) from [<c046e608>] (gckOS_Broadcast+0xb8/0xe8)
[<c046e608>] (gckOS_Broadcast+0xb8/0xe8) from [<c0475734>] (_TryToIdleGPU+0xd8/0x18c)
[<c0475734>] (_TryToIdleGPU+0xd8/0x18c) from [<c0476cdc>] (gckEVENT_Notify+0x2dc/0x4c8)
[<c0476cdc>] (gckEVENT_Notify+0x2dc/0x4c8) from [<c047d494>] (gckHARDWARE_Interrupt+0x58/0x68)
[<c047d494>] (gckHARDWARE_Interrupt+0x58/0x68) from [<c04693a8>] (threadRoutine+0x20/0x78)
[<c04693a8>] (threadRoutine+0x20/0x78) from [<c00ad0c8>] (kthread+0x80/0x88)
[<c00ad0c8>] (kthread+0x80/0x88) from [<c004d408>] (kernel_thread_exit+0x0/0x8)
Signed-off-by: Richard Liu <r66033@freescale.com>
Acked-by: Jason Liu
|
|
cpufreq and pu power management will oprate the same register, it looks should
keep them operating in order not concurrent. Then use the cpufreq mutex in xPU
driver to make sure.
Another code bug is in pu power management which base regulator framework, we
set the reister directly not regulator, then there is the chance set_volatage
will miss the chance if this time voltage setting as the last time setting
before PU disable, but we have to do this, so add regulator_sync_voltage to
force sync the voltage setting. The drawback is setting twice...
Note:
This patch is temporary and supposed to be replaced it once we find the
root cause.
Signed-off-by: Robin Gong <b38343@freescale.com>
Acked-by: Jason Liu
|
|
Base on rtl8723as driver(v4.1.8_9180.20130927_BTCOEX20130528_ver3.3_beta)
still do the following changes for imx6:
1.add imx6 in Makefile.
2.fix suspend/resume issue.Just refactor runtime_pm in suspend.
Signed-off-by: Jianzheng Zhou <jianzheng.zhou@freescale.com>
|
|
Enable OT limitation for gc880, without this limitation
3D core may stall system bus when it is running at a very low clock.
Signed-off-by: Loren HUANG <b02279@freescale.com>
Acked-by: Shawn Guo
|
|
black screen occurs sometimes during 720p recording
when wifi display enable and WFD source is HDMI 720p
or 1080p output. This patch is a workaround to fix
IPU CSC done on IPU0.
console log is below when black screen happen:
imx-ipuv3 imx-ipuv3.1: IPU Warning - IPU_INT_STAT_10 = 0x00080000
imx-ipuv3 imx-ipuv3.1: IPU Warning - IPU_INT_STAT_5 = 0x00800000
imx-ipuv3 imx-ipuv3.1: IPU Warning - IPU_INT_STAT_5 = 0x00800000
Signed-off-by: Richard Liu <r66033@freescale.com>
Acked-by: Jason Liu
|
|
alloc_pages_exact is added by Vivante in gpu git commit
e3debfdf4c3f29519ee66d60ac9b5e4db4c41026.
alloc_pages_exact is more easy make memory fragment,
video playback and camera recording case need large
physical continue memory, using alloc_pages_exact will
easy make memory fragment and no large physical continue
memory, it will impact video playback and camera case.
Signed-off-by: Richard Liu <r66033@freescale.com>
|
|
In this new implementation, gpu memory can be queried with seperate types,
root@sabresd_6dq:/ # ./gmem_info
Pid Total Reserved Contiguous Virtual Nonpaged Name
2367 143,845,248 42,575,232 98,124,288 0 3,145,728 /system/bin/surfaceflinger
3870 46,297,952 19,706,720 26,066,944 0 524,288 com.android.email
2794 32,802,656 9,753,952 22,524,416 0 524,288 com.android.inputmethod.latin
2844 21,292,240 20,767,952 0 0 524,288 com.android.launcher
2735 15,037,248 14,512,960 0 0 524,288 com.android.systemui
2658 13,812,480 10,273,536 0 0 3,538,944 system_server
3706 10,759,776 10,235,488 0 0 524,288 com.android.settings
3654 10,742,656 10,218,368 0 0 524,288 com.android.contacts
3725 10,719,552 10,195,264 0 0 524,288 com.android.gallery3d
3793 10,715,456 10,191,168 0 0 524,288 com.android.calendar
3837 10,707,904 10,183,616 0 0 524,288 com.android.mms
3774 10,707,072 10,182,784 0 0 524,288 com.android.calculator2
2370 262,144 0 0 0 262,144 /system/bin/mediaserver
------------------------------------------------------------------------------
13 337,702,384 178,797,040 146,715,648 0 12,189,696 Summary
- - 5,752,336 - - - Availabe
Signed-off-by: Xianzhong <b07117@freescale.com>
Acked-by: Jason Liu
|
|
gpu virtual memory cannot be allocated for external use
this issue occurs in ARD board with 2G above memory address
Signed-off-by: Xianzhong <b07117@freescale.com>
Acked-by: Jason Liu
|
|
This patch updates IPUv3 IC RGB to YUV color space conversion
matrix's parameters to align with the default VIV GPU CSC
implementation so that we may pass relevant Android CTS test
cases.
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit 17b6dbef8eea2051a6c3819f3690c21948bd0e93)
|
|
Android Recovery UI framework uses FBIOPUT_VSCREENINFO with yoffset update
to update display.
Both elcdif and ipuv3 FB will set var.activate to be FB_ACTIVATE_FORCE in
driver's probe. User space will get the VSCREENINFO with activate been set
to FB_ACTIVE_FORCE. Each FBIOPUT_VSCREENINFO with only yoffset update will
make the driver reinit.The activate should be cleared once set_par() been
finished.
HDMI driver should only reinit hdmi only when the mode changed. fbmem will
broadcast MODE_CHANGE for each FBIOPUT_VSCREENINFO ioctl even it only have
yoffset update.
Signed-off-by: guoyin.chen <guoyin.chen@freescale.com>
|
|
this issue cause system boot with multi-user switch on JB4.3,
root cause is gpu memory cannot be multi-locked in same process,
gpu memory lock reference is added to allow multi-lock in kernel driver.
Signed-off-by: Xianzhong <b07117@freescale.com>
Acked-by: Jason Liu
|
|
Fixed by add check for cam->sensor
Signed-off-by: Fang Hui <b31070@freescale.com>
|
|
We enable WOW mode last commit, it will try to set mmc host's power
capability to keep power on at some points. Delete this act which is
bond with one force scan action. For we didn't add force scan function
in it. We are using runtime_pm feature to trigger scan when doing init.
Signed-off-by: Jianzheng Zhou <jianzheng.zhou@freescale.com>
|
|
imx_3.0.35_android
|
|
When do stream on/off in pair repeatedly without close the v4l device,
the kernel dump happens:
Unable to handle kernel paging request at virtual address 00200200
pgd = c0004000
[00200200] *pgd=00000000
Internal error: Oops: 805 [#1] PREEMPT
Modules linked in:
CPU: 0 Not tainted (3.0.35-06027-gbbea887-dirty #21)
PC is at camera_callback+0x15c/0x1c8
LR is at 0x200200
pc : [<c03747d0>] lr : [<00200200>] psr: 20000193
sp : c0b0fed0 ip : 00200200 fp : daf1102c
r10: daf11034 r9 : 00100100 r8 : daf11098
r7 : daf11100 r6 : daf11034 r5 : daf11000 r4 : c0b0e000
r3 : 00000000 r2 : 00000001 r1 : 00000001 r0 : daf114b8
Flags: nzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel
Control: 10c53c7d Table: 8cc8c059 DAC: 00000015
...
Process swapper (pid: 0, stack limit = 0xc0b0e2e8)
Stack: (0xc0b0fed0 to 0xc0b10000)
fec0: c0374674 822a4000 daf11000 c0b87eb4
fee0: 00000000 00000027 c0b73904 c0b305e0 00000001 c0374090 da2bbbe0 c0b0e000
ff00: 00000000 c00acc58 00000000 c0098058 00989680 c0b305e0 c0b0e000 00000000
ff20: 00000002 00000001 c0b0e000 00000000 00000000 c00acdf8 00000000 c0b0e000
ff40: 9e4e7881 c0b305e0 c0b0e000 c00aee44 c00aed9c c0b43c6c 00000027 c00ac634
ff60: 00000270 c004257c ffffffff f2a00100 00000027 c00417cc 20000000 00000006
ff80: f40c4000 00000000 c0b0e000 c0b6a924 c0b1876c c0b18764 80004059 412fc09a
ffa0: 00000000 00000000 c0063a40 c0b0ffc0 c004f758 c0042690 80000013 ffffffff
ffc0: c004266c c004294c c0b1013c 00000000 c10960c0 c00088ec c0008334 00000000
ffe0: 00000000 c00337d4 10c53c7d c0b10060 c00337d0 80008040 00000000 00000000
[<c03747d0>] (camera_callback+0x15c/0x1c8) from [<c0374090>] (csi_irq_handler+
0x7c/0x160)
[<c0374090>] (csi_irq_handler+0x7c/0x160) from [<c00acc58>] (
handle_irq_event_percpu+0x50/0x19c)
[<c00acc58>] (handle_irq_event_percpu+0x50/0x19c) from [<c00acdf8>] (
handle_irq_event+0x54/0x84)
[<c00acdf8>] (handle_irq_event+0x54/0x84) from [<c00aee44>] (handle_fasteoi_irq
+0xa8/0x160)
[<c00aee44>] (handle_fasteoi_irq+0xa8/0x160) from [<c00ac634>] (
generic_handle_irq+0x2c/0x40)
[<c00ac634>] (generic_handle_irq+0x2c/0x40) from [<c004257c>] (handle_IRQ
+0x30/0x84)
[<c004257c>] (handle_IRQ+0x30/0x84) from [<c00417cc>] (__irq_svc+0x4c/0xa8)
[<c00417cc>] (__irq_svc+0x4c/0xa8) from [<c0042690>] (default_idle+0x24/0x28)
[<c0042690>] (default_idle+0x24/0x28) from [<c004294c>] (cpu_idle+0x8c/0xc0)
[<c004294c>] (cpu_idle+0x8c/0xc0) from [<c00088ec>] (start_kernel+0x294/0x2e4)
[<c00088ec>] (start_kernel+0x294/0x2e4) from [<80008040>] (0x80008040)
Code: e88c4200 e595c030 e5858030 e8881800 (e58c8000)
---[ end trace 224150c26d2bd5f7 ]---
The root cause is cam->enc_counter is not re-initialized to 0 when calls
STREAMOFF ioctl, and then in DQBUF ioctl wait_event_interruptible_timeout()
sees the condition is true and access cam->done_q queue which has no strict
check and could be empty.
This patch adds the re-initialization and the sanity check.
Also, add the pointer check for memcpy because the destination may be
NULL on UERSPTR mode.
Signed-off-by: Robby Cai <R63905@freescale.com>
|
|
V4L2_PIX_FMT_YUYV is the original format from camera and the source format
for CSI. This format may be needed on Android to do CSC before encoding.
We can now choose V4L2_PIX_FMT_YUYV or V4L2_PIX_FMT_UYVY for the CSI
output format.
Signed-off-by: Robby Cai <R63905@freescale.com>
|
|
Fix "Timeout Waiting for Hardware Interrupt on mmc1" issue in
suspend/resume which is caused by not keep power in host.
Enable WOW mode in card side to enable MMC_KEEP_POWER capability
of host will tackle this issue.
Signed-off-by: Jianzheng Zhou <jianzheng.zhou@freescale.com>
|
|
The baseAddress of contiguousVidMem is the actual physical address
which is not subtracted by gpu baseAddress, but the allocated physical address
has been subtracted by gpu baseAddress in gckVIDMEM_Lock,
so the invalid offset is produced and used to calculate the logical address.
Signed-off-by: Xianzhong <b07117@freescale.com>
Acked-by: Shawn Guo
|
|
imx_3.0.35_android
|
|
There's an interim buffer which should only be used when PxP CSC is used.
Otherwise the video buffer gets incorrect data by copying the content of
interim buffer. The patch fixes this by moving the memcpy to the right place.
Signed-off-by: Robby Cai <R63905@freescale.com>
(cherry picked from commit 8e0b8ff485dd7cdeabc653f1e27c271ac923710e)
|
|
One bd actually needs 4KB page size. So changed the iram_alloc()
size parameter to allocate a precise iram memory for bd.
This patch also removed the extra iram pool for SDMA due to its
insufficient total size: SDMA allows around 48 channels to work
simultaneously, so it's better to allocate memory from iram pool
directly.
[There will be 3KB size waste in sdma->channel_control, which is
640B but actually using 4KB due to 4KB alignment for iram pool.]
Acked-by: Huang Shijie <b32955@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
|
|
This reverts commit 881e21c1275dcc40ccd63fb4fa46b990eeb4fb00.
With the commit 881e21c1 and 7b60e285, the system will hang when do suspend
and resume stress test continuouly while run edpc test in the background.
Revert it now and revisit it later.
Signed-off-by: Robby Cai <R63905@freescale.com>
|
|
imx_3.0.35_android
|
|
The display MIX can be power gated when EPDC, PXP and LCDIF are all inactive.
This will save around 1.5mW-1.8mW of power in system IDLE mode.
Need to re-initialize the EPDC and PXP whenever the display MIX is
powered up as all the register state is lost when the display MIX is
power gated.
Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
|
|
Android Framework need the timestamp from VSYNC to driver the UI update
Signed-off-by: guoyin.chen <guoyin.chen@freescale.com>
|