commit c32cc30c05 upstream.
cpu_to_le32/le32_to_cpu is defined in include/linux/byteorder/generic.h,
which is not exported to user-space.
UAPI headers must use the ones prefixed with double-underscore.
Detected by compile-testing exported headers:
include/linux/nilfs2_ondisk.h: In function `nilfs_checkpoint_set_snapshot':
include/linux/nilfs2_ondisk.h:536:17: error: implicit declaration of function `cpu_to_le32' [-Werror=implicit-function-declaration]
cp->cp_flags = cpu_to_le32(le32_to_cpu(cp->cp_flags) | \
^
include/linux/nilfs2_ondisk.h:552:1: note: in expansion of macro `NILFS_CHECKPOINT_FNS'
NILFS_CHECKPOINT_FNS(SNAPSHOT, snapshot)
^~~~~~~~~~~~~~~~~~~~
include/linux/nilfs2_ondisk.h:536:29: error: implicit declaration of function `le32_to_cpu' [-Werror=implicit-function-declaration]
cp->cp_flags = cpu_to_le32(le32_to_cpu(cp->cp_flags) | \
^
include/linux/nilfs2_ondisk.h:552:1: note: in expansion of macro `NILFS_CHECKPOINT_FNS'
NILFS_CHECKPOINT_FNS(SNAPSHOT, snapshot)
^~~~~~~~~~~~~~~~~~~~
include/linux/nilfs2_ondisk.h: In function `nilfs_segment_usage_set_clean':
include/linux/nilfs2_ondisk.h:622:19: error: implicit declaration of function `cpu_to_le64' [-Werror=implicit-function-declaration]
su->su_lastmod = cpu_to_le64(0);
^~~~~~~~~~~
Link: http://lkml.kernel.org/r/20190605053006.14332-1-yamada.masahiro@socionext.com
Fixes: e63e88bc53 ("nilfs2: move ioctl interface and disk layout to uapi separately")
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Greg KH <gregkh@linuxfoundation.org>
Cc: Joe Perches <joe@perches.com>
Cc: <stable@vger.kernel.org> [4.9+]
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 f070ef2ac6 upstream.
Jonathan Looney reported that a malicious peer can force a sender
to fragment its retransmit queue into tiny skbs, inflating memory
usage and/or overflow 32bit counters.
TCP allows an application to queue up to sk_sndbuf bytes,
so we need to give some allowance for non malicious splitting
of retransmit queue.
A new SNMP counter is added to monitor how many times TCP
did not allow to split an skb if the allowance was exceeded.
Note that this counter might increase in the case applications
use SO_SNDBUF socket option to lower sk_sndbuf.
CVE-2019-11478 : tcp_fragment, prevent fragmenting a packet when the
socket is already using more than half the allowed space
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Jonathan Looney <jtl@netflix.com>
Acked-by: Neal Cardwell <ncardwell@google.com>
Acked-by: Yuchung Cheng <ycheng@google.com>
Reviewed-by: Tyler Hicks <tyhicks@canonical.com>
Cc: Bruce Curtis <brucec@netflix.com>
Cc: Jonathan Lemon <jonathan.lemon@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit bbd84f3365 upstream.
Starting from commit 9c225f2655 ("vfs: atomic f_pos accesses as per
POSIX") files opened even via nonseekable_open gate read and write via lock
and do not allow them to be run simultaneously. This can create read vs
write deadlock if a filesystem is trying to implement a socket-like file
which is intended to be simultaneously used for both read and write from
filesystem client. See commit 10dce8af34 ("fs: stream_open - opener for
stream-like files so that read and write can run simultaneously without
deadlock") for details and e.g. commit 581d21a2d0 ("xenbus: fix deadlock
on writes to /proc/xen/xenbus") for a similar deadlock example on
/proc/xen/xenbus.
To avoid such deadlock it was tempting to adjust fuse_finish_open to use
stream_open instead of nonseekable_open on just FOPEN_NONSEEKABLE flags,
but grepping through Debian codesearch shows users of FOPEN_NONSEEKABLE,
and in particular GVFS which actually uses offset in its read and write
handlers
https://codesearch.debian.net/search?q=-%3Enonseekable+%3Dhttps://gitlab.gnome.org/GNOME/gvfs/blob/1.40.0-6-gcbc54396/client/gvfsfusedaemon.c#L1080https://gitlab.gnome.org/GNOME/gvfs/blob/1.40.0-6-gcbc54396/client/gvfsfusedaemon.c#L1247-1346https://gitlab.gnome.org/GNOME/gvfs/blob/1.40.0-6-gcbc54396/client/gvfsfusedaemon.c#L1399-1481
so if we would do such a change it will break a real user.
Add another flag (FOPEN_STREAM) for filesystem servers to indicate that the
opened handler is having stream-like semantics; does not use file position
and thus the kernel is free to issue simultaneous read and write request on
opened file handle.
This patch together with stream_open() should be added to stable kernels
starting from v3.14+. This will allow to patch OSSPD and other FUSE
filesystems that provide stream-like files to return FOPEN_STREAM |
FOPEN_NONSEEKABLE in open handler and this way avoid the deadlock on all
kernel versions. This should work because fuse_finish_open ignores unknown
open flags returned from a filesystem and so passing FOPEN_STREAM to a
kernel that is not aware of this flag cannot hurt. In turn the kernel that
is not aware of FOPEN_STREAM will be < v3.14 where just FOPEN_NONSEEKABLE
is sufficient to implement streams without read vs write deadlock.
Cc: stable@vger.kernel.org # v3.14+
Signed-off-by: Kirill Smelkov <kirr@nexedi.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
TLV_SET is called with a data pointer and a len parameter that tells us
how many bytes are pointed to by data. When invoking memcpy() we need
to careful to only copy len bytes.
Previously we would copy TLV_LENGTH(len) bytes which would copy an extra
4 bytes past the end of the data pointer which newer GCC versions
complain about.
In file included from test.c:17:
In function 'TLV_SET',
inlined from 'test' at test.c:186:5:
/usr/include/linux/tipc_config.h:317:3:
warning: 'memcpy' forming offset [33, 36] is out of the bounds [0, 32]
of object 'bearer_name' with type 'char[32]' [-Warray-bounds]
memcpy(TLV_DATA(tlv_ptr), data, tlv_len);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
test.c: In function 'test':
test.c::161:10: note:
'bearer_name' declared here
char bearer_name[TIPC_MAX_BEARER_NAME];
^~~~~~~~~~~
We still want to ensure any padding bytes at the end are initialised, do
this with a explicit memset() rather than copy bytes past the end of
data. Apply the same logic to TCM_SET.
Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
PD#SWPL-3025
Problem:
Different frequency channel switch, the channel first pops up "no signal" and then displays the channel
Solution:
do dtmb sw reset before re-tune
Verify:
verified by t962x2_x301
Change-Id: Ibc14de37f2f3f6b07af4d125e9fb58dd308e61c4
Signed-off-by: Zhiwei Yuan <zhiwei.yuan@amlogic.com>
PD#SWPL-3009
Problem:
32bit frontend app can't call ioctl in 64bit-kernel
Solution:
Add 32bit define in header and handle in dvb_frontend in 64bit-kernel
Verify:
Verify at android_p at R311
Change-Id: I63178803cfb1cf7d670e3c2b55f104e97f5afa63
Signed-off-by: Chuangcheng Peng <chuangcheng.peng@amlogic.com>
commit da360299b6 upstream.
This fixes a compile problem of some user space applications by not
including linux/libc-compat.h in uapi/if_ether.h.
linux/libc-compat.h checks which "features" the header files, included
from the libc, provide to make the Linux kernel uapi header files only
provide no conflicting structures and enums. If a user application mixes
kernel headers and libc headers it could happen that linux/libc-compat.h
gets included too early where not all other libc headers are included
yet. Then the linux/libc-compat.h would not prevent all the
redefinitions and we run into compile problems.
This patch removes the include of linux/libc-compat.h from
uapi/if_ether.h to fix the recently introduced case, but not all as this
is more or less impossible.
It is no problem to do the check directly in the if_ether.h file and not
in libc-compat.h as this does not need any fancy glibc header detection
as glibc never provided struct ethhdr and should define
__UAPI_DEF_ETHHDR by them self when they will provide this.
The following test program did not compile correctly any more:
#include <linux/if_ether.h>
#include <netinet/in.h>
#include <linux/in.h>
int main(void)
{
return 0;
}
Fixes: 6926e041a8 ("uapi/if_ether.h: prevent redefinition of struct ethhdr")
Reported-by: Guillaume Nault <g.nault@alphalink.fr>
Cc: <stable@vger.kernel.org> # 4.15
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 6926e041a8 upstream.
Musl provides its own ethhdr struct definition. Add a guard to prevent
its definition of the appropriate musl header has already been included.
glibc does not implement this header, but when glibc will implement this
they can just define __UAPI_DEF_ETHHDR 0 to make it work with the
kernel.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
ODROID-COMMON:Merge AMLogic BSP 181208
audioinfo: fix kasan compile problem [1/1]
PD#173553
Problem:
check stack out of bounds
Solution:
change variable's definition
Verify:
verifyed by r311
Change-Id: Id6efc3ac56b297b6812e2af786732e65867a07da
Signed-off-by: jiejing.wang <jiejing.wang@amlogic.com>
buildroot: Enable fb memory allocation in g12b_skt dts [1/1]
PD#SWPL-802
Problem:
Kernel crash when run GPU slt program
Solution:
Enable meson fb memory allocation in g12b_skt dts
Verify:
w400
Change-Id: I3074c2053cda06cf4ae237d24bad2c89d789f90d
Signed-off-by: Blance Tang <guofeng.tang@amlogic.com>
amvecm: hdr: add hdr10 plus support [1/2]
PD#SWPL-869
Problem:
new feature, add hdr10 plus support
Solution:
1. add hdr10 plus metadat parser
2. add hdr10 plus code support
3. add hdr10 plus bypass mode
Verify:
verify on U200
Change-Id: I957954ce148021882e17f2913dd2552e64f1298c
Signed-off-by: MingLiang Dong <mingliang.dong@amlogic.com>
irqchip: add a new gpio IRQ driver to support double-edge detection [1/1]
PD#SWPL-922
Problem:
the existing gpio IRQ driver(porting from the upstream) does not
double-edge detection
Solution:
add a new gpio IRQ driver to support the double-edge detection,
the new driver is with different software structure but compatible
with functions of the existing driver
Verify:
test pass on s400
Change-Id: Id69dd0b4459eef20a6755947c7d95a24d7b17fa9
Signed-off-by: Xingyu Chen <xingyu.chen@amlogic.com>
pinctrl: fix some mistakes [1/1]
PD#172438
Problem:
1. return a negative when parsing the dts property
"output-high/output-low"
2. the prefix "bt565" don't meet corepinmux document
Solution:
1. add break statement in case PIN_CONFIG_OUTPUT to avoid
returning a negative value.
2. rename the "bt565" to "bt656" according to corepinmux document
Verify:
test pass on U200
Change-Id: Ieeb98367e2269007a6774592abac86ef05ee8f64
Signed-off-by: Xingyu Chen <xingyu.chen@amlogic.com>
amvecm: fix flicker when change between Launcher and Signal Source [1/1]
PD#SWPL-848
Problem:
ioctrl set the same gamma value again
Solution:
if the gamma value is same as the ioctrl userspace value, do not set again
Verify:
txlx
Change-Id: I6f17f5ff234513c5a886004aedea81b9945c5b98
Signed-off-by: Bencheng Jing <bencheng.jing@amlogic.com>
vpu: add support for tl1 [1/1]
PD#172587
Problem:
Bringup vpu for TL1.
Solution:
Add vpu support for TL1.
Verify:
Verified on PTM/PXP.
Change-Id: Ic2fb7682ddc1b21840e1be1d8462d4c0902e739d
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>
lcd: add tl1 support [1/1]
PD#172587
Problem:
not support tl1
Solution:
add tl1 support
Verify:
test pass on PTM
Change-Id: I5a9073fc08a98ae95d4961297a7427864d92279b
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>
backlight: add support for tl1 [1/1]
PD#172587
Problem:
do not suppoert for tl1
Solution:
add backlight support for fl1
Verify:
verified on PTM
Change-Id: I052a7ef93ec9cb21a544e4823a4c9a339d38b5f9
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>
arm: dts: tl1: add decoder device tree [3/3]
PD#174543
PD#172587
Problem:
new added function for tl1
Solution:
add vdin afbce support for tl1
Verify:
verified on PTM
Change-Id: I42054b8228161713ac10446491ebdb50a71975ad
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
media: add codec support for tl1 [1/1]
PD#172587
Problem:
Bringup codec for TL1.
Solution:
Add codec iomap device tree node for TL1.
Add canvas device tree node for TL1.
Verify:
Verified on PXP/PTM.
Change-Id: I8b9a6645f1f9fd7d4aa9cae6166895e61ddc3e36
Signed-off-by: pengcheng chen <pengcheng.chen@amlogic.com>
rdma: add rdma support for tl1 [1/1]
PD#172587
Problem:
Bringup rdma for TL1.
Solution:
Add rdma support for TL1.
Verify:
Verified on PXP/PTM.
Change-Id: I425edc1e47db2ea834fcc5acb0e3d0ee1f30a9f7
Signed-off-by: pengcheng chen <pengcheng.chen@amlogic.com>
osd: tl1: add osd support for tl1 [1/1]
PD#172587
Problem:
Bringup osd for TL1.
Solution:
Add osd support for TL1.
Add ge2d device tree node for TL1.
Verify:
Verified on PXP/PTM.
Change-Id: I3d20934f015108f545c3c72b979d1bd8187b282e
Signed-off-by: pengcheng chen <pengcheng.chen@amlogic.com>
amvideo: add amvideo support for tl1 [1/1]
PD#172587
Problem:
TL1 needs support amvideo driver.
Solution:
1. Add amvideo node into dts file, default enable.
2. Change the vd mif and sr reg offset.
3. Force bypass dolby vision function.
4. Change the register following hardware design.
5. Make amvideo afbc work for tl1.
Verify:
On PTM.
Change-Id: I0d857f8a707328383328daa23e6ba8e156c2e6e0
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>
audio: auge: add sound card support for tl1 [1/1]
PD#172587
Problem:
Bringup tl1 sound card.
Solution:
Add tl1 sound card.
Add external interface for audio input/output.
Verify:
Tested by PTM
Sound card is setup.
TDM and SPDIF internel loopback is ok
Change-Id: I60830ca44a62ee2a8e16343e91e7311152cab161
Signed-off-by: Xing Wang <xing.wang@amlogic.com>
vdac: vdac: add vdac support for tl1 [1/1]
PD#172587
Problem:
do not suppoert for tl1
Solution:
add vdac support for fl1
Verify:
test pass on local
Change-Id: I7b3da34289dfe0638a24b812658db7e462ebdd4c
Signed-off-by: Nian Jing <nian.jing@amlogic.com>
avin: add avin detect support for tl1 [1/1]
PD#172587
Problem:
do not suppoert for tl1
Solution:
add avin detect support for fl1
Verify:
just coding for tl1 will test later
Change-Id: I809f7068c9d0a45c89bd7dc4e6615db99b11f015
Signed-off-by: Nian Jing <nian.jing@amlogic.com>
tvin: add vdin and viu support for tl1 [1/1]
PD#172587
Problem:
do not suppoert for tl1
Solution:
add vdin and viu support for fl1
Verify:
verified on PTM
Change-Id: If4e267356fa666541853cfc7b49008795f9ec301
Signed-off-by: xuhua zhang <xuhua.zhang@amlogic.com>
vdin: add afbce function for tl1 [1/1]
PD#172587
Problem:
new added function for tl1
Solution:
add vdin afbce support for tl1
Verify:
verified on PTM
Change-Id: I5e3e2487b6cdbed2d2ca794a6a21ed885e4bf469
Signed-off-by: xuhua zhang <xuhua.zhang@amlogic.com>
hdmirx: hdmirx driver for tl1 [1/1]
PD#172587
Problem:
hdmirx bringup for tl1
Solution:
1.modify write top api, add addr offset -qy
2.modify write edid api -qy
3.replace top hw reset api
4.add aocec access register idle -qy
5.for tl1 bypass sw eq -qy
6.replace pddq api -qy
7.modify arc control for tl1 -qy
8.add n/cts auto mode
9.add hdcp balance path
10.add sscp mode
11.optimize reg map(rm unused reg addr)
12.add recent commits from 4.9 trunk
13.modify top clk cntl bit definition
14.modify top offset addr handle(x4)
15.add audio pll setting -qy
16.update phy setting - qy
17.modify audio pll ctrl api for tl1 -qy
-add clk monitor function
-add clk stable api for tl1
18.add emp data to pfifo -qy
19.modify edid write and other function -qy
20.add emp data to ddr -qy
21.add tmds data to ddr -qy
22.add cec for tl1 -qy
-fix ctc 7-1
-add status register for cec a/b
23.add cec and hdmirx dts -qy
24.clean tl1 rx related clk measure
25.hdmirx and cec dts
Verify:
1.run PTM
2.need verify on chip
Change-Id: Ia7cc5a2d84925587bdfae825936ba763713926af
Signed-off-by: Yong Qin <yong.qin@amlogic.com>
audio: codec: add tl1_acodec support for tl1 [1/1]
PD#172587
Problem:
Add aml_tl1_acodec driver support for tl1
Solution:
1.add files sound/soc/codecs/amlogic/aml_codec_tl1.acodec.c(.h)
2.update files sound/soc/codecs/amlogic/Kconfig(Makefile)
Verify:
kernel build passed, need verified after chipback
Change-Id: I19717a442f22f5b6844627475992ef7c8cc20a71
Signed-off-by: shuyu.li <shuyu.li@amlogic.com>
hdmirx: add hdmirx repeater function [1/6]
PD#SWPL-323:
Problem:
add hdmi repeater function
Solution:
1.add the edid receive and mix.
2.add the flow of repeater.
Verify:
R321
Change-Id: I9942c5f345e2fdfff110f01d4d0c2b4b23120c07
Signed-off-by: hongmin hua <hongmin.hua@amlogic.com>
ddr: fix bandwidth read result 0 on 32bit OS [1/1]
PD#SWPL-960
Problem:
Reading bandwidth of DDR from sysfs get all 0 result on 32
bit kernel
Solution:
Fix overflow when calculating bandwidth.
Verify:
P212
Change-Id: I35837db653bdc2d97ced98689546a9ffc0db21c7
Signed-off-by: tao zeng <tao.zeng@amlogic.com>
mm: reduce watermark if free cma is too large [1/1]
PD#SWPL-807
Problem:
Sometimes driver can't allocation memory under atomic environment.
And free pages is enough but they are nearly ALL CMA pages.
Solution:
Reduce watermark with harf of free cma pages even allocation support
CMA.
Verify:
P212
Change-Id: I8e49768d4384ed064775537754a2b7f09a5bbb7c
Signed-off-by: tao zeng <tao.zeng@amlogic.com>
avb: avb enable need to translate more types [1/1]
PD#SWPL-1095
Problem:
avb need more command line size.
Solution:
change max size to 2048
Verify:
verify by ampere
Change-Id: I9c1089a3ea0888e8ccd82f16d2b1111b6d88922a
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
mm: avoid pages migrated to different zone [1/1]
PD#SWPL-881
Problem:
Amlogic modified code when compatcion from normal case.
And side effect is that pages in normal zone maybe migrated to
highmem zone. Which caused page_address get a NULL value and
kernel panic occurred.
Solution:
Avoid pages migarte to different zone by adding forbid_to_cma
flags.
Verify:
P212
Change-Id: I1d9c6653dc1069562db3c1be3f53a3510a51f0d1
Signed-off-by: tao zeng <tao.zeng@amlogic.com>
usb: adb reboot and then adb disconnect [1/1]
PD#174155
Problem:
complete_ep 0xffffffc05bed2858, ep->queue empty!
1. After adb process be killed, data buffer is freed and
this memory is allocated for the other. But the address
is hold by the controller.
2. Adbd in PC is running. So, the controller receive the
data and write to this memory.
3.The value of this memory is modified by the controller.
This could cause the memory problem.
Solution:
whenever io_data->aio equals 1, the data buffer is from a fixed array.
Verify:
Test: adb devices, adb shell, exit, adb push
in android8(p212) and android9(w400)
verified by he he
Change-Id: Idac755d3646639e2944a82f42abf9adb9aeaea8c
Signed-off-by: he.he <he.he@amlogic.com>
dts: support 32bit for gxm_q201 [1/1]
PD#SWPL-1140
Problem:
add support 32bit for gxm_q201.
Solution:
add 32bit dts for gxm_q201.
Verify:
gxm_q201
Change-Id: I3c9a6ae72fad6575bd814818967d9ff80e62f5d4
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
amvecm: pq: add amvecm support for tl1 [1/1]
PD#172587
Problem:
new feature, add amvecm support for tl1
Solution:
1. add cm hist for tl1
2. add 3dlut for tl1
3. add hdr support for tl1
4. add wb for tl1
5. add local contrast
Verify:
verify on tl1 ptm
Change-Id: I1c7ebb83a1fb72a4529415fb9bf4acfd134e6b11
Signed-off-by: MingLiang Dong <mingliang.dong@amlogic.com>
dts: add ir cut control GPIO [1/1]
PD#SWPL-900
Problem:
add ir cut control
Solution:
add ir cut control GPIO
Verify:
g12b-skt
Change-Id: I16c7d03ed4cc1dd3842cab80a987dde1a83e5cbc
Signed-off-by: yu.zhang <yu.zhang@amlogic.com>
hdmitx: add init code for repeater [2/6]
PD#SWPL-323
Problem:
For TXLX/T962E, it has both HDMI Rx and TX, and lacks of HDMI repeater
functions, including HDCP repeater function.
Solution:
Add the init code for hdmi repeater
Verify:
TXLX/T962E/R321
Change-Id: Iaf17ae62c590ff4f8478dd5556f3ed24b9ff3bb1
Signed-off-by: Zongdong Jiao <zongdong.jiao@amlogic.com>
atv_demod: switch channel with the script, the ATV shows no signal [1/1]
PD#SWPL-791
Problem:
Switch channel with the script lasts 14 hours, the ATV shows no signal.
Solution:
To avoid conflict, don't need to check the CLK
and PLL states in atv demod write and read function.
Verify:
verified by p321
Change-Id: I033c54f14541ed540dfce1b9c4e21d2b5a8b9487
Signed-off-by: nengwen.chen <nengwen.chen@amlogic.com>
media: keep last normal frame before reset [2/2]
PD#OTT-71
Problem:
google cast display green lump when seek.
reset after seek opration.
Solution:
keep last normal frame before reset and buf free.
Verify:
U211, Atom
Change-Id: I02304998c9434f1055de1138700510f4c19f466f
Signed-off-by: shihong.zheng <shihong.zheng@amlogic.com>
unifykey: add the hdmirx repeater key block [3/6]
PD#SWPL-323:
Problem:
add the hdmirx repeater key block
Solution:
add the hdmirx repeater key block.
Verify:
R321
Change-Id: I61920b706b5dd08c6be9647add287f85b35fb0ee
Signed-off-by: hongmin hua <hongmin.hua@amlogic.com>
mm: make sure the gtp flag is low default [1/1]
PD#SWPL-807
Problem:
The app's window cound be black screen when launched if the ion system
does not retry to allocate memory with the gtp high flag.
Solution:
make sure the gtp flag is low default
Verify:
P212
Change-Id: I562125573f8175cd180196ca73eb04d7dd36add0
Signed-off-by: an.xi <an.xi@amlogic.com>
dts: emmc: uboot enable emmc config [2/3]
PD#SWPL-736
Problem:
The s400 emmc platform uboot cannot be loaded
into kernel normally
Solution:
enable enable emmc node in dtb by fdt command.
and modify malloc max size to 18M.
Verify:
s400
Change-Id: Iaef58f1b05a952793d414eb82ac476d88d910fe1
Signed-off-by: yuegui.he <yuegui.he@amlogic.com>
dts: GVSDK: modify loopback and led device name [1/1]
PD#173996
Problem:
1. to support hw loopback channel 2,3 for GVSDK.
2. led is31fl32xx device name register fail.
Solution:
1. change boolback to channel 2,3
2. register led is31fl32xx name success.
Verify:
S400_GVSDK/S420_GVSDK
Change-Id: Ie1bbc01c4624fd1e2e2662c4d9c876e56c301a99
Signed-off-by: Renjun Xu <renjun.xu@amlogic.com>
mm: exclude free cma pages when calculate watermark [1/1]
PD#SWPL-1210
Problem:
Some drivers(eth/wifi) occasionally can't allocate memory under
atomic context. From mem status print, there are enough free
pages but most of them are CMA.
Solution:
Exclude free cma pages when calculate water mark. This can push
kswapd/compaction work more aggressive.
Verify:
P212
Change-Id: Ia723f21c0316eff1a38e759ff9f044bb59aa8efa
Signed-off-by: tao zeng <tao.zeng@amlogic.com>
dv: set stb core run_mode_delay as 0 [1/1]
PD#SWPL-781
Problem:
when starting to play video, the manu bar shakes
Solution:
stb core don't need run mode delay.
Verify:
t962e (txlx)
Change-Id: I22ba5d778eedd72f87b4c687b38acf1b8c6d6fc9
Signed-off-by: Yi Zhou <yi.zhou@amlogic.com>
dv: fix the green screen when changing dv mode [1/1]
PD#SWPL-1029
Problem:
when changing dv mode from standard to ll mode.
wn tp vks should be enabled
Solution:
enable wn tp vks when setting ll mode
Verify:
t962e (txlx)
Change-Id: I3b399132cf1a3c7b1799f36f9bc3a0696883029f
Signed-off-by: Yi Zhou <yi.zhou@amlogic.com>
lcd: lcd_extern: fix get invalid extern_driver null pointer mistake [1/1]
PD#SWPL-1152
Problem:
There is a null pointer mistake in lcd_extern_get_driver for invalid driver
Solution:
add null pointer protection
Verify:
txlx r311
Change-Id: I171d10ab26e6c298b8eb4065dfa054a237bfd53b
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>
crypto: Enable ARMCE and set aes dma to slow mode [1/1]
PD#SWPL-574
Problem:
xfrm test failed randomly in VtsKernelNetTest
due to random failed in gcm(aes)
Solution:
Use ARMCE for small sized crypto processing and use
copy mode when HW dma is used
Verify:
verified on ampere
Change-Id: I31cd75cfcd85da9fc9e9640135c7ce76623ef715
Signed-off-by: Matthew Shyu <matthew.shyu@amlogic.com>
USB: host: tuning disconnect threshold on g12a/g12b [2/2]
PD#174736
Problem:
Some usb device may disconnect when handshake
Solution:
tuning disconnect threshold when usb host initial
now default is 0x24, only three value can tuning, 0x2c,0x34,0x3c
we set 0x34 now
Verify:
Google estelle boards which return from factory
no side effect on refernce u200 board
Change-Id: I71d974a6bac43452b20bd7f2a6827d3a46fa39fb
Signed-off-by: qi duan <qi.duan@amlogic.com>
audio: solve av out output level low issue [2/2]
PD#SWPL-766
Problem:
av output level only 100mv
Solution:
change the channel map for av out,
use orignal pcm for output w/o volume
control and postprocess.
Verify:
verified by r311
Change-Id: Ibeaf0ecfda03f81ff6061dc9c4975049452ba659
Signed-off-by: Lianlian Zhu <lianlian.zhu@amlogic.com>
Signed-off-by: Jian Xu <jian.xu@amlogic.com>
chipid: meson: add ops id for S805Y [1/2]
PD#SWPL-940
Problem:
Need ops id api for S805Y
Solution:
Add ops id api
Verify:
s805y_p215
Change-Id: I179f87acbc3f57456e0359bd0d502c58cc3a9b9c
Signed-off-by: Qiufang Dai <qiufang.dai@amlogic.com>
hdmitx: add feature limited [3/3]
PD#174490
Problem:
Lack feature limited for certain types
Solution:
Add feature limited for certain types
Verify:
TBD
Change-Id: Ifbe104fe98fe1e3875f2f1af7793348856275b92
Signed-off-by: Zongdong Jiao <zongdong.jiao@amlogic.com>
dts: support 32bit for g12b_w400 [1/1]
PD#SWPL-1010
Problem:
add support 32bit for g12b_w400
Solution:
add 32bit dts of g12b_w400.
Verify:
g12b_a311d_w400
Change-Id: I30ac9cb80721b04a13532ceb5c14f76bdf1cc575
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
display: dts modify [1/1]
PD#TV-405
Problem:
Should create a 720p ui display mode on p321.
Solution:
Created a folder named t962_p321_720p under device/amlogic
and modified some variate.
The diffs that compare with txl_t962_p321.dts
amlogic-dt-id = "txl_p321_v1_720p";
size = <0x400000>;
alloc-ranges = <0x3fc00000 0x400000>;
mem_size = <0x00400000 0x00b00000 0x00100000>;
/* uboot logo,fb0/fb1 memory size,if afbcd fb0=0x0b51000*/
display_mode_default = "720p60hz";
/*1280*720*4*3 = 0xA8C000*/
display_size_default = <1280 720 1280 2160 32>;
logo_addr = "0x3fc00000";
Verify:
p321
Change-Id: Ia397cd6cbcf4fdd9fb139259099805bdad90b92f
Signed-off-by: Guotai Shen <guotai.shen@amlogic.com>
dts: support 32bit for gxl_p230 [1/1]
PD#SWPL-1116
Problem:
add support 32bit for gxl_p230.
Solution:
add 32bit dts for gxl_p230.
Verify:
gxl_p230
Change-Id: Icc62c45e7bd36e8248ad0bb11a67a0151cf7ea34
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
dts: sync difference between arch32 and arch64 [1/1]
PD#SWPL-959
Problem:
sync arch32 and arch64 dts.
Solution:
sync arch32 and arch64 dts.
Verify:
r311
Change-Id: I493c83f38899628ac65c637e81f053a7c22bd24f
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
cec: for support multi-logical address [1/2]
PD#SWPL-418
Problem:
cec: for support mult-logical address
Solution:
1.add interface: remove logical address
2.for support multi-logical address
Verify:
r311 r321
Change-Id: I9ea8b1004f43fb84855d41dd684c117fa5cbd7ae
Signed-off-by: Yong Qin <yong.qin@amlogic.com>
cec: for support multi-logical address [2/2]
PD#SWPL-418
Problem:
cec: support multi-logical address
Solution:
1.enable cec_a, cec_b
2.enable two interrupt
3.enable two pinmux oa_7, ao_8
4.cec_a only send all msg
5.cec_b only receive all msg
6.discard ceca broadcast msg
Verify:
r311 r321
Change-Id: I8f983ed6ad329ca5ec0144587a7ad1f03ad68031
Signed-off-by: Yong Qin <yong.qin@amlogic.com>
emmc: ffu: add emmc ffu update support [1/1]
PD#174683
Problem:
kernel emmc ffu is not supported.
Solution:
add emmc ffu update support with mmc untils.
Verify:
p212
Change-Id: Ice9ffb174c061e3f114b0b68af290492808b0a5e
Signed-off-by: Nan Li <nan.li@amlogic.com>
codec_mm: add reserved & cma support for 4.9. [1/1]
PD#172483
Problem:
Add reserved & cma support for 4.9.
Solution:
1. add tvp padding, for test.
2. add no-cma-tvp,to force not used cma for tvp.
3. add nomap for reserved memroy detective.
4. add res & cma two mem region on same board.
5. add clear-map property for codec_mm_cma.
Verify:
Test this function with Android_O-MR1(GTVS) & ExoPlayer.
Change-Id: Ib20e0e9bc4725afb271de97543ce5ebf3bfcfb29
Signed-off-by: Zhi Zhou <zhi.zhou@amlogic.com>
mm: clear MMU mapping for secure os memory [1/1]
PD#SWPL-1631
Problem:
If Cortex A73 accessed memory near secure memory range, an
SError may occur due to prefetch of A73 core.
Solution:
Remove mmu maping of secure memory range.
Note: must add clear-map and set clear range property in DTS
Verify:
W400
Change-Id: I718919c1b4873584eb87e00332622a1626672808
Signed-off-by: tao zeng <tao.zeng@amlogic.com>
cec: revert changesy [1/1]
PD#SWPL-418
Problem:
TXL can't bootup
Solution:
revert it
Verify:
p321
Revert "cec: for support multi-logical address [2/2]"
This reverts commit cc185dc81d.
Revert "cec: for support multi-logical address [1/2]"
This reverts commit b7922078ea.
Change-Id: I1cef0ac194464d75ffff3fe765f15b5f944406b2
Signed-off-by: Lei Qian <lei.qian@amlogic.com>
aarch64: enable swp software emulation [1/1]
PD#IPTV-14
Problem:
3D Benchmark.apk crash
Solution:
Add swp instruction support on armv8
Verify:
local
Change-Id: Ice2bef5c0ef7110b3adb4af811f99d4bfca1e8dc
Signed-off-by: Jianxin Pan <jianxin.pan@amlogic.com>
emmc: Modify delay of command line to 1/4 command window [1/1]
PD#SWPL-1184
Problem:
emmc data crc error
Solution:
Modify delay of command line
Verify:
A113d_s400
Change-Id: I7211da9da75569aebaf0c2790e3134e88a6f3077
Signed-off-by: Ruixuan Li <ruixuan.li@amlogic.com>
adc_key: delete early_suspend code [1/1]
PD#OTT-144
Problem:
after the dark screen, the adc button does not work
Solution:
The adc_keypad introduces earlysuspend for MID project:
after the LCD backlight disable, prevent the user from
pressing the key to open some applications and not complete standby.
Now check the adc button using the "system_freezable_wq" system queue,
which replaces the function of the code.So can remove it.
Verify:
g12b socket
Change-Id: I2333ba3dc406d2624962d116293a0b9d36f97534
Signed-off-by: Yingyuan Zhu <yingyuan.zhu@amlogic.com>
audio: fix errors of coverity [1/1]
PD#166793
Problem:
coverity check errors of format
Solution:
fix err
Verify:
verify locally
Change-Id: Ie3a404fe50c5bdaa6a9cf4a4194659502defdbd2
Signed-off-by: jiejing.wang <jiejing.wang@amlogic.com>
hdmirx: fix sound noise when switch hdmi port [1/1]
PD#SWPL-1224
Problem:
There will sound noise when switch hdmi port.
Solution:
Remove bandgap off when close port.
Verify:
Locally
Change-Id: Ibd9be3aa6f32072918f7b1ec151463452b2b879a
Signed-off-by: yicheng shen <yicheng.shen@amlogic.com>
mm: clear MMU mapping for secure os memory [1/1]
PD#SWPL-1631
Problem:
If Cortex A73 accessed memory near secure memory range, an
SError may occur due to prefetch of A73 core.
Solution:
Add clear mmu property for arm platform
Verify:
W400
Change-Id: I2e396f77772aeea231d0bf5f38a81440117ecdd6
Signed-off-by: tao zeng <tao.zeng@amlogic.com>
video: merged from A wait AFBC idle when report state [1/1]
PD#169128:
[Problem]
When quick switch video between 2 vsync isr, the AFBC may read wrong
data, and green screen or distortion image occurs.
[Solution]
1. Add delay when get video layer state, to make sure afbc is stopped
2. Remove ambiguous log print
[Platform]
Blanche
BranchTo: NONE
[Test]
Change-Id: I94ccf25373f29ce188829ab1b7db6f9df1fb49ad
Signed-off-by: Zhi Zhou <zhi.zhou@amlogic.com>
dts: add isp and galcore support to w400-buildroot [1/2]
PD#SWPL-1819
Problem:
lack of isp and galcore support in buildroot dts
Solution:
merge configurations from skt board
Verify:
local
Change-Id: I5936341fc24719f345c7707e16e692ae292ca6fe
Signed-off-by: Jun Zhang <jun.zhang@amlogic.com>
dts: modified atom.dts support 32bit. [1/1]
PD#SWPL-1942
Problem:
add atom.dts support 32bit.
Solution:
modified length of reg, mem etc.
Verify:
r321
Change-Id: I2a518af2a76b8cb17ded68e994c3065072b92b9c
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
vccktest: add vccktest dts for buildroot [1/1]
PD#174851
Problem:
buildroot no vccktest dts
Solution:
add vccktest dts
Verify:
g12a/g12b test pass
Change-Id: I6907fa3cfc087ac84395956ddbda678f7a5e3f4b
Signed-off-by: Huan Biao <huan.biao@amlogic.com>
script: segments can appear in descriptive information [1/1]
PD#174488
Problem:
segmentation in descriptive information is reasonable and
should be allowed.
Solution:
modify the check codes.
Verify:
test locally.
Change-Id: I5e34ef2dd26077bb54adee7597a1aa3c789566c9
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
vlock: optimize vlock process for interlace input [1/1]
PD#SWPL-743
Problem:
The picthre is shaking when press DVD remote
control in AV source
Solution:
add delay work for vlock process interlace input
Verify:
T962X-R311
Change-Id: Ic2ed077e0684ecc6b0990336e7a4ab7022931886
Signed-off-by: Dezhi Kong <dezhi.kong@amlogic.com>
atv_demod: pc bad value in panic after change source [1/1]
PD#SWPL-1636
Problem:
1.pc bad value in kernel panic after change source.
2.System crash down when change source.
Solution:
optimize atv demod code.
Verify:
verified by p321
Change-Id: I655d1253950475dfb49ae1b174597797000adb73
Signed-off-by: nengwen.chen <nengwen.chen@amlogic.com>
vout: add bist test on vout [1/1]
PD#SWPL-1630
Problem:
add cvbs/hdmi/lcd bist test on vout
Solution:
add cvbs bist test on vout
Verify:
test pass on u200/p212
Change-Id: Ie61d9b0d63649ec3022fd720068b689f4d721e3b
Signed-off-by: Nian Jing <nian.jing@amlogic.com>
osd: meson-hwc screen always blank [1/1]
PD#163001
Problem:
TL1 code merged caused meson-hwc screen always blank
Solution:
fix meson-hwc screen always blank
Verify:
verified in u200 board
Change-Id: I0a9371b42546e2713e6dcb926e7c94598e29da1d
Signed-off-by: pengcheng chen <pengcheng.chen@amlogic.com>
osd: osd shift-workaround one line fixed [1/1]
PD#163001
Problem:
current osd code have one line missing issue in meson-hwc
Solution:
osd blend used +1 line to fix shift issue,
and used freescale to cut it.
Verify:
verified in u200 board
Change-Id: I2354742d456327d9f1aa5713ee782648895034db
Signed-off-by: pengcheng chen <pengcheng.chen@amlogic.com>
smartcard: fix defects for coverity [1/1]
PD#166793
Problem:
conditional statement not is valid.
Solution:
change type u32 to type int.
Verify:
module owner confirmed.
Change-Id: I9fdfa444b29104c7afc9b7a380748ebe82ed390b
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
osd: uboot logo scaler down in 4k issue [1/1]
PD#163001
Problem:
uboot logo scaler down in 4k
Solution:
uboot logo size adjust when vout changed before
first page flip command
Verify:
verified in u200 board
Change-Id: Ic23e695fe716811eaf3faa62069c808a03c26f9d
Signed-off-by: pengcheng chen <pengcheng.chen@amlogic.com>
osd: add hdr mode set via meson-hwc support [1/1]
PD#163001
Problem:
hdr mode set not supported
Solution:
add hdr mode set via meson-hwc support
Verify:
verified in u200 board
Change-Id: Iaad75982003870f9469e4155aedb9c13349b60b9
Signed-off-by: pengcheng chen <pengcheng.chen@amlogic.com>
dts: fix some errors on g12b_w400 for 32bit [1/1]
PD#SWPL-1010
Problem:
some errors of reg address.
Solution:
modify to support 32bit.
Verify:
w400.
Change-Id: Ia35e95ac59084a9c57a9a4ab32fecb64f78c772e
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
ddr: detect bandwidth except mali and reduce bandwidth [2/3]
PD#SWPL-122
Problem:
ddr bandwidth is tightly in many cases, such as HDR/4K video playing,
and then refresh osd at the same time
Solution:
in most cases the problem is refreshing osd when bandwidth tightly,
so detect ddr bandwidth usage except mali and reduce it when it is tightly
Verify:
verify by p321/r311
Change-Id: Ia594f08dbe9a8a7a8d78b5104c93bddaa8229c0b
Signed-off-by: wenbiao zhang <wenbiao.zhang@amlogic.com>
arm: dts: gxl: replace watchdog with new version [1/1]
PD#SWPL-1600
Problem:
The current watchdog is not the upstream standard driver.
Solution:
Replace watchdog device tree to use the standard watchdog driver.
Verify:
S905X P215/P212 Android-32bit Kernel-32bit.
Change-Id: I972c8ebb0158caa2df393d9a2d687d9298181102
Signed-off-by: Bo Yang <bo.yang@amlogic.com>
arm64: dts: g12a: fine-tune voltage OPP [1/1]
PD#165143
Proble:
fine-tune voltage OPP
Solution:
fine-tune voltage OPP
Verify:
G12A/G12B,PASS
Change-Id: I0b3fb0e4624e2ddfa635c8225a740ed7a8ff3e51
Signed-off-by: Hong Guo <hong.guo@amlogic.com>
audio: fix audio driver del_timer BUG_ON crash issue [1/1]
PD#SWPL-972
Problem:
audio crash when ATV switch channel long time burning test
Solution:
there is a risk to fetch the timer lock. when input stop, stop_timer
will call del_timer, at the same time the function
"aml_i2s_hrtimer_callback" is waiting for the timer lock,after
stop_timer release the lock,"aml_i2s_hrtimer_callback" get the
lock and call mod_timer again, which will set the timer to pending
status. It will cause the next "start input" stage,add_timer will
trigger BUG_ON.Now we put the lock before the active status
checking then we will not touch the timer.
Verify:
Need burning test
Change-Id: I1fb66903a4d31e9491ac0533e477e1597575d4cf
Signed-off-by: Jian Xu <jian.xu@amlogic.com>
hdmitx: enable repeater_tx in r321/atom dts [2/3]
PD#SWPL-1303
Problem:
For TXLX/T962E/R321 cases, there are both HDMI TX and RX.
Should consider it as repeater.
Solution:
Enable repeater_tx in r321/atom dts
Also, add a missing ksv_lists[] clear.
Verify:
r321/atom
Change-Id: I7b512c34123481380220f9262466fde56b0ae6e3
Signed-off-by: Zongdong Jiao <zongdong.jiao@amlogic.com>
hdmitx: remove a wrong Y422 format judgement [1/1]
PD#IPTV-55
Problem:
When connect to a Samsung TV(support 4k60 422 12bit), get a wrong
0 of 'echo 2160p60hz422,12bit > valid_mode'
Solution:
Remove a wrong Y422 format judgement
Verify:
P212
Change-Id: Ic0f2cefc1e0893390ac38298b55272877d81e04b
Signed-off-by: Zongdong Jiao <zongdong.jiao@amlogic.com>
tsync: tsync change the apts set code [1/2]
PD#SWPL-1774
Problem:
DD program has avysnc problem over one night play
Solution:
fix the apts set bug
Verify:
p321
Change-Id: I0f6a5b47d3e3171a3dd8fa9a0b721cd11ec20b9e
Signed-off-by: live.li <live.li@amlogic.com>
amvecm: overscan: fix video local play, screen mode set error [1/1]
PD#SWPL-206
Problem:
overscan set error when local play
Solution:
overscan don't set at vpp
Verify:
verify on txlx
Change-Id: Ifd4ad4f5fcdb9fbc7ad05a540d0ed11b24d4ca66
Signed-off-by: MingLiang Dong <mingliang.dong@amlogic.com>
thermal: sensor: fix thermal disabled mode issue [1/1]
PD#SWPL-2130
Problem:
tsensor driver update thermal event when mode disabled
Solution:
fix tsensor disable mode issue
Verify:
A311D W400 pass
Change-Id: If9e3d3ea15732a0efbd8314003b27bc0bdf3e476
Signed-off-by: Huan Biao <huan.biao@amlogic.com>
deinterface: add afbc support on g12a and txlx [1/1]
PD#SWPL-1618
Problem:
Add afbc support on g12a and txlx
Solution:
add afbc support on g12a and txlx
Verify:
T962X-R311, U200(G12A)
Change-Id: Ia0cce8516a98653b01c3bc628e812c3a81b1df59
Signed-off-by: huaihao.guo <huaihao.guo@amlogic.com>
dts: change CMA layout [1/1]
PD#SWPL-1909
Problem:
On 32bit kernel, codec cma is located in normal zone by
"alloc-ranges" parameter with large size. This takse up
memory space for kernel and drivers. Sometimes we can see
memory allocation fail log but there are still enought
free pages. But most of these pages are CMA pages.
Solution:
Move codec cma location to high memzone. On 32bit, low
768MB memory is normal zone.
This change also correct first 1MB memory lost problem
for chips later than TXLX
Verify:
P212
Change-Id: I4592d34d08ee4dbb6700bbbfc4e0fadaceab0310
Signed-off-by: tao zeng <tao.zeng@amlogic.com>
media: remap the addr to prevent crash on the 32bit & 2G board [1/1]
PD#SWPL-1909
Problem:
mem rw exception caused crashed.
Solution:
1. add mapping the highmem address by the func vmap().
2. remove the flag CODEC_MM_FLAGS_CPU if not necessary.
Verify:
p212, w400
Change-Id: I982c775d7c009335cae5802f0eb6287d22037db6
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
media: fix some coverity error: [1/1]
PD#SWPL-2053
Problem:
Coverity detected some code defects.
Solution:
Fixed these code defects.
Verify:
Verified u212
Change-Id: Ie3c0907c7ee3db94f65f58aa5d5c96812a7fe38c
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
dts: modify the remaining 64bit dts to support 32bit [1/1]
PD#SWPL-2046
Problem:
some of the remaining 64bit boards do not support 32bit.
Solution:
modify the dts to support 32bit.
Verify:
axg, g12a, g12b, gxl, gxm, txl, txlx.
Change-Id: I951f8d32b18243a64e2abc5008bbb015c2e21e7a
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
dv: set avi info limited range when dv output hdr mode [1/1]
PD#SWPL-1127
Problem:
when dv output hdr mode, the quantization range is default value
instead of limited range
Solution:
set quantization range to limited range in avi info
Verify:
t962e (txlx)
Change-Id: Ib4fbeb1c7efcedd7194143772ee5c663284a1c77
Signed-off-by: Yi Zhou <yi.zhou@amlogic.com>
drm: pq: G12A DRM support gamma and ctm setting [1/1]
PD#165492
Problem:
G12A DRM add gamma and ctm setting support
Solution:
1. amvecm: add gamma apis for drm
2. drm: add gamma and ctm setting
Verify:
Verified on customer platfor
Change-Id: Iff5204ae7f719542463ac15140e471cd762c9c27
Signed-off-by: Bencheng Jing <bencheng.jing@amlogic.com>
di: fix dump_status log error [1/1]
PD#174473
Problem:
dump_status log error
Solution:
fix dump_status log error
Verify:
verified in t962X_r311 board
Change-Id: I53cec7b93f6e2649bd527b8591995d54bec6450d
Signed-off-by: wenfeng.guo <wenfeng.guo@amlogic.com>
sdio: optimize sd & wifi TDMA [1/1]
PD#SWPL-1908
Problem:
sdio wifi error TDMA.
Solution:
optimize host reg value set error.
Verify:
u211 & u212
Change-Id: I0e0d52ac2bce42cf163f0065d46badc938832a65
Signed-off-by: Nan Li <nan.li@amlogic.com>
atv_demod: Output big "PO" sound when change source from ATV [1/3]
PD#SWPL-318
Problem:
Output big "PO" sound when change source from ATV to others,
or switch between small window and full screen in ATV source.
Solution:
disable atv status early when exit ATV source.
Verify:
verified by p321
Change-Id: I82af7f8eaef181f1f72ef1f9d194e33c1efdcdb5
Signed-off-by: nengwen.chen <nengwen.chen@amlogic.com>
deinterlace: fix di coverity & di_trace [1/1]
PD#SWPL-2138
Problem:
Fix di coverity & di_trace
Solution:
fix di coverity & di
Verify:
T962X-R311
Change-Id: I9be91832eeed89ebd715276c75414e4e6da55240
Signed-off-by: wenfeng.guo <wenfeng.guo@amlogic.com>
vdin: enable vdin0 urgent for T950 default [1/1]
PD#TV-288
Problem:
There is flicker and jitter in HDMI
Solution:
enable vdin0 urgent for T950 default
Verify:
p321-T950
Change-Id: I17e472d7a47411093e9ade70a342807bed060a3a
Signed-off-by: Dezhi Kong <dezhi.kong@amlogic.com>
clk: g12a/g12b: fix 32bit set mpll clk overflow [1/1]
PD#SWPL-1933
Problem:
32bit system clk overflow
Solution:
let mpll clock not overflow
Verify:
g12b
Change-Id: Ie1c7c611e637776348bb35a3e0c1624cee57716f
Signed-off-by: shunzhou.jiang <shunzhou.jiang@amlogic.com>
reboot: reason: add reboot_reason quiescent [1/4]
PD#SWPL-1887
Problem:
Android TV need reboot_reason quiescent
Solution:
add reboot_reason quiescent
Verify:
ampere
Change-Id: Ie5a748faae05be93c56722b7806df6179116a047
Signed-off-by: Xindong Xu <xindong.xu@amlogic.com>
arm64: dts: p230: add dvb module
PD#172865
Problem:
Customer requests a new release for linux dvb
Need enable dvb for QA testing
Solution:
Need enable dvb for QA testing
Verify:
Change-Id: Ib082c457d6f43ef4d6a5d16059a7e8ce068a332e
Signed-off-by: yeping.miao <yeping.miao@amlogic.com>
emmc: clean emmc reg val for probe [1/1]
PD#SWPL-2286
Problem:
emmc response crc error in emmc init.
Solution:
clean emmc reg val from uboot to kernel.
Verify:
w400
Change-Id: I6a4763187f18e9e284c887c5c788f3a88c8548ff
Signed-off-by: Nan Li <nan.li@amlogic.com>
dts: dtsi: add dtsi for ab update [1/6]
PD#SWPL-1513
Problem:
ab update can not work on P
Solution:
add dtsi for ab update for P
Verify:
test pass in ampere
Change-Id: I6ff219170a16c0081fba7297110e8dfaadcff401
Signed-off-by: Xindong Xu <xindong.xu@amlogic.com>
backlight: ldim: update usage for new spi driver [1/1]
PD#SWPL-1603
Problem:
don't support old spi driver now
Solution:
update new spi driver api for ldim driver
Verify:
txlx r311
Change-Id: I4dff13e4cab5666a30488730e27c6275b933a922
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>
hdmitx: fix wrong power uevent in suspend/resume [1/1]
PD#SWPL-1931
Problem:
Wrong hdmi_power uevent in suspend/resume flow
Solution:
Remove current mode judgement
Verify:
R321
Change-Id: Ib36e8d6cb4988f7b2be91146b12e974c194526ca
Signed-off-by: Zongdong Jiao <zongdong.jiao@amlogic.com>
ddr: fix dmc_monitor register bit missmatch on G12A/G12B [1/1]
PD#172256
Problem:
On G12A/G12B, bit for ddr0 protection 0 vilation is not same
Solution:
Fix bit missmatch problem
Verify:
U212
Change-Id: I5dca14c8bc96bdcb85dbe8bbd5a9a18157834bcf
Signed-off-by: tao zeng <tao.zeng@amlogic.com>
deinterlace: fix kasan bug in di_task_handle [1/1]
PD#173820
Problem:
kasan bug in di_task_handle
Solution:
delete cma_mutex because it has no effect
Verify:
P321
Change-Id: Ie6ca7973576e7350870c5466b54b38b490dff65e
Signed-off-by: Jihong Sui <jihong.sui@amlogic.com>
mmc: fixup toshiba emmc secure discard [1/1]
PD#SWPL-1937
Problem:
secure discard and trim may cost 5mins on toshiba
"004GA0" emmc.
Solution:
using normal discard operation instead.
Verify:
W400
Change-Id: I7fd23867f8ae0af9192377de8f8c15609ef809ed
Signed-off-by: Yonghui Yu <yonghui.yu@amlogic.com>
ionvideo: Add thread stop protection when the process exits [1/1]
PD#SWPL-1689
Problem:
The thread still exists when the process exits
Solution:
Check if the thread exits when the process exits
Verify:
local
Change-Id: I6d805da6bfa0df85b6d39d065c95eed49b3cb7da
Signed-off-by: Renjiang Han <renjiang.han@amlogic.com>
dts: the memory of the reserved 1MB was recovered. [1/1]
PD#SWPL-2250
Problem:
h265 & vp9 4K playback abnormal because HEVC FRONT &
VPU READ2 pollute the phy address of near 0x0.
Solution:
it's only a temporary modification, the real reason
needs to take more time fixed.
Verify:
U212
Change-Id: I3dcc47f8979960e95c89cf53fe10eadc1a7ae5ad
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
dts: r314: increase board dts file [2/3]
PD#SWPL-1978
Problem:
bring up board r314.
Solution:
increase board dts file
feature:
The Dts file with Einstein is identical except for the memory difference
R314 1.5G, Einstein 1G.
Verify:
Verified on txlx_t962x_r314 board.
Change-Id: I271cb92a9cbcab174fb0bb76cfbc8beff9c730d3
Signed-off-by: guotai.shen <guotai.shen@amlogic.com>
vrtc: vrtc time update for stick mem [2/2]
PD#174867
Problem:
vrtc time update for stick mem.
Solution:
vrtc time update for stick mem.
Verify:
g12a txl.
Change-Id: I65074422569370b253882a4e66fb771da10ccdbf
Signed-off-by: Hong Guo <hong.guo@amlogic.com>
irblaster: add synchronous transmit [1/1]
PD#SWPL-2170
Problem:
cts fail
android.hardware.consumerir.cts.ConsumerIrTest#test_timing
Solution:
add synchronous transmit
when it returns the pattern has been transmitted
Verify:
verify on franklin
Change-Id: I7e490236e5effc13f81e4fab3a1c7fc10c5dcfb3
Signed-off-by: Wencai You <wencai.you@amlogic.com>
amvecm: pq: add dnlp/bri/contrast for tl1 [1/1]
PD#172587
Problem:
dnlp/bri/contrast can not finetune
Solution:
1. add dnlp regisiter 10bit write
2. add brightness/contrast/sr for tl1
Verify:
verify on tl1
Change-Id: I90b363f57fbf2cd485e2acaddb5ce60a8715a47b
Signed-off-by: MingLiang Dong <mingliang.dong@amlogic.com>
ramdump: add ramdump support for ARM32 [1/1]
PD#165764
Problem:
ramdump is not enabled on ARM32
Solution:
Enable it and fix compatible with ARM64
Verify:
R311
Change-Id: I337ef019ecab05d25b7d9dc0cacab7a03149aa7b
Signed-off-by: tao zeng <tao.zeng@amlogic.com>
avsync: tsync: fix the avsync problem [1/1]
PD#SWPL-1158
Problem:
The video will become un-smooth after change
between several audio languages
Solution:
when apts and vpts distance is large then 60*90000
then set the tsync mode to vmaster and set the tysnc
enable to 0
Verify:
P321
Change-Id: I7c7e32f49ca12645cf6a1aa58caeb968a9234c8c
Signed-off-by: live.li <live.li@amlogic.com>
dtv_demod: fix dtv demod crash switch once every 2s [1/1]
PD#SWPL-2293
Problem:
dtv demod switch once every 2s cause crash
Solution:
fix dtv demod crash switch once every 2s
Verify:
P321
Change-Id: Ibfd919a503e3dae41f51637cdff6e01ed27bac71
Signed-off-by: wenfeng.guo <wenfeng.guo@amlogic.com>
ramdump: fix a warning of cast [1/1]
PD#165764
Problem:
have a warning of the "ram" variable cast.
Solution:
add a "void *" to the ram variable.
Verify:
test locally.
Change-Id: I037a89a28e98ae8c8ab965e908877bf4a72d3ead
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
vpp: fix p212 osd sdr2hdr luma too dark [1/1]
PD#SWPL-1707
Problem:
{NTS}Manual,HDR-001-TC2 Failed step 8/12/16/20 VID
and GFX doesn't match
Solution:
add osd hdr2sdr convert table for 400nit on p212
Verify:
verify on p212
Change-Id: I9a9dcf13ab0deaa8b676c5c409919367420b6d1b
Signed-off-by: MingLiang Dong <mingliang.dong@amlogic.com>
vpp: fix p212 osd sdr2hdr luma too dark compile [1/1]
PD#SWPL-1707
Problem:
{NTS}Manual,HDR-001-TC2 Failed step 8/12/16/20 VID
and GFX doesn't match
Solution:
add osd hdr2sdr convert table for 400nit on p212
Verify:
verify on p212
Change-Id: I16637652b6d07ba81b25f46c2684ff7ae3e1c68c
Signed-off-by: MingLiang Dong <mingliang.dong@amlogic.com>
vdac: fix atv/dtv resume no signal issue [1/1]
PD#SWPL-2351
Problem:
atv/dtv no signal when suspend after switch from hdmi
Solution:
disable vdac bandgap when suspend
Verify:
test pass on P321
Change-Id: I0449f0d9673f46928b8951249f5759a4a1f16562
Signed-off-by: Nian Jing <nian.jing@amlogic.com>
spicc: fix miss bytes/time consume/loopback issue [1/1]
PD#SWPL-215
Problem:
1. additional or missing bytes be sent on mosi sometimes.
2. Customer DSP load firmware through SPICC. the loading time is 12s with
buildroot release 20180907 while 6s with 20180131.
3. rx error when work in loopback mode at high speed.
Solution:
1. change to disable irq at the irq-handle begining;
change to enable irq after all data pulled.
2. pre-setup of every spi transfer spends most of time on clk_set_rate().
this time is not obvious while cpu work at a high frequence such as
1000MHz.
In fact, a slave speed is almost fixed and we needn't set it for every
transfer but set only when speed changed.
3. disable auto io delay when in loopback mode.
Verify:
verified on axg-s400-v03 and tl1-skt
Change-Id: I61bcceccc243b218879b2b0711d0aff7538151f6
Signed-off-by: Sunny Luo <sunny.luo@amlogic.com>
framebuffer: remove lock in fbmem ioctl. [1/1]
PD#SWPL-2497
Problem:
on 32bit kernel, when user space call WAITFORVSYNC,
we cannot send other command to framebuffer.
Solution:
remove lock in fbioctl as fb compat_ioctl do.
Our driver have locks to protect internal resources.
Verify:
verified on franklin.
Change-Id: I1789c09a7ea459aed4b782748847687c7f974526
Signed-off-by: sky zhou <sky.zhou@amlogic.com>
dv: fix osd color matrix when dv enabled [1/1]
PD#SWPL-1804
Problem:
fix osd color matrix when dv enabled
Solution:
enable osd matrix when dv enabled
Verify:
verified on u212 dev board
Change-Id: I4b4206f4d8c447873f23a3a0066af0d0fa85e18c
Signed-off-by: Yi Zhou <yi.zhou@amlogic.com>
osd: fix osd color error when osd hdr enabled [1/1]
PD#SWPL-1804
Problem:
osd color error when osd hdr enabled
Solution:
div alpha when osd hdr enabled
Verify:
verified on u212 dev board
Change-Id: I1f5ea0db404d1956f454bd5da2532bded89626ee
Signed-off-by: pengcheng chen <pengcheng.chen@amlogic.com>
osd: add meson-hwc repodution rate support [1/2]
PD#SWPL-1810
Problem:
osd blend repodution rate not supported
Solution:
add meson-hwc repodution rate support
Verify:
verified on u212 dev board
Change-Id: Ied10393e240e8d3f2a1eefe17a2d4d3c965e3383
Signed-off-by: pengcheng chen <pengcheng.chen@amlogic.com>
dts: GXL: defendkey: support secure upgrade check [3/3]
PD#SWPL-2100
Problem:
GXL need to support secure upgrade check
Solution:
add defendkey support in all GXL dts
Verify:
GXL skt board verify pass
Change-Id: I73b84b86f23f512ddc556b61f3a07d015c717e8c
Signed-off-by: Zhongfu Luo <zhongfu.luo@amlogic.com>
GXL: defendkey: support secure upgrade check [2/3]
PD#SWPL-2100
Problem:
GXL need to support secure upgrade check
Solution:
1.add dtb decrypt support
2.add 32bit defendkey support
Verify:
GXL skt board verify pass
Change-Id: I501967530b2a61d9b90c20241b82f92b00829453
Signed-off-by: Zhongfu Luo <zhongfu.luo@amlogic.com>
PM_SUSPEND: suspend: set wakeup reason to stick mem [2/2]
PD#SWPL-2287
Problem:
set wakeup reason to stick mem
Solution:
set wakeup reason to stick mem
Verify:
gxl,test pass
Change-Id: Iff6f1824ea4ac9ec12b8295d4283992fdac03b14
Signed-off-by: Hong Guo <hong.guo@amlogic.com>
deinterlace: fix CMA layout adaptation di_cma_reserved [1/1]
PD#SWPL-2308
Problem:
CMA layout adaptation di_cma_reserved cause crash
Solution:
fix CMA layout adaptation di_cma_reserved
Verify:
P321
Change-Id: Ia24e811a02d47d70afa1c06361fd0852c357394c
Signed-off-by: wenfeng.guo <wenfeng.guo@amlogic.com>
media: media_sync: remove serial port debug logs [1/1]
PD#SWPL-2494
Problem:
serial port always print timestamp log
Solution:
remove this log output
Verify:
P321
Change-Id: I875dffab483269374b9939f556a3ed01e9d2b215
Signed-off-by: xiaoming.sui <xiaoming.sui@amlogic.com>
dts: GXL/TXL: adjust defendkey_reserved location [1/1]
PD#SWPL-2539
Problem:
defendkey_reserved have influenced on display
during the system boot up
Solution:
adjust defendkey_reserved node location
Verify:
GXL/TXL skt board verify pass
Change-Id: I5cf0245f9653e20224c4e3bab1f6f05527011210
Signed-off-by: Zhongfu Luo <zhongfu.luo@amlogic.com>
DTS: p230 board config spdif out pin [3/3]
PD# SWPL-1223
Problem:
p230 board spdif out no audio sound
Solution:
config p230 board spdif out pin
Verify:
verify on p230
Change-Id: I0c35e6d526aab98955206f78322fcc873ff01b8c
Signed-off-by: Chaomin Zheng <chaomin.zheng@amlogic.com>
hdmitx: disable encryption hdcp1.4 fail [1/1]
PD#SWPL-2302
Problem:
Play online video,half an hour later, the TV shows
a pink screen and the sound is normal.
Solution:
Check hdcp1.4 status and disable encryption when fail.
Verify:
S922X
Change-Id: I6ce51824726b267d140750f9e9d80aa8bb921cac
Signed-off-by: Kaifu Hu <kaifu.hu@amlogic.com>
dv: fix the flickered problem [1/1]
PD#SWPL-1207
Problem:
fix the filckered problem when playing transition
video in sdr tv
Solution:
when dv core2 don't run, the reset can't be executed
Verify:
r321
Change-Id: I719325f1722589e02a40d46442258b0d1e3feb17
Signed-off-by: Yi Zhou <yi.zhou@amlogic.com>
display: Modify the value of register afbc_gclk_ctrl [1/1]
PD#SWPL-2565
Problem:
The splash screen problem for first frame after starting up.
Solution:
Modify the value of register afbc_gclk_ctrl.
Verify:
u211
Change-Id: Ie1ddfade0566ff8cd571c43ba8490a8c277a8758
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
dts: fix SD card read issue for g12a board [2/3]
PD#SWPL-2588
Problem:
g12a u220/u221 boad cann't read SD card
Solution:
auto detect revA and revB chip
Verify:
test pass on u220/u221 board
Change-Id: Ia153bb3f966fe2a58d5f3ed1bf1d3f610d00ff5a
Signed-off-by: Sandy Luo <sandy.luo@amlogic.com>
frame_sync: fix last few seconds of the DD+ stream are not smooth [4/4]
PD#SWPL-714
Problem:
The last few seconds of the DD+ stream are not smooth by DTV playback.
Solution:
check the apts and vpts both discontinue,then replay the stream.
Verify:
P321
Change-Id: I6cbbdecc052dfe9fef76b44f36545b231332ee12
Signed-off-by: Yinming Ding <yinming.ding@amlogic.com>
dvb: tuner: USB DVB tuner support from Google
PD#SWPL-932
Problem:
USB DVB Dongle search program Function is not implemented
Solution:
merge usb dvb tuner from kernel3.14
http://10.8.9.5/kernel/common/commit/?h=amlogic-3.14-dev&id=7af9c5c38efdc96f5d3235f17788232a630b3d32
fixed frontend.h structures
Verify:
Ampere P
Change-Id: I16d68c2507711eda43313619d210d05699abcc25
Signed-off-by: qi duan <qi.duan@amlogic.com>
scripts/dtc: Update to upstream version v1.4.5-3-gb1a60033c110
PD#SWPL-2193
This adds the following commits from upstream:
b1a60033c110 tests: Add a test for overlays syntactic sugar
737b2df39cc8 overlay: Add syntactic sugar version of overlays
497432fd2131 checks: Use proper format modifier for size_t
22a65c5331c2 dtc: Bump version to v1.4.5
c575d8059fff Add fdtoverlay to .gitignore
b6a6f9490d19 fdtoverlay: Sanity check blob size
8c1eb1526d2d pylibfdt: Use Python2 explicitly
ee3d26f6960b checks: add interrupts property check
c1e7738988f5 checks: add gpio binding properties check
b3bbac02d5e3 checks: add phandle with arg property checks
fe50bd1ecc1d fdtget: Split out cell list display into a new function
62d812308d11 README: Add a note about test_tree1.dts
5bed86aee9e8 pylibfdt: Add support for fdt_subnode_offset()
46f31b65b3b3 pylibfdt: Add support for fdt_node_offset_by_phandle()
a3ae43723687 pylibfdt: Add support for fdt_parent_offset()
a198af80344c pylibfdt: Add support for fdt_get_phandle()
b9eba92ea50f tests: Return a failure code when any tests fail
155faf6cc209 pylibfdt: Use local pylibfdt module
50e5cd07f325 pylibfdt: Add a test for use of uint32_t
ab78860f09f5 pylibfdt: Add stdint include to fix uint32_t
36f511fb1113 tests: Add stacked overlay tests on fdtoverlay
1bb00655d3e5 fdt: Allow stacked overlays phandle references
a33c2247ac8d Introduce fdt_setprop_placeholder() method
0016f8c2aa32 dtc: change default phandles to ePAPR style instead of both
e3b9a9588a35 tests: fdtoverlay unit test
42409146f2db fdtoverlay: A tool that applies overlays
aae22722fc8d manual: Document missing options
13ce6e1c2fc4 dtc: fix sprintf() format string error, again
d990b8013889 Makefile: Fix build on MSYS2 and Cygwin
51f56dedf8ea Clean up shared library compile/link options
21a2bc896e3d Suppress expected error message in fdtdump test
2a42b14d0d03 dtc: check.c fix compile error
a10cb3c818d3 Fix get_node_by_path string equality check
548aea2c436a fdtdump: Discourage use of fdtdump
c2258841a785 fdtdump: Fix over-zealous version check
9067ee4be0e6 Fix a few whitespace and style nits
e56f2b07be38 pylibfdt: Use setup.py to build the swig file
896f1c133265 pylibfdt: Use Makefile constructs to implement NO_PYTHON
90db6d9989ca pylibfdt: Allow setup.py to operate stand-alone
e20d9658cd8f Add Coverity Scan support
b04a2cf08862 pylibfdt: Fix code style in setup.py
1c5170d3a466 pylibfdt: Rename libfdt.swig to libfdt.i
580a9f6c2880 Add a libfdt function to write a property placeholder
ab15256d8d02 pylibfdt: Use the call function to simplify the Makefile
9f2e3a3a1f19 pylibfdt: Use the correct libfdt version in the module
e91c652af215 pylibfdt: Enable installation of Python module
8a892fd85d94 pylibfdt: Allow building to be disabled
741cdff85d3e .travis.yml: Add builds with and without Python library prerequisites
14c4171f4f9a pylibfdt: Use package_dir to set the package directory
89a5062ab231 pylibfdt: Use environment to pass C flags and files
4e0e0d049757 pylibfdt: Allow pkg-config to be supplied in the environment
6afd7d9688f5 Correct typo: s/pylibgfdt/pylibfdt/
Change-Id: Ib23ca90f1e34ed85db3aae9d223fc921e6f2114e
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: jiamin ma <jiamin.ma@amlogic.com>
deinterface: temporary remove afbc support on chip after g12a [1/1]
PD#172587
Problem:
afbc now support on chip txlx and g12a,
but we use cpu_after_eq(G12A) to judge
if afbc is support or not.
Solution:
use is_meson_g12a_cpu() replace cpu_after_eq(G12A).
Verify:
u200(g12a),t962x_r311
Change-Id: I3fb7ed54f7137fada97481177e40a2543cf8df9f
Signed-off-by: huaihao guo <huaihao.guo@amlogic.com>
osd: osd: a black line below the screen when play video [1/1]
PD#SWPL-2558
Problem:
a black horizontal line below the screen when play video
Solution:
set dummy data alpha
Verify:
verified on p321
Change-Id: I36dc924b9bc89f4f8ea61eb86c6f5bc9199e40ae
Signed-off-by: Jian Cao <jian.cao@amlogic.com>
osd: call osd_update_enable if needed [2/2]
PD#SWPL-2580
Problem:
The vd1 postblend bit in vpp misc is overwriten.
Solution:
osd: call osd_update_enable if needed
Verify:
verify by p212
Change-Id: I438848dc843ea370d65dc3c6b4befb32d1f2b5f8
Signed-off-by: pengcheng chen <pengcheng.chen@amlogic.com>
video: vpp: add more check for vd1 postblend in vpp_misc [1/2]
PD#SWPL-2580
Problem:
The vd1 postblend bit in vpp misc is overwriten.
Solution:
add more check for vd1 postblend bit in vsync
Verify:
verify by p212
Change-Id: I367e920c13764af41446d7d759aaf8388fb08722
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>
osd: adjust free_scale_dst if interlaced [1/1]
PD#SWPL-2600
Problem:
osd display half menu when in 1080i
Solution:
osd: adjust free_scale_dst if interlaced
Verify:
verify by p212
Change-Id: Ie9faffbb5942faa317b380ca0cdbee072a30c01f
Signed-off-by: pengcheng chen <pengcheng.chen@amlogic.com>
Signed-off-by: Jian Cao <jian.cao@amlogic.com>
osd: call osd_update_enable directly if osd cursor [1/1]
PD#SWPL-2744
Problem:
osd mouse can't see before platform g12a
Solution:
call osd_update_enable directly if osd cursor
Verify:
verify by p212
Change-Id: Ia8488a5bd0f707de2a02aa2b74e4a07582ef7f60
Signed-off-by: pengcheng chen <pengcheng.chen@amlogic.com>
deinterlace: there's a change to hang in shutdown [1/1]
PD#OTT-778
Problem:
1.kernel received reboot command, but hang in shutdown
Solution:
move tasklet_disable behind tasklet_kill
Verify:
P321
Change-Id: I994c21c5aeb42dbbb4e3b50ccac8376db4d4039d
Signed-off-by: Jihong Sui <jihong.sui@amlogic.com>
Conflicts:
drivers/amlogic/media/deinterlace/deinterlace.c
fdto: peripheral driver support dtbo [1/4]
PD#SWPL-2193
Problem:
We cannot compile dtbo file in a way like
make ARCH=arm foo.dtbo
Solution:
Add dtbo target and reuse the dtb rules
Verify:
Locally verifed
Change-Id: I34b88e61b409defe553cf5ed1077c160b9a6f350
Signed-off-by: jiamin ma <jiamin.ma@amlogic.com>
fdto: peripheral driver support dtbo [2/4]
PD#SWPL-2193
Problem:
Node dummy-battery and dummy-charger are android version
dependent, and should be "fdt overlayed"
Solution:
Add fdt overlay file android_p_overlay_dt.dts, and configure
dummy-battery and dummy-charger in it
Verify:
Locally on P212 and R311
Change-Id: I75a27a0ad1253556cae5273f36e0eb828291fd73
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
Signed-off-by: jiamin ma <jiamin.ma@amlogic.com>
dts: fdto: the fdt is damaged in booting process [1/1]
PD#SWPL-2960
Problem:
If the overlay dts refers to a node which does not exist in the base
device tree, the final fdt will be in a damaged state after doing fdt
overlay
Solution:
Use the standard overlay dts syntax to note node to be applied instead
of the google recommended one
Verify:
Locally on P230
Change-Id: Ibf45abff1348437bc3fc2745e6d955cc8292db46
Signed-off-by: Jiamin Ma <jiamin.ma@amlogic.com>
dv: fix the error hsize and vsize of dv core 2 [1/1]
PD#OTT-776
Problem:
dv core 2 get the error hsize and vsize from OSD module
Solution:
when opening 3 osd paths. we get the accurate the parameters again
Verify:
g12b s922
Change-Id: Ib6af084910c8cf1896060295c7cea75971cd86b6
Signed-off-by: Yi Zhou <yi.zhou@amlogic.com>
codec_mm: show current tvp flag [1/2]
PD#OTT-937
Problem:
When kill mediacodec during playing drm, tvp memory not be freed
Solution:
Check tvp flag in kernel, free tvp memory if flag is not zero
Verify:
P212
Change-Id: I35cbb2808bf179710ec59bd5227995949946ee77
Signed-off-by: Tao Guo <tao.guo@amlogic.com>
Revert "arm: dts: gxl: replace watchdog with new version [1/1]"
This reverts commit d932cb0022.
Change-Id: Ie9af906663de4f49a5f21fe026d68e55238b3642
defendkey: G12A: support secure upgrade check [3/4]
PD#SWPL-2347
Problem:
G12A need to support secure upgrade check
Solution:
1.modify reserve memory mode
2.only use cpu0 in defendkey write process
Verify:
G12A skt board verify pass
Change-Id: Iad771381e959a79dcba7a0adb862295fa5ba5dee
Signed-off-by: Zhongfu Luo <zhongfu.luo@amlogic.com>
dts: G12A: defendkey: support secure upgrade check [4/4]
PD#SWPL-2347
Problem:
G12A need to support secure upgrade check
Solution:
add defendkey support in all G12A dts
Verify:
G12A skt board verify pass
Change-Id: I7343c2c553dfe776eefcfff9ab3a270c87014118
Signed-off-by: Zhongfu Luo <zhongfu.luo@amlogic.com>
emmc: modify device node name [1/1]
PD#SWPL-2719
Problem:
Can't idetify correctlly when move disk have multi
partition
Solution:
Remove the function of using the partition name as
the device node name
Verify:
test pass on tl1 ref board
Change-Id: I113e63f209c529149fb94b0bb10b0b254717c2bf
Signed-off-by: Ruixuan Li <ruixuan.li@amlogic.com>
arm: dts: gxl: replace watchdog with new version [1/1]
PD#SWPL-1600
Problem:
The current watchdog is not the upstream standard driver.
Solution:
Replace watchdog device tree to use the standard watchdog driver.
Verify:
S905X P215/P212 Android-32bit Kernel-32bit.
Change-Id: I972c8ebb0158caa2df393d9a2d687d9298181102
Signed-off-by: Bo Yang <bo.yang@amlogic.com>
watchdog: Change the feed watchdog mode [1/1]
PD#SWPL-2378
Problem:
Using Android to feed watchdog is not easy to debug the
crash problem, in addition, the Android does not open
the dog feeding service.
Solution:
Change the DTS configuration and change into driver feed watchdog.
Verify:
test pass on g12a-u200
Change-Id: Ie0a91fd8451fdccf3038ba6290a277c9048c52cd
Signed-off-by: Yingyuan Zhu <yingyuan.zhu@amlogic.com>
hdmitx: add parsing for non-standard dv edid [1/1]
PD#SWPL-1968
Problem:
some error edid need to be parsed
Solution:
add parsing for non-standard dv edid
Verify:
t962e (txlx)
Change-Id: Ia952ed59650fd0b1c665ca03175a38c1cf3ae5bb
Signed-off-by: Yi Zhou <yi.zhou@amlogic.com>
media: video: fix cvbs black dot issue [1/1]
PD#SWPL-1910
Problem:
Black dot on cvbsout when local play 4k
Solution:
Set limit rang when vpp output yuv for cvbs
Verify:
test pass on u200/s905x
Change-Id: Ia3e93078eb1a00d8c974bae8cc373a3a679f8b9f
Signed-off-by: Nian Jing <nian.jing@amlogic.com>
hdmitx: fix a resmue panic isse [1/1]
PD#SWPL-3188
Problem:
When HDMI cable is not connected(that is CVBS out), and system
may be panic after resume.
Solution:
Add NULL pointer protection check
Verify:
P212
Change-Id: I60818faaf7049667501e31990fa557b754ea7f1b
Signed-off-by: Zongdong Jiao <zongdong.jiao@amlogic.com>
dts: G12B: defendkey: support secure upgrade check [3/3]
PD#SWPL-2348
Problem:
G12B need to support secure upgrade check
Solution:
add defendkey support in all G12B dts
Verify:
G12B skt board verify pass
Change-Id: I2c3f51e761531cf2169dda483991b3d876039686
Signed-off-by: Zhongfu Luo <zhongfu.luo@amlogic.com>
dts: GXL: defendkey: modify reserve memory mode [2/2]
PD#SWPL-2100
Problem:
GXL need to modify reserve memory mode
Solution:
remove defendkey reserved memory in GXL dts
Verify:
GXL skt board verify pass
Change-Id: Ie5ed01c6dd8f88c5594d6bc73f13282e535071a2
Signed-off-by: Zhongfu Luo <zhongfu.luo@amlogic.com>
cec: for support multi-logical address [1/1]
PD#SWPL-418
Problem:
cec: support multi-logical address
Solution:
if working on multi-logical address, enable two ip
1.enable cec_a, cec_b
2.enable two interrupt
3.enable two pinmux oa_7, ao_8
4.cec_a only send all msg
5.cec_b only receive all msg
6.discard ceca broadcast msg
Verify:
r311
r321
p321
Change-Id: I1dc93429876ede951657102bcd7d41a500946719
Signed-off-by: Yong Qin <yong.qin@amlogic.com>
cec: add device match for tl1 [1/1]
PD#172587
Problem:
add device match for tl1
Solution:
1.add cecb ver
2.add ceca status reg flag
Verify:
1.run TPM
2.run chip
Change-Id: I304abfd1d6f1f216f9f0c56ca19a8bdb2ccfeabb
Signed-off-by: Yong Qin <yong.qin@amlogic.com>
cec: update cec platform data for tl1 [1/1]
PD#172587
Problem:
the line check always return low.
the print of check too much.
Solution:
modify the cec gpio from 7 to 10.
modify the check line.
Verify:
tl1 x301 board
Change-Id: I09ae5eee455d83e51e65957cd293e07da1c0046a
Signed-off-by: hongmin hua <hongmin.hua@amlogic.com>
cec: auto shutdown case crash [1/1]
PD#SWPL-2258
Problem:
1.running autoshutdown cause device crashed
Solution:
1.optimize cec power on proble flow
Verify:
1.p212
Change-Id: Ia78c76cdb4b72a1a275628b3ad77ea6d71696d89
Signed-off-by: Yong Qin <yong.qin@amlogic.com>
commit 40c3c40947 upstream.
Add extra checks for item with EXTENT_DATA type. This checks the
following thing:
0) Key offset
All key offsets must be aligned to sectorsize.
Inline extent must have 0 for key offset.
1) Item size
Uncompressed inline file extent size must match item size.
(Compressed inline file extent has no information about its on-disk size.)
Regular/preallocated file extent size must be a fixed value.
2) Every member of regular file extent item
Including alignment for bytenr and offset, possible value for
compression/encryption/type.
3) Type/compression/encode must be one of the valid values.
This should be the most comprehensive and strict check in the context
of btrfs_item for EXTENT_DATA.
Signed-off-by: Qu Wenruo <quwenruo.btrfs@gmx.com>
Reviewed-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
[ switch to BTRFS_FILE_EXTENT_TYPES, similar to what
BTRFS_COMPRESS_TYPES does ]
Signed-off-by: David Sterba <dsterba@suse.com>
[bwh: Backported to 4.9: Use root->sectorsize instead of
root->fs_info->sectorsize]
Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This behavior is required in IPv6, and there is little need
to tolerate overlapping fragments in IPv4. This change
simplifies the code and eliminates potential DDoS attack vectors.
Tested: ran ip_defrag selftest (not yet available uptream).
Suggested-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Peter Oskolkov <posk@google.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Florian Westphal <fw@strlen.de>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 7969e5c40d)
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[ Upstream commit d89d415561 ]
Android's header sanitization tool chokes on static inline functions having a
trailing semicolon, leading to an incorrectly parsed header file. While the
tool should obviously be fixed, also fix the header files for the two affected
functions: ethtool_get_flow_spec_ring() and ethtool_get_flow_spec_ring_vf().
Fixes: 8cf6f497de ("ethtool: Add helper routines to pass vf to rx_flow_spec")
Reporetd-by: Blair Prescott <blair.prescott@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
PD#173525: can't enter the suspend state
Change-Id: I10a21687e7fb9fb7f71de339c0b03175ee9a90ad
Signed-off-by: zhiqiang.liang <zhiqiang.liang@amlogic.com>
commit 801e459a6f upstream
Provide a new KVM capability that allows bits within MSRs to be recognized
as features. Two new ioctls are added to the /dev/kvm ioctl routine to
retrieve the list of these MSRs and then retrieve their values. A kvm_x86_ops
callback is used to determine support for the listed MSR-based features.
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
[Tweaked documentation. - Radim]
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Updated blob layout (Rob, Daniel, Kristian, xerpi)
v2:
* Removed __packed, and alignment (.+)
* Fix indent in drm_format_modifier fields (Liviu)
* Remove duplicated modifier > 64 check (Liviu)
* Change comment about modifier (Liviu)
* Remove arguments to blob creation, use plane instead (Liviu)
* Fix data types (Ben)
* Make the blob part of uapi (Daniel)
v3:
Remove unused ret field.
Change i, and j to unsigned int (Emil)
v4:
Use plane->modifier_count instead of recounting (Daniel)
v5:
Rename modifiers to modifiers_property (Ville)
Use sizeof(__u32) instead to reflect UAPI nature (Ville)
Make BUILD_BUG_ON for blob header size
Change-Id: Ibb2490b0510cbae9b5f4252483f8b1531fddf73f
Cc: Rob Clark <robdclark@gmail.com>
Cc: Kristian H. Kristensen <hoegsberg@gmail.com>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Daniel Stone <daniels@collabora.com> (v2)
Reviewed-by: Liviu Dudau <liviu@dudau.co.uk> (v2)
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> (v3)
Signed-off-by: Daniel Stone <daniels@collabora.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170724034641.13369-2-ben@bwidawsk.net
This is the plumbing for supporting fb modifiers on planes. Modifiers
have already been introduced to some extent, but this series will extend
this to allow querying modifiers per plane. Based on this, the client to
enable optimal modifications for framebuffers.
This patch simply allows the DRM drivers to initialize their list of
supported modifiers upon initializing the plane.
v2: A minor addition from Daniel
v3:
* Updated commit message
* s/INVALID/DRM_FORMAT_MOD_INVALID (Liviu)
* Remove some excess newlines (Liviu)
* Update comment for > 64 modifiers (Liviu)
v4: Minor comment adjustments (Liviu)
v5: Some new platforms added due to rebase
v6: Add some missed plane inits (or maybe they're new - who knows at
this point) (Daniel)
Change-Id: I717e6240f729902af34c1419140bbf0b8c0a421d
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Daniel Stone <daniels@collabora.com> (v2)
Reviewed-by: Liviu Dudau <Liviu.Dudau@arm.com>
Signed-off-by: Daniel Stone <daniels@collabora.com>
It has been suggested that having per-plane modifiers is making life
more difficult for userspace, so let's just retire modifier[1-3] and
use modifier[0] to apply to the entire framebuffer.
Obviosuly this means that if individual planes need different tiling
layouts and whatnot we will need a new modifier for each combination
of planes with different tiling layouts.
For a bit of extra backwards compatilbilty the kernel will allow
non-zero modifier[1+] but it require that they will match modifier[0].
This in case there's existing userspace out there that sets
modifier[1+] to something non-zero with planar formats.
Mostly a cocci job, with a bit of manual stuff mixed in.
@@
struct drm_framebuffer *fb;
expression E;
@@
- fb->modifier[E]
+ fb->modifier
@@
struct drm_framebuffer fb;
expression E;
@@
- fb.modifier[E]
+ fb.modifier
Change-Id: Iebf536e81ea538e157d57eebed1ae3f9b3d912ce
Cc: Kristian Høgsberg <hoegsberg@gmail.com>
Cc: Ben Widawsky <benjamin.widawsky@intel.com>
Cc: Rob Clark <robdclark@gmail.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Tomeu Vizoso <tomeu@tomeuvizoso.net>
Cc: dczaplejewicz@collabora.co.uk
Suggested-by: Kristian Høgsberg <hoegsberg@gmail.com>
Acked-by: Ben Widawsky <ben@bwidawsk.net>
Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Rob Clark <robdclark@gmail.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1479295996-26246-1-git-send-email-ville.syrjala@linux.intel.com
Signed-off-by: Victor Wan <victor.wan@amlogic.com>
Conflicts:
drivers/md/dm-bufio.c
drivers/media/dvb-core/dvb_frontend.c
drivers/usb/dwc3/core.c
drivers/usb/gadget/function/f_fs.c
PD#158474: drm: Add Content Protection property
This patch adds a new optional connector property to allow userspace to enable
protection over the content it is displaying. This will typically be implemented
by the driver using HDCP.
The property is a tri-state with the following values:
- OFF: Self explanatory, no content protection
- DESIRED: Userspace requests that the driver enable protection
- ENABLED: Once the driver has authenticated the link, it sets this value
The driver is responsible for downgrading ENABLED to DESIRED if the link becomes
unprotected. The driver should also maintain the desiredness of protection
across hotplug/dpms/suspend.
If this looks familiar, I posted [1] this 3 years ago. We have been using this
in ChromeOS across exynos, mediatek, and rockchip over that time.
Changes in v2:
- Pimp kerneldoc for content_protection_property (Daniel)
- Drop sysfs attribute
Changes in v3:
- None
Changes in v4:
- Changed kerneldoc to recommend userspace polling (Daniel)
- Changed kerneldoc to briefly describe how to attach the property (Daniel)
Changes in v5:
- checkpatch whitespace noise
- Change DRM_MODE_CONTENT_PROTECTION_OFF to DRM_MODE_CONTENT_PROTECTION_UNDESIRED
Changes in v6:
- None
commit 24557865c8
Author: Sean Paul <seanpaul@chromium.org>
Date: Mon Jan 8 14:55:37 2018 -0500
Change-Id: Ief031a46681d88369454ebbc56ed0bb203258ab5
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Yi Zhou <yi.zhou@amlogic.com>
Changes in 4.9.108
tpm: do not suspend/resume if power stays on
tpm: self test failure should not cause suspend to fail
mmap: introduce sane default mmap limits
mmap: relax file size limit for regular files
btrfs: define SUPER_FLAG_METADUMP_V2
kconfig: Avoid format overflow warning from GCC 8.1
drm: set FMODE_UNSIGNED_OFFSET for drm files
bnx2x: use the right constant
dccp: don't free ccid2_hc_tx_sock struct in dccp_disconnect()
enic: set DMA mask to 47 bit
ip6mr: only set ip6mr_table from setsockopt when ip6mr_new_table succeeds
ipv4: remove warning in ip_recv_error
isdn: eicon: fix a missing-check bug
kcm: Fix use-after-free caused by clonned sockets
netdev-FAQ: clarify DaveM's position for stable backports
net/packet: refine check for priv area size
net: usb: cdc_mbim: add flag FLAG_SEND_ZLP
packet: fix reserve calculation
qed: Fix mask for physical address in ILT entry
sctp: not allow transport timeout value less than HZ/5 for hb_timer
team: use netdev_features_t instead of u32
vhost: synchronize IOTLB message with dev cleanup
vrf: check the original netdevice for generating redirect
net/mlx4: Fix irq-unsafe spinlock usage
rtnetlink: validate attributes in do_setlink()
net: phy: broadcom: Fix bcm_write_exp()
net: metrics: add proper netlink validation
KVM: VMX: Expose SSBD properly to guests, 4.9 supplement
dm bufio: avoid false-positive Wmaybe-uninitialized warning
objtool: Fix gcov check for older versions of GCC
complete e390f9a port for v4.9.106
Linux 4.9.108
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
commit e2731e5588 upstream.
btrfs-progs uses super flag bit BTRFS_SUPER_FLAG_METADUMP_V2 (1ULL << 34).
So just define that in kernel so that we know its been used.
Signed-off-by: Anand Jain <anand.jain@oracle.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Changes in 4.9.107
arm64: lse: Add early clobbers to some input/output asm operands
powerpc/64s: Clear PCR on boot
USB: serial: cp210x: use tcflag_t to fix incompatible pointer type
Revert "pinctrl: msm: Use dynamic GPIO numbering"
xfs: detect agfl count corruption and reset agfl
Revert "ima: limit file hash setting by user to fix and log modes"
Input: elan_i2c_smbus - fix corrupted stack
tracing: Fix crash when freeing instances with event triggers
selinux: KASAN: slab-out-of-bounds in xattr_getsecurity
cfg80211: further limit wiphy names to 64 bytes
dma-buf: remove redundant initialization of sg_table
rtlwifi: rtl8192cu: Remove variable self-assignment in rf.c
ASoC: Intel: sst: remove redundant variable dma_dev_name
platform/chrome: cros_ec_lpc: remove redundant pointer request
x86/amd: revert commit 944e0fc51a
xen: set cpu capabilities from xen_start_kernel()
x86/amd: don't set X86_BUG_SYSRET_SS_ATTRS when running under Xen
tcp: avoid integer overflows in tcp_rcv_space_adjust()
scsi: ufs: fix failure to read the string descriptor
scsi: ufs: refactor device descriptor reading
scsi: ufs: Factor out ufshcd_read_desc_param
arm64: Add hypervisor safe helper for checking constant capabilities
arm64/cpufeature: don't use mutex in bringup path
powerpc/rfi-flush: Move out of HARDLOCKUP_DETECTOR #ifdef
powerpc/pseries: Support firmware disable of RFI flush
powerpc/powernv: Support firmware disable of RFI flush
powerpc/rfi-flush: Move the logic to avoid a redo into the debugfs code
powerpc/rfi-flush: Make it possible to call setup_rfi_flush() again
powerpc/rfi-flush: Always enable fallback flush on pseries
powerpc/rfi-flush: Differentiate enabled and patched flush types
powerpc/rfi-flush: Call setup_rfi_flush() after LPM migration
powerpc/pseries: Add new H_GET_CPU_CHARACTERISTICS flags
powerpc: Add security feature flags for Spectre/Meltdown
powerpc/pseries: Set or clear security feature flags
powerpc/powernv: Set or clear security feature flags
powerpc/64s: Move cpu_show_meltdown()
powerpc/64s: Enhance the information in cpu_show_meltdown()
powerpc/powernv: Use the security flags in pnv_setup_rfi_flush()
powerpc/pseries: Use the security flags in pseries_setup_rfi_flush()
powerpc/64s: Wire up cpu_show_spectre_v1()
powerpc/64s: Wire up cpu_show_spectre_v2()
powerpc/pseries: Fix clearing of security feature flags
powerpc: Move default security feature flags
powerpc/pseries: Restore default security feature flags on setup
powerpc/64s: Fix section mismatch warnings from setup_rfi_flush()
powerpc/64s: Add support for a store forwarding barrier at kernel entry/exit
net/mlx4_en: fix potential use-after-free with dma_unmap_page
iio:kfifo_buf: check for uint overflow
MIPS: ptrace: Fix PTRACE_PEEKUSR requests for 64-bit FGRs
MIPS: prctl: Disallow FRE without FR with PR_SET_FP_MODE requests
scsi: scsi_transport_srp: Fix shost to rport translation
stm class: Use vmalloc for the master map
hwtracing: stm: fix build error on some arches
IB/core: Fix error code for invalid GID entry
drm/psr: Fix missed entry in PSR setup time table.
drm/i915: Disable LVDS on Radiant P845
sparc64: Fix build warnings with gcc 7.
fix io_destroy()/aio_complete() race
mm: fix the NULL mapping case in __isolate_lru_page()
sparc64: Don't clibber fixed registers in __multi4.
serial: pl011: add console matching function
Linux 4.9.107
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
commit 814596495d upstream.
wiphy names were recently limited to 128 bytes by commit a7cfebcb75
("cfg80211: limit wiphy names to 128 bytes"). As it turns out though,
this isn't sufficient because dev_vprintk_emit() needs the syslog header
string "SUBSYSTEM=ieee80211\0DEVICE=+ieee80211:$devname" to fit into 128
bytes. This triggered the "device/subsystem name too long" WARN when
the device name was >= 90 bytes. As before, this was reproduced by
syzbot by sending an HWSIM_CMD_NEW_RADIO command to the MAC80211_HWSIM
generic netlink family.
Fix it by further limiting wiphy names to 64 bytes.
Reported-by: syzbot+e64565577af34b3768dc@syzkaller.appspotmail.com
Fixes: a7cfebcb75 ("cfg80211: limit wiphy names to 128 bytes")
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Changes in 4.9.104
MIPS: c-r4k: Fix data corruption related to cache coherence
MIPS: ptrace: Expose FIR register through FP regset
MIPS: Fix ptrace(2) PTRACE_PEEKUSR and PTRACE_POKEUSR accesses to o32 FGRs
KVM: Fix spelling mistake: "cop_unsuable" -> "cop_unusable"
affs_lookup(): close a race with affs_remove_link()
aio: fix io_destroy(2) vs. lookup_ioctx() race
ALSA: timer: Fix pause event notification
do d_instantiate/unlock_new_inode combinations safely
mmc: sdhci-iproc: remove hard coded mmc cap 1.8v
mmc: sdhci-iproc: fix 32bit writes for TRANSFER_MODE register
libata: Blacklist some Sandisk SSDs for NCQ
libata: blacklist Micron 500IT SSD with MU01 firmware
xen-swiotlb: fix the check condition for xen_swiotlb_free_coherent
drm/vmwgfx: Fix 32-bit VMW_PORT_HB_[IN|OUT] macros
IB/hfi1: Use after free race condition in send context error path
Revert "ipc/shm: Fix shmat mmap nil-page protection"
ipc/shm: fix shmat() nil address after round-down when remapping
kasan: fix memory hotplug during boot
kernel/sys.c: fix potential Spectre v1 issue
kernel/signal.c: avoid undefined behaviour in kill_something_info
KVM/VMX: Expose SSBD properly to guests
KVM: s390: vsie: fix < 8k check for the itdba
KVM: x86: Update cpuid properly when CR4.OSXAVE or CR4.PKE is changed
kvm: x86: IA32_ARCH_CAPABILITIES is always supported
firewire-ohci: work around oversized DMA reads on JMicron controllers
x86/tsc: Allow TSC calibration without PIT
NFSv4: always set NFS_LOCK_LOST when a lock is lost.
ALSA: hda - Use IS_REACHABLE() for dependency on input
kvm: x86: fix KVM_XEN_HVM_CONFIG ioctl
netfilter: ipv6: nf_defrag: Pass on packets to stack per RFC2460
tracing/hrtimer: Fix tracing bugs by taking all clock bases and modes into account
PCI: Add function 1 DMA alias quirk for Marvell 9128
Input: psmouse - fix Synaptics detection when protocol is disabled
i40iw: Zero-out consumer key on allocate stag for FMR
tools lib traceevent: Simplify pointer print logic and fix %pF
perf callchain: Fix attr.sample_max_stack setting
tools lib traceevent: Fix get_field_str() for dynamic strings
perf record: Fix failed memory allocation for get_cpuid_str
iommu/vt-d: Use domain instead of cache fetching
dm thin: fix documentation relative to low water mark threshold
net: stmmac: dwmac-meson8b: fix setting the RGMII TX clock on Meson8b
net: stmmac: dwmac-meson8b: propagate rate changes to the parent clock
nfs: Do not convert nfs_idmap_cache_timeout to jiffies
watchdog: sp5100_tco: Fix watchdog disable bit
kconfig: Don't leak main menus during parsing
kconfig: Fix automatic menu creation mem leak
kconfig: Fix expr_free() E_NOT leak
mac80211_hwsim: fix possible memory leak in hwsim_new_radio_nl()
ipmi/powernv: Fix error return code in ipmi_powernv_probe()
Btrfs: set plug for fsync
btrfs: Fix out of bounds access in btrfs_search_slot
Btrfs: fix scrub to repair raid6 corruption
btrfs: fail mount when sb flag is not in BTRFS_SUPER_FLAG_SUPP
HID: roccat: prevent an out of bounds read in kovaplus_profile_activated()
fm10k: fix "failed to kill vid" message for VF
device property: Define type of PROPERTY_ENRTY_*() macros
jffs2: Fix use-after-free bug in jffs2_iget()'s error handling path
powerpc/numa: Use ibm,max-associativity-domains to discover possible nodes
powerpc/numa: Ensure nodes initialized for hotplug
RDMA/mlx5: Avoid memory leak in case of XRCD dealloc failure
ntb_transport: Fix bug with max_mw_size parameter
gianfar: prevent integer wrapping in the rx handler
tcp_nv: fix potential integer overflow in tcpnv_acked
kvm: Map PFN-type memory regions as writable (if possible)
ocfs2: return -EROFS to mount.ocfs2 if inode block is invalid
ocfs2/acl: use 'ip_xattr_sem' to protect getting extended attribute
ocfs2: return error when we attempt to access a dirty bh in jbd2
mm/mempolicy: fix the check of nodemask from user
mm/mempolicy: add nodes_empty check in SYSC_migrate_pages
asm-generic: provide generic_pmdp_establish()
sparc64: update pmdp_invalidate() to return old pmd value
mm: thp: use down_read_trylock() in khugepaged to avoid long block
mm: pin address_space before dereferencing it while isolating an LRU page
mm/fadvise: discard partial page if endbyte is also EOF
openvswitch: Remove padding from packet before L3+ conntrack processing
IB/ipoib: Fix for potential no-carrier state
drm/nouveau/pmu/fuc: don't use movw directly anymore
netfilter: ipv6: nf_defrag: Kill frag queue on RFC2460 failure
x86/power: Fix swsusp_arch_resume prototype
firmware: dmi_scan: Fix handling of empty DMI strings
ACPI: processor_perflib: Do not send _PPC change notification if not ready
ACPI / scan: Use acpi_bus_get_status() to initialize ACPI_TYPE_DEVICE devs
bpf: fix selftests/bpf test_kmod.sh failure when CONFIG_BPF_JIT_ALWAYS_ON=y
MIPS: generic: Fix machine compatible matching
MIPS: TXx9: use IS_BUILTIN() for CONFIG_LEDS_CLASS
xen-netfront: Fix race between device setup and open
xen/grant-table: Use put_page instead of free_page
RDS: IB: Fix null pointer issue
arm64: spinlock: Fix theoretical trylock() A-B-A with LSE atomics
proc: fix /proc/*/map_files lookup
cifs: silence compiler warnings showing up with gcc-8.0.0
bcache: properly set task state in bch_writeback_thread()
bcache: fix for allocator and register thread race
bcache: fix for data collapse after re-attaching an attached device
bcache: return attach error when no cache set exist
tools/libbpf: handle issues with bpf ELF objects containing .eh_frames
bpf: fix rlimit in reuseport net selftest
vfs/proc/kcore, x86/mm/kcore: Fix SMAP fault when dumping vsyscall user page
locking/qspinlock: Ensure node->count is updated before initialising node
irqchip/gic-v3: Ignore disabled ITS nodes
cpumask: Make for_each_cpu_wrap() available on UP as well
irqchip/gic-v3: Change pr_debug message to pr_devel
ARC: Fix malformed ARC_EMUL_UNALIGNED default
ptr_ring: prevent integer overflow when calculating size
libata: Fix compile warning with ATA_DEBUG enabled
selftests: pstore: Adding config fragment CONFIG_PSTORE_RAM=m
selftests: memfd: add config fragment for fuse
ARM: OMAP2+: timer: fix a kmemleak caused in omap_get_timer_dt
ARM: OMAP3: Fix prm wake interrupt for resume
ARM: OMAP1: clock: Fix debugfs_create_*() usage
ibmvnic: Free RX socket buffer in case of adapter error
iwlwifi: mvm: fix security bug in PN checking
iwlwifi: mvm: always init rs with 20mhz bandwidth rates
NFC: llcp: Limit size of SDP URI
rxrpc: Work around usercopy check
mac80211: round IEEE80211_TX_STATUS_HEADROOM up to multiple of 4
mac80211: fix a possible leak of station stats
mac80211: fix calling sleeping function in atomic context
mac80211: Do not disconnect on invalid operating class
md raid10: fix NULL deference in handle_write_completed()
drm/exynos: g2d: use monotonic timestamps
drm/exynos: fix comparison to bitshift when dealing with a mask
locking/xchg/alpha: Add unconditional memory barrier to cmpxchg()
md: raid5: avoid string overflow warning
kernel/relay.c: limit kmalloc size to KMALLOC_MAX_SIZE
powerpc/bpf/jit: Fix 32-bit JIT for seccomp_data access
s390/cio: fix ccw_device_start_timeout API
s390/cio: fix return code after missing interrupt
s390/cio: clear timer when terminating driver I/O
PKCS#7: fix direct verification of SignerInfo signature
ARM: OMAP: Fix dmtimer init for omap1
smsc75xx: fix smsc75xx_set_features()
regulatory: add NUL to request alpha2
integrity/security: fix digsig.c build error with header file
locking/xchg/alpha: Fix xchg() and cmpxchg() memory ordering bugs
x86/topology: Update the 'cpu cores' field in /proc/cpuinfo correctly across CPU hotplug operations
mac80211: drop frames with unexpected DS bits from fast-rx to slow path
arm64: fix unwind_frame() for filtered out fn for function graph tracing
macvlan: fix use-after-free in macvlan_common_newlink()
kvm: fix warning for CONFIG_HAVE_KVM_EVENTFD builds
fs: dcache: Avoid livelock between d_alloc_parallel and __d_add
fs: dcache: Use READ_ONCE when accessing i_dir_seq
md: fix a potential deadlock of raid5/raid10 reshape
md/raid1: fix NULL pointer dereference
batman-adv: fix packet checksum in receive path
batman-adv: invalidate checksum on fragment reassembly
netfilter: ebtables: convert BUG_ONs to WARN_ONs
batman-adv: Ignore invalid batadv_iv_gw during netlink send
batman-adv: Ignore invalid batadv_v_gw during netlink send
batman-adv: Fix netlink dumping of BLA claims
batman-adv: Fix netlink dumping of BLA backbones
nvme-pci: Fix nvme queue cleanup if IRQ setup fails
clocksource/drivers/fsl_ftm_timer: Fix error return checking
ceph: fix dentry leak when failing to init debugfs
ARM: orion5x: Revert commit 4904dbda41.
qrtr: add MODULE_ALIAS macro to smd
r8152: fix tx packets accounting
virtio-gpu: fix ioctl and expose the fixed status to userspace.
dmaengine: rcar-dmac: fix max_chunk_size for R-Car Gen3
bcache: fix kcrashes with fio in RAID5 backend dev
ip6_tunnel: fix IFLA_MTU ignored on NEWLINK
sit: fix IFLA_MTU ignored on NEWLINK
ARM: dts: NSP: Fix amount of RAM on BCM958625HR
powerpc/boot: Fix random libfdt related build errors
gianfar: Fix Rx byte accounting for ndev stats
net/tcp/illinois: replace broken algorithm reference link
nvmet: fix PSDT field check in command format
xen/pirq: fix error path cleanup when binding MSIs
drm/sun4i: Fix dclk_set_phase
Btrfs: send, fix issuing write op when processing hole in no data mode
selftests/powerpc: Skip the subpage_prot tests if the syscall is unavailable
KVM: PPC: Book3S HV: Fix VRMA initialization with 2MB or 1GB memory backing
iwlwifi: mvm: fix TX of CCMP 256
watchdog: f71808e_wdt: Fix magic close handling
watchdog: sbsa: use 32-bit read for WCV
batman-adv: Fix multicast packet loss with a single WANT_ALL_IPV4/6 flag
e1000e: Fix check_for_link return value with autoneg off
e1000e: allocate ring descriptors with dma_zalloc_coherent
ia64/err-inject: Use get_user_pages_fast()
RDMA/qedr: Fix kernel panic when running fio over NFSoRDMA
RDMA/qedr: Fix iWARP write and send with immediate
IB/mlx4: Fix corruption of RoCEv2 IPv4 GIDs
IB/mlx4: Include GID type when deleting GIDs from HW table under RoCE
IB/mlx5: Fix an error code in __mlx5_ib_modify_qp()
fbdev: Fixing arbitrary kernel leak in case FBIOGETCMAP_SPARC in sbusfb_ioctl_helper().
fsl/fman: avoid sleeping in atomic context while adding an address
net: qcom/emac: Use proper free methods during TX
net: smsc911x: Fix unload crash when link is up
IB/core: Fix possible crash to access NULL netdev
xen: xenbus: use put_device() instead of kfree()
arm64: Relax ARM_SMCCC_ARCH_WORKAROUND_1 discovery
dmaengine: mv_xor_v2: Fix clock resource by adding a register clock
netfilter: ebtables: fix erroneous reject of last rule
bnxt_en: Check valid VNIC ID in bnxt_hwrm_vnic_set_tpa().
workqueue: use put_device() instead of kfree()
ipv4: lock mtu in fnhe when received PMTU < net.ipv4.route.min_pmtu
sunvnet: does not support GSO for sctp
drm/imx: move arming of the vblank event to atomic_flush
net: Fix vlan untag for bridge and vlan_dev with reorder_hdr off
batman-adv: fix header size check in batadv_dbg_arp()
batman-adv: Fix skbuff rcsum on packet reroute
vti4: Don't count header length twice on tunnel setup
vti4: Don't override MTU passed on link creation via IFLA_MTU
perf/cgroup: Fix child event counting bug
brcmfmac: Fix check for ISO3166 code
kbuild: make scripts/adjust_autoksyms.sh robust against timestamp races
RDMA/ucma: Correct option size check using optlen
RDMA/qedr: fix QP's ack timeout configuration
RDMA/qedr: Fix rc initialization on CNQ allocation failure
mm/mempolicy.c: avoid use uninitialized preferred_node
mm, thp: do not cause memcg oom for thp
selftests: ftrace: Add probe event argument syntax testcase
selftests: ftrace: Add a testcase for string type with kprobe_event
selftests: ftrace: Add a testcase for probepoint
batman-adv: fix multicast-via-unicast transmission with AP isolation
batman-adv: fix packet loss for broadcasted DHCP packets to a server
ARM: 8748/1: mm: Define vdso_start, vdso_end as array
net: qmi_wwan: add BroadMobi BM806U 2020:2033
perf/x86/intel: Fix linear IP of PEBS real_ip on Haswell and later CPUs
llc: properly handle dev_queue_xmit() return value
builddeb: Fix header package regarding dtc source links
mm/kmemleak.c: wait for scan completion before disabling free
net: Fix untag for vlan packets without ethernet header
net: mvneta: fix enable of all initialized RXQs
sh: fix debug trap failure to process signals before return to user
nvme: don't send keep-alives to the discovery controller
x86/pgtable: Don't set huge PUD/PMD on non-leaf entries
x86/mm: Do not forbid _PAGE_RW before init for __ro_after_init
fs/proc/proc_sysctl.c: fix potential page fault while unregistering sysctl table
swap: divide-by-zero when zero length swap file on ssd
sr: get/drop reference to device in revalidate and check_events
Force log to disk before reading the AGF during a fstrim
cpufreq: CPPC: Initialize shared perf capabilities of CPUs
dp83640: Ensure against premature access to PHY registers after reset
mm/ksm: fix interaction with THP
mm: fix races between address_space dereference and free in page_evicatable
Btrfs: bail out on error during replay_dir_deletes
Btrfs: fix NULL pointer dereference in log_dir_items
btrfs: Fix possible softlock on single core machines
ocfs2/dlm: don't handle migrate lockres if already in shutdown
sched/rt: Fix rq->clock_update_flags < RQCF_ACT_SKIP warning
KVM: VMX: raise internal error for exception during invalid protected mode state
fscache: Fix hanging wait on page discarded by writeback
sparc64: Make atomic_xchg() an inline function rather than a macro.
net: bgmac: Fix endian access in bgmac_dma_tx_ring_free()
btrfs: tests/qgroup: Fix wrong tree backref level
Btrfs: fix copy_items() return value when logging an inode
btrfs: fix lockdep splat in btrfs_alloc_subvolume_writers
rxrpc: Fix Tx ring annotation after initial Tx failure
rxrpc: Don't treat call aborts as conn aborts
xen/acpi: off by one in read_acpi_id()
drivers: macintosh: rack-meter: really fix bogus memsets
ACPI: acpi_pad: Fix memory leak in power saving threads
powerpc/mpic: Check if cpu_possible() in mpic_physmask()
m68k: set dma and coherent masks for platform FEC ethernets
parisc/pci: Switch LBA PCI bus from Hard Fail to Soft Fail mode
hwmon: (nct6775) Fix writing pwmX_mode
powerpc/perf: Prevent kernel address leak to userspace via BHRB buffer
powerpc/perf: Fix kernel address leak via sampling registers
tools/thermal: tmon: fix for segfault
selftests: Print the test we're running to /dev/kmsg
net/mlx5: Protect from command bit overflow
ath10k: Fix kernel panic while using worker (ath10k_sta_rc_update_wk)
cxgb4: Setup FW queues before registering netdev
ima: Fallback to the builtin hash algorithm
virtio-net: Fix operstate for virtio when no VIRTIO_NET_F_STATUS
arm: dts: socfpga: fix GIC PPI warning
cpufreq: cppc_cpufreq: Fix cppc_cpufreq_init() failure path
zorro: Set up z->dev.dma_mask for the DMA API
bcache: quit dc->writeback_thread when BCACHE_DEV_DETACHING is set
ACPICA: Events: add a return on failure from acpi_hw_register_read
ACPICA: acpi: acpica: fix acpi operand cache leak in nseval.c
cxgb4: Fix queue free path of ULD drivers
i2c: mv64xxx: Apply errata delay only in standard mode
KVM: lapic: stop advertising DIRECTED_EOI when in-kernel IOAPIC is in use
perf top: Fix top.call-graph config option reading
perf stat: Fix core dump when flag T is used
IB/core: Honor port_num while resolving GID for IB link layer
regulator: gpio: Fix some error handling paths in 'gpio_regulator_probe()'
spi: bcm-qspi: fIX some error handling paths
MIPS: ath79: Fix AR724X_PLL_REG_PCIE_CONFIG offset
PCI: Restore config space on runtime resume despite being unbound
ipmi_ssif: Fix kernel panic at msg_done_handler
powerpc: Add missing prototype for arch_irq_work_raise()
f2fs: fix to check extent cache in f2fs_drop_extent_tree
perf/core: Fix perf_output_read_group()
drm/panel: simple: Fix the bus format for the Ontat panel
hwmon: (pmbus/max8688) Accept negative page register values
hwmon: (pmbus/adm1275) Accept negative page register values
perf/x86/intel: Properly save/restore the PMU state in the NMI handler
cdrom: do not call check_disk_change() inside cdrom_open()
perf/x86/intel: Fix large period handling on Broadwell CPUs
perf/x86/intel: Fix event update for auto-reload
arm64: dts: qcom: Fix SPI5 config on MSM8996
soc: qcom: wcnss_ctrl: Fix increment in NV upload
gfs2: Fix fallocate chunk size
x86/devicetree: Initialize device tree before using it
x86/devicetree: Fix device IRQ settings in DT
ALSA: vmaster: Propagate slave error
dmaengine: pl330: fix a race condition in case of threaded irqs
dmaengine: rcar-dmac: Check the done lists in rcar_dmac_chan_get_residue()
enic: enable rq before updating rq descriptors
hwrng: stm32 - add reset during probe
dmaengine: qcom: bam_dma: get num-channels and num-ees from dt
net: stmmac: ensure that the device has released ownership before reading data
net: stmmac: ensure that the MSS desc is the last desc to set the own bit
cpufreq: Reorder cpufreq_online() error code path
PCI: Add function 1 DMA alias quirk for Marvell 88SE9220
udf: Provide saner default for invalid uid / gid
ARM: dts: bcm283x: Fix probing of bcm2835-i2s
audit: return on memory error to avoid null pointer dereference
rcu: Call touch_nmi_watchdog() while printing stall warnings
pinctrl: sh-pfc: r8a7796: Fix MOD_SEL register pin assignment for SSI pins group
MIPS: Octeon: Fix logging messages with spurious periods after newlines
drm/rockchip: Respect page offset for PRIME mmap calls
x86/apic: Set up through-local-APIC mode on the boot CPU if 'noapic' specified
perf tests: Use arch__compare_symbol_names to compare symbols
perf report: Fix memory corruption in --branch-history mode --branch-history
selftests/net: fixes psock_fanout eBPF test case
netlabel: If PF_INET6, check sk_buff ip header version
regmap: Correct comparison in regmap_cached
ARM: dts: imx7d: cl-som-imx7: fix pinctrl_enet
ARM: dts: porter: Fix HDMI output routing
regulator: of: Add a missing 'of_node_put()' in an error handling path of 'of_regulator_match()'
pinctrl: msm: Use dynamic GPIO numbering
kdb: make "mdr" command repeat
Linux 4.9.104
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
[ Upstream commit 4bbb3e0e82 ]
When we have a bridge with vlan_filtering on and a vlan device on top of
it, packets would be corrupted in skb_vlan_untag() called from
br_dev_xmit().
The problem sits in skb_reorder_vlan_header() used in skb_vlan_untag(),
which makes use of skb->mac_len. In this function mac_len is meant for
handling rx path with vlan devices with reorder_header disabled, but in
tx path mac_len is typically 0 and cannot be used, which is the problem
in this case.
The current code even does not properly handle rx path (skb_vlan_untag()
called from __netif_receive_skb_core()) with reorder_header off actually.
In rx path single tag case, it works as follows:
- Before skb_reorder_vlan_header()
mac_header data
v v
+-------------------+-------------+------+----
| ETH | VLAN | ETH |
| ADDRS | TPID | TCI | TYPE |
+-------------------+-------------+------+----
<-------- mac_len --------->
<------------->
to be removed
- After skb_reorder_vlan_header()
mac_header data
v v
+-------------------+------+----
| ETH | ETH |
| ADDRS | TYPE |
+-------------------+------+----
<-------- mac_len --------->
This is ok, but in rx double tag case, it corrupts packets:
- Before skb_reorder_vlan_header()
mac_header data
v v
+-------------------+-------------+-------------+------+----
| ETH | VLAN | VLAN | ETH |
| ADDRS | TPID | TCI | TPID | TCI | TYPE |
+-------------------+-------------+-------------+------+----
<--------------- mac_len ---------------->
<------------->
should be removed
<--------------------------->
actually will be removed
- After skb_reorder_vlan_header()
mac_header data
v v
+-------------------+------+----
| ETH | ETH |
| ADDRS | TYPE |
+-------------------+------+----
<--------------- mac_len ---------------->
So, two of vlan tags are both removed while only inner one should be
removed and mac_header (and mac_len) is broken.
skb_vlan_untag() is meant for removing the vlan header at (skb->data - 2),
so use skb->data and skb->mac_header to calculate the right offset.
Reported-by: Brandon Carpenter <brandon.carpenter@cypherpath.com>
Fixes: a6e18ff111 ("vlan: Fix untag operations of stacked vlans with REORDER_HEADER off")
Signed-off-by: Toshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fscrypt currently only supports AES encryption. However, many low-end
mobile devices have older CPUs that don't have AES instructions, e.g.
the ARMv8 Cryptography Extensions. Currently, user data on such devices
is not encrypted at rest because AES is too slow, even when the NEON
bit-sliced implementation of AES is used. Unfortunately, it is
infeasible to encrypt these devices at all when AES is the only option.
Therefore, this patch updates fscrypt to support the Speck block cipher,
which was recently added to the crypto API. The C implementation of
Speck is not especially fast, but Speck can be implemented very
efficiently with general-purpose vector instructions, e.g. ARM NEON.
For example, on an ARMv7 processor, we measured the NEON-accelerated
Speck128/256-XTS at 69 MB/s for both encryption and decryption, while
AES-256-XTS with the NEON bit-sliced implementation was only 22 MB/s
encryption and 19 MB/s decryption.
There are multiple variants of Speck. This patch only adds support for
Speck128/256, which is the variant with a 128-bit block size and 256-bit
key size -- the same as AES-256. This is believed to be the most secure
variant of Speck, and it's only about 6% slower than Speck128/128.
Speck64/128 would be at least 20% faster because it has 20% rounds, and
it can be even faster on CPUs that can't efficiently do the 64-bit
operations needed for Speck128. However, Speck64's 64-bit block size is
not preferred security-wise. ARM NEON also supports the needed 64-bit
operations even on 32-bit CPUs, resulting in Speck128 being fast enough
for our targeted use cases so far.
The chosen modes of operation are XTS for contents and CTS-CBC for
filenames. These are the same modes of operation that fscrypt defaults
to for AES. Note that as with the other fscrypt modes, Speck will not
be used unless userspace chooses to use it. Nor are any of the existing
modes (which are all AES-based) being removed, of course.
We intentionally don't make CONFIG_FS_ENCRYPTION select
CONFIG_CRYPTO_SPECK, so people will have to enable Speck support
themselves if they need it. This is because we shouldn't bloat the
FS_ENCRYPTION dependencies with every new cipher, especially ones that
aren't recommended for most users. Moreover, CRYPTO_SPECK is just the
generic implementation, which won't be fast enough for many users; in
practice, they'll need to enable CRYPTO_SPECK_NEON to get acceptable
performance.
More details about our choice of Speck can be found in our patches that
added Speck to the crypto API, and the follow-on discussion threads.
We're planning a publication that explains the choice in more detail.
But briefly, we can't use ChaCha20 as we previously proposed, since it
would be insecure to use a stream cipher in this context, with potential
IV reuse during writes on f2fs and/or on wear-leveling flash storage.
We also evaluated many other lightweight and/or ARX-based block ciphers
such as Chaskey-LTS, RC5, LEA, CHAM, Threefish, RC6, NOEKEON, SPARX, and
XTEA. However, all had disadvantages vs. Speck, such as insufficient
performance with NEON, much less published cryptanalysis, or an
insufficient security level. Various design choices in Speck make it
perform better with NEON than competing ciphers while still having a
security margin similar to AES, and in the case of Speck128 also the
same available security levels. Unfortunately, Speck does have some
political baggage attached -- it's an NSA designed cipher, and was
rejected from an ISO standard (though for context, as far as I know none
of the above-mentioned alternatives are ISO standards either).
Nevertheless, we believe it is a good solution to the problem from a
technical perspective.
Certain algorithms constructed from ChaCha or the ChaCha permutation,
such as MEM (Masked Even-Mansour) or HPolyC, may also meet our
performance requirements. However, these are new constructions that
need more time to receive the cryptographic review and acceptance needed
to be confident in their security. HPolyC hasn't been published yet,
and we are concerned that MEM makes stronger assumptions about the
underlying permutation than the ChaCha stream cipher does. In contrast,
the XTS mode of operation is relatively well accepted, and Speck has
over 70 cryptanalysis papers. Of course, these ChaCha-based algorithms
can still be added later if they become ready.
The best known attack on Speck128/256 is a differential cryptanalysis
attack on 25 of 34 rounds with 2^253 time complexity and 2^125 chosen
plaintexts, i.e. only marginally faster than brute force. There is no
known attack on the full 34 rounds.
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
(cherry-picked from commit 12d28f7955https://git.kernel.org/pub/scm/linux/kernel/git/tytso/fscrypt.git master)
(dropped Documentation/filesystems/fscrypt.rst change)
(fixed merge conflict in fs/crypto/keyinfo.c)
Change-Id: I62c632044dfd06a2c5b74c2fb058f9c3b8af0add
Signed-off-by: Eric Biggers <ebiggers@google.com>
Changes in 4.9.103
net/mlx4_core: Fix error handling in mlx4_init_port_info.
net: test tailroom before appending to linear skb
packet: in packet_snd start writing at link layer allocation
sock_diag: fix use-after-free read in __sk_free
tcp: purge write queue in tcp_connect_init()
vmxnet3: set the DMA mask before the first DMA map operation
vmxnet3: use DMA memory barriers where required
ext2: fix a block leak
s390: add assembler macros for CPU alternatives
s390: move expoline assembler macros to a header
s390/crc32-vx: use expoline for indirect branches
s390/lib: use expoline for indirect branches
s390/ftrace: use expoline for indirect branches
s390/kernel: use expoline for indirect branches
s390: move spectre sysfs attribute code
s390: extend expoline to BC instructions
s390: use expoline thunks in the BPF JIT
scsi: libsas: defer ata device eh commands to libata
scsi: sg: allocate with __GFP_ZERO in sg_build_indirect()
scsi: zfcp: fix infinite iteration on ERP ready list
cfg80211: limit wiphy names to 128 bytes
hfsplus: stop workqueue when fill_super() failed
x86/kexec: Avoid double free_page() upon do_kexec_load() failure
usb: gadget: f_uac2: fix bFirstInterface in composite gadget
usb: dwc3: Undo PHY init if soft reset fails
usb: dwc3: omap: don't miss events during suspend/resume
usb: gadget: core: Fix use-after-free of usb_request
usb: gadget: fsl_udc_core: fix ep valid checks
usb: dwc2: Fix dwc2_hsotg_core_init_disconnected()
usb: cdc_acm: prevent race at write to acm while system resumes
USB: OHCI: Fix NULL dereference in HCDs using HCD_LOCAL_MEM
net/usb/qmi_wwan.c: Add USB id for lt4120 modem
net-usb: add qmi_wwan if on lte modem wistron neweb d18q1
Bluetooth: btusb: Add USB ID 7392:a611 for Edimax EW-7611ULB
ALSA: usb-audio: Add native DSD support for Luxman DA-06
usb: dwc3: Add SoftReset PHY synchonization delay
usb: dwc3: Update DWC_usb31 GTXFIFOSIZ reg fields
xhci: zero usb device slot_id member when disabling and freeing a xhci slot
usb: dwc2: Fix interval type issue
usb: dwc2: host: Fix transaction errors in host mode
usb: gadget: ffs: Let setup() return USB_GADGET_DELAYED_STATUS
usb: gadget: ffs: Execute copy_to_user() with USER_DS set
usb: gadget: udc: change comparison to bitshift when dealing with a mask
usb: gadget: composite: fix incorrect handling of OS desc requests
media: em28xx: USB bulk packet size fix
Bluetooth: btusb: Add device ID for RTL8822BE
staging: lustre: fix bug in osc_enter_cache_try
staging: rtl8192u: return -ENOMEM on failed allocation of priv->oldaddr
staging: lustre: lmv: correctly iput lmo_root
crypto: sunxi-ss - Add MODULE_ALIAS to sun4i-ss
scsi: fas216: fix sense buffer initialization
scsi: ufs: Enable quirk to ignore sending WRITE_SAME command
scsi: bnx2fc: Fix check in SCSI completion handler for timed out request
scsi: sym53c8xx_2: iterator underflow in sym_getsync()
scsi: mptfusion: Add bounds check in mptctl_hp_targetinfo()
scsi: qla2xxx: Avoid triggering undefined behavior in qla2x00_mbx_completion()
scsi: storvsc: Increase cmd_per_lun for higher speed devices
scsi: aacraid: fix shutdown crash when init fails
scsi: qla4xxx: skip error recovery in case of register disconnect.
scsi: mpt3sas: Do not mark fw_event workqueue as WQ_MEM_RECLAIM
scsi: sd: Keep disk read-only when re-reading partition
scsi: aacraid: Insure command thread is not recursively stopped
scsi: mvsas: fix wrong endianness of sgpio api
scsi: lpfc: Fix issue_lip if link is disabled
scsi: lpfc: Fix soft lockup in lpfc worker thread during LIP testing
scsi: lpfc: Fix frequency of Release WQE CQEs
ASoC: au1x: Fix timeout tests in au1xac97c_ac97_read()
ASoC: topology: create TLV data for dapm widgets
ASoC: samsung: i2s: Ensure the RCLK rate is properly determined
clk: rockchip: Fix wrong parent for SDMMC phase clock for rk3228
clk: Don't show the incorrect clock phase
clk: tegra: Fix pll_u rate configuration
media: cx23885: Set subdev host data to clk_freq pointer
clk: rockchip: Prevent calculating mmc phase if clock rate is zero
clk: samsung: s3c2410: Fix PLL rates
clk: samsung: exynos7: Fix PLL rates
clk: samsung: exynos5260: Fix PLL rates
clk: samsung: exynos5433: Fix PLL rates
clk: samsung: exynos5250: Fix PLL rates
clk: samsung: exynos3250: Fix PLL rates
media: dmxdev: fix error code for invalid ioctls
media: cx23885: Override 888 ImpactVCBe crystal frequency
media: s3c-camif: fix out-of-bounds array access
media: vb2: Fix videobuf2 to map correct area
media: vivid: fix incorrect capabilities for radio
media: cx25821: prevent out-of-bounds read on array card
serial: xuartps: Fix out-of-bounds access through DT alias
serial: samsung: Fix out-of-bounds access through serial port index
serial: mxs-auart: Fix out-of-bounds access through serial port index
serial: imx: Fix out-of-bounds access through serial port index
serial: fsl_lpuart: Fix out-of-bounds access through DT alias
serial: arc_uart: Fix out-of-bounds access through DT alias
serial: 8250: Don't service RX FIFO if interrupts are disabled
rtc: snvs: Fix usage of snvs_rtc_enable
rtc: hctosys: Ensure system time doesn't overflow time_t
rtc: tx4939: avoid unintended sign extension on a 24 bit shift
Linux 4.9.103
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
commit a7cfebcb75 upstream.
There's currently no limit on wiphy names, other than netlink
message size and memory limitations, but that causes issues when,
for example, the wiphy name is used in a uevent, e.g. in rfkill
where we use the same name for the rfkill instance, and then the
buffer there is "only" 2k for the environment variables.
This was reported by syzkaller, which used a 4k name.
Limit the name to something reasonable, I randomly picked 128.
Reported-by: syzbot+230d9e642a85d3fec29c@syzkaller.appspotmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Changes in 4.9.102
usbip: usbip_host: refine probe and disconnect debug msgs to be useful
usbip: usbip_host: delete device from busid_table after rebind
usbip: usbip_host: run rebind from exit when module is removed
usbip: usbip_host: fix NULL-ptr deref and use-after-free errors
usbip: usbip_host: fix bad unlock balance during stub_probe()
ALSA: usb: mixer: volume quirk for CM102-A+/102S+
ALSA: hda: Add Lenovo C50 All in one to the power_save blacklist
ALSA: control: fix a redundant-copy issue
spi: pxa2xx: Allow 64-bit DMA
spi: bcm-qspi: Avoid setting MSPI_CDRAM_PCS for spi-nor master
spi: bcm-qspi: Always read and set BSPI_MAST_N_BOOT_CTRL
KVM: arm/arm64: VGIC/ITS: protect kvm_read_guest() calls with SRCU lock
powerpc: Don't preempt_disable() in show_cpuinfo()
signals: avoid unnecessary taking of sighand->siglock
tracing/x86/xen: Remove zero data size trace events trace_xen_mmu_flush_tlb{_all}
netfilter: nf_tables: can't fail after linking rule into active rule list
i2c: designware: fix poll-after-enable regression
powerpc/powernv: Fix NVRAM sleep in invalid context when crashing
mm: don't allow deferred pages with NEED_PER_CPU_KM
s390/qdio: fix access to uninitialized qdio_q fields
s390/cpum_sf: ensure sample frequency of perf event attributes is non-zero
s390/qdio: don't release memory in qdio_setup_irq()
s390: remove indirect branch from do_softirq_own_stack
x86/pkeys: Override pkey when moving away from PROT_EXEC
x86/pkeys: Do not special case protection key 0
efi: Avoid potential crashes, fix the 'struct efi_pci_io_protocol_32' definition for mixed mode
ARM: 8771/1: kprobes: Prohibit kprobes on do_undefinstr
tick/broadcast: Use for_each_cpu() specially on UP kernels
ARM: 8769/1: kprobes: Fix to use get_kprobe_ctlblk after irq-disabed
ARM: 8770/1: kprobes: Prohibit probing on optimized_callback
ARM: 8772/1: kprobes: Prohibit kprobes on get_user functions
Btrfs: fix xattr loss after power failure
btrfs: fix crash when trying to resume balance without the resume flag
x86/amd: don't set X86_BUG_SYSRET_SS_ATTRS when running under Xen
btrfs: fix reading stale metadata blocks after degraded raid1 mounts
x86/nospec: Simplify alternative_msr_write()
x86/bugs: Concentrate bug detection into a separate function
x86/bugs: Concentrate bug reporting into a separate function
x86/bugs: Read SPEC_CTRL MSR during boot and re-use reserved bits
x86/bugs, KVM: Support the combination of guest and host IBRS
x86/bugs: Expose /sys/../spec_store_bypass
x86/cpufeatures: Add X86_FEATURE_RDS
x86/bugs: Provide boot parameters for the spec_store_bypass_disable mitigation
x86/bugs/intel: Set proper CPU features and setup RDS
x86/bugs: Whitelist allowed SPEC_CTRL MSR values
x86/bugs/AMD: Add support to disable RDS on Fam[15,16,17]h if requested
x86/KVM/VMX: Expose SPEC_CTRL Bit(2) to the guest
x86/speculation: Create spec-ctrl.h to avoid include hell
prctl: Add speculation control prctls
x86/process: Optimize TIF checks in __switch_to_xtra()
x86/process: Correct and optimize TIF_BLOCKSTEP switch
x86/process: Optimize TIF_NOTSC switch
x86/process: Allow runtime control of Speculative Store Bypass
x86/speculation: Add prctl for Speculative Store Bypass mitigation
nospec: Allow getting/setting on non-current task
proc: Provide details on speculation flaw mitigations
seccomp: Enable speculation flaw mitigations
x86/bugs: Make boot modes __ro_after_init
prctl: Add force disable speculation
seccomp: Use PR_SPEC_FORCE_DISABLE
seccomp: Add filter flag to opt-out of SSB mitigation
seccomp: Move speculation migitation control to arch code
x86/speculation: Make "seccomp" the default mode for Speculative Store Bypass
x86/bugs: Rename _RDS to _SSBD
proc: Use underscores for SSBD in 'status'
Documentation/spec_ctrl: Do some minor cleanups
x86/bugs: Fix __ssb_select_mitigation() return type
x86/bugs: Make cpu_show_common() static
x86/bugs: Fix the parameters alignment and missing void
x86/cpu: Make alternative_msr_write work for 32-bit code
KVM: SVM: Move spec control call after restore of GS
x86/speculation: Use synthetic bits for IBRS/IBPB/STIBP
x86/cpufeatures: Disentangle MSR_SPEC_CTRL enumeration from IBRS
x86/cpufeatures: Disentangle SSBD enumeration
x86/cpu/AMD: Fix erratum 1076 (CPB bit)
x86/cpufeatures: Add FEATURE_ZEN
x86/speculation: Handle HT correctly on AMD
x86/bugs, KVM: Extend speculation control for VIRT_SPEC_CTRL
x86/speculation: Add virtualized speculative store bypass disable support
x86/speculation: Rework speculative_store_bypass_update()
x86/bugs: Unify x86_spec_ctrl_{set_guest,restore_host}
x86/bugs: Expose x86_spec_ctrl_base directly
x86/bugs: Remove x86_spec_ctrl_set()
x86/bugs: Rework spec_ctrl base and mask logic
x86/speculation, KVM: Implement support for VIRT_SPEC_CTRL/LS_CFG
KVM: SVM: Implement VIRT_SPEC_CTRL support for SSBD
x86/bugs: Rename SSBD_NO to SSB_NO
Linux 4.9.102
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
commit 00a02d0c50 upstream
If a seccomp user is not interested in Speculative Store Bypass mitigation
by default, it can set the new SECCOMP_FILTER_FLAG_SPEC_ALLOW flag when
adding filters.
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>