08 Jun, 2017
40 commits
-
- move imx_rpmsg from arch/arm/ to drivers/rpmsg.
- use the new MU generic APIs in the rpmsg implementation.
- Validated the pingpong test on both imx6sx and imx7d sdb boards.Signed-off-by: Richard Zhu
-
- let the arch/arm/mach-imx/mu.c do the
AMP PM only, add the IRQF_SHARED to its isr.
- remove the rpmsg implementations in this
mu driver.Signed-off-by: Richard Zhu
-
- add the MU version1.0 (introduced by 7ulp)
support.
- add the MU_SetFn and MU_ReadStatus APIs.
- fix one mispell bug when enable the RX INTs.
Otherwise, the RX INTs wouldn't be configured
correctly.Signed-off-by: Richard Zhu
-
Fix the logic error when reading dummy cycle for qspi ddr quad mode
Signed-off-by: Han Xu
-
Signed-off-by: Octavian Purdila
-
Add stop-mode property which is required by stop mode wakeup feature.
Signed-off-by: Dong Aisheng
-
Add stop-mode property which is required by stop mode wakeup feature.
Signed-off-by: Dong Aisheng
-
Add support for an extra config parameter for perf commands:
axi_id, which will be written in the MMDC's MADPCR1 register,
to filter memory usage profiling (see i.MX6 reference manual,
chapter 44.7 MMDC Profiling for AXI id usage).Signed-off-by: Tiberiu Breana
-
Fixed an error in the "write-accesses" event definition.
Signed-off-by: Tiberiu Breana
-
The ci_handle_id_switch is called at two places, at very rare situations,
it may be running at the same time. Eg, when the system is back from
the resume, the id event is occurred from extcon driver, as well as
power_lost work item is called due to the controller is poweroff at
the suspend.Signed-off-by: Peter Chen
-
Gadget state is set to be suspended when bus suspened, but not updated
after resume, this patch saves the gadget state before suspend and
restores it after resume.Acked-by: Peter Chen
Signed-off-by: Li Jun -
Missing NULL checks in CAAM sm_store and sm_test cause kernel
crashes if caam init fails.Signed-off-by: Radu Solea
-
When a cpuidle driver is called it can choose to enter a different state
that what was asked from above. When this happens it should return the
actual entered_state index for proper accounting.This fixes the various imx cpuidle drivers which depend on low busfreq
for LOW-POWER-IDLE to correctly report that they entered WAIT instead.Signed-off-by: Leonard Crestez
-
Since we share the same machine code for both imx6sll and imx6sl we
need to check the CPU in order to select the right device tree
binding for the PM CCM.Signed-off-by: Octavian Purdila
-
This fixes crashing on boot on imx7d if imx_src_is_m4_enabled(). This
check was lost when porting 24ee04ce76d6a8d8229c642eb5d7a15ea57570c6.Signed-off-by: Leonard Crestez
-
This reverts commit 9820aee9fb81 ("MLK-13795 ARM: disable
CPU_SW_DOMAIN_PAN") because the root cause issue has been fixed in
commit 21affa46f845 ("MGS-2721: gpu: integrate 6.2.2 early release
driver").Signed-off-by: Octavian Purdila
-
The LCDIF driver fails at boot time because it cannot read display timings
from device tree. This is a fake error because the LCDIF DT node contains a
display device property which leads to the display driver that also provides
the timings.This fake error case has been introduced by
commit 5443a75ed038 ("MLK-14283: dts: fix DE polarity for lcdif") and
commit 56412d6a83d8 ("MLK-13996: lcdif: Use DE polarity specified in DTS")
which fixed DE polarity panel differences for different boards.This patch adds support for choosing a particular video mode from the ones
provided by the display driver, thus also fixing the DE polarity issue
initially fixed by the above mentioned 2 patches.Signed-off-by: Cristina Ciocan
-
This reverts commit 5443a75ed038 ("MLK-14283: dts: fix DE polarity for lcdif").
Signed-off-by: Cristina Ciocan
-
This reverts commit 56412d6a83d8 ("MLK-13996: lcdif: Use DE polarity
specified in DTS").We need to take the display timings from "disp-dev" if such node exists.
Revert this patch because it tries to find the display-timings in the
display controller node, even though it has been found in the display
device node.Signed-off-by: Cristina Ciocan
-
Fix IPU2 DI(Display Interface) clocks for iMX6QP SABRESD. The upstream
version uses ldb_di0_podf and ldb_di1_podf as clock parents for ipu_di,
which fails to work on iMX6QP SABRESD. This patch fixes clock tree by:
- setting ipu_di selectors to ldb_di_div_sel in imx6q clock driver
- matching "ldb_di0", "ldb_di1" clock names with
IMX6QDL_CLK_LDB_DI0_DIV_SEL, IMX6QDL_CLK_LDB_DI1_DIV_SEL; otherwise,
ldb_di0_div_sel and ldb_di1_div_sel will not be recognized as LDB clk parents
and will not drive the Display Interface.Signed-off-by: Cristina Ciocan
-
gc7000nu has only clk2x core input, no external shader clock input,
currently gpu_3d_shader clock is set to the 2d bus clock mistakenly,should set gpu_3d_shader config with dummy clock in gpu device,
also removed the unused gpu2d_shader_clock setting from dts.Signed-off-by: Xianzhong
(cherry picked from commit 021b397e2594a37987d852a382f90bf0559fcf30) -
1. unique need to be set to get proper busid.
Vivante driver is very simple and does not use drm_dev_alloc
which in turn calls drm_dev_set_unique.
Use set_busid to set the unique.https://patchwork.kernel.org/patch/9182749/
2. driver_features = DRIVER_LEGACY added to do mmap of SHM.
https://patchwork.kernel.org/patch/8694561/fix the problem that X11 cannot work with 4.9 kernel upgrade
Signed-off-by: Prabhu Sundararaj
-
Newer kernel versions output a lot of warnings if they encounter a
bypassed regulator without an explicitly configured supply. Like this:vddpu: bypassed regulator has no supply!
vddpu: bypassed regulator has no supply!
vddpu: bypassed regulator has no supply!Signed-off-by: Leonard Crestez
-
Currently, for imx6qp, the first camera interface is set as MIPI CSI.
However, for sabresd and sabreauto, this should be set as parallel.Signed-off-by: Laurentiu Palcu
-
This patch use command 'make savedefconfig' to produce the defconfig
and replace the imx_v7_mfg_defconfigSigned-off-by: Haibo Chen
-
when use imx_v7_defconfig, there are following warning:
arch/arm/configs/imx_v7_defconfig:172:warning: override: reassigning to symbol TOUCHSCREEN_IMX6UL_TSC
arch/arm/configs/imx_v7_defconfig:392:warning: override: reassigning to symbol ION
arch/arm/configs/imx_v7_defconfig:393:warning: override: reassigning to symbol ION_MXCThis patch use command 'make savedefconfig' to produce the defconfig
and replace the imx_v7_defconfig.Signed-off-by: Haibo Chen
-
After starting playback with a single channel SSI runs in Normal mode
(SCR.net = 0b, SCR.i2s_mode = 00b). But, if starting also capture
in parallel with playback the SSI mode changes which breaks the playback.This happens because, we can change SSI mode from two distinct places:
* _fsl_ssi_set_dai_fmt
* fsl_ssi_hw_paramsWhen running playback and capture in parallel for a mono channel, changing
hw params for the second stream will have no effect.This patch allows changing the mode only from fsl_ssi_hw_parms so that
we have an atomic view of SSI mode.Signed-off-by: Shengjiu Wang
Signed-off-by: Daniel Baluta -
mtd->priv is no longer pointing to the struct nand_chip it is attached
to. Replace those accesses by mtd_to_nand() calls.Signed-off-by: Octavian Purdila
-
mxc_restart was incorrectly added back in commit c81df74845c74d14
("MLK-13869 ARM: imx7d: run pm init during intialization").Signed-off-by: Octavian Purdila
-
Reconcile MLK-12075 ARM: dts: remove imx7d-sdb-touch.dts
with the upstream tsc2046@0 definition. When this patch was ported to
imx_4.9.y a new touchscreen definition was added instead.Signed-off-by: Leonard Crestez
-
The GPC controller driver is handling two sections: interrupts and PGC
(Power Gate Controller). The interrupts are handled in imx_gpcv2_init
function, and the PGC is handled in imx_gpcv2_probe function.
In kernel 4.9, the driver is probed by it's compatible entry in:
OF_DECLARE_2(irqchip, imx_gpcv2, "fsl,imx7d-gpc", imx_gpcv2_init);Because the driver is already probed, imx_gpcv2_probe function is not
called, since it is registered with the same compatible name.
In order to separate the interrupts from PGC, this patch moves the
regulator entrys in DTS to a new node: pgc. And, assign the probe
function to this new node.
Also, added DeviceTree documentation about the new added node. Since GPC
(the block containing the PGC) didn't have any documentation, documented
GPC too.Signed-off-by: Robert Chiras
-
For imx7d, the DTS definition (imx7d-sdb.dts) is used by default, and this
is the one used when plugging a HDMI device. Since HDMI works with DE
polarity as active high, but the MIPI DSI works with active low, this
patch sets the DE polarity to active high in imx7-sdb.dts and moves the
active low polarity to imx7d-sdb-mipi-dsi.dts.Signed-off-by: Robert Chiras
-
Remove the redundant codes in pcie-designware driver.
Because that the class configration had been
contained in 4.9 kernel.Signed-off-by: Richard Zhu
-
- Do not return error when the GEN2 link negatiation
is failed. Because that the limitation maybe caused
by the remote GEN1 EP device.
- Move the power saving codes to the proper place
after the link is down.
Otherwise, system would hang when link is down.Signed-off-by: Richard Zhu
-
Set the max link capability of the imx pcie to gen2
Signed-off-by: Richard Zhu
-
A bugfix added a new local variable that is only used inside of an #ifdef
section, and unused if CONFIG_PERF_EVENTS is disabled:arch/arm/mach-imx/mmdc.c:63:25: warning: 'cpuhp_mmdc_state' defined but not used [-Wunused-variable]
This moves the variable down inside that same ifdef.
Fixes: a051f220d6b9 ("ARM/imx/mmcd: Fix broken cpu hotplug handling")
Signed-off-by: Arnd Bergmann
Acked-by: Frank Li
Signed-off-by: Shawn Guo -
The cpu hotplug support of this perf driver is broken in several ways:
1) It adds a instance before setting up the state.
2) The state for the instance is different from the state of the
callback. It's just a randomly chosen state.3) The instance registration is not error checked so nobody noticed that
the call can never succeed.4) The state for the multi install callbacks is chosen randomly and
overwrites existing state. This is now prevented by the core code so the
call is guaranteed to fail.5) The error exit path in the init function leaves the instance registered
and then frees the memory which contains the enqueued hlist node.6) The remove function is removing the state and not the instance.
Fix it by:
- Setting up the state before adding instances. Use a dynamically allocated
state for it.- Installing instances after the state has been set up
- Removing the instance in the error path before freeing memory
- Removing the instance not the state in the driver remove callback
While at is use raw_cpu_processor_id(), because cpu_processor_id() cannot
be used in preemptible context, and set the driver data after successful
registration of the pmu.Signed-off-by: Thomas Gleixner
Acked-by: Shawn Guo
Cc: Peter Zijlstra
Cc: Sebastian Siewior
Cc: Frank Li
Cc: Zhengyu Shen
Link: http://lkml.kernel.org/r/20161221192111.596204211@linutronix.de
Signed-off-by: Thomas Gleixner -
i.MX6QP added new register bit PROFILE_SEL in MADPCR0.
need set it at perf start.Signed-off-by: Frank Li
Signed-off-by: Shawn Guo -
This reverts commit 0fcec3b21f92184b230c98b85887fa7fbbdf6f64.
-
Upstream rejected this patch because it is wrong: Attaching clk and
regulator resources to the cpu device results in them never actually
getting freed.This is relevant now that we rely on supporting EPROBE_DEFER because we
must handle correctly returning from a partial probe.In particular this patch fixes imx6qp-sabresd not setting the PU
regulator to bypass mode because the cpufreq driver fetched the
regulator before gpc and leaked it.This is not a straight revert because other clks and regulators were
added, we add code to free them too.Signed-off-by: Leonard Crestez