Xianzhong [Fri, 22 Dec 2017 20:56:32 +0000 (04:56 +0800)]
MGS-3531 [#imx-865] fix gpu kernel panic issue
it is reproduced easily with multiple es11 cts tests,
gpu kernel panic in function _ConvertLogical2Physical.
need remove mdl from global list before destroy map list,
this can prevent the wrong access on the freed map data.
Date: Dec 22, 2017
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
Richard Liu [Wed, 20 Dec 2017 20:26:48 +0000 (04:26 +0800)]
MA-10617 [#imx-836] Fix CtsMediaTestCases module test uncompleted issue
CtsMediaTestCases module CTS test can't uncompleted due to native crash,
the crash is due to memory leak in drm gralloc, when total leak reach to
4GB it will report mmap fail and cause CTS thread crash.
Crash log:
12-02 08:14:51.982 1156 25401 E gralloc-viv: gralloc_vivante_lock#573: failed to mmap
12-02 08:14:51.982 1156 25401 E gralloc-viv: gralloc_lock#136: err=-25
12-02 08:14:51.982 1156 25401 E gralloc : gralloc_lock lock memory failed
12-02 08:14:51.982 1156 25401 W GraphicBufferMapper: lock(0xed4c2740, ...) failed: 5
12-02 08:14:51.982 1156 25401 F SoftwareRenderer: frameworks/av/media/libstagefright/
colorconversion/SoftwareRenderer.cpp:230 CHECK_EQ( 0,mapper.lock( buf->handle,
GRALLOC_USAGE_SW_WRITE_OFTEN, bounds, &dst)) failed: 0 vs. 5
Dec. 20, 2017
Signed-off-by: Richard Liu <xuegang.liu@nxp.com>
Meng Mingming [Mon, 25 Dec 2017 09:20:34 +0000 (17:20 +0800)]
MLK-17204-3 gpu: imx: dpu: Free command buffer when deinit
Free command buffer when deinit.
Signed-off-by: Meng Mingming <mingming.meng@nxp.com>
Laurentiu Palcu [Tue, 19 Dec 2017 11:38:44 +0000 (13:38 +0200)]
MLK-17257-2: drm: imx: dcss: use the WRSCL/RDSRC modules
This patch makes the necessary changes so that, for downscaling ratios
more than 3:1 and up to 7:1 (for video) and 5:1 (for graphics), the
WRSCL/RDSRC path will be used. This way the DRAM bandwidth will be lower
and spread evenly across the frame time.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
Laurentiu Palcu [Tue, 19 Dec 2017 11:33:32 +0000 (13:33 +0200)]
MLK-17257-1: drm: imx: dcss: Add WRSCL/RDSRC modules
WRSCL and RDSRC modules will be needed when downscaling ratios starting
from 3:1 up to 7:1 are needed. Otherwise, if the usual scaling path is
used, the DRAM bandwidth needed will be too much and performance will be
affected.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
Laurentiu Palcu [Wed, 20 Dec 2017 13:13:33 +0000 (15:13 +0200)]
MLK-17274: drm: imx: dcss: use_global_alpha not working if channel
already enabled
If the channel is already enabled, or it doesn't need a mode set, then
the dcss_dtg_global_alpha_changed() will always return false for formats
with per-pixel alpha. Hence, the plane will not be updated. This patch
removes the check for image format and the check will be done for all
image formats.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
Liu Ying [Tue, 19 Dec 2017 06:58:14 +0000 (14:58 +0800)]
MLK-17243 drm/imx: dpu: plane: Add format modifiers
This patch adds format modifiers for DPU DRM planes.
Signed-off-by: Liu Ying <victor.liu@nxp.com>
Dan Carpenter [Wed, 9 Aug 2017 11:19:06 +0000 (14:19 +0300)]
drm: Shift wrap bug in create_in_format_blob()
"plane->format_count" can go up to 64. (It's capped in
drm_universal_plane_init().) So we should be using ULL type instead of
int here to prevent shift wrapping.
Fixes:
db1689aa61bd ("drm: Create a format/modifier blob")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20170809111906.4rv3hzritctfktv3@mwanda
(cherry picked from commit
aadd41485bb227a16f964833a4fd55c091f4a729)
Ben Widawsky [Mon, 24 Jul 2017 03:46:39 +0000 (20:46 -0700)]
drm: Create a format/modifier blob
Updated blob layout (Rob, Daniel, Kristian, xerpi)
v2:
* Removed __packed, and alignment (.+)
* Fix indent in drm_format_modifier fields (Liviu)
* Remove duplicated modifier > 64 check (Liviu)
* Change comment about modifier (Liviu)
* Remove arguments to blob creation, use plane instead (Liviu)
* Fix data types (Ben)
* Make the blob part of uapi (Daniel)
v3:
Remove unused ret field.
Change i, and j to unsigned int (Emil)
v4:
Use plane->modifier_count instead of recounting (Daniel)
v5:
Rename modifiers to modifiers_property (Ville)
Use sizeof(__u32) instead to reflect UAPI nature (Ville)
Make BUILD_BUG_ON for blob header size
Cc: Rob Clark <robdclark@gmail.com>
Cc: Kristian H. Kristensen <hoegsberg@gmail.com>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Daniel Stone <daniels@collabora.com> (v2)
Reviewed-by: Liviu Dudau <liviu@dudau.co.uk> (v2)
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> (v3)
Signed-off-by: Daniel Stone <daniels@collabora.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170724034641.13369-2-ben@bwidawsk.net
(cherry picked from commit
db1689aa61bd1efb5ce9b896e7aa860a85b7f1b6)
Conflicts:
drivers/gpu/drm/drm_crtc.c
drivers/gpu/drm/drm_mode_config.c
include/drm/drm_crtc.h
include/drm/drm_mode_config.h
Ben Widawsky [Mon, 24 Jul 2017 03:46:38 +0000 (20:46 -0700)]
drm: Plumb modifiers through plane init
This is the plumbing for supporting fb modifiers on planes. Modifiers
have already been introduced to some extent, but this series will extend
this to allow querying modifiers per plane. Based on this, the client to
enable optimal modifications for framebuffers.
This patch simply allows the DRM drivers to initialize their list of
supported modifiers upon initializing the plane.
v2: A minor addition from Daniel
v3:
* Updated commit message
* s/INVALID/DRM_FORMAT_MOD_INVALID (Liviu)
* Remove some excess newlines (Liviu)
* Update comment for > 64 modifiers (Liviu)
v4: Minor comment adjustments (Liviu)
v5: Some new platforms added due to rebase
v6: Add some missed plane inits (or maybe they're new - who knows at
this point) (Daniel)
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Daniel Stone <daniels@collabora.com> (v2)
Reviewed-by: Liviu Dudau <Liviu.Dudau@arm.com>
Signed-off-by: Daniel Stone <daniels@collabora.com>
(cherry picked from commit
e6fc3b68558e4c6d8d160b5daf2511b99afa8814)
Conflicts:
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c
drivers/gpu/drm/imx/dcss/dcss-plane.c
drivers/gpu/drm/imx/dpu/dpu-plane.c
drivers/gpu/drm/imx/ipuv3-plane.c
drivers/gpu/drm/imx/ipuv3/ipuv3-plane.c
drivers/gpu/drm/meson/meson_plane.c
drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c
drivers/gpu/drm/mxsfb/mxsfb_drv.c
drivers/gpu/drm/nouveau/nv50_display.c
drivers/gpu/drm/omapdrm/omap_plane.c
drivers/gpu/drm/pl111/pl111_display.c
drivers/gpu/drm/qxl/qxl_display.c
drivers/gpu/drm/stm/ltdc.c
drivers/gpu/drm/sun4i/sun8i_layer.c
drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c
drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
drivers/gpu/drm/zte/zx_plane.c
include/drm/drm_plane.h
Peter Chen [Thu, 21 Dec 2017 01:06:40 +0000 (09:06 +0800)]
MLK-17261-2 usb: chipidea: imx: do not call hsic callback for non-hsic controller
With this judgement, the non-hsic controller will access wrong registers,
and below error message will be showed:
"usbmisc_imx
2184800.usbmisc: index is error for usbmisc"
Fixes:
113be1516160 ("MLK-16715-6 usb: chipidea: imx:
add HSIC support for controllers from imx7d")
Reported-by: Peng Fan <peng.fan@nxp.com>
Acked-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen [Thu, 21 Dec 2017 01:05:45 +0000 (09:05 +0800)]
MLK-17261-1 usb: cdns3: gadget: fix the spinlock recursion problem when detach cable
The __cdns3_gadget_stop holds spinlock before calling
usb_ss->gadget_driver->disconnect which calls ep_disable,
and ep_disable tries to hold spinlock too.
To fix it, let spinlock only protect the variable and register access.
Acked-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Laurentiu Palcu [Mon, 18 Dec 2017 06:36:10 +0000 (08:36 +0200)]
MLK-17232-3: dts: arm64: imx8mq: remove APB clock for rm67191 DTS
According to commit:
<
8c9aa9e83e37> "MLK-16942-2: dts: Remove disp_apb clock rate setting"
APB clock is configured by ROM code and it should be 133MHz. Remove the
setting from this DTS.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
Laurentiu Palcu [Mon, 18 Dec 2017 06:22:25 +0000 (08:22 +0200)]
MLK-17232-2: drm: imx: dcss: ignore SB_PEND_DISP_ACTIVE interrupt
There is a logic error in the DCSS B0 silicon and this interrupt does
not behave as it's supposed to. Ignore for now.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
Laurentiu Palcu [Thu, 14 Dec 2017 13:35:02 +0000 (15:35 +0200)]
MLK-17232-1: drm: imx: dcss: Fix context loader settings for LCD panel
If the vfront/vback porches are small are vsync length is small, the
dis_ulc_y is also small. Hence, the DB trigger setting will be
inappropriate and the DB context will not be able to load in time.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
Laurentiu Palcu [Tue, 12 Dec 2017 11:08:36 +0000 (13:08 +0200)]
MLK-17231-3: drm: imx: dcss: drop runtime autosuspend feature
This was needed when using the mode_set_nofb() callback. Since
everything was moved to crtc_enable() callback, runtime autosuspend
can be dropped.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
Laurentiu Palcu [Tue, 12 Dec 2017 11:06:35 +0000 (13:06 +0200)]
MLK-17231-2: drm: imx: dcss: Do not use mode_set_nofb callback
This callback is not suitable for drivers using runtime PM. Move
everything in the crtc_enable() callback.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
Laurentiu Palcu [Tue, 12 Dec 2017 10:13:27 +0000 (12:13 +0200)]
MLK-17231-1: drm: imx: dcss: set own KMS commit_tail callback
According to documentation, for the default commit_tail helper:
* Note that the default ordering of how the various stages are called is to
* match the legacy modeset helper library closest. One peculiarity of that is
* that it doesn't mesh well with runtime PM at all.
*
* For drivers supporting runtime PM the recommended sequence is instead ::
*
* drm_atomic_helper_commit_modeset_disables(dev, state);
*
* drm_atomic_helper_commit_modeset_enables(dev, state);
*
* drm_atomic_helper_commit_planes(dev, state,
* DRM_PLANE_COMMIT_ACTIVE_ONLY);
This patch creates our own commit_tail() callback and changes the order of the
commit_modeset callbacks, as instructed.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
Meng Mingming [Wed, 20 Dec 2017 01:30:27 +0000 (09:30 +0800)]
MLK-17204-2 drm/imx: dpu: Set driver data as null when to unbind device
Set driver data as null when to unbind device.
Signed-off-by: Meng Mingming <mingming.meng@nxp.com>
Peter Chen [Mon, 18 Dec 2017 09:21:43 +0000 (17:21 +0800)]
MLK-17237 staging: typec: return error when tcpci_parse_config has failed
Otherwise, the probe would be considered successfully, and without
do any destroy jobs, eg, the interrupt has still registered.
Acked-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen [Mon, 4 Dec 2017 05:49:03 +0000 (13:49 +0800)]
MLK-17062 usb: cdns3: gadget: add test mode support for USB2
Add USB2 device test mode support for CDNS3 IP
Acked-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Li Jun [Tue, 19 Dec 2017 13:02:45 +0000 (21:02 +0800)]
MLK-17242-3 arm64: dts: fsl-imx8qm-mek: remove properties for power sink
As imx8qm MEK typec port only can support power source on power role,
remove those properties for power sink after we add fixed power sink
settings.
Tested-by: Peter Chen <peter.chen@nxp.com>
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
Li Jun [Tue, 19 Dec 2017 13:00:28 +0000 (21:00 +0800)]
MLK-17242-2 arm64: dts: fsl-imx8qxp-mek: remove properties for power sink
As imx8qxp MEK typec port only can support power source on power role,
remove those properties for power sink after we add fixed power sink
settings.
Tested-by: Peter Chen <peter.chen@nxp.com>
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
Li Jun [Tue, 19 Dec 2017 11:07:44 +0000 (19:07 +0800)]
MLK-17242-1 staging: typec: tcpci: add sink setting for sink-disable
Adding fixed sink power settings for sink-disable case, which
is only for PD protocol talk to know the cc orientation if connects
to a PD capable host, HW doesn't really sink any power in this case.
Tested-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
Zhou Peng-B04994 [Wed, 20 Dec 2017 03:51:40 +0000 (11:51 +0800)]
MA-10829-2: add compat ioctl for malone vpu
Fix the ioctl issue of VPU_IOC_WAIT4INT
Signed-off-by: Zhou Peng-B04994 <eagle.zhou@nxp.com>
Tomi Valkeinen [Fri, 2 Dec 2016 13:45:35 +0000 (15:45 +0200)]
drm: fix possible_crtc's type
drm_universal_plane_init() and drm_plane_init() take "unsigned long
possible_crtcs" parameter, but then stuff it into uint32_t. Change the
parameter to uint32_t.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
(cherry picked from commit
5cd57a46e3e3dc088b50bbfcdc85d9e0d9c22159)
Daniel Vetter [Wed, 9 Nov 2016 12:36:36 +0000 (13:36 +0100)]
drm_fourcc: Document linear modifier
Not setting the fb modifiers flag is something different from setting
the fb modifiers to 0 (which means explicitly linear). We kinda failed
to document that properly. Spotted by Kristian.
Cc: hoegsberg@google.com
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1478694996-4200-1-git-send-email-daniel.vetter@ffwll.ch
(cherry picked from commit
b9fb2a21ac8058965a6b3fcae736cfa7f411d6eb)
Zhou Peng-B04994 [Tue, 19 Dec 2017 06:54:04 +0000 (14:54 +0800)]
MA-10829: add compat ioctl for malone vpu
Define 32bit ioctl for Android platform
Signed-off-by: Zhou Peng-B04994 <eagle.zhou@nxp.com>
Oliver Brown [Thu, 14 Dec 2017 00:16:08 +0000 (18:16 -0600)]
MLK-17206 hdp: Disable firmware hdp loading
Disabling HDP firmware loading except for debug.
Added simple checks to test HDP firmware status.
Signed-off-by: Oliver Brown <oliver.brown@nxp.com>
Aymen Sghaier [Mon, 18 Dec 2017 11:06:00 +0000 (12:06 +0100)]
MLK-17111-4: crypto: caam: Fix RNG Kernel oops on i.MX8QXP
Seen on i.MX8QXP board by reboot test, that Kernel oops occurs
due to failing RNG instantiation with default entropy delay.
The fix is to disable all job rings if RNG failed to prevent
Kernel crash. And print an error message saying that this is
a known limitation on REV A0 SoC.
Signed-off-by: Aymen Sghaier <aymen.sghaier@nxp.com>
Xianzhong [Sat, 16 Dec 2017 23:31:09 +0000 (07:31 +0800)]
MGS-3255: gpu-viv: implement command commit worker
i.MX8QM dual GPU SW workaround since no command sharing HW fix in B0,
optimized driver to improve GPU benchmark with better performance.
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
Guoniu.Zhou [Wed, 13 Dec 2017 07:15:40 +0000 (15:15 +0800)]
MLK-17088: mipi_csi: improve the compatiblility of S_FMT
1) When app call S_FMT ioctl, they may only set width, height
and format of image. So driver can't determine whether it
support the specified format by checking the format fourcc
value and the plane number.
2) Driver should also fill plane and sizeimage member in S_FMT
ioctl, because some apps use this information after they call
S_FMT ioctl, such as gstreamer.
Reviewed-by: Sandor.Yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Dong Aisheng [Fri, 15 Dec 2017 10:49:38 +0000 (18:49 +0800)]
MLK-16879-3 can: flexcan: add notes for avaliable fd mode rate combinations
CAN FD can only support some specific bitrate combinations in FD mode
due to HW limitations. See below info mentioned in RM:
"To minimize errors when processing FD frames, use the same value
for FPRESDIV and PRESDIV (in CAN_CBT or CAN_CTRL1)."
Add notes in driver to let user know easily:
CAN FD supported rates combinations
* Combination 1:
* Bitrate: 225000 375000 400000 425000 500000 875000
* Data rate:
1000000
*
* Combination 2:
* Bitrate: 550000 600000 625000 650000 675000 750000 775000
* 800000 850000 925000 950000 975000
1000000
* Data rate:
1500000 2000000 2500000 3000000 3500000 4000000
*
5000000
Acked-by: Jason Liu <jason.hui.liu@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Dong Aisheng [Fri, 15 Dec 2017 10:38:15 +0000 (18:38 +0800)]
MLK-16879-2 can: flexcan: allow user to disable can fd mode from device tree
Normally CAN FD capable device must work on FD mode as it has different
statically claimed bittiming capability.
This patch provides users to disable CAN FD capability if users want
to only work at normal mode.
Acked-by: Jason Liu <jason.hui.liu@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Dong Aisheng [Thu, 14 Dec 2017 14:18:53 +0000 (22:18 +0800)]
MLK-16879-1 can: flexcan: improve can fd bittiming setting
The CAN bit timing variables (PRESDIV, PROPSEG, PSEG1, PSEG2 and RJW)
can also be configured in CAN_CBT register, which extends the range of
all these variables. It can improve the bittiming accuracy.
Acked-by: Jason Liu <jason.hui.liu@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Dong Aisheng [Tue, 12 Dec 2017 10:05:51 +0000 (18:05 +0800)]
MLK-17159 dts: imx8qm-mek: fix can regulator name
Fix can regulator names which may cause the debugfs creation fail
due to the duplicated regulator-name of can0/1.
No functions affect.
root@imx8qmmek:~# dmesg | grep Fail
[ 3.276839] can01-en: Failed to create debugfs directory
[ 3.292414] can01-stby: Failed to create debugfs directory
Fixes:
90cd72423ed5 ("MLK-16606-4 arm64: dts: imx8qm-mek: add flexcan support")
Reported-by: Jason Liu <jason.hui.liu@nxp.com>
Reviewed-by: Jason Liu <jason.hui.liu@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Jason Liu [Fri, 15 Dec 2017 00:40:59 +0000 (08:40 +0800)]
MLK-17224 arm64: dts: jdi-wuxga-lvds1-panel.dts: disable ldb1
current dts supports dual channel LVDS panel connected with ldb2, while it
also needs the cable connected with ldb1 for example need LVDS-HDMI covert
connect with LVDS0_CH0 on the board, otherwise, the LVDS panel not work.
This is not user friendly. This patch removes the limitation by disable the
ldb1 interface by default.
Signed-off-by: Jason Liu <jason.hui.liu@nxp.com>
Acked-by: Liu Ying <victor.liu@nxp.com>
Liu Ying [Fri, 15 Dec 2017 08:51:39 +0000 (16:51 +0800)]
MLK-17225 gpu: imx: imx8_dprc: Directly map color component for 32bit RGB pixels
The DPR prefetch engine has the A/R/G/B_COMP_SEL fields in the
MODE_CTRL0 register to control the color component position
mapping from input to output. We may choose to use direct mapping
and leave the pixel format to be handled by the display controllers.
Fixes:
a0a3a82f90e9 ("MLK-15110-3 gpu: imx: Add i.MX8 DPR(Display Prefetch Resolve) support")
Reported-by: Richard Liu <xuegang.liu@nxp.com>
Signed-off-by: Liu Ying <victor.liu@nxp.com>
Sandor Yu [Fri, 15 Dec 2017 10:14:26 +0000 (18:14 +0800)]
MLK-17223-2: dts: Add eight cameras dts for imx8qm arm2 board
Enable mipi csi 1 in the dts.
MAX support eight cameras for imx8qm arm2 board with the dtb.
Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
Sandor Yu [Fri, 15 Dec 2017 09:56:36 +0000 (17:56 +0800)]
MLK-17223-1: dts: Add eight cameras dts for imx8qm mek board
Enable mipi csi 1 in the dts.
MAX support eight cameras for imx8qm mek board with the dtb.
Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
Fancy Fang [Thu, 14 Dec 2017 07:21:31 +0000 (15:21 +0800)]
MLK-17215-3 video: fbdev: mipi_dsi_northwest: refine 'phy-ref-clkfreq' get to support all socs
Move the code slice of getting 'phy-ref-clkfreq' property
to probe function to support arm32 socs besides arm64.
Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Fancy Fang [Thu, 14 Dec 2017 06:53:54 +0000 (14:53 +0800)]
MLK-17215-2 ARM: dts: imx7ulp: add 'phy-ref-clkfreq' property for mipi dsi
Add 'phy-ref-clkfreq' property for 'mipi_dsi' node on
imx7ulp board.
Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Fancy Fang [Thu, 14 Dec 2017 07:25:26 +0000 (15:25 +0800)]
MLK-17215-1 video: fbdev: mipi_dsi_northwest: fix an integer overflow issue
On ARM32 socs, the 'UL' and 'ULL' postfix are different.
And if using a 64bit constant integer, 'ULL' is the right
postfix.
Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Yong Gan [Wed, 13 Dec 2017 22:13:59 +0000 (06:13 +0800)]
MGS-3506 [#imx-805] Support compression for GPU no resolve
Support compression for GPU no resolve between client and compositor.
Enable gcdENABLE_RENDER_INTO_WINDOW_WITH_FC,
Implement enable_tile_status in viv protocol.
Signed-off-by: Yong Gan yong.gan@nxp.com
Reviewed-by: Xianzhong Li xianzhong.li@nxp.com
Reviewed-by: Y.c. Gan yuchou.gan@nxp.com
Reviewed-by: Prabhu Sundararaj prabhu.sundararaj@nxp.com
Richard Liu [Mon, 27 Nov 2017 10:30:47 +0000 (18:30 +0800)]
MA-10665-3 [#imx-615] Fix monkey test reboot issue due to drm gem bug
Fix monkey test reboot issue due to drm gem bug.
1. deref gem_obj in the end of funtion
2. replace async unlock with bottom half unlock.
Monkey commands:
while true;do monkey --pct-syskeys 0 -v 100000;done
Reboot log:
[ 884.062236] WARNING: CPU: 3 PID: 3987 at drivers/gpu/drm/drm_gem.c:776 drm_gem_object_release+0x40/0x48
[ 884.076072] Modules linked in: bcmdhd
[ 884.079760]
[ 884.081260] CPU: 3 PID: 3987 Comm: ReferenceQueueD Not tainted
4.9.56-00115-ge9a7131 #1
[ 884.089268] Hardware name: Freescale i.MX8QXP MEK (DT)
[ 884.094410] task:
ffff80004cf6de80 task.stack:
ffff800839838000
[ 884.100338] PC is at drm_gem_object_release+0x40/0x48
[ 884.105405] LR is at viv_gem_free_object+0x64/0x90
Date: Nov 27, 2017
Signed-off-by: Richard Liu <xuegang.liu@nxp.com>
Xianzhong [Wed, 29 Nov 2017 15:19:05 +0000 (23:19 +0800)]
MGS-3464 [#imx-811] fix busfreq build break
only include busfreq header when CONFIG_PM is enabled
Date: Nov 29, 2017
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
Reviewed-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
Reviewed-by: Yuchou Gan <yuchou.gan@nxp.com>
Sandor Yu [Thu, 14 Dec 2017 03:18:30 +0000 (11:18 +0800)]
MLK-17208-4: mipi csi: Add rxhs_settle calculate function
Add rxhs_settle calculate function according mipi csi phy
clock rate.
Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
Sandor Yu [Thu, 14 Dec 2017 03:40:33 +0000 (11:40 +0800)]
MLK-17208-3: mipi sensor: Clean max9286 driver
-Remove AP0101 initilize code, it is not support in max9286 driver
-Fix comment error
-Remove un-usefule code.
Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
Sandor Yu [Thu, 14 Dec 2017 03:17:04 +0000 (11:17 +0800)]
MLK-17208-2: mipi sensor: Fill subdev_format reserved[0]
Pass mipi csi-2 output clock rate from mipi sensor to mipi csi-2
rx controller by v4l2_subdev_format.reserved[0].
Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
Sandor Yu [Wed, 13 Dec 2017 08:07:47 +0000 (16:07 +0800)]
MLK-17208-1: mipi sensor: Reorder mipi CSI-2 sensor output
Reorder sensor to support different cameras combination.
Driver can support 1 ~ 4 cameras when device bootup.
And cameras should be connected according camera daughter marked.
For example:
one camera case: connected camera to IN0 on board.
two cameras case: Connected cameras to IN0 and IN1 on board.
...
Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
Sandor Yu [Mon, 11 Dec 2017 09:10:48 +0000 (17:10 +0800)]
MLK-17107-03: hdp: return unknow status if cable detect failed
Return unknow status to connector if hdp cable detect function
failed to get cable status.
Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
(cherry picked from commit
d16c633b1be1326b3583632c5279ea6b34ed3ec2)
Sandor Yu [Mon, 11 Dec 2017 08:32:29 +0000 (16:32 +0800)]
MLK-17107-02: hdmi: Add api function return check
Add api function return check to hdmi api call.
Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
(cherry picked from commit
cba6f4fc6f382731fabf938fb9e03db1c17b1666)
Conflicts:
drivers/gpu/drm/imx/hdp/imx-hdmi.c
Sandor Yu [Mon, 11 Dec 2017 08:27:38 +0000 (16:27 +0800)]
MLK-17107-01: hdp api: Add return value check for hdmi api
Add return value check for hdmitx api.
Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
(cherry picked from commit
fa29a23b5327e2739389c12e3d6ae54298c10c2f)
Conflicts:
drivers/mxc/hdp/API_HDMITX.c
Ye Li [Thu, 14 Dec 2017 11:19:32 +0000 (05:19 -0600)]
MLK-17221 clk: imx8mq: Add shared gate for apbh-dma and gpmi clocks
The CCGR RAWNAND is shared by apbh-dma and gpmi clocks, so must use
imx_clk_gate2_shared2 to produce two clocks. Otherwise, apbh-dma clock
won't be enabled individually.
Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Bai Ping <ping.bai@nxp.com>
Fugang Duan [Thu, 14 Dec 2017 09:52:50 +0000 (17:52 +0800)]
MLK-17218 tty: serial: imx: add lock for register save/restore
The driver save/restore registers in system suspend/resume noirq stage
to support no_console_suspend in power lost case.
In noirq stage with no_console_suspend, .imx_console_write() _maybe_
called to print out log_buf message in .printk() or console_unlock()
called by other drivers.
It should add port.lock to protect the registers save/restore in noirq
stage since .imx_console_write() also access them.
Reported-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Marius Vlad [Wed, 13 Dec 2017 18:10:48 +0000 (20:10 +0200)]
drm/drm_lease: Prevent deadlock in case drm_lease_create() fails
This case can been seen when creating the lease with the same objects passed.
[ 605.515097] 2 locks held by testapp/3337:
[ 605.519027] #0: (&dev->mode_config.idr_mutex){......}, at: [<
ffff0000085f1664>] drm_mode_create_lease_ioctl+0x384/0x858
[ 605.530045] #1: (&dev->mode_config.idr_mutex){......}, at: [<
ffff0000085f11bc>] drm_lease_destroy+0x2c/0x110
Which was causing the process to hang:
[ 605.398827] [<
ffff0000080856cc>] __switch_to+0x94/0xa8
[ 605.404030] [<
ffff000008c05d00>] __schedule+0x1b0/0x698
[ 605.409322] [<
ffff000008c06224>] schedule+0x3c/0xa8
[ 605.414260] [<
ffff000008c06628>] schedule_preempt_disabled+0x20/0x38
[ 605.420677] [<
ffff000008c07370>] mutex_lock_nested+0x158/0x340
[ 605.426572] [<
ffff0000085f11bc>] drm_lease_destroy+0x2c/0x110
[ 605.432389] [<
ffff0000085cecf0>] drm_master_put+0xc0/0xc8
[ 605.437845] [<
ffff0000085f175c>] drm_mode_create_lease_ioctl+0x47c/0x858
[ 605.444612] [<
ffff0000085d4460>] drm_ioctl+0x198/0x448
[ 605.449811] [<
ffff000008201134>] do_vfs_ioctl+0xa4/0x748
[ 605.455192] [<
ffff000008201864>] SyS_ioctl+0x8c/0xa0
[ 605.460216] [<
ffff000008082f4c>] __sys_trace_return+0x0/0x4
drm_mode_create_lease_ioctl() calls drm_lease_create() which acquires a lock
on dev->mode_config.idr_mutex. In case of failure, drm_lease_create() calls
drm_master_put() which in turn tries to acquire the same lock when calling
drm_lease_destroy().
v2: - Reverse the order at exit in case of fail, so that unlocking takes place
before dropping the reference.
- Include detail information about deadlock (Daniel Vetter)
Signed-off-by: Marius Vlad <marius-cristian.vlad@nxp.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20171213181048.32719-1-marius-cristian.vlad@nxp.com
Viorel Suman [Thu, 14 Dec 2017 12:03:51 +0000 (14:03 +0200)]
MLK-17220: ASoC: fsl_rpmsg_i2s: restore original lock context
Restore original lock context and unlock the mutex in case if
info->rpdev is uninitialized.
Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
Viorel Suman [Tue, 12 Dec 2017 12:07:34 +0000 (14:07 +0200)]
MLK-17220: ASoC: fsl_rpmsg_i2s: unlock mutex on error
Mutex must be unlocked when i2s_send_message method
fails.
Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
Li Jun [Thu, 14 Dec 2017 17:03:32 +0000 (01:03 +0800)]
MLK-17217 staging: typec: tcpci: system wakeup source support
As GPIO normally can be system wakeup source, so enable typec events
as system wakeup source if user requested.
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
Li Jun [Fri, 8 Dec 2017 14:26:49 +0000 (22:26 +0800)]
MLK-17128-3 staging: typec: reading max_snk_mw setting from OF
It's missing while do typec related properties read, sink
needs it to check if the provided PDO can match the required
power.
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
Li Jun [Fri, 8 Dec 2017 14:37:05 +0000 (22:37 +0800)]
MLK-17128-2 ARM64: dts: imx8mq-evk: add max_snk_mw property for typec
Add the max_snk_mw property to specify the max power of i.MX8MQ EVK
power limit is 18W, also change the max current to be 2A, which is
more matching the actual HW design.
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
Li Jun [Thu, 14 Dec 2017 16:09:25 +0000 (00:09 +0800)]
MLK-17128-1 dt-bindings: typec: add max_snk_mw property
Add max_snk_mw property for power sink to know the max power.
Because the max mw may be smaller than the max ma multiplied by
max mv:
max-mw <= max-mv*max-ma
After the power sink decides the PDO from source, it needs
to check the power to see if the provided power of this PDO
can match its requirement, which needs consider max_snk_mw to
know the max current it can have based on selected voltage.
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
Li Jun [Wed, 13 Dec 2017 17:11:18 +0000 (01:11 +0800)]
MLK-17203 usb: host: xhci-plat: fix high bus freq release mismatch
If the xhci platform device is already suspended, we can't
release high bus freq again, fix the high bus count mismatch.
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
Meng Mingming [Wed, 13 Dec 2017 10:01:41 +0000 (18:01 +0800)]
MLK-17204 drm/imx: dpu: Add suspend/resume support for dpu-blit
Add suspend/resume support for dpu bliteng device.
Signed-off-by: Meng Mingming <mingming.meng@nxp.com>
Adriana Reus [Mon, 2 Oct 2017 15:31:17 +0000 (18:31 +0300)]
MLK-14897-3: clk: imx7d: Do not set rate for enet-axi in the ccm driver
Do not set rate for enet-axi in the ccm driver.
The device-tree set-rate attribute should be used instead.
Signed-off-by: Adriana Reus <adriana.reus@nxp.com>
Reviewed-by: Robert Chiras <robert.chiras@nxp.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
Fabio Estevam [Mon, 2 Oct 2017 15:24:17 +0000 (18:24 +0300)]
MLK-14897-2: clk: imx7d: do not set the parent of IMX7D_ENET_AXI_ROOT_SRC
Cherry picked from upstream commit
1fd92dbaabe3 ("clk: imx7d: do not set
the parent of IMX7D_ENET_AXI_ROOT_SRC")
Booting the kernel on a imx7s-warp leads to several warnings like these:
[ 0.000000] ------------[ cut here ]------------
[ 0.000000] WARNING: CPU: 0 PID: 0 at kernel/locking/lockdep.c:3536 lock_release+0x2f8/0x330
[ 0.000000] releasing a pinned lock
[ 0.000000] ------------[ cut here ]------------
[ 0.000000] WARNING: CPU: 0 PID: 0 at kernel/locking/lockdep.c:2722 trace_hardirqs_on_caller+0x1ac/0x1f4
[ 0.000000] DEBUG_LOCKS_WARN_ON(unlikely(early_boot_irqs_disabled))
[ 0.000000] ---[ end trace
cb88537fdc8fa201 ]---
[ 0.000000] bad: scheduling from the idle thread!
[ 0.000000] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W 4.7.0-rc7-next-
20160715 #404
[ 0.000000] ------------[ cut here ]------------
[ 0.000000] WARNING: CPU: 0 PID: 0 at kernel/time/sched_clock.c:179 sched_clock_register+0x44/0x1f8
[ 0.000000] Modules linked in:
[ 0.000591] ------------[ cut here ]------------
[ 0.000610] WARNING: CPU: 0 PID: 0 at kernel/time/sched_clock.c:179 sched_clock_register+0x44/0x1f8
[ 0.002084] ------------[ cut here ]------------
[ 0.002104] WARNING: CPU: 0 PID: 0 at init/main.c:576 start_kernel+0x258/0x3b0
[ 0.002114] Interrupts were enabled early
This fix is along the same lines as 'commit
5e33ebff7edd ("clk: imx7d:
do not set parent of ethernet time/ref clocks")' and the explanation from that
commit is:
"The reason for the warning is that setting the parent enables the ENET
PLL since we are using CLK_OPS_PARENT_ENABLE. Enabling the ENET PLL can
cause clk_pllv3_wait_lock to sleep. See also:
commit
fc8726a2c021 ("clk: core: support clocks which requires parents
enable (part 2)")."
imx7s-warp does not even use the FEC interface, so we should not really
configure the parent of IMX7D_ENET_AXI_ROOT_SRC in the common MX7 clock
driver code.
The dts file should use the assigned-clocks/assigned-clock-parents method,
so simply remove the configuration of IMX7D_ENET_AXI_ROOT_SRC parent.
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Adriana Reus <adriana.reus@nxp.com>
Reviewed-by: Robert Chiras <robert.chiras@nxp.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
Adriana Reus [Mon, 2 Oct 2017 15:11:11 +0000 (18:11 +0300)]
MLK-14897-1: clk: imx7d: do not set parent of ethernet ref clocks
This is a rebase ot upstream commit:
'commit
5e33ebff7edd ("clk: imx7d: do not set parent of ethernet
time/ref clocks")':
"clk: imx7d: do not set parent of ethernet time/ref clocks
All device trees currently in mainline specify the time clock parent
using the assigned-clocks/assigned-clock-parents method, there is no
need to statically assign the parent in the core clock driver.
Also all current boards provide an Ethernet reference clock for the
PHY externally, hence configuring the internal PHY reference clock.
Furthermore, and the actual driver of this patch, specify ethernet
related parents at that early point in boot leads to a warning:
bad: scheduling from the idle thread!
The reason for the warning is that setting the parent enables the ENET
PLL since we are using CLK_OPS_PARENT_ENABLE. Enabling the ENET PLL can
cause clk_pllv3_wait_lock to sleep. See also:
commit
fc8726a2c021 ("clk: core: support clocks which requires parents
enable (part 2)").
Note that setting the ENET AXI root clock parent also requires ENET
PLL to be enabled. However, U-Boot typically leaves the ENET PLL on,
hence when the framework sets the parent of the first clock, it does
not need to wait for the PLL to come up. But because there is currently
no user of that clock, the PLL gets disabled after setting the parent.
Therefore, subsequent reparenting calls of any clock which somehow rely
on the ENET PLL, need to reenable the ENET PLL which leads to a sleep.
Removing those subsequent reparenting calls works around this issue.
Also remove comments. The code is really verbose enough."
Signed-off-by: Adriana Reus <adriana.reus@nxp.com>
Reviewed-by: Robert Chiras <robert.chiras@nxp.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
Adriana Reus [Mon, 2 Oct 2017 14:45:36 +0000 (17:45 +0300)]
MLK-14897-0: imx7d: dts: Add enet_axi and enet_phy clock parents and rates
Add clock parents and rates for enet_axi and enet_phy in dts via
the asigned-parents and assigned-rates attributes.
These were previously set in the ccm driver via set_parent/set_rate
calls but that has been removed in upstream linux.
Signed-off-by: Adriana Reus <adriana.reus@nxp.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
Bai Ping [Wed, 13 Dec 2017 05:18:42 +0000 (13:18 +0800)]
MLK-17190 driver: soc: Fix audio bus mode clock rate on imx8mq
If the system is currently in low bus mode, if the audio device
request the audio bus mode, the NOC, AHB and AXI bus clock rate
will be set wrongly, then bus will run at very low frequency, then
lead to audio playback underrun.
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Tested-by: Anson Huang <anson.huang@nxp.com>
Anson Huang [Tue, 12 Dec 2017 13:07:43 +0000 (21:07 +0800)]
MLK-17188-2 ARM64: dts: imx8qxp: assign usdhc clock parent
Assign i.MX8QXP uSDHC clocks parent to from PLL1.
This is a workaround for i.MX8QXP usdhc, PLL0 of CONN SS is not
stable sometimes, root cause is still under investigation in
design team. Now change to source from PLL1. Due to PLL1 is
1000MHz, so EMMC HS400ES mode can only work at 166MHz, compare
to the former 198MHz, the performance has small drop, read
performance drop about 10%, write performance drop about 6%.
SD do not has this side effect.
When PLL0 unstable issue is fixed, will change back to use PLL0.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Bai Ping <ping.bai@nxp.com>
Tested-by: Haibo Chen <haibo.chen@nxp.com>
Anson Huang [Tue, 12 Dec 2017 12:47:05 +0000 (20:47 +0800)]
MLK-17188-1 clk: imx: imx8qxp: add uSDHC clock MUX
Add uSDHC clock MUX to allow uSDHC driver to select
parent, currently only support PLL0 and PLL1 as
uSDHC clock's parent.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Bai Ping <ping.bai@nxp.com>
Tested-by: Haibo Chen <haibo.chen@nxp.com>
Ye Li [Tue, 12 Dec 2017 09:09:02 +0000 (03:09 -0600)]
MLK-17158-3 arm64: dts: imx8mq: Add a RAWNAND dedicated DTS for ARM2
Add fsl-imx8mq-ddr4-arm2-gpmi-nand.dts which enables the RAWNAND on
i.MX8MQ DDR4 ARM2 board.
Signed-off-by: Ye Li <ye.li@nxp.com>
Ye Li [Tue, 12 Dec 2017 09:06:57 +0000 (03:06 -0600)]
MLK-17158-2 arm64: dts: imx8mq: Add gpmi and apbh-dma nodes
Add gpmi and apbh-dma nodes to i.MX8MQ DTSi. Both are used by RAWNAND driver.
Signed-off-by: Ye Li <ye.li@nxp.com>
Ye Li [Tue, 12 Dec 2017 09:02:21 +0000 (03:02 -0600)]
MLK-17158-1 drivers: clk: imx: Add RAWNAND root clock
i.MX8MQ CCGR has a clock enable signal for RAWNAND. Add this RAWNAND root
clock to clock tree.
Signed-off-by: Ye Li <ye.li@nxp.com>
Robin Gong [Tue, 12 Dec 2017 06:33:14 +0000 (14:33 +0800)]
MLK-17154 watchdog: imx8_wdt: align timeout value with imx2_wdt
Align timeout value with imx2_wdt.
Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Gao Pan [Tue, 12 Dec 2017 08:16:37 +0000 (16:16 +0800)]
MLK-17136 ath10k: clear fetch board fail log
Below fail log is caused by firmware version issue.
"ath10k_pci 0000:01:00.0: failed to fetch board data"
To clear the log, ath10k_dbg is used to replace ath10k_err.
Signed-off-by: Gao Pan <pandy.gao@nxp.com>
Teo Hall [Tue, 5 Dec 2017 17:22:03 +0000 (11:22 -0600)]
MLK-17119: Add ARM2 DDR4 DTB
Add DTB to support DDR4 version of the ARM2
board
Signed-off-by: Teo Hall <teo.hall@nxp.com>
Shengjiu Wang [Fri, 8 Dec 2017 07:50:35 +0000 (15:50 +0800)]
MLK-17152: ASoC: fsl_hifi: support suspend and resume
For hifi need to enter runtime suspend state in suspend,
then the power of HIFI can be down. In this case content
in internal RAM will be lost, and need to be recovered
in resume.
Move the loading firmware to runtime resume function, and
define ICM_SUSPEND and ICM_RESUME command, with ICM_SUSPEND
the hifi framework will store the data in RAM and with
ICM_RESUME the hifi framework will restore the data to RAM.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Peter Chen [Tue, 12 Dec 2017 01:34:39 +0000 (09:34 +0800)]
MLK-16715-10 ARM64: dts: fsl-imx8qxp: change properties for USB2
The changes include: compatible, performance tuning parameters,
and delete the property which is dedicated to imx7d.
Acked-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen [Mon, 11 Dec 2017 07:13:29 +0000 (15:13 +0800)]
MLK-16715-9 ARM64: dts: fsl-imx8qm-lpddr4-arm2-hsic: add HSIC board dts
Some special for HSIC usages:
- It needs imx8 debug board to test HSIC function.
- The USBOTG1 needs to be active when HSIC is in use.
BuildInfo:
- SCFW
e0362348, IMX-MKIMAGE
9841373a, ATF
e173337
- U-Boot 2017.03-imx_v2017.03+g3535868
Acked-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen [Mon, 11 Dec 2017 07:12:04 +0000 (15:12 +0800)]
MLK-16715-8 ARM64: dts: fsl-imx8qm: add USB HSIC support
Add USB HSIC controller support.
Acked-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen [Mon, 11 Dec 2017 03:29:07 +0000 (11:29 +0800)]
MLK-16715-7 usb: chipidea: imx: add "ci-disable-lpm" quirk
Some chipidea hardware needs to disable low power mode for controller
due to IC issue or hardware issue, add one quirk for it.
Acked-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen [Thu, 16 Nov 2017 09:11:51 +0000 (17:11 +0800)]
MLK-16715-6 usb: chipidea: imx: add HSIC support for controllers from imx7d
From imx7d, there is a dedicate non-core register region for
each controller, and HSIC configurations are almost at non-core
register, this commit adds HSIC support for controllers from imx7d,
and the non-core confugrations are different with imx6's.
Acked-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen [Fri, 27 Oct 2017 11:05:00 +0000 (19:05 +0800)]
MLK-16715-5 usb: chipidea: imx: using phy_mode to judge HSIC controller
HSIC controller must use HSIC phy mode, it is more suitable way
to judge HSIC controller.
Acked-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen [Fri, 17 Nov 2017 02:48:34 +0000 (10:48 +0800)]
MLK-16715-4 usb: chipidea: imx: add imx8qm compatible
It is suitable for imx8qm and imx8qxp currently
Acked-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen [Fri, 17 Nov 2017 02:52:00 +0000 (10:52 +0800)]
MLK-16715-3 ARM64: dts: fsl-imx8qm: change USB2 controller properties
The imx8qm's non-core register controller is more like imx7ulp than
imx7d, since imx7d uses Samsung PHY, but imx7ulp and imx8qm use
freescale PHY, so imx8qm uses the same compatible for imx7ulp.
But imx8qm and imx7ulp's platform are so many differences, so the
compatible for driver are different.
Besides, we add performance tuning parameters and delete properties which
is dedicated for imx7d.
Acked-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen [Fri, 17 Nov 2017 02:50:51 +0000 (10:50 +0800)]
MLK-16715-2 binding-doc: usb: ci-hdrc-usb2: add imx7ulp and imx8qm compatible
Add imx7ulp and imx8qm compatible.
Acked-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen [Fri, 27 Oct 2017 10:21:12 +0000 (18:21 +0800)]
MLK-16715-1 usb: chipidea: imx: replace &pdev->dev with local variable
There are tens of &pdev->dev, replace them with a local
variable
Acked-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Robert Chiras [Mon, 11 Dec 2017 10:13:24 +0000 (12:13 +0200)]
MLK-17149-2: arm64: dts: fsl-imx8mq.dtsi: Remove dummy clocks from lcdif
Apparently, the CLK_DUMMY implementation is not so reliable, since this
can occur when doing a clk_disable_unprepare on a CLK_DUMMY clock:
[ 51.197744] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W
4.9.51-03878-g6c48bec #415
[ 51.206354] Hardware name: Freescale i.MX8MQ EVK (DT)
[ 51.211405] Call trace:
[ 51.213868] [<
ffff0000080884c8>] dump_backtrace+0x0/0x1a0
[ 51.219273] [<
ffff00000808867c>] show_stack+0x14/0x20
[ 51.224327] [<
ffff0000083dd91c>] dump_stack+0x94/0xb8
[ 51.229383] [<
ffff0000080df898>] __schedule_bug+0x50/0x70
[ 51.234786] [<
ffff000008c24578>] __schedule+0x4c0/0x580
[ 51.240013] [<
ffff000008c24674>] schedule+0x3c/0xa8
[ 51.244893] [<
ffff000008c24a70>] schedule_preempt_disabled+0x20/0x38
[ 51.251252] [<
ffff0000080f966c>] mutex_optimistic_spin+0x194/0x1d8
[ 51.257434] [<
ffff000008c25f28>] __mutex_lock_slowpath+0x38/0x140
[ 51.263529] [<
ffff000008c26074>] mutex_lock+0x44/0x60
[ 51.268589] [<
ffff0000084d9914>] clk_prepare_lock+0x44/0xd8
[ 51.274163] [<
ffff0000084db378>] clk_unprepare+0x20/0x40
[ 51.279478] [<
ffff00000860827c>] mxsfb_disable_axi_clk+0x24/0x30
[ 51.285485] [<
ffff0000086082d8>] mxsfb_irq_handler+0x50/0x60
[ 51.291144] [<
ffff000008102c84>] __handle_irq_event_percpu+0x9c/0x128
[ 51.297584] [<
ffff000008102d2c>] handle_irq_event_percpu+0x1c/0x58
[ 51.303762] [<
ffff000008102db0>] handle_irq_event+0x48/0x78
[ 51.309334] [<
ffff0000081066f0>] handle_fasteoi_irq+0xb8/0x1b0
[ 51.315165] [<
ffff000008101d7c>] generic_handle_irq+0x24/0x38
[ 51.320910] [<
ffff0000081023ec>] __handle_domain_irq+0x5c/0xb8
[ 51.326742] [<
ffff00000808163c>] gic_handle_irq+0xbc/0x168
[ 51.332226] Exception stack(0xffff000009253d90 to 0xffff000009253ec0)
Since AXI and DISP_AXI are optional clocks according to the driver,
there is no need for dummy clocks in DTS, so remove them.
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
Reviewed-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
Robert Chiras [Mon, 11 Dec 2017 10:09:36 +0000 (12:09 +0200)]
MLK-17149-1: drm/mxsfb: Fix pipe enable
During enable function, the mxsfb driver is trying to associate with a
connector, when a drm_bridge is used. When accessing the connectors
list, mode_config->mutex might be locked, generating the below WARN.
Since we are not changing the mode_config, we can access the
connector_list directly.
[ 16.876991] [<
ffff0000086289d4>] mxsfb_pipe_enable+0xec/0xf8
[ 16.882650] [<
ffff0000085e4de0>] drm_simple_kms_crtc_enable+0x20/0x30
[ 16.889090] [<
ffff0000085e144c>]
drm_atomic_helper_commit_modeset_enables+0x17c/0x1a0
[ 16.896918] [<
ffff0000085e42dc>]
drm_atomic_helper_commit_tail+0x3c/0x68
[ 16.903617] [<
ffff0000085e436c>] commit_tail+0x64/0x80
[ 16.908753] [<
ffff0000085e4398>] commit_work+0x10/0x18
[ 16.913893] [<
ffff0000080d4928>] process_one_work+0x1c8/0x380
[ 16.919638] [<
ffff0000080d4b28>] worker_thread+0x48/0x498
[ 16.925035] [<
ffff0000080da8f8>] kthread+0xe0/0xf8
[ 16.929828] [<
ffff000008082e80>] ret_from_fork+0x10/0x50
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
Reviewed-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
Aymen Sghaier [Fri, 8 Dec 2017 13:54:11 +0000 (14:54 +0100)]
MLK-17111-3: crypto: caam: Correct Copyright
Correct Copyright for new files:
- drivers/crypto/caam/inst_rng.c
- drivers/crypto/caam/inst_rng.h
Reviewed-by: Silvano Di Ninno <silvano.dininno@nxp.com>
Signed-off-by: Aymen Sghaier <aymen.sghaier@nxp.com>
Aymen Sghaier [Fri, 8 Dec 2017 13:49:31 +0000 (14:49 +0100)]
MLK-17111-2: crypto: caam: Enable caam job ring 2 for i.MX8 mScale
As required by Test/Validation Team the third job ring is enabled
here. This was not possible before modifying JR Master ID in ATF.
ATF (arm-trusted-firmware) should be updated before using this JR.
Reviewed-by: Silvano Di Ninno <silvano.dininno@nxp.com>
Signed-off-by: Aymen Sghaier <aymen.sghaier@nxp.com>
Aymen Sghaier [Fri, 8 Dec 2017 13:36:46 +0000 (14:36 +0100)]
MLK-17111-1: crypto: caam: Fix RNG instantiation retry
Seen on i.MX8MQ EVK board revision B0 that the RNG instantiation
fail with default entropy delay. Retry process is fixed here to
be able to instantiate RNG successfully.
Reviewed-by: Silvano Di Ninno <silvano.dininno@nxp.com>
Signed-off-by: Aymen Sghaier <aymen.sghaier@nxp.com>
Bai Ping [Mon, 11 Dec 2017 04:51:23 +0000 (12:51 +0800)]
MLK-17144 driver: soc: use mutex for power domain of imx8mq
In current gpc-psci.c file, the irqchip driver and gpc power
domain driver use the same spinlock to prevent concurrent
access to the GPC module. But actually, the irq and power domain
are two seperated function and controlled by different registers.
when using the same spinlock for these two funcition, in some corner
case the system will be deadlock if the spinlock is already acquired
by the power domain, but the power domain on/off is interrupted by
timer IRQ. So adding a mutex for power domain driver.
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
Yuchou Gan [Mon, 11 Dec 2017 16:24:13 +0000 (00:24 +0800)]
MGS-2914 [#imx-587] [8QM/qxp] Disable depth compression only for 8QM
Disable the depth compression on device tree for 8qm/8qxp/mscale
when the ddr4 is enabled.
Date: Dec 11, 2017
Signed-off-by Yuchou Gan yuchou.gan@nxp.com
Ye Li [Mon, 4 Dec 2017 06:05:28 +0000 (00:05 -0600)]
MLK-17147 arm64: dts: imx8mq: Add DDR3l and DDR4 ARM2 boards support
Add two DTS files for supporting DDR3l and DDR4 ARM2 boards. Basic
nodes like UART, SD/eMMC, i2c, Ethernet are added.
Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Bai Ping <ping.bai@nxp.com>
Peng Fan [Sat, 9 Dec 2017 10:44:37 +0000 (18:44 +0800)]
MLK-17142 arm64: dts: 8qxp: introduce dom0 dts
Introudce dom0 dts.
disable rtc, we do not have sip handler in xen, also need to modify the
driver to use hvc call.
remove gpu ss reg property to avoid overriding dom0 mapping.
Modify lpuart0 interrupt-parent to use gic, because xen could only
handle gic.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Bai Ping <ping.bai@nxp.com>
Guoniu.Zhou [Fri, 8 Dec 2017 11:32:34 +0000 (19:32 +0800)]
MLK-16549-2: ISI: fix suspend/resume error issue
Because ISI runtime suspend has disable clock before system
suspend. If driver does not know that and disable clock again
in system suspend callback. It will lead to isi clk count mis-
match.
Reviewed-by: Sandor.Yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Guoniu.Zhou [Fri, 8 Dec 2017 08:04:55 +0000 (16:04 +0800)]
MLK-16549-1: mipi_csi: fix camera sensor i2c R/W issue
Because there is a level shifter between mipi csi controller
and max9286 camera sensor bridge. We need configure RESET_B
and ENABLE pins as GPIO, otherwise the bridge will not work
normally.
Reviewed-by: Sandor.Yu <sandor.yu@nxp.com>
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Han Xu [Thu, 7 Dec 2017 22:18:57 +0000 (16:18 -0600)]
MLK-17122: arm64: dts: fix the flexspi power domain
fix the flexspi power domain in device tree
Signed-off-by: Han Xu <han.xu@nxp.com>