Age | Commit message (Collapse) | Author |
|
The vsync and frame_done irqs should be cleared in the ISR.
Otherwise, the unrequired irq may be triggered in a wrong
moment.
Signed-off-by: Fancy Fang <chen.fang@freescale.com>
|
|
Support ±2g/±4g/±8g dynamically selection for motion sensor fxls8471.
Set the sensor mode to standby mode before changing the scale range
with the command "echo 0 > enable". The scale range can be changed
with the command "echo 0/1/2 > range".
Signed-off-by: Gao Pan <b54642@freescale.com>
|
|
Support ±2g/±4g/±8g dynamically selection for motion sensor fxos8700.
Set the sensor mode to standby mode before changing the scale range
with the command "echo 0 > enable". The scale range can be changed
with the command "echo 0/1/2 > range".
Signed-off-by: Gao Pan <b54642@freescale.com>
|
|
support runtime PM on gpmi nand to save the cost to enable/disable clock
in each NAND IO. The driver also claim high-freq bus when resumed.
Signed-off-by: Han Xu <b45815@freescale.com>
(cherry-picked from commit 5b72b3388d1399420f3b49a0ca937ca5792e2d7d)
|
|
Read the register only when the adc register address is 4 byte aligned.
Signed-off-by: Haibo Chen <haibo.chen@freescale.com>
(cherry picked from commit 68af93647354087a55c86c58be48e8802c98aa3d)
|
|
Sometimes ov5640 can not working on iMX7D ARM2 board,
ov5640 signal is not accepted by imx7d mipi csi phy.
Remove power down function and keep ov5640 power up after
driver probe, the issue is fixed.
Signed-off-by: Sandor Yu <R01008@freescale.com>
(cherry picked from commit d5e090bbfe9939a8e3c278ef86eddab0c9873fa9)
|
|
samples should not live forever, set the max limit of
the tty tests.
Signed-off-by: Richard Zhu <richard.zhu@freescale.com>
(cherry picked from commit 28cc7d83b4480602a1457e95a81438d0d6e64d7f)
|
|
As per to the design team, use the software poweroff when critical
trip temp reached. No need to set the panic alam register bits
when using the software poweroff as the critical trip action.
Signed-off-by: Bai Ping <b51503@freescale.com>
|
|
When temperature >= the 'critical_trip' temperature, the common
framework code will call 'orderly_poweroff' function to power off
the system. During the power off procedure the thermal framework
will go on polling the temp, this will lead to recall the
'orderly_poweroff' again. In the first poweroff flow, some system
resource has been freezed, then if the secondary 'orderly_poweroff'
frees the resource again, it will lead to kernel dump.
Signed-off-by: Bai Ping <b51503@freescale.com>
|
|
Using runtime pm framework to control the mipi
phy on/off dynamically.
Signed-off-by: Fancy Fang <chen.fang@freescale.com>
(cherry picked from commit 0dcb155067e95d8cdb0030584a2157034cae4701)
|
|
There are several benefits for doing like this:
- hc_driver can be customized for each hcd
- Other hcd hc_driver's initialization will not affect current one.
We run out NULL pointer dereference problem when one hcd is started
by module_init, and the other is started by otg thread at SMP platform.
The reason for this problem is ehci_init_driver will do memory copy
for current uniform hc_driver, and this memory copy will do memset (as 0)
first, so when the first hcd is running usb_add_hcd, and the second
hcd may clear the uniform hc_driver's space (at ehci_init_driver),
then the first hcd will meet NULL pointer at the same time.
See below two logs:
LOG_1:
ci_hdrc ci_hdrc.0: EHCI Host Controller
ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
ci_hdrc ci_hdrc.1: doesn't support gadget
Unable to handle kernel NULL pointer dereference at virtual address 00000014
pgd = 80004000
[00000014] *pgd=00000000
Internal error: Oops: 805 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 108 Comm: kworker/u8:2 Not tainted 3.14.38-222193-g24b2734-dirty #25
Workqueue: ci_otg ci_otg_work
task: d839ec00 ti: d8400000 task.ti: d8400000
PC is at ehci_run+0x4c/0x284
LR is at _raw_spin_unlock_irqrestore+0x28/0x54
pc : [<8041f9a0>] lr : [<8070ea84>] psr: 60000113
sp : d8401e30 ip : 00000000 fp : d8004400
r10: 00000001 r9 : 00000001 r8 : 00000000
r7 : 00000000 r6 : d8419940 r5 : 80dd24c0 r4 : d8419800
r3 : 8001d060 r2 : 00000000 r1 : 00000001 r0 : 00000000
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
Control: 10c53c7d Table: 1000404a DAC: 00000015
Process kworker/u8:2 (pid: 108, stack limit = 0xd8400238)
Stack: (0xd8401e30 to 0xd8402000)
1e20: d87523c0 d8401e48 66667562 d8419800
1e40: 00000000 00000000 d8419800 00000000 00000000 00000000 d84198b0 8040fcdc
1e60: 00000000 80dd320c d8477610 d8419c00 d803d010 d8419800 00000000 00000000
1e80: d8004400 00000000 d8400008 80431494 80431374 d803d100 d803d010 d803d1ac
1ea0: 00000000 80432428 804323d4 d803d100 00000001 80435eb8 80e0d0bc d803d100
1ec0: 00000006 80436458 00000000 d803d100 80e92ec8 80436f44 d803d010 d803d100
1ee0: d83fde00 8043292c d8752710 d803d1f4 d803d010 8042ddfc 8042ddb8 d83f3b00
1f00: d803d1f4 80042b60 00000000 00000003 00000001 00000001 80054598 d83f3b00
1f20: d8004400 d83f3b18 d8004414 d8400000 80e3957b 00000089 d8004400 80043814
1f40: d839ec00 00000000 d83fcd80 d83f3b00 800436e4 00000000 00000000 00000000
1f60: 00000000 80048f34 00000000 00000000 00000000 d83f3b00 00000000 00000000
1f80: d8401f80 d8401f80 00000000 00000000 d8401f90 d8401f90 d8401fac d83fcd80
1fa0: 80048e68 00000000 00000000 8000e538 00000000 00000000 00000000 00000000
1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
1fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[<8041f9a0>] (ehci_run) from [<8040fcdc>] (usb_add_hcd+0x248/0x6e8)
[<8040fcdc>] (usb_add_hcd) from [<80431494>] (host_start+0x120/0x2e4)
[<80431494>] (host_start) from [<80432428>] (ci_otg_start_host+0x54/0xbc)
[<80432428>] (ci_otg_start_host) from [<80435eb8>] (otg_set_protocol+0xa4/0xd0)
[<80435eb8>] (otg_set_protocol) from [<80436458>] (otg_set_state+0x574/0xc58)
[<80436458>] (otg_set_state) from [<80436f44>] (otg_statemachine+0x408/0x46c)
[<80436f44>] (otg_statemachine) from [<8043292c>] (ci_otg_fsm_work+0x3c/0x190)
[<8043292c>] (ci_otg_fsm_work) from [<8042ddfc>] (ci_otg_work+0x44/0x1c4)
[<8042ddfc>] (ci_otg_work) from [<80042b60>] (process_one_work+0xf4/0x35c)
[<80042b60>] (process_one_work) from [<80043814>] (worker_thread+0x130/0x3bc)
[<80043814>] (worker_thread) from [<80048f34>] (kthread+0xcc/0xe4)
[<80048f34>] (kthread) from [<8000e538>] (ret_from_fork+0x14/0x3c)
Code: e5953018 e3530000 0a000000 e12fff33 (e5878014)
LOG_2:
ci_hdrc ci_hdrc.0: EHCI Host Controller
ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
ci_hdrc ci_hdrc.1: doesn't support gadget
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = 80004000
[00000000] *pgd=00000000
In Online 00:00ternal e Offline rror: Oops: 80000005 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 108 Comm: kworker/u8:2 Not tainted 3.14.38-02007-g24b2734-dirty #127
Workque Online 00:00ue: ci_o Offline tg ci_otg_work
Online 00:00task: d8 Offline 39ec00 ti: d83ea000 task.ti: d83ea000
PC is at 0x0
LR is at usb_add_hcd+0x248/0x6e8
pc : [<00000000>] lr : [<8040f644>] psr: 60000113
sp : d83ebe60 ip : 00000000 fp : d8004400
r10: 00000001 r9 : 00000001 r8 : d85fd4b0
r7 : 00000000 r6 : 00000000 r5 : 00000000 r4 : d85fd400
r3 : 00000000 r2 : d85fd4f4 r1 : 80410178 r0 : d85fd400
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
Control: 10c53c7d Table: 1000404a DAC: 00000015
Process kworker/u8:2 (pid: 108, stack limit = 0xd83ea238)
Stack: (0xd83ebe60 to 0xd83ec000)
be60: 00000000 80dd920c d8654e10 d85fd800 d803e010 d85fd400 00000000 00000000
be80: d8004400 00000000 d83ea008 80430e34 80430d14 d803e100 d803e010 d803e1ac
bea0: 00000000 80431dc8 80431d74 d803e100 00000001 80435858 80e130bc d803e100
bec0: 00000006 80435df8 00000000 d803e100 80e98ec8 804368e4 d803e010 d803e100
bee0: d86e8100 804322cc d86cf050 d803e1f4 d803e010 8042d79c 8042d758 d83cf900
bf00: d803e1f4 80042b78 00000000 00000003 00000001 00000001 800545e8 d83cf900
bf20: d8004400 d83cf918 d8004414 d83ea000 80e3f57b 00000089 d8004400 8004382c
bf40: d839ec00 00000000 d8393780 d83cf900 800436fc 00000000 00000000 00000000
bf60: 00000000 80048f50 80e019f4 00000000 0000264c d83cf900 00000000 00000000
bf80: d83ebf80 d83ebf80 00000000 00000000 d83ebf90 d83ebf90 d83ebfac d8393780
bfa0: 80048e84 00000000 00000000 8000e538 00000000 00000000 00000000 00000000
bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 ee66e85d 133ebd03
[<804 Online 00:000f644>] Offline (usb_add_hcd) from [<80430e34>] (host_start+0x120/0x2e4)
[<80430e34>] (host_start) from [<80431dc8>] (ci_otg_start_host+0x54/0xbc)
[<80431dc8>] (ci_otg_start_host) from [<80435858>] (otg_set_protocol+0xa4/0xd0)
[<80435858>] (otg_set_protocol) from [<80435df8>] (otg_set_state+0x574/0xc58)
[<80435df8>] (otg_set_state) from [<804368e4>] (otg_statemachine+0x408/0x46c)
[<804368e4>] (otg_statemachine) from [<804322cc>] (ci_otg_fsm_work+0x3c/0x190)
[<804322cc>] (ci_otg_fsm_work) from [<8042d79c>] (ci_otg_work+0x44/0x1c4)
[<8042d79c>] (ci_otg_work) from [<80042b78>] (process_one_work+0xf4/0x35c)
[<80042b78>] (process_one_work) from [<8004382c>] (worker_thread+0x130/0x3bc)
[<8004382c>] (worker_thread) from [<80048f50>] (kthread+0xcc/0xe4)
[<80048f50>] (kthread) from [<8000e538>] (ret_from_fork+0x14/0x3c)
Code: bad PC value
Signed-off-by: Peter Chen <peter.chen@freescale.com>
(cherry picked from commit 8d0ca70bdac986f5886ba8ccfff46a41e7a555ec)
|
|
The current condition may not true even we have driven vbus on already.
The vbus drive operation may be async, eg through i2c gpio expendor,
so the vbus may not be valid when we unload usb module.
We meet this issue when we do fast load/unload usb module test.
Signed-off-by: Peter Chen <peter.chen@freescale.com>
(cherry picked from commit a4dec7730c98f2639fe250a1a67f782b6f73bdf5)
|
|
The pxp scaling logic will cause issue when the s0
and out are both yuv formats. The issue has been
reported in another MM CR.
Signed-off-by: Fancy Fang <chen.fang@freescale.com>
(cherry picked from commit a0bf35c7c4be567589156e9c61c6fbfdfa5de1ec)
|
|
some pcie pe devices maybe still failed resime back,
after pcie rc is resumed, when the pcie ep devices have
a heavy loading task.
Enlarge the delay time after imx6qp pcie rc resume back.
Signed-off-by: Richard Zhu <Richard.Zhu@freescale.com>
(cherry picked from commit e0f3836149889b1db7cce76218c76efbf0347e0e)
|
|
While A device as peripheral ends session by a_bus_drop, it will go
back to host role by transition to a_wait_vfall state, then ehci
host driver may access portsc status after controller enters suspend
, this will result in system hang since its clock is gated off.
This patch use existing autosuspend to delay the controller suspend
if it comes to a_wait_vfall state.
Signed-off-by: Li Jun <jun.li@freescale.com>
(cherry picked from commit b140fa6803ef6ececec17e435212a960a3169cc2)
|
|
Below case causes mii bus probe failed:
ifconfig eth0 down -> suspend/resume with Mega/fax mix off -> ifconfig eth0 up
Mega/fast mix off, ENET MAC power will be off, all initialized MAC registers reset
to default, so in the case, it must init MAC prior to mii bus probe.
Signed-off-by: Fugang Duan <B38611@freescale.com>
|
|
WL_HOST_WAKEUP feature causes system suspend/resume break, so revert.
This reverts commit 2ce8a1ad56f76a072656c0d244c3b1f72603fac0.
|
|
In 7D platform, the fastmix will power down MIPI DSI when
system doing suspend. So when system resume, the MIPI DSI
will be in the 'reset' state and all the registers should
be configured again.
Signed-off-by: Fancy Fang <chen.fang@freescale.com>
(cherry picked from commit 25ad2d6142962455ac0e515c1118b9c42bd13ffa)
|
|
System resume failed easily after commit b993956109856d3, the commit is no
problem, but it exposes the potential deadlock bug which not unlock mutex if
cpufreq not change, remove these code since the cpufreq framwork has consider
it.
Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit d791bf25e07023f7a936fcabe6f641ad391048b3)
|
|
* Fix GPIO1_IO00 pin group register, add ZERO_OFFSET_VALID to
iomuxc-lpsr as GPIO1_IO00 mux_reg offset is Zero.
---
302c0000.iomuxc-lpsr: failed to get pin(12) name
302c0000.iomuxc-lpsr: maps: function hog group hoggrp-2 num 4
pinctrl core: add 4 pinmux maps
pinconfig core: failed to register map default (3): no group/pin given
---
* Fix debug info use pin_id to get the corresponding pad name.
Signed-off-by: Adrian Alonso <aalonso@freescale.com>
Signed-off-by: Robin Gong <b38343@freescale.com>
|
|
Update the name of the panel used on the 7D DC4 ebook board from development name to ED060XH2C1.
Signed-off-by: Evan Kotara <evan.kotara@freescale.com>
|
|
the obsolete bit DDR_EN on 6UL and 7D should be clear in case other
program set the bit and cause qspi probe fail.
Signed-off-by: Han Xu <b45815@freescale.com>
(cherry picked from commit bde382480e9c3ba3ba1f0f4c73f77df894482699)
|
|
Enable DDR quad mode for Macronix qspi chip mx25l51245g by setting Quad
bit in status register and enabling in dts file.
The LUT for SPINOR_OP_READ_1_4_4_D was initially designed for Spansion
qspi chip, so there is one cycle for "mode" after address and before
dummy. While Macronix qspi chip doesn't have this feature, so we just
take off one cycle in dts file to bypass this problem.
Signed-off-by: Han Xu <b45815@freescale.com>
(cherry picked from commit 2ee7cdc2b821605dbb47854238d7fc124800547a)
|
|
Add pm_notifier for cpufreq on i.MX7D to make sure when
system do suspend/resume no cpu frequency change.
cpu frequency change may use the I2C/SPI interface to
control the external PMIC chip, if the I2C/SPI are not
active in this procedure, frequency change will fail.
Signed-off-by: Bai Ping <b51503@freescale.com>
|
|
Build error when ov5640 mipi driver build as build-in:
drivers/media/platform/mxc/subdev/built-in.o: In function
`OV5640_get_HTS':
:(.text+0x5d08): multiple definition of `OV5640_get_HTS'
drivers/media/platform/mxc/capture/built-in.o::(.text+0x6228): first
defined here
drivers/media/platform/mxc/subdev/built-in.o: In function
`OV5640_get_light_freq':
:(.text+0x5e6c): multiple definition of `OV5640_get_light_freq'
drivers/media/platform/mxc/capture/built-in.o::(.text+0x638c): first
defined here
drivers/media/platform/mxc/subdev/built-in.o: In function `binning_on':
:(.text+0x6bb4): multiple definition of `binning_on'
It is cause by ov5640 mipi global function name conflict,
Add static property to these functions to fix the issue.
Signed-off-by: Sandor Yu <R01008@freescale.com>
(cherry picked from commit 3826c16be99c1d1a432f914ca09808f0d4591edb)
|
|
WL_HOST_WAKEUP can use outband GPIO interrupt instead of the standard
SDIO interrupt which can improve the WiFi performance a lot.
After enable WL_HOST_WAKE, the performance could increase about TX: 42% / RX: 26%.
Original:
Tx: 107 Mbits/sec Rx: 80.2 Mbits/sec
Now:
Tx: 152 Mbits/sec Rx: 101 Mbits/sec
Signed-off-by: Dong Aisheng <b29396@freescale.com>
(cherry picked from commit ecef28b0c1c081b4673a12ebb4e87bfc22baf58c)
|
|
The reason is in spi gpio driver (drivers/gpio/gpio-74x164.c) the 'can_sleep'
property is set true as follows.
chip->gpio_chip.can_sleep = true;
Then gpio_set_value() calls gpiod_set_raw_value(), in which it checkes
'can_sleep' property.
WARN_ON(desc->chip->can_sleep);
Use gpio_set_value_cansleep instead to avoid the kernel warning message.
Signed-off-by: Robby Cai <r63905@freescale.com>
(cherry picked from commit d0ce5d78c3ea0167f159687d726a5eaad2c76214)
|
|
The current driver adjust freq formula is:
fe * diff = ppb * pc
Note:
fe: ENET ref clock frequency in Hz
diff = inc_corr - inc: difference between default increment and correction increment
ppb: parts per billion adjustment from base
pc: correction period (in number of fe clock cycles)
The correction increment will be used after N cycles of regular increments,
not every N cycles (with N being the correction period). For example, set ENET_ATCOR=4,
INC=8, INC_CORR=9, there will be 4 increments of 8 (ENET_ATINC[INC]) , followed by 1
increment of 9 (ENET_ATINC[INC_CORR]).
So, the correct formula is:
fe * diff = ppb * (pc + 1)
For ENET_ATCOR, a value 0 disables the correction counter and no corrections occur.
So base on the origin formula, set pc = pc > 1 ? pc - 1 : pc.
Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Frank Li <Frank.Li@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
In .mdio_bus_phy_may_suspend(), there check netdev is NULL to judge to set
phy to suspend status.
netdev is NULL has three cases:
- phy is not found
- phy is found, match to general phy driver
- phy is found, match to specifical phy driver
Case 1: phy is not found, cannot communicate by MDIO bus.
Case 2: phy is found:
if phy dev driver probe/bind err, netdev is not __open__ status,
mdio bus is unregistered.
if phy is detached, phy had entered suspended status.
Case 3: phy is found, phy is detached, phy had entered suspended status.
So, in here, it shouldn't set phy to suspend by calling mdio bus.
In i.MX6UL evk/arm2 board, if down the ethx interface and do suspend/resume,
system will hang. Because after ethx down all clocks are gated off, for general
phy driver, unbind the phy device, for specifical phy driver, no unbind the
device, and the original driver call mdio bus to set phy to suspend during
system suspend, so system will hang since there have mdio register access.
The patch can fix it.
Signed-off-by: Fugang Duan <B38611@freescale.com>
|
|
The 'mutex_unlock()' function should not be called in interrupt
handler, since this may cause deadlock issue. So using semaphore
to replace the 'hard_lock' mutex.
Signed-off-by: Fancy Fang <chen.fang@freescale.com>
(cherry picked from commit 2114d6805fb9a31a8a3f844063d4a25ef3e56202)
|
|
As part of starting up IBSS, CFG80211 driver needs BSS information to be
plumbed into it. Hence in DHD we call cfg80211_infrom_bss() and it needs whole
frame consist of IEs contained in beacon frame. But FW was passing frame buffer
with some extra bytes preceded and when same is plumbed into CFG80211 it was not
able to decode the frame and it ignores the frame as result we get such warnings.
Using latest FW delivered by Broadcom to fix the issue.
As well as wl_cfg80211.c changes are essential. This change is actually fix certain
warnings seen when moving between IBSS and BSS network mode.
Changes must be done in wl_cfg80211_change_virtual_iface() which you can find at
wl_cfg80211.c and this file is not specific wl tool.
Signed-off-by: Dong Aisheng <b29396@freescale.com>
|
|
Should call cfg80211_disconnected() when do rmmod if associcated with AP before..
root@imx7d_all:~# modprobe -r bcmdhd
dhd_prot_ioctl : bus is down. we have nothing to do
dhd_wlfc_deinit():3268, ampdu_hostreorder get failed Err = -1
dhd_prot_ioctl : bus is down. we have nothing to do
dhd_wlfc_deinit():3291 failed to enable/disable bdcv2 tlv signaling Err = -1
CFG80211-ERROR) wl_cfg80211_disconnect : Reason 3
dhd_prot_ioctl : bus is down. we have nothing to do
CFG80211-ERROR) wl_cfg80211_disconnect : error (-1)
------------[ cut here ]------------
WARNING: CPU: 1 PID: 1057 at net/wireless/core.c:953 cfg80211_netdev_notifier_call+0x3f4/0x468()
Modules linked in: bcmdhd(-) evbug
CPU: 1 PID: 1057 Comm: modprobe Not tainted 3.14.38-02140-g3418ee9 #1074
[<80014a40>] (unwind_backtrace) from [<80011698>] (show_stack+0x10/0x14)
[<80011698>] (show_stack) from [<80705f90>] (dump_stack+0x7c/0xbc)
[<80705f90>] (dump_stack) from [<8002fbe0>] (warn_slowpath_common+0x6c/0x88)
[<8002fbe0>] (warn_slowpath_common) from [<8002fc98>] (warn_slowpath_null+0x1c/0x24)
[<8002fc98>] (warn_slowpath_null) from [<806b2d4c>] (cfg80211_netdev_notifier_call+0x3f4/0x468)
[<806b2d4c>] (cfg80211_netdev_notifier_call) from [<8004e044>] (notifier_call_chain+0x44/0x84)
[<8004e044>] (notifier_call_chain) from [<8004e148>] (raw_notifier_call_chain+0x18/0x20)
[<8004e148>] (raw_notifier_call_chain) from [<8059b218>] (rollback_registered_many+0x1dc/0x340)
[<8059b218>] (rollback_registered_many) from [<8059b3a4>] (rollback_registered+0x28/0x3c)
[<8059b3a4>] (rollback_registered) from [<8059c658>] (unregister_netdevice_queue+0x54/0xb0)
[<8059c658>] (unregister_netdevice_queue) from [<8059c6cc>] (unregister_netdev+0x18/0x20)
[<8059c6cc>] (unregister_netdev) from [<7f00ef84>] (dhd_detach+0x238/0x474 [bcmdhd])
[<7f00ef84>] (dhd_detach [bcmdhd]) from [<7f05621c>] (dhdsdio_release+0x40/0x1c0 [bcmdhd])
[<7f05621c>] (dhdsdio_release [bcmdhd]) from [<7f0569fc>] (dhdsdio_disconnect+0x3c/0x94 [bcmdhd])
[<7f0569fc>] (dhdsdio_disconnect [bcmdhd]) from [<7f0493a8>] (bcmsdh_remove+0x3c/0x60 [bcmdhd])
[<7f0493a8>] (bcmsdh_remove [bcmdhd]) from [<7f04ade8>] (bcmsdh_sdmmc_remove+0x4c/0x64 [bcmdhd])
[<7f04ade8>] (bcmsdh_sdmmc_remove [bcmdhd]) from [<804baff8>] (sdio_bus_remove+0x30/0xf8)
[<804baff8>] (sdio_bus_remove) from [<80346c94>] (__device_release_driver+0x70/0xcc)
[<80346c94>] (__device_release_driver) from [<803473bc>] (driver_detach+0xac/0xb0)
[<803473bc>] (driver_detach) from [<80346994>] (bus_remove_driver+0x4c/0xa0)
[<80346994>] (bus_remove_driver) from [<7f05f930>] (dhd_module_cleanup+0x2c/0x3c [bcmdhd])
[<7f05f930>] (dhd_module_cleanup [bcmdhd]) from [<80084c54>] (SyS_delete_module+0x11c/0x17c)
[<80084c54>] (SyS_delete_module) from [<8000e3e0>] (ret_fast_syscall+0x0/0x30)
---[ end trace 89522c1a1370465d ]---
dhd_detach(): thread:dhd_watchdog_thread:291 terminated OK
dhd_dpc_thread: Unexpected up_cnt 0
dhd_detach(): thread:dhd_dpc:292 terminated OK
CFG80211-ERROR) wl_event_handler : was terminated
wl_destroy_event_handler(): thread:wl_event_handler:290 terminated OK
unregister wifi platform drivers
wifi_platform_bus_enumerate device present 0
mmc1: card 0001 removed
Signed-off-by: Dong Aisheng <b29396@freescale.com>
|
|
CC [M] drivers/net/wireless/bcmdhd/dhd_ip.o
LD [M] fs/udf/udf.o
drivers/net/wireless/bcmdhd/dhd_common.c:108:22: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
DHD_COMPILED " on " __DATE__ " at " __TIME__;
^
drivers/net/wireless/bcmdhd/dhd_common.c:108:38: error: macro "__TIME__" might prevent reproducible builds [-Werror=date-time]
DHD_COMPILED " on " __DATE__ " at " __TIME__;
Drop debug version with build date/time.
The kernel already has this information, and individual drivers
shouldn't duplicate that. This also eliminates the use of __DATE__ and
__TIME__, which make the build non-deterministic.
Signed-off-by: Dong Aisheng <b29396@freescale.com>
|
|
Without this, WiFi can not work when re-insmod module because
the card is not reset in rmmod.
Signed-off-by: Dong Aisheng <b29396@freescale.com>
|
|
root@imx7d_all:~# rmmod bcmdhd
dhd_prot_ioctl : bus is down. we have nothing to do
dhd_wlfc_deinit():3268, ampdu_hostreorder get failed Err = -1
dhd_prot_ioctl : bus is down. we have nothing to do
dhd_wlfc_deinit():3291 failed to enable/disable bdcv2 tlv signaling Err = -1
dhd_detach(): thread:dhd_watchdog_thread:2d4 terminated OK
dhd_dpc_thread: Unexpected up_cnt 0
dhd_detach(): thread:dhd_dpc:2d5 terminated OK
CFG80211-ERROR) wl_event_handler : was terminated
wl_destroy_event_handler(): thread:wl_event_handler:2d3 terminated OK
------------[ cut here ]------------
Kernel BUG at 800d12b0 [verbose debug info unavailable]
Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
Modules linked in: bcmdhd(-) evbug
CPU: 0 PID: 755 Comm: rmmod Not tainted 3.14.28-7D_alpha #1
task: a8a31680 ti: a841a000 task.ti: a841a000
PC is at kfree+0x17c/0x180
LR is at wiphy_unregister+0x15c/0x1cc
pc : [<800d12b0>] lr : [<806b0cf8>] psr: 40070013
sp : a841be28 ip : 00000000 fp : a901396c
r10: 7f078dc0 r9 : a9240120 r8 : a9240380
r7 : a9240000 r6 : a9010000 r5 : ab73af20 r4 : a9240120
r3 : 00000000 r2 : ab75a000 r1 : 00000000 r0 : 7f079220
Flags: nZcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 10c53c7d Table: a863406a DAC: 00000015
Process rmmod (pid: 755, stack limit = 0xa841a238)
Stack: (0xa841be28 to 0xa841c000)
be20: 7f079220 a9240120 00000000 a9010000 a9240000 a9240380
be40: a9240120 7f078dc0 a901396c 806b0cf8 00000000 7f078dc0 a901396c 805962b4
be60: 7f07cea0 a8433800 a8ae3840 a9240380 a9010000 a9013000 a9240380 7f02b088
be80: 00000000 00000000 a9010000 a9013000 a9010000 7f07cea0 7f078dc0 7f00f00c
bea0: 00000001 a850f800 7f078dc0 a865b3c0 00000081 8000e5e4 a841a000 00000000
bec0: 00000000 7f05588c 7f078dc0 a850f800 00000000 7f056080 7f056044 a865b180
bee0: a865b340 7f048944 a8fe7800 a865b3c0 7f07acd4 7f04a37c 7f04a330 a8487408
bf00: a8487400 804baf10 a8487408 7f07acd4 a848743c 803476b4 7f07acd4 a8487408
bf20: 7f07acd4 80347dc4 7f07acd4 7f07ad38 00000800 803473b4 00000000 7f05f158
bf40: 7f05f12c 80083be8 00000000 00000000 7f07ad38 00000800 a841bf4c 646d6362
bf60: 00006468 00000000 8108f030 a8a31680 a8a31a30 00000000 00000000 8004605c
bf80: a89c4d80 a841a018 8000e5e4 a841bfb0 a841a000 00011330 00000000 7ecc5e1c
bfa0: 00000002 8000e460 00000000 7ecc5e1c 01b05d3c 00000800 76f26104 00002002
bfc0: 00000000 7ecc5e1c 00000002 00000081 7ecc5f0a 00000001 01b05d08 00000000
bfe0: 76eebeb0 7ecc5bfc 00016e3c 76eebebc 60080010 01b05d3c efdff749 faff7bf3
[<800d12b0>] (kfree) from [<806b0cf8>] (wiphy_unregister+0x15c/0x1cc)
[<806b0cf8>] (wiphy_unregister) from [<7f02b088>] (wl_free_wdev+0x2c/0xf8 [bcmdhd])
[<7f02b088>] (wl_free_wdev [bcmdhd]) from [<7f00f00c>] (dhd_detach+0x274/0x430 [bcmdhd])
[<7f00f00c>] (dhd_detach [bcmdhd]) from [<7f05588c>] (dhdsdio_release+0x40/0x1cc [bcmdhd])
[<7f05588c>] (dhdsdio_release [bcmdhd]) from [<7f056080>] (dhdsdio_disconnect+0x3c/0xa0 [bcmdhd])
[<7f056080>] (dhdsdio_disconnect [bcmdhd]) from [<7f048944>] (bcmsdh_remove+0x3c/0x60 [bcmdhd])
[<7f048944>] (bcmsdh_remove [bcmdhd]) from [<7f04a37c>] (bcmsdh_sdmmc_remove+0x4c/0x64 [bcmdhd])
[<7f04a37c>] (bcmsdh_sdmmc_remove [bcmdhd]) from [<804baf10>] (sdio_bus_remove+0x30/0xf8)
[<804baf10>] (sdio_bus_remove) from [<803476b4>] (__device_release_driver+0x70/0xcc)
[<803476b4>] (__device_release_driver) from [<80347dc4>] (driver_detach+0xac/0xb0)
[<80347dc4>] (driver_detach) from [<803473b4>] (bus_remove_driver+0x4c/0xa0)
[<803473b4>] (bus_remove_driver) from [<7f05f158>] (dhd_module_cleanup+0x2c/0x3c [bcmdhd])
[<7f05f158>] (dhd_module_cleanup [bcmdhd]) from [<80083be8>] (SyS_delete_module+0x11c/0x17c)
[<80083be8>] (SyS_delete_module) from [<8000e460>] (ret_fast_syscall+0x0/0x30)
Code: e1a01005 e1a02006 e8bd4ff8 eafffef1 (e7f001f2)
---[ end trace ca749705cd612037 ]---
Segmentation fault
Signed-off-by: Dong Aisheng <b29396@freescale.com>
|
|
1. Add dummy regulator in dts which is must required by bcmdhd driver
2. Workaround to add dummy sdio_reset_comm as suggested by Broadcom guy
because driver always failed in this function porting from Android kernel,
root cause unknown.
3. enable driver dts function, inband irq, built as module
4. comment out the hard code in wifi_plat_dev_drv_probe which has to parse
oob irq gpio properties and gpio regulators from device tree even the driver
does not use it.
5. warning fix
Signed-off-by: Dong Aisheng <b29396@freescale.com>
|
|
Add missing file delivered by Broadcom to make driver work on L3.14.y kernel.
Signed-off-by: Dong Aisheng <b29396@freescale.com>
|
|
Add bcmdhd driver into compilation
Signed-off-by: Dong Aisheng <b29396@freescale.com>
|
|
It's default driver delivered by Broadcom.
Signed-off-by: Dong Aisheng <b29396@freescale.com>
|
|
This reverts commit cc2500bb20a620e191cbb20c346660d260d1e7d7.
This QSPI ddr setting was changed on i.MX6UL and i.MX7D, refer to the
below commit
commit e168ff92f780b8ef74cf7e50ad5cb9d50b1b8007
Author: Peng Fan <Peng.Fan@freescale.com>
Date: Fri May 29 09:12:22 2015 +0800
imx: qspi fix ddr delay setting
For i.MX6UL and i.MX7D, ddr delay logic enable bit is changed from
i.MX6SX.
If want to enable qspi ddr mode, ddr delay logic should be enabled.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Signed-off-by: Han Xu <b45815@freescale.com>
|
|
In the on-the-fly cases to enable PRE, to make sure the pixel may be correctly
deciphered by IPU after the framebuffer configuration is done, we probably need
to use PRE pixel component mapping feature since the original framebuffer pixel
format is likely not the same as the one we use in the last run. However, in
the non on-the-fly cases to enable PRE, we should have PRE generate an
appropriate pixel format for IPU to consume which doesn't include PRE pxiel
component mapping feature.
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
|
|
The pxp scaling logic will cause issue when the s0
and out are both yuv formats. The issue has been
reported in another MM CR.
Signed-off-by: Fancy Fang <chen.fang@freescale.com>
|
|
Add pxp_chan spin lock calling in the pxp irq handler to
avoid the simultaneous accesses of the pxp_chan lists data.
Signed-off-by: Fancy Fang <chen.fang@freescale.com>
|
|
Enable mipi csi driver.
Driver implemented in subdev architecture.
support YUYV format.
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
Re-write ov5640 mipi driver to subdev architecture.
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
-Add mipi input support. DTS property csi-mux-mipi
use to enable csi working in mipi mode.
-Set max video memory size 32M
-Add rx fifo overflow interrupter handle
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
If anyone calls v4l2_async_notifier_unregister() recursively from
device_release_driver(), code will deadlock at list_lock, so unlock
list_lock when device_release_driver() called.
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
Rename driver from ov5640 to ov564x.
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
Add usb otg ADP support for imx usb driver, and enable it on i.MX7D.
Signed-off-by: Li Jun <jun.li@freescale.com>
|
|
ADP(Attach Detection Protocol) is part of USB OTG 2.0 release, which can be
used to find device attachment after session ends(vbus is off). This patch adds
OTG ADP feature for chipdea usb driver.
Signed-off-by: Li Jun <jun.li@freescale.com>
|