05 Sep, 2017
1 commit
-
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
31 Aug, 2017
2 commits
-
There was no pxp background register setting, so the
background we see always black.Signed-off-by: Guoniu.Zhou
Reviewed-by: Robby Cai -
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
Reviewed-by: Fancy Fang
30 Aug, 2017
4 commits
-
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
(cherry picked from commit 25df25ae44f4d9799c49476516a955b66d5ea9dc) -
The pcie dts node is dulicated, remove none-used one.
Signed-off-by: Richard Zhu
(cherry picked from commit c8b814b448d9ab3485d1f6c146da6dff03c63706) -
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
Reviewed-by: Robby Cai
Reviewed-by: Fancy Fang -
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
Reviewed-by: Robby Cai
Reviewed-by: Fancy Fang
29 Aug, 2017
2 commits
-
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
-
Add device node more property to support multiple panel.
Signed-off-by: Fugang Duan
18 Aug, 2017
1 commit
-
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
Reviewed-by: Robby Cai
Reviewed-by: Fancy Fang
17 Aug, 2017
1 commit
-
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
(cherry picked from commit 7f19940705902623166777c675f5e10c9e7fc477)
15 Aug, 2017
1 commit
-
Add i2c bus recovery support to recover i2c2 bus from dead lock status.
Signed-off-by: Gao Pan
08 Aug, 2017
1 commit
-
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
Reviewed-by: Yuchou Gan
Reviewed-by: Yong Gan
Tested-by: Jason Liu
07 Aug, 2017
1 commit
-
Update imx6ull header file with the latest imx6ull RDP.
- add new pin function definitions.
- update pin function changes.Signed-off-by: Fugang Duan
Reviewed-by: Richard Zhu
04 Aug, 2017
1 commit
-
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
Reviewed-by: Andy Duan
(cherry picked from commit 037f88c1b9566008748d54b9d4feb647c38c6153)
26 Jul, 2017
1 commit
-
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
(cherry picked from commit: 51f874a9205cbcbbdb55642f5502bf18aaf245bd)
25 Jul, 2017
3 commits
-
Add port.icount to stat. the DMA RX received count.
Signed-off-by: Fugang Duan
Reviewed-by: Robin Gong
(cherry picked from commit: 9580def59011d50312cd722eddaf681388064230) -
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
-
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
(cherry picked from commit 8c8fc765c34f2e6fe31646a5f216f30e3391f2e6)
20 Jul, 2017
1 commit
-
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
Signed-off-by: Li Jun
19 Jul, 2017
2 commits
-
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
(cherry picked from commit 7aa2c6011a8a074b880330a7f3989ea9f23e03b3) -
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
18 Jul, 2017
1 commit
-
Correct the CD pin for baseboard SD slot, otherwise
the card detection can't work.Signed-off-by: Haibo Chen
(cherry picked from commit 9869e681727490c3c23811a26bfc0e294cccd778)
14 Jul, 2017
2 commits
-
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
-
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
(cherry picked from commit a5952396dc88856d53a1fd1d150bae301c13d403)
13 Jul, 2017
1 commit
-
Remove variant restriction for DCP SHA workaround. All integrations of
DCP seem affected.Signed-off-by: Radu Solea
12 Jul, 2017
2 commits
-
Add pxp v3 crop feature support.
Update the pxp_dma.h file.Signed-off-by: Guoniu.Zhou
(cherry picked from commit 23da5fe99a89adde6a8943517e0d7042dad50ea3) -
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
(cherry picked from commit 3005228b17b16d1455b72c66ddf96785b42adb0a)
07 Jul, 2017
2 commits
-
This fixes commit 9982b452c61e ("MLK15034: ARM: cpuidle imx7d: Check
IPIs manually before LPI").Signed-off-by: Leonard Crestez
Reviewed-by: Anson Huang -
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_samsungdue 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
Acked-by: Cristina-mihaela Ciocan
Signed-off-by: Robby Cai
(cherry picked from commit 5e90ffe698d08010b52104431409b2c45dcbca52)
06 Jul, 2017
4 commits
-
Low power idle exit latency is much longer than declared, in the
milisecond range.Signed-off-by: Anson Huang
Signed-off-by: Leonard Crestez
Reviewed-by: Anson Huang -
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
-
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
Signed-off-by: Leonard Crestez
Reviewed-by: Anson Huang -
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.wavBecause 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
Reviewed-by: Daniel Baluta
(cherry picked from commit 943149fc45dd937daafde6ab27f7cc5eb2b0cecb)
05 Jul, 2017
2 commits
-
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
-
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
(cherry picked from commit e710b061ef292402045b30ccb56bcdcd343d43c5)
30 Jun, 2017
1 commit
-
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
Signed-off-by: Robin Gong
(cherry picked from commit ed3bbe18323565b0c07f836fbf53401ffa887bf2)
28 Jun, 2017
1 commit
-
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
27 Jun, 2017
1 commit
-
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
Reviewed-by: Shengjiu Wang
22 Jun, 2017
1 commit
-
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
Reviewed-by: Shengjiu Wang