25 Jul, 2017
1 commit
-
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
21 Jun, 2017
2 commits
-
Similar with 7c280619ed45b (" MLK-14663-2: ASoC: fsl: imx-wm8960: Kill
warning for non-gpr boards")Signed-off-by: Daniel 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
20 Jun, 2017
5 commits
-
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
-
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
-
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
-
Refactor GPR handling into a function for easier adding support
for non-gpr boards.Signed-off-by: Daniel Baluta
-
The clock driver may enable uart clock tree when earlycon/earlyprintk
kernel param is enabled, and the clock gate specify CLK_SET_RATE_GATE,
then .of_clk_set_defaults() set the dts node assigned-rate will be failed.
So set parent and set rate in clock driver is reasonable.Signed-off-by: Fugang Duan
19 Jun, 2017
3 commits
-
The maximum channel supported by sii902 is 2, but machine
driver use dummy codec, and there is no constraint list
from codec, so add constraint directly in machine driver.Signed-off-by: Shengjiu Wang
-
On i.MX7D, if the system enter LPSR mode, the tempmon module
will be power down, so the regiter's value is lost, so we need
to save the registers before suspend and restore the register after
resume back.Signed-off-by: Bai Ping
(cherry picked from commit 72e6a05b52d24b4976c5f012a185c049f0e6ffa6) -
1. When pxp do rotation, fetch and store engine need block mode.
2. When use pxp store engine fill function, not only need config
store engine, but also need config fetch engine, otherwise, it
will not work.Signed-off-by: Guoniu.Zhou
(cherry picked from commit 87347dc507631b98d914d42de0a2783915489a2a)
16 Jun, 2017
3 commits
-
iMX7D Sabre SD board implement the GPIO expander
connected to a peripheral bus.
Probe deferral would be triggered when try to request
the expanded GPIO at the first time.
pcie ep can't be probed properly at the second probe,
because of the duplicated registration of the sysfs.Change the registeration point of the sysfs to fix
this issue.Signed-off-by: Richard Zhu
(cherry picked from commit dfa403d5ae689fcb9cdb8e082ad15493bf8a38d7) -
i.MX7ULP QSPI dtb was used to update the M4 images, it should not able
to boot the kernel even without the M4 image in QSPI.Also fixed the typo in dtsi to correct the QSPI register address
mapping range.Signed-off-by: Han Xu
(cherry picked from commit 6fb558d7e38a4f60944a791d4ff12fd5a5f039f5) -
Fix build error when SOC_IMX_PCM_DMA is not enabled
error: expected identifier or ‘(’ before ‘{’ token})Signed-off-by: Adrian Alonso
(cherry picked from commit 67ee27e3c97c8deb851ca61fab0e513009b93dbe)
15 Jun, 2017
5 commits
-
Dynamic constraints for supported sampling rates cannot prevent aplay to
play audio files with higher rates. So we remove the constraints and hard
reject the unsupported samples.Signed-off-by: Mihai Serban
Reviewed-by: Shengjiu Wang
(cherry picked from commit f9f35e22e657845a593f6e3338e9e5acec6addc4) -
The ASRC support 24 bit input width, but for S20_3LE the input width
is 20 bit, asrc will treat it as 24bit, which like a 24bit data shift
4 bit right, the result is the volume is lower than expected.
ASRC can't shift the 20bit data left 4 bit internally, so remove the
S20_3LE in supported list, add S24_3LE in supported list.Signed-off-by: Shengjiu Wang
-
Same as commit cfe36e2e7fce ("MLK-15043-2: ASoC: imx-cs42888: fix
noise issue with FE-BE case"). need to add same configuration
for imx-wm8960, imx-wm8962, imx-mqs.Signed-off-by: Shengjiu Wang
-
In master mode, clock of S20_3LE mono bistream is calculated by formula
"2 * params_width * params_rate", and this clock can't be divided from
clock soure, so switch to use the "2 * params_physical_width * params_rate"
formula to fix this issue.Signed-off-by: Shengjiu Wang
-
Update imx_v7_defconfig to match the output of 'make savedefconfig'.
Signed-off-by: Octavian Purdila
Reviewed-by: Anson Huang