Set all windows to activated video port at init,
try to avoid change port_mux when display on.
Change-Id: I29b7b0b0a610580ac6e07cc1d8ef35b51d86b8b0
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Read port_mux register to get the window and vp map.
Change-Id: If18c55754592df2e9bb8e3fe93e66624cd2cedb9
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Only config done the current vp at the first 3/4 frame time
if there is another vp waiting for config done.
Change-Id: I0ee33182cf11cd6d502e0bf02684c8b09f3df26b
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
The config done bits of VP0, VP1, VP2 on RK3568 stands on
the first three bits on REG_CFG_DONE register without mask bit.
If two or three config done events happens one after
another in a very shot time, the flowing config done
write may override the previous config done bit before
it take effect:
1: config done 0x8001 for VP0
2: config done 0x8002 for VP1
0x8002 may override 0x8001 before it take effect.
So we do a read | write here.
Change-Id: I35ad380b1c2751542697c9c7cdacea12dd08d924
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
The page offset is need point to empty page. And also need to deal
case with ECC error.
Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
Change-Id: I459345f18823b63cc5084be63c9a64c36838a151
avoid to map vaddr when vb2_plane_vaddr at interrupt
Change-Id: Id391a405973a9838fbc97065e4e27f6b88c07b8c
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
This patch register boot mode into kernel pre restart call chain
to support 'reset [cmd]'
e.g.
/# fiq
Welcome to fiq debugger mode
Enter ? to get command help
debug> help
FIQ Debugger commands:
reset [<c>] Hard reset with command <c>
debug>
debug> reset loader
DDR Version V1.04 20201030
DDR4, 328MHz
BW=32 Col=10 Bk=4 BG=2 CS0 Row=16 CS=1 Die BW=16 Size=2048MB
...
boot mode: loader
...
RKUSB: LUN 0, dev 0, hwpart 0, sector 0x0, count 0x1d1f000
Change-Id: Ic1792bdd0262c77a09fd780c7ac3e6d912b09008
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
This patch renames kernel_i2c_restart to kernel_pre_restart
for general purpose.
This call chain is expected to be executed before kernel_restart
to do something before reset system. such as, i2c restart,
boot mode config.
Change-Id: I67c80c297ca5de83deb4736b5dab0f2c9c8543a6
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
The Qualcomm minidump feature needs irq_stack_ptr for debugging with
ramdumps. Export it.
Bug: 172988823
Bug: 176525217
Change-Id: I3e3de735f017a17b912ae10e1153ae5fd27636ef
Signed-off-by: Lucas Wei <lucaswei@google.com>
Signed-off-by: Will McVicker <willmcvicker@google.com>
Add a locked version of the API to use from clients
to ensure accessing component list safely.
Change-Id: I73c7f2ed03b7e76f6816b62ba0974bc05bdbb4b4
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
(cherry picked from commit 99b4176aaa40d18f46ae637a41578842e6c85abe)
Signed-off-by: Will McVicker <willmcvicker@google.com>
This needs list_for_each_safe, without which we have a use-after-free
bug when updating the next pointer.
Fixes: 83bf345abc ("ANDROID: dm: dm-user: New target that proxies BIOs to userspace")
Suggested-by: Akilesh Kailash <akailash@google.com>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
Change-Id: I510ac12e2206a836ae6659bd7d96c0542960b26a
(cherry picked from commit 35f9e6bee1)
Changes in 4.19.169
ASoC: dapm: remove widget from dirty list on free
x86/hyperv: check cpu mask after interrupt has been disabled
tracing/kprobes: Do the notrace functions check without kprobes on ftrace
MIPS: boot: Fix unaligned access with CONFIG_MIPS_RAW_APPENDED_DTB
MIPS: relocatable: fix possible boot hangup with KASLR enabled
ACPI: scan: Harden acpi_device_add() against device ID overflows
mm/hugetlb: fix potential missing huge page size info
dm snapshot: flush merged data before committing metadata
dm integrity: fix the maximum number of arguments
r8152: Add Lenovo Powered USB-C Travel Hub
ext4: fix bug for rename with RENAME_WHITEOUT
ARC: build: remove non-existing bootpImage from KBUILD_IMAGE
ARC: build: add uImage.lzma to the top-level target
ARC: build: add boot_targets to PHONY
btrfs: fix transaction leak and crash after RO remount caused by qgroup rescan
ethernet: ucc_geth: fix definition and size of ucc_geth_tx_global_pram
bfq: Fix computation of shallow depth
arch/arc: add copy_user_page() to <asm/page.h> to fix build error on ARC
misdn: dsp: select CONFIG_BITREVERSE
net: ethernet: fs_enet: Add missing MODULE_LICENSE
ACPI: scan: add stub acpi_create_platform_device() for !CONFIG_ACPI
drm/msm: Call msm_init_vram before binding the gpu
ARM: picoxcell: fix missing interrupt-parent properties
ima: Remove __init annotation from ima_pcrread()
dump_common_audit_data(): fix racy accesses to ->d_name
ASoC: meson: axg-tdm-interface: fix loopback
ASoC: Intel: fix error code cnl_set_dsp_D0()
NFS4: Fix use-after-free in trace_event_raw_event_nfs4_set_lock
pNFS: Mark layout for return if return-on-close was not sent
NFS/pNFS: Fix a leak of the layout 'plh_outstanding' counter
NFS: nfs_igrab_and_active must first reference the superblock
ext4: fix superblock checksum failure when setting password salt
RDMA/usnic: Fix memleak in find_free_vf_and_create_qp_grp
RDMA/mlx5: Fix wrong free of blue flame register on error
mm, slub: consider rest of partial list if acquire_slab() fails
net: sunrpc: interpret the return value of kstrtou32 correctly
dm: eliminate potential source of excessive kernel log noise
ALSA: firewire-tascam: Fix integer overflow in midi_port_work()
ALSA: fireface: Fix integer overflow in transmit_midi_msg()
netfilter: conntrack: fix reading nf_conntrack_buckets
netfilter: nf_nat: Fix memleak in nf_nat_init
kbuild: enforce -Werror=return-type
Linux 4.19.169
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I74309249e2b6a77421acd7f8d19f60cc48c328db
commit 172aad81a8 upstream.
Catch errors which at least gcc tolerates by default:
warning: 'return' with no value, in function returning non-void [-Wreturn-type]
Signed-off-by: Olaf Hering <olaf@aepfle.de>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 869f4fdaf4 upstream.
When register_pernet_subsys() fails, nf_nat_bysource
should be freed just like when nf_ct_extend_register()
fails.
Fixes: 1cd472bf03 ("netfilter: nf_nat: add nat hook register functions to nf_nat")
Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Acked-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit f6351c3f1c upstream.
The old way of changing the conntrack hashsize runtime was through changing
the module param via file /sys/module/nf_conntrack/parameters/hashsize. This
was extended to sysctl change in commit 3183ab8997 ("netfilter: conntrack:
allow increasing bucket size via sysctl too").
The commit introduced second "user" variable nf_conntrack_htable_size_user
which shadow actual variable nf_conntrack_htable_size. When hashsize is
changed via module param this "user" variable isn't updated. This results in
sysctl net/netfilter/nf_conntrack_buckets shows the wrong value when users
update via the old way.
This patch fix the issue by always updating "user" variable when reading the
proc file. This will take care of changes to the actual variable without
sysctl need to be aware.
Fixes: 3183ab8997 ("netfilter: conntrack: allow increasing bucket size via sysctl too")
Reported-by: Yoel Caspersen <yoel@kviknet.dk>
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Acked-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit e7c22eeaff upstream.
As snd_ff.rx_bytes[] is unsigned int, and NSEC_PER_SEC is 1000000000L,
the second multiplication in
ff->rx_bytes[port] * 8 * NSEC_PER_SEC / 31250
always overflows on 32-bit platforms, truncating the result. Fix this
by precalculating "NSEC_PER_SEC / 31250", which is an integer constant.
Note that this assumes ff->rx_bytes[port] <= 16777.
Fixes: 1917429578 ("ALSA: fireface: add transaction support")
Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20210111130251.361335-2-geert+renesas@glider.be
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 9f65df9c58 upstream.
As snd_fw_async_midi_port.consume_bytes is unsigned int, and
NSEC_PER_SEC is 1000000000L, the second multiplication in
port->consume_bytes * 8 * NSEC_PER_SEC / 31250
always overflows on 32-bit platforms, truncating the result. Fix this
by precalculating "NSEC_PER_SEC / 31250", which is an integer constant.
Note that this assumes port->consume_bytes <= 16777.
Fixes: 531f471834 ("ALSA: firewire-lib/firewire-tascam: localize async midi port")
Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20210111130251.361335-3-geert+renesas@glider.be
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 0378c625af upstream.
There wasn't ever a real need to log an error in the kernel log for
ioctls issued with insufficient permissions. Simply return an error
and if an admin/user is sufficiently motivated they can enable DM's
dynamic debugging to see an explanation for why the ioctls were
disallowed.
Reported-by: Nir Soffer <nsoffer@redhat.com>
Fixes: e980f62353 ("dm: don't allow ioctls to targets that don't map to whole devices")
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 86b53fbf08 upstream.
A return value of 0 means success. This is documented in lib/kstrtox.c.
This was found by trying to mount an NFS share from a link-local IPv6
address with the interface specified by its index:
mount("[fe80::1%1]:/srv/nfs", "/mnt", "nfs", 0, "nolock,addr=fe80::1%1")
Before this commit this failed with EINVAL and also caused the following
message in dmesg:
[...] NFS: bad IP address specified: addr=fe80::1%1
The syscall using the same address based on the interface name instead
of its index succeeds.
Credits for this patch go to my colleague Christian Speich, who traced
the origin of this bug to this line of code.
Signed-off-by: Johannes Nixdorf <j.nixdorf@avm.de>
Fixes: 00cfaa943e ("replace strict_strto calls")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 8ff60eb052 upstream.
acquire_slab() fails if there is contention on the freelist of the page
(probably because some other CPU is concurrently freeing an object from
the page). In that case, it might make sense to look for a different page
(since there might be more remote frees to the page from other CPUs, and
we don't want contention on struct page).
However, the current code accidentally stops looking at the partial list
completely in that case. Especially on kernels without CONFIG_NUMA set,
this means that get_partial() fails and new_slab_objects() falls back to
new_slab(), allocating new pages. This could lead to an unnecessary
increase in memory fragmentation.
Link: https://lkml.kernel.org/r/20201228130853.1871516-1-jannh@google.com
Fixes: 7ced371971 ("slub: Acquire_slab() avoid loop")
Signed-off-by: Jann Horn <jannh@google.com>
Acked-by: David Rientjes <rientjes@google.com>
Acked-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Christoph Lameter <cl@linux.com>
Cc: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 896567ee7f upstream.
Before referencing the inode, we must ensure that the superblock can be
referenced. Otherwise, we can end up with iput() calling superblock
operations that are no longer valid or accessible.
Fixes: ea7c38fef0 ("NFSv4: Ensure we reference the inode for return-on-close in delegreturn")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit cb2856c597 upstream.
If we exit _lgopen_prepare_attached() without setting a layout, we will
currently leak the plh_outstanding counter.
Fixes: 411ae722d1 ("pNFS: Wait for stale layoutget calls to complete in pnfs_update_layout()")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 67bbceedc9 upstream.
If the layout return-on-close failed because the layoutreturn was never
sent, then we should mark the layout for return again.
Fixes: 9c47b18cf7 ("pNFS: Ensure we do clear the return-on-close layout stateid on fatal errors")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 3d1a90ab0e upstream.
It is only safe to call the tracepoint before rpc_put_task() because
'data' is freed inside nfs4_lock_release (rpc_release).
Fixes: 48c9579a1a ("Adding stateid information to tracepoints")
Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>