08 Jun, 2017
40 commits
-
At imx7ulp, any interrupts can wake system up from suspend at "standby"
mode, so we mask interrupt for gpio by default. The user can still
enable wakeup through /sys entry.Signed-off-by: Peter Chen
-
The wakeup on USB port should be determined by user, but not enabled
by default.Signed-off-by: Peter Chen
-
Correct enet clock CCGR register offset.
CCGR6: IMX7D_ENET_AXI_ROOT_CLK (enet1 enet2 bus clocks)
CCGR112: IMX7D_ENET1_TIME_ROOT_CLK, IMX7D_ENET1_IPG_ROOT_CLK
CCGR113: IMX7D_ENET2_TIME_ROOT_CLK, IMX7D_ENET2_IPG_ROOT_CLKIMX7D_ENET_PHY_REF_ROOT_DIV supply clock for PHY, no gate after the clock, its parent
clcok root has gate.
IMX7D_ENET1_REF_ROOT_DIV/IMX7D_ENET2_REF_ROOT_DIV supply clocks for enet IPG_CLK_RMII,
no gate after the clock, its parent clock root has gate.IMX7D_PLL_ENET_MAIN_125M_CLK (anatop pll) supply clock for enet RGMII tx_clk.
Update copyright information.
Signed-off-by: Fugang Duan
Signed-off-by: Adrian Alonso -
In mxsfb driver, function overlayfb_check_var, a null pointer dereference
occurs if fourcc pixel format is one not considered explicitly.This case should not occur, since the pixel format is verified against
supported values before getting to this null dereference code, but this may
change if overlay_fmt_support() or overlayfb_check_var() changes and they
are not kept in sync.Signed-off-by: Cristina Ciocan
-
In function mxsfb_check_var an explicit null pointer dereference occurs
when input frame is 32 bpp (var->bits_per_pixel) and the output frame is
different from 8/16/18/24 (host->ld_intf_width).Even though a 32bpp output is possible under certain conditions, this is
currently not implemented, so any other output bpp value is not valid.Signed-off-by: Cristina Ciocan
-
- change setting for wfe_b to support new flow
(note there's no wfe_a on i.mx6ull/i.mx6sll, while on i.mx7d wfe_a is used
for this purpose)
- the underlying design policy change as follows (similar to i.mx7d).
in previous flow, when all LUTs are used, the LUT cleanup operation
need to wait for all the LUT to finish, it will not happen util last LUT
is done. while in new flow, the cleanup operation does not need to wait
for all LUTs to finish, instead it can start when there's LUT's done.
The saved time is multiple LUT operation time.Signed-off-by: Robby Cai
-
- change from wfe_b to wfe_a, and modifiy register settings to support new flow
- the underlying design policy change as follows.
in previous flow, when all LUTs are used, the LUT cleanup operation
need to wait for all the LUT to finish, it will not happen util last LUT
is done. while in new flow, the cleanup operation does not need to wait
for all LUTs to finish, instead it can start when there's LUT's done.
The saved time is multiple LUT operation time.Signed-off-by: Robby Cai
-
Fix hardware setup of multicast address hash:
- Never clear the hardware hash (to avoid packet loss)
- Construct the hash register values in software and then write once
to hardwareThe problem is with multiple sockets/multicast addresses. While setting up
one address (add/remove), the current code causes packet drops in other
unrelated sockets.SIgned-off-by: Rui Sousa
Signed-off-by: Fugang Duan -
When two MACs share one mii bus, MAC driver should do defer probe
when the mii bus not registered.Signed-off-by: Fugang Duan
-
rpmsg core didn't take care of high memory case which may be triggered
in 1:3 kernel/userspace memory split. Get correct page by vmalloc_to_page
instead of virt_to_page.Signed-off-by: Robin Gong
-
update driver since m4 side refine the header structure.
Signed-off-by: Robin Gong
-
The ret is assigned as 0, but never changed afterwards, fix this
"Logically dead code" warning.Fixes: 385c47481600 ("usb: chipidea: Only read/write OTGSC from one place")
Signed-off-by: Peter Chen -
After commit 49670184289e ("usb: chipidea: otg: change workqueue
ci_otg as freezable"), we have fixed the bug that ID removed
wakeup (ID: 0->1) will lock up system resume, we delete the
workaround code in this commit.Signed-off-by: Peter Chen
-
Using the CLK_GET_RATE_NOCACHE flag on the clock dividers will allow
the recalculation of the rate instead of just caching its value.For instance, this allows the mmdc clock to be properly updated,
after being modified by the busfreq driver, within an iram routine
by calling the clk_get_rate api. Using this flag allows to call only
to the .recalc_rate functions instead of additionally call the
.set_rate ones.Signed-off-by: Juan Gutierrez
Signed-off-by: Ranjani Vaidyanathan -
Fixes the following lockdep message:
INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator.
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.1.30-02225-g55e4b9e #8
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
[] (unwind_backtrace) from [] (show_stack+0x10/0x14)
[] (show_stack) from [] (dump_stack+0xa8/0xd4)
[] (dump_stack) from [] (__lock_acquire+0x1eb0/0x2224)
[] (__lock_acquire) from [] (lock_acquire+0xa4/0xd0)
[] (lock_acquire) from [] (_raw_spin_lock+0x3c/0x4c)
[] (_raw_spin_lock) from [] (sm_keystore_slot_alloc+0x24/0x74)
[] (sm_keystore_slot_alloc) from [] (caam_sm_example_init+0x1ec/0xb68)
[] (caam_sm_example_init) from [] (caam_sm_test_init+0x50/0x58)
[] (caam_sm_test_init) from [] (do_one_initcall+0x8c/0x1d8)
[] (do_one_initcall) from [] (kernel_init_freeable+0x144/0x1e4)
[] (kernel_init_freeable) from [] (kernel_init+0x8/0xe8)
[] (kernel_init) from [] (ret_from_fork+0x14/0x3c)Signed-off-by: Octavian Purdila
Reviewed-by: Dan Douglass -
Bank0/Bank1 are not in ECC mode, so no need to check.
Each bank contains 8 words, so we check (phy_index > 15).Signed-off-by: Peng Fan
-
Correct device_reset() return value checking.
Signed-off-by: Fugang Duan
-
Add ULP1 OTP support.
No timing required for ULP1 OTP.
The CTRL_ADDR is 8 bits width.
When finished access to OTP, gate the power to OTP memory to save power.Fix store, when invalid args, not return 0, but return the error values.
To ULP, fuse only support being programmed once, so add a check before
program.Test log:
root@imx6qdlsolo:/sys/fsl_otp# cat HW_OCOTP_GP84
0x0
root@imx6qdlsolo:/sys/fsl_otp# echo 1 > HW_OCOTP_GP84
root@imx6qdlsolo:/sys/fsl_otp# cat HW_OCOTP_GP84
0x1
root@imx6qdlsolo:/sys/fsl_otp# echo 1 > HW_OCOTP_GP84
-sh: echo: write error: Operation not permitted
root@imx6qdlsolo:/sys/fsl_otp# echo fg > HW_OCOTP_GP84
-sh: echo: write error: Invalid argumentSigned-off-by: Peng Fan
-
In overlayfb_enable(), unchecked the return value of lock_fb_info function, if
it return zero, it maybe cause mistakes.Signed-off-by: Guoniu.Zhou
-
- use different LUT setting and coefficient setting for different quantization
bits.
- clear CTRL0_MUX14_SEL to 0 only when use dithering algorithm, set to 1 for
not using dithering module.
- bypass PXP_OUT_AS for dithering and add DITHER_STORE_SIZE settingSigned-off-by: Robby Cai
-
In mxsfb_overlay_exit, a pointer to freed memory is dereferenced, used as a
function argument, exchange the reference and freed function position.Signed-off-by: Guoniu.Zhou
-
Description: Initial VCO oscillation may fail under
corner conditions such as cold temperature. It causes
PCIe PLL fail to lock in initialization phase.Project Impact: iMX7 PCIe PLL fails to lock and iMX7D
PCIe doesn't work.Workarounds: To toggle internal PLL_PD signal to make
VCO oscillate after G_RST signal is de-asserted by
following the sequences:
- De-asserted G_RST signal
- Toggle internal PLL_PD signal:
- Write "0x04" to the address "0x306D_0054"
- Write "0xA4" to the address "0x306D_0054"
- Write "0x04" to the address "0x306D_0054"
- De-asserted CMN_RST signalSigned-off-by: Richard Zhu
-
The USB core may call reset_resume when it fails resume asix device.
And USB core can recovery this abnormal resume at low level driver,
the same .resume at asix driver can work too. Add .reset_resume can
avoid disconnecting after backing from system resume, and NFS can
still be mounted after this commit.Signed-off-by: Peter Chen
-
When the vbus is off during the suspend controller is powered off, if we
do not want to see disconnection from USB core, we need to make sure the
device pulls DP up before USB core resume runs. However, several devices
are slow to pull DP up when see vbus (maybe it needs vbus to power up
system), so we need to wait connection at platform code.Signed-off-by: Peter Chen
-
For imx7ulp, the power of USB controller may be lost, add power_lost_check
API for USB recovery.Signed-off-by: Peter Chen
-
At some systems, the pinctrl setting will be lost or needs to
set as "sleep" state to save power consumption. So, we need to
configure pinctrl as "sleep" state when system enters suspend,
and as "default" state after system resumes. In this way, the
pinctrl value can be recovered as "default" state after resuming.Signed-off-by: Peter Chen
-
At some systems, the pinctrl setting will be lost or needs to
set as "sleep" state to save power consumption. So, we need to
configure pinctrl as "sleep" state when system enters suspend,
and as "default" state after system resumes. In this way, the
pinctrl value can be recovered as "default" state after resuming.Signed-off-by: Peter Chen
-
The overlay function of LCDIF only support when the bpp of fb0
and fb1 are the same. So add this check on overlayfb_check_var().Signed-off-by: Fancy Fang
-
The 'usage' field of mxsfb_layer is used to record the
overlay fb user counts. So change its type to atomic_t
to avoid race problem.Signed-off-by: Fancy Fang
-
After the last close of the fb1 open, the fb_info var structure
contains the information in the last overlay display. This may
cause the next overlay display contains old and invalid var
info. So re-init the var info on every fb1 open.Signed-off-by: Fancy Fang
-
Add global alpha mode for overlay framebuffer when the
overlay fb has no alpha channel, which means set a fix
alpha value which is used during the alpha blending
between AS and framebuffer.Signed-off-by: Fancy Fang
-
Add the missing 'break' in some switch statements.
Signed-off-by: Fancy Fang
-
On i.MX7ULP sillicon, system suspend go through VLLS mode that gate
off pinctrl and modules power, then all registers are reset to HW
default value. To support the feature, driver needs to recover all
registers status.Signed-off-by: Gao Pan
-
On i.MX7ULP sillicon, system suspend go through VLLS mode that gate
off pinctrl and modules power, then all registers are reset to HW
default value. To support the feature, driver needs to recover all
registers status.Signed-off-by: Gao Pan
-
The overlay function should be enabled when the lcdif is disabled
to make them synchronous. Otherwise, there will be offset for the
overlay surface when display.Signed-off-by: Fancy Fang
-
Add pan display support for the AS overlay framebuffer.
Signed-off-by: Fancy Fang
-
The enhanced LCDIF controller has added an AS surface which
can be used to blend with the original framebuffer fb0.Signed-off-by: Fancy Fang
-
Add 'FB_MXC_OVERLAY' config to control overlay framebuffer
feature. And also add this config to defconfig.Signed-off-by: Fancy Fang
-
The 'framebuffer_alloc()' will add the fb_info_size to the 'size'
parameter before doing the real allocation. So it is not necessary
to pass the sizeof(struct fb_info) to it again.Signed-off-by: Fancy Fang
-
Some dispdrv depends on several other modules. For example, mipi dsi
depends on gpio and gpio-reset modules. And in some cases, during
the mipi dsi initialization process, the gpio or gpio-reset is not
loaded yet, so defer the fb probing until all the depending modules
loaded completed.Signed-off-by: Fancy Fang