summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-09-07MLK-16374-4: PxP: add AS and PS engine colorkey supportrel_imx_4.9.x_1.0.0_gaGuoniu.Zhou
Enable PS and AS colorkey function if user enable and set colorkey parameters of s0 and overlay buffer. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
2017-09-07MLK-16374-3: PxP: improve stride parameter setting compatibleGuoniu.Zhou
In pxp lib, the unit of stride parameter is pixel and stride is not equal with width parameter of out buffer in some cases. In order to use latest pxp lib in old version rootfs, PXP_DEVICE_LEGACY macro is used to distinguish pxp drvier version. Because the new pxp driver define a new variable and pxp lib can know this through PXP_DEVICE_LEGACY, and determine if use it. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> Reviewed-by: Fancy Fang <chen.fang@nxp.com>
2017-09-07MLK-16374-2: PxP: add new format support for as and out bufferGuoniu.Zhou
1) add PXP_PIX_FMT_BGRA32 format support for AS buffer 2) add PXP_PIX_FMT_BGRA32 format support for OUT buffer Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> Reviewed-by: Fancy Fang <chen.fang@nxp.com>
2017-09-07MLK-16374-1: PxP: add alpha blending back compatibleGuoniu.Zhou
In support of both g2d and pxp lib alpha blending, there must be two alpha blending versions. So there is one rule that user should obey for different usage cases. 1) g2d alpha blending: user should set combine_enable member of struct pxp_proc_data. 2) pxp lib alpha blending: user should set combine_enable member of struct pxp_layer_param if the pxp_layer_param describe overlay buffer parameters. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> Reviewed-by: Robby Cai <robby.cai@nxp.com> Reviewed-by: Fancy Fang <chen.fang@nxp.com>
2017-09-05MLK15034: ARM: cpuidle imx7d: Use a single counter for lpi flowLeonard Crestez
The current code for deciding which CPU runs the complete lpi flow is too complicated. Since all enter/exit code now runs under the same lock we can just use a single non-atomic counter of cpus inside lpi. Another variable is used to make num_online_cpus() available to ASM code but idle code can treat it as a constant. Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
2017-08-31MLK-16348: PxP: fix background issueGuoniu.Zhou
There was no pxp background register setting, so the background we see always black. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> Reviewed-by: Robby Cai <robby.cai@nxp.com>
2017-08-31MMFMWK-7674: PxP: add YVU420P supportGuoniu.Zhou
PxP PS engine support YUV420 format, but not YVU420. The difference between two format is U and V, if we exchange U and V base address, the PxP driver can also support YVU420 format. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> Reviewed-by: Fancy Fang <chen.fang@nxp.com>
2017-08-30MLK-16176-2 PCI: imx: get the bus clock regulator correctlyRichard Zhu
In order to make sure that get the regulator correctly. Check the return value of devm_regulator_get(). Return value directly if it is '-EPROBE_DEFER' Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> (cherry picked from commit 25df25ae44f4d9799c49476516a955b66d5ea9dc)
2017-08-30MLK-16176-1 ARM: dts: imx6qp: remove the duplicated nodeRichard Zhu
The pcie dts node is dulicated, remove none-used one. Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> (cherry picked from commit c8b814b448d9ab3485d1f6c146da6dff03c63706)
2017-08-30MLK-16276: PxP: Improve code compatibilityGuoniu.Zhou
g2d code has different parameter setting about stride parameter. For compatibility with all cases of using PxP, we need add this improved feature. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> Reviewed-by: Robby Cai <robby.cai@nxp.com> Reviewed-by: Fancy Fang <chen.fang@nxp.com>
2017-08-30MLK-16252: PxP: fix video shift issueGuoniu.Zhou
If pxp use crop x/y valuse as the upper left coordinate in out buffer, pxp driver only need to write out buffer base address to pxp out_buf register. If pxp driver use zero as ps_ulc register value, pxp out_buf register need an offset added with out buffer base address. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> Reviewed-by: Robby Cai <robby.cai@nxp.com> Reviewed-by: Fancy Fang <chen.fang@nxp.com>
2017-08-29MLK-15348-02 arm: dts: imx7ulp: add focaltech touch panel ft5246 supportFugang Duan
Add focaltech new touch panel ft5246 support. Set the ft5426 as default panel for dts. If want to use the old panel, then it needs to boot with imx7ulp-evk-ft5416.dtb file. Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2017-08-29MLK-15348-01 input: touch: focaltech: add more property to support multiple ↵Fugang Duan
panel Add device node more property to support multiple panel. Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2017-08-18MLK-16217: PXP: fix pxp rotate yuv formate video issueGuoniu.Zhou
Because of IC limitation, pxp only can use rotation0 engine to do rotation operation. Correct coordinate settings of ps and out buffer. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> Reviewed-by: Robby Cai <robby.cai@nxp.com> Reviewed-by: Fancy Fang <chen.fang@nxp.com>
2017-08-17MLK-14720 epdc: correct WFE setting when bypass legacy processRobby Cai
set WFE (WFE_A on imx7d, and WFE_B on imx6ull/imx6sll) input address to framebuffer start address, and set left/top coordinate since the framebuffer is the original source of WFE (i.e., not from PXP output) when bypass legacy mode. The patch also limits the condition to bypass legacy mode when not use EPDC_FLAG_USE_ALT_BUFFER. Signed-off-by: Robby Cai <robby.cai@nxp.com> (cherry picked from commit 7f19940705902623166777c675f5e10c9e7fc477)
2017-08-15MLK-16191 arm: dts: add i2c bus recovery for imx6qp-sdb boardGao Pan
Add i2c bus recovery support to recover i2c2 bus from dead lock status. Signed-off-by: Gao Pan <pandy.gao@nxp.com>
2017-08-08MGS-3159 [#imx-700] fix kernel panic for x11 stress testXianzhong
when gpu memory is from virtual system pool, the physical address will become invalid, driver should enable mmu mapping accordingly. but current kernel driver return the zero address with default value, this mistake will cause gpu write into the wrong memory from zero. this fix mark the invalid address for the virtual memory. Date: Aug 06, 2017 Signed-off-by: Xianzhong <xianzhong.li@nxp.com> Reviewed-by: Yuchou Gan <yuchou.gan@nxp.com> Reviewed-by: Yong Gan <yong.gan@nxp.com> Tested-by: Jason Liu <jason.hui.liu@nxp.com>
2017-08-07MLK-16134 ARM: dts: imx6ull: update imx6ull header file with the latest ↵Fugang Duan
imx6ull RDP Update imx6ull header file with the latest imx6ull RDP. - add new pin function definitions. - update pin function changes. Signed-off-by: Fugang Duan <fugang.duan@nxp.com> Reviewed-by: Richard Zhu <hongxing.zhu@nxp.com>
2017-08-04MLK-15950 input: egalax_ts: switch to i2c interface before wake upHaibo Chen
For HannStar (HSD100PXN1 Rev: 1-A00C11 F/W:0634) LVDS touch screen, it has a special request for the EETI touch controller. The host needs to trigger I2C event to device FW at booting first, and then the FW can switch to I2C interface. Otherwise, the FW can’t work with I2C interface, and can't generate any interrupt when touch the screen. This patch send an I2C command before the device wake up, make sure the device switch to I2C interface first. Signed-off-by: Haibo Chen <haibo.chen@nxp.com> Reviewed-by: Andy Duan <fugang.duan@nxp.com> (cherry picked from commit 037f88c1b9566008748d54b9d4feb647c38c6153)
2017-07-26MLK-16086 tty: serial: lpuart: add port.lock to protect registers accessing ↵Fugang Duan
in suspend Add port.lock to protect register accessing in suspend/resume function. Disable RIE and ILIE before DMA chan is ternminated in suspend function. Signed-off-by: Fugang Duan <fugang.duan@nxp.com> (cherry picked from commit: 51f874a9205cbcbbdb55642f5502bf18aaf245bd)
2017-07-25MLK-15031-07 tty: serial: fsl_lpuart: add port.icount for DMA rx pathFugang Duan
Add port.icount to stat. the DMA RX received count. Signed-off-by: Fugang Duan <fugang.duan@nxp.com> Reviewed-by: Robin Gong <yibin.gong@nxp.com> (cherry picked from commit: 9580def59011d50312cd722eddaf681388064230)
2017-07-25MLK-16067 tty: serial: lpuart: enable wakeup source in .suspend_noirq()Fugang Duan
When use lpuart with DMA mode as wake up source, it still switch to cpu mode in .suspend() that enable cpu interrupts RIE and ILIE as wakkup source. When the wakeup signal coming while rx dma chan is already teminated down, then driver should not call irq handler to submit the new dma descriptor. Enable the wakeup irq bits in .suspend_noirq() and disable the wakeup irq bits in .resume_noirq(). Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2017-07-25MLK-16045: pxp: add lut function in pxp data flow pathGuoniu.Zhou
When do epdc colormap test, the epdc need pxp lut function. But if the data flow through mux0->mux1...or mux0->mux2..., the pxp can not trigger interrupt but mux0->mux3... can. This issue only occures on imx7d, so I set a constant data path when using lut function. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> (cherry picked from commit 8c8fc765c34f2e6fe31646a5f216f30e3391f2e6)
2017-07-19MLK-15125: arm: dts: imx6sx: Fix duplicate name in lcdifCristina Ciocan
lcdif2 node has a property called "display" and a subnode that is also called "display", leading to an OF duplicate warning at boot time. Fix this by changing the subnode's name to "display@1". Signed-off-by: Cristina Ciocan <cristina-mihaela.ciocan@nxp.com> (cherry picked from commit 7aa2c6011a8a074b880330a7f3989ea9f23e03b3)
2017-07-20MLK-15984 usb: chipidea: wait controller resume finished for wakeup irqLi Jun
After the chipidea driver introduce extcon for id and vbus, it's able to wakeup from another irq source, in case the system with extcon ID cable, wakeup from usb ID cable and device removal, the usb device disconnect irq may come firstly before the extcon notifier while system resume, so we will get 2 "wakeup" irq, one for usb device disconnect; and one for extcon ID cable change(real wakeup event), current driver treat them as 2 successive wakeup irq so can't handle it correctly, then finially the usb irq can't be enabled. This patch adds a check to bypass further usb events before controller resume finished to fix it. Reviewed-by: Peter Chen <peter.chen@nxp.com> Signed-off-by: Li Jun <jun.li@nxp.com>
2017-07-19MLK-16006: Revert "ARM: dts: imx6sx-sdb: Change audio PLL frequency for SSI"Daniel Baluta
This reverts commit d7d6f210522188 ("ARM: dts: imx6sx-sdb: Change audio PLL frequency for SSI") because it breaks MQS. MQS uses IMX6SX_CLK_SAI1 as master clock and it requires mclk rate to be 24576000. No other rate is supported. Anyhow, due to change to fix MLK-14865 sai1 clk is changed to 36864000. Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2017-07-18MLK-15973 ARM: dts: imx6sx-sabreauto: correct CD pin.Haibo Chen
Correct the CD pin for baseboard SD slot, otherwise the card detection can't work. Signed-off-by: Haibo Chen <haibo.chen@nxp.com> (cherry picked from commit 9869e681727490c3c23811a26bfc0e294cccd778)
2017-07-14MLK-15980: Revert "ASoC: imx-wm8962: Use a lower FLL output rate for S20_3LE ↵Daniel Baluta
and S24_LE formats" This reverts commit be13ac391d27c925 ("MLK-15101: ASoC: imx-wm8962: Use a lower FLL output rate for S20_3LE and S24_LE formats"). This breaks recording. We'll have to find a better fix for MLK-15101. Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2017-07-14MLK-15962: pxp-v3: fix pxp operation timeout issueGuoniu.Zhou
PxP block on imx6sll, imx6ull is different with imx7d, the node path_ctrl should be different. So add path_ctrl for 6sll, 6ull. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> (cherry picked from commit a5952396dc88856d53a1fd1d150bae301c13d403)
2017-07-13MLK-14765: Enable DCP SHA workaround on all platformsRadu Solea
Remove variant restriction for DCP SHA workaround. All integrations of DCP seem affected. Signed-off-by: Radu Solea <radu.solea@nxp.com>
2017-07-12MLK-15337: pxp-v3: add pxp v3 crop featureGuoniu.Zhou
Add pxp v3 crop feature support. Update the pxp_dma.h file. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> (cherry picked from commit 23da5fe99a89adde6a8943517e0d7042dad50ea3)
2017-07-12MLK-15325: pxp-v3: Modify pxp pitch parameter and cscGuoniu.Zhou
coefficient setting. Because the caller of pxp-v3 does not set the stride parameter, this will cause pitch parameter to be zero and pxp can't work. Correct the csc1 coefficient when use pxp convert YUV to RGB format. Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com> (cherry picked from commit 3005228b17b16d1455b72c66ddf96785b42adb0a)
2017-07-07MLK15034: Fix missing decrement of master_lpiLeonard Crestez
This fixes commit 9982b452c61e ("MLK15034: ARM: cpuidle imx7d: Check IPIs manually before LPI"). Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com> Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
2017-07-07MLK-15079 video: mipi_dsi_samsung: fix reset failure for mipi dsiRobby Cai
mxc_mipi_dsi_samsung 30760000.mipi-dsi: MIPI DSI dispdrv inited! mxsfb 30730000.lcdif: registered mxc display driver mipi_dsi_samsung mxc_mipi_dsi_samsung 30760000.mipi-dsi: failed to reset device: -517 mxsfb 30730000.lcdif: failed to enable dispdrv:mipi_dsi_samsung due to the commit e188cbf7564fba80e8339b9406e8740f3e495c63 "gpio: mxc: shift gpio_mxc_init() to subsys_initcall level", and gpio_reset uses arch_initcall level, the gpio driver is not yet ready when call device_reset() thus return -EPROBE_DEFER. But the caller of device_reset(), mipi_dsi_enable() has no defer strategy. use of_reset_control_get() function in init() function, which will be called in probe function in mxsfb driver, to workaround the defer case. Acked-by: Fang Chen <chen.fang@nxp.com> Acked-by: Cristina-mihaela Ciocan <cristina-mihaela.ciocan@nxp.com> Signed-off-by: Robby Cai <robby.cai@nxp.com> (cherry picked from commit 5e90ffe698d08010b52104431409b2c45dcbca52)
2017-07-06MLK15034: ARM: cpuidle imx7d: Declare longer exit_latency/target_residencyLeonard Crestez
Low power idle exit latency is much longer than declared, in the milisecond range. Signed-off-by: Anson Huang <Anson.Huang@nxp.com> Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com> Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
2017-07-06MLK15034: ARM: cpuidle imx7d: Check IPIs manually before LPILeonard Crestez
The GPC will wake us on peripheral interrupts but not IPIs. So check them manually by reading the GIC's GICD_SPENDSGIR* registers and aborting idle if something is pending. We do this only for the last cpu and after taking the required locks. We know that at this stage the other cpu is in WFI itself or waiting for the imx_pen_lock and can't trigger any additional IPIs. This means that the check is not racy. This fixes occasional lost IPIs causing tasks to get stuck in the TASK_WAKING 'W' state for long periods. This eventually manifested as rcu stalls. Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
2017-07-06MLK15034: ARM: cpuidle imx7d: Extend imx_pen lock to cover entire flowLeonard Crestez
This makes the code much easier to reason about. In particular it o makes sure the imx7d cpuidle driver respects the requirements for cpu_cluster_pm_enter/exit: * cpu_cluster_pm_enter must be called after cpu_pm_enter has been called on all cpus in the power domain, and before cpu_pm_exit has been called on any cpu in the power domain. * cpu_cluster_pm_exit must be called after cpu_pm_enter has been called on all cpus in the power domain, and before cpu_pm_exit has been called on any cpu in the power domain. This fixes interrupts sometimes getting "stuck" because of improper save/restore of GIC DIST registers. Signed-off-by: Anson Huang <Anson.Huang@nxp.com> Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com> Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
2017-07-06MLK-15101: ASoC: imx-wm8962: Use a lower FLL output rate for S20_3LE and ↵Mihai Serban
S24_LE formats Using a lower FLL out frequency seems to fix the sound distortion we hear during playback of the second audio file from the command: aplay -Dhw:0 -d 1 audio96k16b2c.wav audio96k24b2c.wav Because the new frequency is half of the old one the existing BLCK compute formula from wm8962 codec driver is still correct, it can derive the new FLL output frequency. Signed-off-by: Mihai Serban <mihai.serban@nxp.com> Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com> (cherry picked from commit 943149fc45dd937daafde6ab27f7cc5eb2b0cecb)
2017-07-05MA-9807: Fix ecb(aes) use without an IVRadu Solea
CAAM aes modes share descriptors, because of this CAAM requires an IV for ECB. ECB does not need an IV and users do not have to pass valid IV vectors. To allow correct usage with minimum impact to the driver a zero IV is provided by the driver for ECB operations that need it. Signed-off-by: Radu Solea <radu.solea@nxp.com>
2017-07-05MLK-15027: arm: pxp: Fix uninitialized use of variablesCristina Ciocan
This patch fixes build warning that 2 variables may be used uninitialized in the pxp_fetch_config() function in drivers/dma/pxp/pxp_dma_v3.c . The variables in_fmt and out_fmt are passed as parameters to pxp_fetch_shift_calc() only if shift_bypass is false. This flag cannot be false unless changed in a code block that also assigns in_fmt and out_fmt. Since the compiler cannot detect this flow, it shows a warning that in_fmt and out_fmt are not initialized. Fix this by changing the code flow such that in_fmt and out_fmt are sent as parameters in the same code block where they are assigned. Signed-off-by: Cristina Ciocan <cristina-mihaela.ciocan@nxp.com> (cherry picked from commit e710b061ef292402045b30ccb56bcdcd343d43c5)
2017-06-30MLK-15034: dma: imx-sdma: no need report interrupt for channel0Robin Gong
It is possible for an irq triggered by channel0 to be received later, after clks are disabled. If that happens then clearing them by writing to SDMA_H_INTR won't work and the system will hang processing infinite interrupts. Actually, don't need interrupt triggered on channel0 since it's pollling to know channel0 done rather than interrupt in current code, just clear BD setting to disable channel0 interrupt to avoid the above case. Reported-by: Leonard Crestez <leonard.crestez@nxp.com> Signed-off-by: Robin Gong <yibin.gong@nxp.com> (cherry picked from commit ed3bbe18323565b0c07f836fbf53401ffa887bf2)
2017-06-28MLK-15083 watchdog: imx2_wdt: fallback to timeout reset if explicit reset failsOctavian Purdila
If explicit reset fails fallback using the watchdog timeout. We already have set the timeout counter to 0, but we might need to ping the watchdog to load the new timeout, if a previous watchdog timeout value has already been set. We also decrease the time we spend waiting, to give a chance to log that the explicit reset failed and that we fallback to watchdog timeout reset. Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
2017-06-27MLK-14865: ARM: dts: imx6sx-sdb: Change audio PLL frequency for SSIDaniel Baluta
Default frequency is 786432000 and we cannot derive an exact bitclk for 24 bits tests. This is similar with commit 9e3c04a3e9222a ("MLK-14781-2: ARM: dts: change audio pll frequency for ssi master mode"). Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com> Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
2017-06-22MLK-15028: ASoC: codecs: wm8960: Remove bitclk relax conditionDaniel Baluta
Using a higher bitclk then expected doesn't always work. Here is an example: aplay -Dhw:0,0 -d 5 -r 48000 -f S24_LE -c 2 audio48k24b2c.wav In this case, the required bitclk is 48000 * 24 * 2 = 2304000 but the closest bitclk that can be derived is 3072000. Now, for format S24_LE, SAI will use slot_width = 24, but since the clock is faster than expected, it will start to send bytes from the next channel so the sound will be corrupted. Thus, remove bitclk relaxation condition which was added mostly for supporting S20_3LE format which was removed from SAI in commit 739e6d654b5c0a ("MLK-14870: ASoC: fsl_sai: Remove support for S20_3LE"). Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com> Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
2017-06-21MLK-15067: ASoC: fsl: imx-wm8958: Kill warning for non-gpr boardsDaniel Baluta
Similar with 7c280619ed45b (" MLK-14663-2: ASoC: fsl: imx-wm8960: Kill warning for non-gpr boards") Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2017-06-21MLK-15067: ASoC: fsl: imx-wm8958: Refactor GPR parsingDaniel Baluta
This is similar with commit c79a82aec8ccf ("ASoC: fsl: imx-wm8960: Refactor GPR parsing") and it is needed for easier adding support for non-gpr boards. Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2017-06-20MLK-14765: Fix DCP Aes timeout issues when used with CTSRadu Solea
The DCP driver does not obey cryptlen, when doing CTS this results in passing to hardware input stream lengths which are not multiple of block size. This causes the hw to misbehave. Also not honoring cryptlen makes CTS fail. A check was introduced to prevent future erroneous stream lengths from reaching the hardware. Code which is splitting the input stream in internal DCP pages was changed to obey cryptlen. Signed-off-by: Radu Solea <radu.solea@nxp.com>
2017-06-20MLK-14765: Fix DCP SHA null hashes and output lengthRadu Solea
On imx6sl and imx6ull DCP writes at least 32 bytes in the output buffer instead of hash length as documented. Add intermediate buffer to prevent write out of bounds. When requested to produce null hashes DCP fails to produce valid output. Add software workaround to bypass hardware and return valid output. Signed-off-by: Radu Solea <radu.solea@nxp.com>
2017-06-20MLK-14663-2: ASoC: fsl: imx-wm8960: Kill warning for non-gpr boardsDaniel Baluta
A side effect of commit 5555277e693a7 ("MLK-13574-1: ASoC: imx-wm8960: remove the gpr dependency") is that a warning was printed for boards without gpr. This can be confusing. imx7d boards do not have a gpr setting, so use imx7d-evk-wm8960 compatible string to avoid printing the warning. Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2017-06-20MLK-14663-1: ASoC: fsl: imx-wm8960: Refactor GPR parsingDaniel Baluta
Refactor GPR handling into a function for easier adding support for non-gpr boards. Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>