Use for_each_available_child_of_node() for iterating over each
available child instead of iterating over each child and then
checking their status.
Change-Id: I5b426116bdef2101d447c553baa5c6c21b016f6e
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
The power_allocator thermal governor should get utilization of cooling
device to calculate dynamic power, but the powersave, userspace and performance
devfreq governor don't updade stats, so the utilization is inaccurate.
This patch adds support to update status when get requested power, so that
power_allocator can also work properly when use powersave, userspace and
performance devfreq governor.
Change-Id: Ic98fabf46f693a60b0f07094c59e75e4d141e42c
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
stmmac_init_tx_coalesce will reinit timer when timer is running.
Change-Id: I9db89510858f773a2681f0cd5da22526058a295f
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Register r2 which is argument of switch_mm is zeroing on
proc-v7-3level.S. On kernel enable LPAE will panic.
Fix it now by backport upstream cpu_v7_bpiall_switch_mm.
Change-Id: I418293ae2cc1c199dd9de94d2c3a101b813598ab
Fixes: d3e24532c5 ("FROMLIST: arm: Add BTB invalidation on switch_mm for Cortex-A9, A12 and A17")
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
When csi tx data type is MIPI_CSI_FMT_YUV422_8BIT, the csi tx
host is still work in raw8 format.
Change-Id: Icbcf457a462c12cf985fd262c185dddb92216412
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
It is better to make the voltage greater than 810mV and it will be more
stable.
Change-Id: I4f9294a0629a8c3b83e930f0dec20d939130070d
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
RK1608 requires 24M mclk to power on. Some boards(like our
rk1608 board) use external clock source, some are not.
This patch adds 24M mclk reference in rk1608 driver, and
enables it when power on, disables when power off.
Change-Id: I97dc5eeb7c921b53aa2b1edc70926b43a6cc18cd
Signed-off-by: Shunqian Zheng <zhengsq@rock-chips.com>
power on->isp start->restart...->power off
isp reset will set clk config to default value, if
isp restart clk isn't to reconfigure.
Change-Id: I2b5ef9883c8ca5e9e142270d935f300395b0ea74
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
We found that the Type-C OTG cable was plugged in while the system
was suspending, it may fail to detect the Type-C OTG cable after
resume. That's because the fusb302 registers will fail to operate
during suspend, this will cause the fusb302 CC logic to be abnormal.
So we should not operate queue_work function while the suspend.
Change-Id: Idc675c25de5452ec39513eb484cfaa75534790cd
Signed-off-by: Bin Yang <yangbin@rock-chips.com>
This patch adds a new uvc attribute "streaming_intf" to
show the number of streaming interface. The uvc application
program may needs to query the information.
Change-Id: I4554e204ab4457f67f35d2e7bfec2902196f79d3
Signed-off-by: William Wu <william.wu@rock-chips.com>
According to the spec "USB Interface Association Descriptor Device
Class Code and Use Model"[1], the Interface Association Descriptor
(IAD) is needed for composite device which has multiple interfaces
controlled independently of each other. Without the IAD, the device
may not work as expected because the USB system software will not
properly bind the interfaces with drivers (e.g UAC1 && UVC composite
device not recognized in Win10).
[1] https://www.usb.org/sites/default/files/iadclasscode_r10.pdf
Change-Id: I446c771fe182bd556a054d9ae0ada1374442d1d0
Signed-off-by: William Wu <william.wu@rock-chips.com>
In hci_req_sync_complete the event skb is referenced in hdev->req_skb.
It is used (via hci_req_run_skb) from either __hci_cmd_sync_ev which will
pass the skb to the caller, or __hci_req_sync which leaks.
unreferenced object 0xffff880005339a00 (size 256):
comm "kworker/u3:1", pid 1011, jiffies 4294671976 (age 107.389s)
backtrace:
[<ffffffff818d89d9>] kmemleak_alloc+0x49/0xa0
[<ffffffff8116bba8>] kmem_cache_alloc+0x128/0x180
[<ffffffff8167c1df>] skb_clone+0x4f/0xa0
[<ffffffff817aa351>] hci_event_packet+0xc1/0x3290
[<ffffffff8179a57b>] hci_rx_work+0x18b/0x360
[<ffffffff810692ea>] process_one_work+0x14a/0x440
[<ffffffff81069623>] worker_thread+0x43/0x4d0
[<ffffffff8106ead4>] kthread+0xc4/0xe0
[<ffffffff818dd38f>] ret_from_fork+0x1f/0x40
[<ffffffffffffffff>] 0xffffffffffffffff
Signed-off-by: Frederic Dalleau <frederic.dalleau@collabora.co.uk>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Change-Id: Ic74b37024f9a291a94770461eb20a00701f21bf5
Signed-off-by: Yao Xiao <xiaoyao@rock-chips.com>
(cherry picked from commit 9afee94939)
This patch adds two v4l2 events, start/stop streaming, for
userspace to subscribe. With these events, userspace could
init/de-init 3A tuning in proper time.
Only if isp sub-device input format is Raw Bayer and output
format is YUV, the 3A tuning is required.
Change-Id: I027d603fcf6d6901ebcd3762d0889ef8f7603601
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
Signed-off-by: Shunqian Zheng <zhengsq@rock-chips.com>
the previous practice will set the reg of i2s_select to select spdif when
audio shutdown and playing spdif at this point will cause the audio to
come out of hdmi as well
Change-Id: I8f9f53ea71ce83b33e32b575bacd2249da3b7d8f
Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
after fix hardware error, we can use i2c bus to set tcs452x voltage,
so drop gpio-i2c setting, and use i2c bus.
Change-Id: I9fbec370c815a8451c00e782c1e186849827ea9e
Signed-off-by: Lin Huang <hl@rock-chips.com>
A comedy of errors caused a regression.
Fixes a regression in commit 272fcd1ca7
("ANDROID: overlayfs: override_creds=off option bypass creator_cred")
in combination with
commit aab9adb4b8
("Merge 4.4.179 into android-4.4") that took in an incomplete
backport of commit 54a07fff4b
("ovl: fix uid/gid when creating over whiteout") (or upstream
commit d0e13f5bbe
("ovl: fix uid/gid when creating over whiteout"))
which did not recognize that ovl_override_creds can return a NULL
pointer.
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
(cherry picked from https://lore.kernel.org/patchwork/patch/1009299)
Bug: 109821005
Bug: 112955896
Bug: 127298877
Bug: 137541192
Change-Id: Ia6b71a653d1bf728db610e384864bd82d335b923
if rndis recieved an error command, will cause req is an illegal pointer,
which will cause kernel panic.
Change-Id: I60224f78783c1f1ce002b09866aab9fa1dc77526
Signed-off-by: Wenping Zhang <wenping.zhang@rock-chips.com>
In eth_start_xmit, the socket buffer may be NULL. So, add NULL pointer
check at .wrap API.
Change-Id: I635b804120f8b91bd84cfea268dc06af07d867ba
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Wenping Zhang <wenping.zhang@rock-chips.com>
(cherry picked from commit 80d1642d76)
The Android will callback the fb_bank to notice for the early suspend
and late resume. In order to keep using the pm sleep and fb callback way
with this patch.
Change-Id: Ia32ccbede1c6f2b579ad4d21371f2c1774fe4440
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Use the new dmaengine_synchronize() function to make sure that all complete
callbacks have finished running before the runtime data, which is accessed
in the completed callback, is freed.
This fixes a long standing use-after-free race condition that has been
observed on some systems.
Change-Id: Id99a1acaa2db537fcee6d10ecc94c831bb0a6faa
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
(cherry picked from commit bc0e734516)
for get last log from /sys/fs/pstore/console-ramoops
Change-Id: I17ec56687c3f2f95d5780166349bd5cf403e8f91
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
Enable VB2_USERPTR mode. vb2_dma_contig takes care
the rest of details except the vb2_plane_vaddr().
Change-Id: Id23e0c9ef7b3332fcb3be57c71c4178e181d7141
Signed-off-by: Shunqian Zheng <zhengsq@rock-chips.com>
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
The mipi interrupt is auto on in resume operation,
so we may receive interrupt before isp clock resume,
and the kernel will be dead when access isp register in mipi isr function.
Change-Id: I73779111cb103457b0a4f125d8e4c9420a2d8553
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
Waitting 100ms for time out is too short, which may cause
system crash when hdmi hotplug.
Change-Id: I46c8520e9a8cfe8ac2c65abb555d86bb0ecaa3ee
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Now we set the load of fixed rate scene to 100%, it isn't accurate,
it is better to update stats if auto freq is enabled.
Change-Id: I7de2c5f0b218cbeb32340bf3287cee0565773785
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
FM25S01, HYF1GQ4UPACAE, EM73E044SNA-G, GD5F2GQ5UEYIG
Change-Id: Id6f50b06a27631cf14e1df6deb39cf0600866bec
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
kref_init initializes the reference count to 1, not 0. This additional
reference is never released since the conversion to reference counters.
As a result, uvc_delete is not called anymore when UVC cameras are
disconnected.
Fix this by adding an additional kref_put in uvc_disconnect and in the
probe error path. This also allows to remove the temporary additional
reference in uvc_unregister_video.
Change-Id: Ief203c8e090b57174ab76e9b0a8f88b7afd17cbb
Fixes: 9d15cd958c ("media: uvcvideo: Convert from using an atomic variable to a reference count")
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: William Wu <william.wu@rock-chips.com>
(cherry picked from commit f9ffcb0a21)
Changes in 4.4.185
fs/binfmt_flat.c: make load_flat_shared_library() work
mm/page_idle.c: fix oops because end_pfn is larger than max_pfn
scsi: vmw_pscsi: Fix use-after-free in pvscsi_queue_lck()
tracing: Silence GCC 9 array bounds warning
gcc-9: silence 'address-of-packed-member' warning
usb: chipidea: udc: workaround for endpoint conflict issue
Input: uinput - add compat ioctl number translation for UI_*_FF_UPLOAD
apparmor: enforce nullbyte at end of tag string
parport: Fix mem leak in parport_register_dev_model
parisc: Fix compiler warnings in float emulation code
IB/hfi1: Insure freeze_work work_struct is canceled on shutdown
MIPS: uprobes: remove set but not used variable 'epc'
net: hns: Fix loopback test failed at copper ports
sparc: perf: fix updated event period in response to PERF_EVENT_IOC_PERIOD
scripts/checkstack.pl: Fix arm64 wrong or unknown architecture
scsi: ufs: Check that space was properly alloced in copy_query_response
s390/qeth: fix VLAN attribute in bridge_hostnotify udev event
hwmon: (pmbus/core) Treat parameters as paged if on multiple pages
Btrfs: fix race between readahead and device replace/removal
btrfs: start readahead also in seed devices
can: flexcan: fix timeout when set small bitrate
can: purge socket error queue on sock destruct
ARM: imx: cpuidle-imx6sx: Restrict the SW2ISO increase to i.MX6SX
Bluetooth: Align minimum encryption key size for LE and BR/EDR connections
Bluetooth: Fix regression with minimum encryption key size alignment
SMB3: retry on STATUS_INSUFFICIENT_RESOURCES instead of failing write
cfg80211: fix memory leak of wiphy device name
mac80211: drop robust management frames from unknown TA
perf ui helpline: Use strlcpy() as a shorter form of strncpy() + explicit set nul
perf help: Remove needless use of strncpy()
9p/rdma: do not disconnect on down_interruptible EAGAIN
9p: acl: fix uninitialized iattr access
9p/rdma: remove useless check in cm_event_handler
9p: p9dirent_read: check network-provided name length
net/9p: include trans_common.h to fix missing prototype warning.
KVM: X86: Fix scan ioapic use-before-initialization
ovl: modify ovl_permission() to do checks on two inodes
x86/speculation: Allow guests to use SSBD even if host does not
cpu/speculation: Warn on unsupported mitigations= parameter
sctp: change to hold sk after auth shkey is created successfully
tipc: change to use register_pernet_device
tipc: check msg->req data len in tipc_nl_compat_bearer_disable
team: Always enable vlan tx offload
ipv4: Use return value of inet_iif() for __raw_v4_lookup in the while loop
bonding: Always enable vlan tx offload
net: check before dereferencing netdev_ops during busy poll
Bluetooth: Fix faulty expression for minimum encryption key size check
um: Compile with modern headers
ASoC : cs4265 : readable register too low
spi: bitbang: Fix NULL pointer dereference in spi_unregister_master
ASoC: max98090: remove 24-bit format support if RJ is 0
usb: gadget: fusb300_udc: Fix memory leak of fusb300->ep[i]
usb: gadget: udc: lpc32xx: allocate descriptor with GFP_ATOMIC
scsi: hpsa: correct ioaccel2 chaining
ARC: Assume multiplier is always present
ARC: fix build warning in elf.h
MIPS: math-emu: do not use bools for arithmetic
mfd: omap-usb-tll: Fix register offsets
swiotlb: Make linux/swiotlb.h standalone includible
bug.h: work around GCC PR82365 in BUG()
MIPS: Workaround GCC __builtin_unreachable reordering bug
ptrace: Fix ->ptracer_cred handling for PTRACE_TRACEME
crypto: user - prevent operating on larval algorithms
ALSA: seq: fix incorrect order of dest_client/dest_ports arguments
ALSA: firewire-lib/fireworks: fix miss detection of received MIDI messages
ALSA: usb-audio: fix sign unintended sign extension on left shifts
lib/mpi: Fix karactx leak in mpi_powm
btrfs: Ensure replaced device doesn't have pending chunk allocation
tty: rocket: fix incorrect forward declaration of 'rp_init()'
ARC: handle gcc generated __builtin_trap for older compiler
arm64, vdso: Define vdso_{start,end} as array
KVM: x86: degrade WARN to pr_warn_ratelimited
dmaengine: imx-sdma: remove BD_INTR for channel0
Linux 4.4.185
Change-Id: I222f9f81b9d7fba3cd3ac028b473b1ea2fae7cf0
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>