23 Feb, 2017
40 commits
-
When CONFIG_MMC=m, compile error shows up
ERROR: "of_alias_max_index" [drivers/mmc/core/mmc_core.ko] undefined!
ERROR: "mmc_get_reserved_index" [drivers/mmc/card/mmc_block.ko] undefined!
ERROR: "mmc_first_nonreserved_index" [drivers/mmc/card/mmc_block.ko] undefined!
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2
make: *** Waiting for unfinished jobs....This patch export the upper three symbol for module runtime load.
Signed-off-by: Haibo Chen
(cherry picked from commit 3b2520f17d427b8fa8db37a6d9a4311f20c29036) -
GPU 3D clock will still enable/disable when video playback,
actually there is no 3D usage, to saving power we should
avoid 3D clock enable/disable. This patch optimize event
synchronization by not pass signal/sync_point to gpu when
current gcoHARDWARE is already sync'ed GPU and no command
buffer required.Date: Apr 13, 2016
Signed-off-by: Richard Liu
Signed-off-by: Meng Mingming -
In the OCOTP fuse map, the speed grading[1:0] define the MAX
CPU speed the chip can run. The detailed definition is below:
2b'00: Reserved;
2b'01: 528000000Hz;
2b'10: 696000000Hz;
2b'11: Reserved;We need to disable the illegal setpoints according to the fuse map.
Signed-off-by: Bai Ping
-
According to the latest datasheet(Rev. 0, 12/2015),
When the chip is run at LDO enabled mode, the highest
setpoint can be set to 700MHz in overdrive mode.Signed-off-by: Bai Ping
-
On i.MX6UL EVK board, we use a external GPIO DC regulator to control
the VDD_ARM_SOC_IN voltage, if default voltage is 1.4V when the system
is bootup. Per design team, when the highest setpoint freq is not
bigger than 528MHz, we can decrease this regulator voltage to 1.3V.
On i.MX6UL TO1.1, we add a 700MHz setpoint. When the highest setpoint
freq is 700MHz, the DC regulator should be at 1.4V to to cover the IR
drop.Signed-off-by: Bai Ping
-
This patch removes boilerplate code to register clocks for two DIs of one IPU.
Also, the char strings for storing the pixel clock parent names are wrongly
placed in the kernel rodata section, which will be overwritten when clocks
are registered. This patch moves the problematic strings to stack. Since
clk_register() will cache his own version from non-kernel-rodata space, this
may fix the issue.Signed-off-by: Liu Ying
-
i.MX7d MAC1_ADDR fuse offset address is 0x640, i.MX6q/dl/sx/ul
MAC1_ADDR fuse offset address is 0x620. Correct it for i.MX7d,
otherwise read un-correct MAC address.Signed-off-by: Fugang Duan
(cherry picked from commit:74ee5313534dd9453601f4428c4916d46405669f) -
missed the brackets for bch legacy support, which leads the large oob
nand bch setting to wrong path.Signed-off-by: Han Xu
-
document the new option for legacy bch geometry support.
Conflicts:
Documentation/devicetree/bindings/mtd/gpmi-nand.txtSigned-off-by: Han Xu
(cherry picked from commit c1c24ecd24cb808e825eb13a3e3d016c283322cc) -
Provide an option in DT to use legacy bch geometry, which compatible
with the 3.10 kernel bch setting. To enable the feature, adding
"fsl,legacy-bch-geometry" under gpmi-nand node.NOTICE: The feature must be enabled/disabled in both u-boot and kernel.
Conflicts:
drivers/mtd/nand/gpmi-nand/gpmi-nand.hSigned-off-by: Han Xu
(cherry picked from commit 4d28b1693905526558892d40525763e6bc4469e4) -
Remove the pre-processing and post-processing table. use proc_autosel()
to select proper parameters.
Unify the supported input and output rate.Signed-off-by: Shengjiu Wang
-
ov5647 mipi camera sensor is replaced by ov5640
on imx7D SDB RevB board.Signed-off-by: Sandor Yu
-
Combine csi image setting function for 32-bit,16-bit,8-bit format.
For parallel 8-bit sensor input, when bit per pixel is 16,
csi image width should been doubled.
But for mipi input, the csi image width and height should align
with mipi whatever data width.Signed-off-by: Sandor Yu
-
-Support no power and reset pins platform.
-Remove specific power and reset pin setting for ov5640 daughter card.
-Put sensor in software power down state when streamoff.
-Remove unsupported video modes, keep 640x480, 720x480, 720p, 1080p 30fps
video modes in driver.Signed-off-by: Sandor Yu
-
During the read of NOR, the kernel actually calls the inline_map_copy_from()
to read the data out. And inline_map_copy_from() will use the memcpy_fromio()
to do the real job.The memcpy_fromio macro maps _memcpy_fromio() in the current code.
But the _memcpy_fromio() will use readb() to do the copy work one byte
by one byte. This makes the read performance of NOR very slow(about 2~3MB/s).A similiar discussion could be found in:
http://lists.infradead.org/pipermail/linux-arm-kernel/2009-November/003860.htmlThis patch replace the memcpy_fromio with memcpy which is optimized by the
kernel.The following is the result from mtd_speedtest with M29W256GL7AN6E:
=================================================
mtd_speedtest: MTD device: 2
mtd_speedtest: not NAND flash, assume page size is 512 bytes.
mtd_speedtest: MTD device size 4194304, eraseblock size 131072, page size 512,
count of eraseblocks 32, pages per eraseblock 256, OOB size 0
mtd_speedtest: testing eraseblock write speed
mtd_speedtest: eraseblock write speed is 845 KiB/s
mtd_speedtest: testing eraseblock read speed
mtd_speedtest: eraseblock read speed is 19504 KiB/s
mtd_speedtest: testing page write speed
mtd_speedtest: page write speed is 845 KiB/s
mtd_speedtest: testing page read speed
mtd_speedtest: page read speed is 19140 KiB/s
mtd_speedtest: testing 2 page write speed
mtd_speedtest: 2 page write speed is 846 KiB/s
mtd_speedtest: testing 2 page read speed
mtd_speedtest: 2 page read speed is 19320 KiB/s
mtd_speedtest: Testing erase speed
mtd_speedtest: erase speed is 233 KiB/s
mtd_speedtest: Testing 2x multi-block erase speed
mtd_speedtest: 2x multi-block erase speed is 225 KiB/s
mtd_speedtest: Testing 4x multi-block erase speed
mtd_speedtest: 4x multi-block erase speed is 224 KiB/s
mtd_speedtest: Testing 8x multi-block erase speed
mtd_speedtest: 8x multi-block erase speed is 225 KiB/s
mtd_speedtest: Testing 16x multi-block erase speed
mtd_speedtest: 16x multi-block erase speed is 225 KiB/s
mtd_speedtest: Testing 32x multi-block erase speed
mtd_speedtest: 32x multi-block erase speed is 225 KiB/s
mtd_speedtest: Testing 64x multi-block erase speed
mtd_speedtest: 64x multi-block erase speed is 224 KiB/s
mtd_speedtest: finished
=================================================(cherry-picked from: f1e5914ffd82d5326cbd30507d4f37d02a0da099)
Signed-off-by: Huang Shijie
-
Add missing .release callback in file_operations of vidmem_operations in order to release the allocated memory.
Date: Mar 18, 2016
Signed-off-by: Yuchou Gan -
The patch removes the dependence between cache flush operation and node.
Node is not used anymore when flush cache. Cache flush can work with only
logical address passed into underlying functions does not need physical
address.Signed-off-by: Richard Liu
(cherry picked from commit ad65770512d2baeb45f5d0622d985f9856b7cc1e) -
It has converted sync to fence api in kernel_imx/drivers/staging/android/sync.h,
so make it done in gpu driver to match kernel.Signed-off-by: Meng Mingming
Signed-off-by: Richard Liu
(cherry picked from commit d69c57557a2ef782d0daa617a30945f41a608fd5) -
when do vte test it meets follow dump in small probability.
Add against-0 check to resovle this.$ v4l_emma.sh 1 1
$ v4l_emma.sh 1 9------------[ cut here ]------------
: /dev/video1 Set PARM sucessfulWARNING: CPU: 0 PID: 1123 at /home/bamboo/build/4.1.X-1.0.0_ga/fsl-
imx-fb/temp_build_dir/build_fsl-imx-fb/tmp/work-shared/imx6qdlsolo/kernel-source/mm/page_alloc.c:266
5 __alloc_pages_nodemask+0x3c8/0x894()
ly
v4l_capture_testapp 0 TINModules linked in:FO : /dev/video1 input formatti mx6s_captureng pass
v4l_capture_testapp 0 ov5640_camera TINFO : PRP_ENC_ON_D gpRGBcon evbugv_buf malloc pass!CPU: 0 PID: 1123 Comm: v4l2_capture_em Not tainted 4.1.8-1.0.0+g87e6c2f #1
Hardware name: Freescale i.MX6 Ultralite (Device Tree)
[] (unwind_backtrace) from [] (show_stack+0x10/0x14)
[] (show_stack) from [] (dump_stack+0x84/0xc4)
[] (dump_stack) from [] (warn_slowpath_common+0x80/0xb0)
[] (warn_slowpath_common) from [] (warn_slowpath_null+0x1c/0x24)
[] (warn_slowpath_null) from [] (__alloc_pages_nodemask+0x3c8/0x894)
[] (__alloc_pages_nodemask) from [] (__dma_alloc_buffer.isra.3+0x2c/0x84)
[] (__dma_alloc_buffer.isra.3) from [] (__alloc_remap_buffer.isra.6+0x1c/0x8c)
[] (__alloc_remap_buffer.isra.6) from [] (__dma_alloc+0x1fc/0x228)
[] (__dma_alloc) from [] (arm_dma_alloc+0x8c/0xa0)
[] (arm_dma_alloc) from [] (vb2_dc_alloc+0x68/0x100)
[] (vb2_dc_alloc) from [] (__vb2_queue_alloc+0x134/0x4d0)
[] (__vb2_queue_alloc) from [] (__reqbufs.isra.17+0x1a8/0x304)
[] (__reqbufs.isra.17) from [] (__video_do_ioctl+0x2b0/0x324)
[] (__video_do_ioctl) from [] (video_usercopy+0x1b8/0x480)
[] (video_usercopy) from [] (v4l2_ioctl+0x118/0x150)
[] (v4l2_ioctl) from [] (do_vfs_ioctl+0x3e8/0x608)
[] (do_vfs_ioctl) from [] (SyS_ioctl+0x34/0x5c)
[] (SyS_ioctl) from [] (ret_fast_syscall+0x0/0x3c)
---[ end trace 55ed68f89eca4805 ]---
mx6s-csi 21c4000.csi: dma_alloc_coherent of size 0 failedSigned-off-by: Robby Cai
-
Q901 (IRLML6401) is p-channel MOSET, need set pin1 (LCD_nPWREN) to low
to let pin3 output be 3V3. Normally when pin1 is high, then pin3
output should be gated. It was working previously due to some leakage.
Correct the enable logic from the software viewpoint.Signed-off-by: Robby Cai
-
After the suspend/resume, hw_params may be called in bias_level is not
BIAS_ON, then the PLL is not disable/enabled, if the sample rate is
changed, the output clock is not correct.Signed-off-by: Shengjiu Wang
-
After suspend and resume, the wm8960 codec will change the state from
BIAS_OFF to BIAS_ON, in this time, the hw_free is called, the PLL will be
diabled, and next instance is started in rapid sequence, hw_params is called
But PLL is not enabled, because the bias state is not BIAS_ON.As PLL is disabled in BIAS_ON->BIAS_STANDBY, so don't need to disable pll
in hw_free of machine driver.Signed-off-by: Shengjiu Wang
-
The head list may be corrupted when two requests from
the same 'pxp_chan' are issued sequentially. So change
the issue_pending function to strictly serialized the
requests to avoid this kind of issue.Signed-off-by: Fancy Fang
-
Fix chipidea usb driver compile warning if CONFIG_USB_CHIPIDEA_HOST
is disabled:
In file included from drivers/usb/chipidea/otg.c:26:0:
drivers/usb/chipidea/host.h:23:13: warning: 'ci_hdrc_host_driver_init'
defined but not used [-Wunused-function]
static void ci_hdrc_host_driver_init(void)
^
CC drivers/usb/chipidea/otg_fsm.o
In file included from drivers/usb/chipidea/otg_fsm.c:34:0:
drivers/usb/chipidea/host.h:23:13: warning: 'ci_hdrc_host_driver_init'
defined but not used [-Wunused-function]
static void ci_hdrc_host_driver_init(void)
^Signed-off-by: Li Jun
-
JTAG, DS-5 attachment causes exceptions
Added properties to device tree, in order to enable and disable
alarms. The following are the available alarms:
-JTAG active
-WatchDOG 2 reset
-Internal Boot
-External Tamper Detection pad -
Add pfuze100 on imx6sx-sabreauto board to align with v3.14, although
no driver use pfuze100 regulator now.Signed-off-by: Robin Gong
-
CMA region is a must to avoid the multile memory mapping
for the DMAed memory and also benifit the large continious
phisical memory allocation.The default value is depend on the target system design and
user cases definition. This is not suitable to put this into
the soc.dtsi, thus we put it into the board DTS.customer can override the value by changing cma size in DTS file.
Again, customer need set the CMA size correctly according to the
target system. The incorrectly CMA size can cause Linux kernel fail
to boot up.CMA disabled or CMA size set to zero is also not allowed.Signed-off-by: Jason Liu
-
Because the old rfc4543 implementation always injected an IV into
the AD, while the new one does not, we have to disable the test
while it is converted over to the new AEAD interface.Signed-off-by: Herbert Xu
-
The 'otm8018b' is the Source Driver IC which is used
by 'TFT3P5079E' panel. This patch is adding the build
support for the 'otm8018b' kernel driver.Signed-off-by: Fancy Fang
-
The 'otm8018b' is the Source Driver IC for 'TFT3P5079E'
mipi panel. This patch is the kernel driver for 'otm8018b'.
No backlight brightness adjustment function, since this is
not supported by imx7d sdb revb board.Signed-off-by: Fancy Fang
Signed-off-by: Frank Li -
Create a new dts for the 'TFT3P5079E' mipi panel on
imx7d sabresd revb board.Signed-off-by: Fancy Fang
-
Some major fixes delivered by Broadcom.
1. Initialize nd_config parameter of cfg80211_wowlan to NULL
2. Avoid using hardcoded dummy channel number while creating p2p interface
3. Avoid creation of multiple instance of wl_event_handler thread.Signed-off-by: Dong Aisheng
-
Adjust high frequence (528M) read/write additional latency settings
from target board initial configuration; Save/restore MMDC_MDMISC
from DCD settings.Remove hardcodded value to issue a ZQ calibration command.
Signed-off-by: Adrian Alonso
Signed-off-by: Ranjani Vaidyanathan
(Cherry picked from commit 1036293d72173ef9051ec23babfd4d7f13db4f58) -
Add support for saving initial boot mmdc timing settings,
restore timming settings when switching from low to high
lpddr2 ddr frequency.Signed-off-by: Adrian Alonso
Signed-off-by: Ranjani Vaidyanathan
(Cherry picked from commit 6787b0fea9eb1ba5cc21e2faf232c3e7d80ac028) -
add lpsr mode state for flexcan pins
Signed-off-by: Dong Aisheng
-
For MX7D LPSR mode, the controller will lost power and got the
configuration state lost after system resume back.
So we need to set pinctrl state again and re-start chip to do
re-configuration after resume.For wakeup case, we also need re-configure the chip in case the state
got lost. For interface is not up before suspend case, we don't need
re-configure as it will be configured by user later by interface up.Signed-off-by: Dong Aisheng
-
Do sanity check before calling mmc_force_remove.
BCM WiFi driver will call wifi_card_detect(false) if probe fails
due to no card exists on board.This is needed for Android BSP since Android has builtin WiFi drver
and some boards may not have WiFi cards pluged.
Then the kernel dump likes follows may appear.
----------------------------------------------
dhd_module_init in
Power-up adapter 'DHD generic adapter'
wifi_platform_bus_enumerate device present 1
mmc1: mmc_rescan_try_freq: trying to init card at 400000 Hz
mmc1: mmc_rescan_try_freq: trying to init card at 300000 Hz
mmc1: mmc_rescan_try_freq: trying to init card at 200000 Hz
mmc1: mmc_rescan_try_freq: trying to init card at 100000 Hz
failed to power up DHD generic adapter, 3 retry left
wifi_platform_bus_enumerate device present 0
------------[ cut here ]------------
Kernel BUG at 8051247c [verbose debug info unavailable]
Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
Modules linked in: bcmdhd(+) ov5642_camera ov5640_camera_mipi_int ov5640_camera_int mxc_v4l2_capture ipu_bg_overlay_sdc ipu_still v4l2_int_device mxc_dcic ipu_prp_enc ipu_csi_enc ipu_fg_overlay_sdc evbug
CPU: 3 PID: 1071 Comm: modprobe Not tainted 4.1.15-01591-g1393481 #1504
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
task: a99be880 ti: a8dd8000 task.ti: a8dd8000
PC is at mmc_sdio_remove+0x70/0x74
LR is at mmc_sdio_force_remove+0xc/0x34
pc : [] lr : [] psr: 60070013
sp : a8dd9d00 ip : 00000000 fp : 00000000
r10: 7f100c98 r9 : 00000000 r8 : 7f0fc410
r7 : a8dd9d48 r6 : a83b1800 r5 : 00000000 r4 : a83b1800
r3 : 00000000 r2 : 00000000 r1 : 809b50c8 r0 : 00000000
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 10c53c7d Table: 38cdc04a DAC: 00000015
Process modprobe (pid: 1071, stack limit = 0xa8dd8210)
Stack: (0xa8dd9d00 to 0xa8dda000)
9d00: 00000000 a83b1800 00000000 00000000 a8dd9d48 8051248c 00000000 7f0ca6cc
9d20: a99be880 a90e6280 00000003 7f0ca920 fffffdfb a81af810 80bb570c 00000000
9d40: 00020002 00000000 a8dd9d48 a8dd9d48 00000000 7f100c98 7f100c98 a90e6280
9d60: fffffdfb 00000008 00000000 7f0fe490 56f19f1c 7f0cabe4 80bb6d74 a81af810
9d80: 7f0fe248 8037f864 8037f820 80bb6d74 a81af810 00000000 7f0fe248 8037e118
9da0: a81af810 7f0fe248 a81af844 80b1e8b0 00000000 8037e328 00000000 7f0fe248
9dc0: 8037e29c 8037c660 a8025c5c a8187a34 7f0fe248 a9547780 00000000 8037d8b4
9de0: 7f0f5028 7f0fe248 00000000 7f0fe248 00000000 a90e6280 80ba78f4 8037e92c
9e00: 00000000 7f100c98 00000000 7f0cb02c 00000000 80af7720 80af7720 a90e6280
9e20: 7f124000 00000000 00000001 80009730 00000000 8040003b abc7db80 800e1c68
9e40: 00000000 a935c340 8040003a abc83180 ab757000 80af257c 00000001 8040003a
9e60: 00000001 00000001 a8dd9e7c 80af2260 a8001f00 80af46c0 56f19f1c 800e32a0
9e80: 7f0fe448 a90e6108 a90e6240 7f0fe448 a90e6100 7f0fe490 56f19f1c 8078b2b0
9ea0: 7f0fe448 a90e6100 a8dd9f58 a90e6108 00000001 80092dd8 7f0fe454 00007fff
9ec0: 800902a8 a8928900 7f0fe490 00000000 7f0fe590 000015fa c1754bfc 7f0fe590
9ee0: c16d8000 000c823c 05de516a 00000000 0000000e 00000000 00000000 00000000
9f00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9f20: 00000000 00000000 00000000 00000000 00000648 00000000 00000003 01111348
9f40: 0000017b 8000f644 a8dd8000 00000000 00000073 8009352c c16d8000 000c823c
9f60: c175456c c17543a5 c17957ec 0007ad30 0008f7c0 00000000 00000000 00000000
9f80: 0000002a 0000002b 0000001f 00000023 00000014 00000000 01111348 00000000
9fa0: 00000000 8000f4c0 01111348 00000000 00000003 01111348 00000000 00040000
9fc0: 01111348 00000000 00000000 0000017b 00000000 01111218 00000073 00000073
9fe0: 7ec5d950 7ec5d940 0001f0dc 76ecf610 600d0010 00000003 00000000 00000000
[] (mmc_sdio_remove) from [] (mmc_sdio_force_remove+0xc/0x34)
[] (mmc_sdio_force_remove) from [] (wifi_platform_bus_enumerate+0x54/0x90 [bcmdhd])
[] (wifi_platform_bus_enumerate [bcmdhd]) from [] (dhd_wifi_platform_load+0x17c/0x39c [bcmdhd])
[] (dhd_wifi_platform_load [bcmdhd]) from [] (wifi_plat_dev_drv_probe+0xa4/0x124 [bcmdhd])
[] (wifi_plat_dev_drv_probe [bcmdhd]) from [] (platform_drv_probe+0x44/0xa4)
[] (platform_drv_probe) from [] (driver_probe_device+0x174/0x2b4)
[] (driver_probe_device) from [] (__driver_attach+0x8c/0x90)
[] (__driver_attach) from [] (bus_for_each_dev+0x6c/0xa0)
[] (bus_for_each_dev) from [] (bus_add_driver+0x148/0x1f0)
[] (bus_add_driver) from [] (driver_register+0x78/0xf8)
[] (driver_register) from [] (dhd_wifi_platform_register_drv+0x1cc/0x20c [bcmdhd])
[] (dhd_wifi_platform_register_drv [bcmdhd]) from [] (do_one_initcall+0x8c/0x1d4)
[] (do_one_initcall) from [] (do_init_module+0x5c/0x1a8)
[] (do_init_module) from [] (load_module+0x177c/0x1d4c)
[] (load_module) from [] (SyS_finit_module+0x64/0x74)
[] (SyS_finit_module) from [] (ret_fast_syscall+0x0/0x3c)
Code: e3a03000 e58631f8 e5863228 e8bd80f8 (e7f001f2)
---[ end trace 6f28ec270544e09e ]---
Segmentation fault
root@imx6qdlsolo:~#Signed-off-by: Dong Aisheng
-
In order to save power consumption, turn off pcie clks/regulators
if there is no pcie link at all.
Summit this patch, because of that MLK-12278
doesn't turn off the clks/regulators actually.Signed-off-by: Richard Zhu
-
This reverts commit 829b6962f7e3cfc06f7c5c26269fd47ad48cf503.
Revert this change as it causes a sysfs path to change and therefore
introduces and ABI regression. More precisely Android's vold is not being
able to access /sys/module/mmcblk/parameters/perdev_minors any more, since
the path becomes changed to: "/sys/module/mmc_block/..."Fixes: 829b6962f7e3 ("mmc: block: don't use parameter prefix if built as
module")
Reported-by: John Stultz
Cc: Andy Shevchenko
Signed-off-by: Ulf Hansson(cherry picked from commit a5ebb87db84392edfd3142c3a6a78431d820a789)
-
There have two same extended enet dts file to enable fec2 port, so
remove the redundant enet dts file.The issue is caused by the commit 370426c2a918 that was cherry picked
after commit b74c6b9c7fdc.Signed-off-by: Fugang Duan