summaryrefslogtreecommitdiff
path: root/drivers/mxc
AgeCommit message (Collapse)Author
2013-09-02ENGR00276023-3: mxc: gpu-viv: get regulator by dts instead of hard codeRobin Gong
Use devm_regulator_get rather than regulator_get in gpu driver since we have use DTS. Signed-off-by: Robin Gong <b38343@freescale.com>
2013-08-29ENGR00277201-2 gpu: potential memory leak when umapping vg memoryLoren HUANG
Release the allocate memory properly to avoid memory leak. Signed-off-by: Loren HUANG <b02279@freescale.com> Acked-by: Shawn Guo
2013-08-28ENGR00277003 IPUv3: Update IC RGB2YUV CSC matrix parametersLiu Ying
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)
2013-08-28ENGR00276705 Fix build error for wayland driver in Yocto environmentganyong
Update the macro gcmPROFILE_DECLARE_ONLY to fix Werror(unused-local-typedefs) when gcdENABLE_PROFILING is not enabled. Signed-off-by Yong Gan <B45748@freescale.com>
2013-08-26ENGR00276224-01 MX6 HDMI CEC: Enable HDMI CEC functionSandor Yu
- Add hdmi cec source code. - Remove dead code from hdmi driver. Signed-off-by: Sandor Yu <R01008@freescale.com>
2013-08-23ENGR00275974-3 [iMX6x] Add busfreq support to the driversRanjani Vaidyanathan
Add request_bus_freq() and release_bus_freq() calls to the various drivers to ensure that the DDR and AHB are the requested frequency before the driver starts its task. Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
2013-08-23ENGR00275739 Correct GPU delay implmentation in kernel codeLoren HUANG
Original code can't handle delay larger than 1s. Signed-by: Loren Huang <b02279@freescale.com> Acked-by: Shawn Guo
2013-08-23ENGR00275473-2 Support PU regulator on/off in VPU driverHongzhang Yang
Add functions to hide different implemention for different kernel - vpu_power_get: get/put power/regulator - vpu_power_up: enable/disable power/regulator - vpu_reset Implement regulator operations for Linux 3.10 - find regulator from VPU device node property pu-supply Replace printk/pr_xxx with dev_xxx Signed-off-by: Hongzhang Yang <Hongzhang.Yang@freescale.com>
2013-08-23ENGR00275310 mxc: asrc: update asrc by dma_slave_config is updated.Shengjiu Wang
Because of adding two parameter in dma_slave_config, so asrc driver need to be updated. Signed-off-by: Shengjiu Wang <b02247@freescale.com>
2013-08-23ENGR00274473-4 mxc: gpu-viv: support regulator on/offAnson Huang
Support PU regulator dynamical on/off on kernel v3.10. Acked-by: Jason Liu Signed-off-by: Anson Huang <b20788@freescale.com>
2013-08-23ENGR00274761-3 Upgrade VPU driver for Linux 3.10 kernelHongzhang Yang
Modify mxc_vpu.c to adapt to kernel 3.10 change - Remove all references to header files in mach folder - Include linux/clk.h instead of mach/clock.h - Call device_reset instead of imx_src_reset_vpu - Dummy PU and PM api callings before they are ready - Dummy cpu_is_mx5? api callings - Remove VM_RESERVED flags - Call gen_pool instead of iram_alloc Modify mxc_vpu.h - Change CONFIG_ARCH_MX6 to CONFIG_SOC_IMX6Q Modify Kconfig: - Change ARCH_MX? to SOC_IMX?, remove ARCH_MX3/ARCH_MX37 because for MX3 series only SOC_IMX31 and SOC_IMX35 are defined in Linux 3.10, and these chips don't have VPU. Need to add SOC_IMX37 to VPU Kconfig if MX37 could be supported later. Add VPU to config and build path - mxc/Kconfig - mxc/Makefile Signed-off-by: Hongzhang Yang <Hongzhang.Yang@freescale.com>
2013-08-23ENGR00274761-1 Upgrade VPU driver for Linux 3.10 kernelHongzhang Yang
Pick files from origin/imx_3.5.7 commit 135bf02a0727ea5ce96 - mxc_vpu.h is picked from arch/arm/plat-mxc/include/mach/ and put to include/linux/ - drivers/mxc/vpu/Kconfig - drivers/mxc/vpu/Makefile - drivers/mxc/vpu/mxc_vpu.c Signed-off-by: Hongzhang Yang <Hongzhang.Yang@freescale.com>
2013-08-23ENGR00274056-4 mxc: gpu-viv: add gpu freq throttleAnson Huang
add gpu freq throttle to protect SOC, when temperature is too high, lower gpu freq to 4/64, and gpu freq will restore when SOC cool down. Acked-by: Jason Liu Signed-off-by: Anson Huang <b20788@freescale.com>
2013-08-23ENGR00274286-2 mxc: asrc: Add asrc m2m driverNicolin Chen
Add ASRC M2M driver. Signed-off-by: Nicolin Chen <b42378@freescale.com>
2013-08-23ENGR00273500 IPUv3 dev: use wait_event_interruptible for ipu taskLiu Ying
The ipu task thread checks outstanding tasks to be done on waiting event uninterruptibly on the function find_task()'s return value. However, sleeping on waiting event uninterruptibly contributes to system load average value. This patch changes wait_event() to wait_event_interruptible() to avoid the load average value inflation. Signed-off-by: Liu Ying <Ying.Liu@freescale.com> (cherry picked from commit ec9479ffc757eaefa9b8d4942c37e3634e15599c)
2013-08-23ENGR00240988: gpu: use dummy thermal notifier functions on 3.10 kernelShawn Guo
The thermal notifier calls are not supported yet on 3.10 kernel. Let's use dummy functions for now. Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2013-08-23ENGR00240988: gpu: use reset API on 3.10 kernelShawn Guo
Use reset API to reset GPU on 3.10 kernel. Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2013-08-23ENGR00240988: gpu: fix deprecated idr calls on 3.10 kernelShawn Guo
The idr calls idr_pre_get() and idr_get_new_above() are deprecated on 3.10 kernel and cause the following build issues. Replace the calls with the new idr_alloc() to fix the issue. CC drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.o drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c: In function ‘_AllocateIntegerId’: drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:776:5: error: ‘idr_pre_get’ is deprecated (declared at include/linux/idr.h:151) [-Werror=deprecated-declarations] drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:784:5: error: ‘idr_get_new_above’ is deprecated (declared at include/linux/idr.h:166) [-Werror=deprecated-declarations] Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2013-08-23ENGR00240988: gpu: use a dummy imx_gpc_power_up_pu() on 3.10 for nowShawn Guo
Use a dummy imx_gpc_power_up_pu() on 3.10 kernel for now, and will need to revisit it when the power management of PU is ready on 3.10 kernel. Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2013-08-23ENGR00240988: gpu: allocate contiguous memory from CMA for 3.10 kernelShawn Guo
The Contiguous Memory Allocator (CMA) is mature in 3.10 kernel. Let's change gpu driver to allocate contiguous memory from CMA pool. Doing so will save not only the memblock reserve calls in machine code but also the request_mem_region() and ioremap() in gpu driver. And all the system memory will be seen by kernel no matter whether gpu driver is running or not. It also changes the default contiguousSize to 128 MiB for Freescale adjustment. Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2013-08-23ENGR00240988: gpu: __devinit and __devexit are unavailable on 3.10 kernelShawn Guo
__devinit, __devexit and __devexit_p are unavailable on 3.10 kernel. Remove them for 3.10 to fix the compile issues below. CC drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.o drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c:1033:22: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘gpu_probe’ drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c:1116:22: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘gpu_remove’ drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c:1292:19: error: ‘gpu_probe’ undeclared here (not in a function) drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c:1293:5: error: implicit declaration of function ‘__devexit_p’ [-Werror=implicit-function-declaration] Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2013-08-23ENGR00240988: gpu: comment out busfreq calls for 3.10 kernelShawn Guo
The busfreq driver is not ready yet on 3.10 kernel. Let's comment out the busfreq header inclusion and function calls for now, and revisit it later when busfreq driver is ready. Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2013-08-23ENGR00240988: gpu: mach/hardware.h is not available in kernel 3.10Shawn Guo
In kernel 3.10, drivers can not include any <mach/*> headers. Do not include <mach/hardware.h> for 3.10 kernel to fix the follow build errors. CC drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.o drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c:28:27: fatal error: mach/hardware.h: No such file or directory CC drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.o drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:33:27: fatal error: mach/hardware.h: No such file or directory Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2013-08-23ENGR00240988: gpu: copy gpu-viv driver from 3.5.7 kernelShawn Guo
This is a direct copy of folder drivers/mxc/gpu-viv from 3.5.7 kernel. Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2013-08-23ENGR00240987: ipu: port ipuv3 driver from 3.5.7 kernelShawn Guo
This is a fast-forward porting of ipuv3 driver from 3.5.7 kernel to kernel 3.10. The change set is kept as minimum as possible with only making necessary code changes to adapt 3.10 kernel internal API and framework updates. Everything else should be same as 3.5.7 one. The change set consists of the following. * Remove unused Kconfig options MXC_IPU_V3D, MXC_IPU_V3EX and MXC_IPU_V3H * Comment out busfreq calls * Move ipu-v3.h into include/linux/, and remove all <mach/*> includes * Drop __devinit and __devexit * Remove assignment of pltfm_data->pg = imx6q_ipu_pg; * Use generic device_reset() API rather than ipu_pltfm_data->init() hook to reset IPU * Includes <linux/sched/rt.h> ipu_device.c to fix undeclared MAX_USER_RT_PRIO error * Change compatible string to "fsl,imx6q-ipu" to align with community kernel * Define irq_sync before irq_err in DTS to align with community kernel * Drop "ipu1_" and "ipu2_" from clock names to save the handling of the second parameter of devm_clk_get() * Remove the buggy csi_clk setup in ipu_clk_setup_enable() and validate the clock before operate on it in ipu_csi_enable_mclk() * Replace iram API (linux/iram_alloc.h) with generic memory pool API (linux/genalloc.h) in VDOA driver Signed-off-by: Shawn Guo <shawn.guo@freescale.com>