Commit Graph

1066174 Commits

Author SHA1 Message Date
huangqiujun
477cd8fd78 ANDROID: GKI: Update symbols to symbol list
Update symbols to symbol list externed by oem modules.

Leaf changes summary: 18 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 13 Added
functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 5 Added
variables

13 Added functions:

  [A] 'function int __traceiter_android_vh_kmalloc_slab(void*, unsigned
int, gfp_t, kmem_cache**)'
  [A] 'function int __traceiter_android_vh_save_track_hash(void*, bool,
unsigned long int)'
  [A] 'function int __traceiter_android_vh_save_vmalloc_stack(void*,
unsigned long int, vm_struct*)'
  [A] 'function int __traceiter_android_vh_show_stack_hash(void*,
seq_file*, vm_struct*)'
  [A] 'function void cpufreq_update_limits(unsigned int)'
  [A] 'function bool inode_owner_or_capable(const inode*)'
  [A] 'function int inode_permission(inode*, int)'
  [A] 'function void on_each_cpu_cond(smp_cond_func_t, smp_call_func_t,
void*, bool)'
  [A] 'function void pm_get_active_wakeup_sources(char*, size_t)'
  [A] 'function int rtc_read_alarm(rtc_device*, rtc_wkalrm*)'
  [A] 'function int rtc_set_alarm(rtc_device*, rtc_wkalrm*)'
  [A] 'function u8 sdio_writeb_readb(sdio_func*, u8, unsigned int,
int*)'
  [A] 'function unsigned long int timespec64_to_jiffies(const
timespec64*)'

5 Added variables:

  [A] 'tracepoint __tracepoint_android_vh_kmalloc_slab'
  [A] 'tracepoint __tracepoint_android_vh_save_track_hash'
  [A] 'tracepoint __tracepoint_android_vh_save_vmalloc_stack'
  [A] 'tracepoint __tracepoint_android_vh_show_stack_hash'
  [A] 'static_key_false memcg_kmem_enabled_key'

Bug: 193384408

Change-Id: Iafe49d5a0ca39542d7f109e79f496346009ac7b7
Signed-off-by: huangqiujun <huangqiujun@oppo.com>
2021-09-28 17:23:59 +00:00
Gao Xiang
dcd77f0b74 UPSTREAM: erofs: fix 1 lcluster-sized pcluster for big pcluster
If the 1st NONHEAD lcluster of a pcluster isn't CBLKCNT lcluster type
rather than a HEAD or PLAIN type instead, which means its pclustersize
_must_ be 1 lcluster (since its uncompressed size < 2 lclusters),
as illustrated below:

       HEAD     HEAD / PLAIN    lcluster type
   ____________ ____________
  |_:__________|_________:__|   file data (uncompressed)
   .                .
  .____________.
  |____________|                pcluster data (compressed)

Such on-disk case was explained before [1] but missed to be handled
properly in the runtime implementation.

It can be observed if manually generating 1 lcluster-sized pcluster
with 2 lclusters (thus CBLKCNT doesn't exist.) Let's fix it now.

[1] https://lore.kernel.org/r/20210407043927.10623-1-xiang@kernel.org

Link: https://lore.kernel.org/r/20210510064715.29123-1-xiang@kernel.org
Fixes: cec6e93bea ("erofs: support parsing big pcluster compress indexes")
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <xiang@kernel.org>

Bug: 201372112
Change-Id: I7e46baa993790f8908287ac36e19d32e536116db
(cherry picked from commit 0852b6ca94)
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
2021-09-28 08:33:46 +00:00
Gao Xiang
e085d3f0d0 UPSTREAM: erofs: enable big pcluster feature
Enable COMPR_CFGS and BIG_PCLUSTER since the implementations are
all settled properly.

Link: https://lore.kernel.org/r/20210407043927.10623-11-xiang@kernel.org
Acked-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>

Bug: 201372112
Change-Id: I85a9045c146b6877eb371904e82d0481e21bbb75
(cherry picked from commit 8e6c8fa9f2)
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
2021-09-28 08:33:20 +00:00
Gao Xiang
ed0607cc52 UPSTREAM: erofs: support decompress big pcluster for lz4 backend
Prior to big pcluster, there was only one compressed page so it'd
easy to map this. However, when big pcluster is enabled, more work
needs to be done to handle multiple compressed pages. In detail,

 - (maptype 0) if there is only one compressed page + no need
   to copy inplace I/O, just map it directly what we did before;

 - (maptype 1) if there are more compressed pages + no need to
   copy inplace I/O, vmap such compressed pages instead;

 - (maptype 2) if inplace I/O needs to be copied, use per-CPU
   buffers for decompression then.

Another thing is how to detect inplace decompression is feasable or
not (it's still quite easy for non big pclusters), apart from the
inplace margin calculation, inplace I/O page reusing order is also
needed to be considered for each compressed page. Currently, if the
compressed page is the xth page, it shouldn't be reused as [0 ...
nrpages_out - nrpages_in + x], otherwise a full copy will be triggered.

Although there are some extra optimization ideas for this, I'd like
to make big pcluster work correctly first and obviously it can be
further optimized later since it has nothing with the on-disk format
at all.

Link: https://lore.kernel.org/r/20210407043927.10623-10-xiang@kernel.org
Acked-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>

Bug: 201372112
Change-Id: I8e8b90bd0a401850ea81d895dc55e5d8a2772ed7
(cherry picked from commit 598162d050)
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
2021-09-28 08:32:20 +00:00
Gao Xiang
d34cb6cdc0 UPSTREAM: erofs: support parsing big pcluster compact indexes
Different from non-compact indexes, several lclusters are packed
as the compact form at once and an unique base blkaddr is stored for
each pack, so each lcluster index would take less space on avarage
(e.g. 2 bytes for COMPACT_2B.) btw, that is also why BIG_PCLUSTER
switch should be consistent for compact head0/1.

Prior to big pcluster, the size of all pclusters was 1 lcluster.
Therefore, when a new HEAD lcluster was scanned, blkaddr would be
bumped by 1 lcluster. However, that way doesn't work anymore for
big pcluster since we actually don't know the compressed size of
pclusters in advance (before reading CBLKCNT lcluster).

So, instead, let blkaddr of each pack be the first pcluster blkaddr
with a valid CBLKCNT, in detail,

 1) if CBLKCNT starts at the pack, this first valid pcluster is
    itself, e.g.
  _____________________________________________________________
 |_CBLKCNT0_|_NONHEAD_| .. |_HEAD_|_CBLKCNT1_| ... |_HEAD_| ...
 ^ = blkaddr base          ^ += CBLKCNT0           ^ += CBLKCNT1

 2) if CBLKCNT doesn't start at the pack, the first valid pcluster
    is the next pcluster, e.g.
  _________________________________________________________
 | NONHEAD_| .. |_HEAD_|_CBLKCNT0_| ... |_HEAD_|_HEAD_| ...
                ^ = blkaddr base        ^ += CBLKCNT0
                                               ^ += 1

When a CBLKCNT is found, blkaddr will be increased by CBLKCNT
lclusters, or a new HEAD is found immediately, bump blkaddr by 1
instead (see the picture above.)

Also noted if CBLKCNT is the end of the pack, instead of storing
delta1 (distance of the next HEAD lcluster) as normal NONHEADs,
it still uses the compressed block count (delta0) since delta1
can be calculated indirectly but the block count can't.

Adjust decoding logic to fit big pcluster compact indexes as well.

Link: https://lore.kernel.org/r/20210407043927.10623-9-xiang@kernel.org
Acked-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>

Bug: 201372112
Change-Id: I09d6bb4c9d390dc6169cb9dd4efbc7fd6b3be5d0
(cherry picked from commit b86269f438)
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
2021-09-28 08:31:56 +00:00
Gao Xiang
051d76b899 UPSTREAM: erofs: support parsing big pcluster compress indexes
When INCOMPAT_BIG_PCLUSTER sb feature is enabled, legacy compress indexes
will also have the same on-disk header compact indexes to keep per-file
configurations instead of leaving it zeroed.

If ADVISE_BIG_PCLUSTER is set for a file, CBLKCNT will be loaded for each
pcluster in this file by parsing 1st non-head lcluster.

Link: https://lore.kernel.org/r/20210407043927.10623-8-xiang@kernel.org
Acked-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>

Bug: 201372112
Change-Id: I97b8d1cc54e057789d22f1cdfafc21ed6a69b149
(cherry picked from commit cec6e93bea)
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
2021-09-28 08:31:46 +00:00
Gao Xiang
d149931601 UPSTREAM: erofs: adjust per-CPU buffers according to max_pclusterblks
Adjust per-CPU buffers on demand since big pcluster definition is
available. Also, bail out unsupported pcluster size according to
Z_EROFS_PCLUSTER_MAX_SIZE.

Link: https://lore.kernel.org/r/20210407043927.10623-7-xiang@kernel.org
Acked-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>

Bug: 201372112
Change-Id: I86665be0519f328614d93aa24cb06043655576b9
(cherry picked from commit 4fea63f7d7)
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
2021-09-28 08:31:21 +00:00
Gao Xiang
95a1d5df84 UPSTREAM: erofs: add big physical cluster definition
Big pcluster indicates the size of compressed data for each physical
pcluster is no longer fixed as block size, but could be more than 1
block (more accurately, 1 logical pcluster)

When big pcluster feature is enabled for head0/1, delta0 of the 1st
non-head lcluster index will keep block count of this pcluster in
lcluster size instead of 1. Or, the compressed size of pcluster
should be 1 lcluster if pcluster has no non-head lcluster index.

Also note that BIG_PCLUSTER feature reuses COMPR_CFGS feature since
it depends on COMPR_CFGS and will be released together.

Link: https://lore.kernel.org/r/20210407043927.10623-6-xiang@kernel.org
Acked-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>

Bug: 201372112
Change-Id: Ibd33f2764f4420f370f9293ed325efdba9ea70a7
(cherry picked from commit 5404c33010)
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
2021-09-28 08:30:24 +00:00
Gao Xiang
8043aaed1d UPSTREAM: erofs: fix up inplace I/O pointer for big pcluster
When picking up inplace I/O pages, it should be traversed in reverse
order in aligned with the traversal order of file-backed online pages.
Also, index should be updated together when preloading compressed pages.

Previously, only page-sized pclustersize was supported so no problem
at all. Also rename `compressedpages' to `icpage_ptr' to reflect its
functionality.

Link: https://lore.kernel.org/r/20210407043927.10623-5-xiang@kernel.org
Acked-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>

Bug: 201372112
Change-Id: I752769d004c18f74636bcfdea767572daa6f7072
(cherry picked from commit 81382f5f5c)
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
2021-09-28 08:29:52 +00:00
Gao Xiang
6ad2f8f169 UPSTREAM: erofs: introduce physical cluster slab pools
Since multiple pcluster sizes could be used at once, the number of
compressed pages will become a variable factor. It's necessary to
introduce slab pools rather than a single slab cache now.

This limits the pclustersize to 1M (Z_EROFS_PCLUSTER_MAX_SIZE), and
get rid of the obsolete EROFS_FS_CLUSTER_PAGE_LIMIT, which has no
use now.

Link: https://lore.kernel.org/r/20210407043927.10623-4-xiang@kernel.org
Acked-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>

Bug: 201372112
Change-Id: I821f3cf35820dbb320eeedc3ae934fd1d455dfd7
(cherry picked from commit 9f6cc76e6f)
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
2021-09-28 08:29:22 +00:00
Gao Xiang
432f58b100 UPSTREAM: erofs: introduce multipage per-CPU buffers
To deal the with the cases which inplace decompression is infeasible
for some inplace I/O. Per-CPU buffers was introduced to get rid of page
allocation latency and thrash for low-latency decompression algorithms
such as lz4.

For the big pcluster feature, introduce multipage per-CPU buffers to
keep such inplace I/O pclusters temporarily as well but note that
per-CPU pages are just consecutive virtually.

When a new big pcluster fs is mounted, its max pclustersize will be
read and per-CPU buffers can be growed if needed. Shrinking adjustable
per-CPU buffers is more complex (because we don't know if such size
is still be used), so currently just release them all when unloading.

Link: https://lore.kernel.org/r/20210409190630.19569-1-xiang@kernel.org
Acked-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>

Bug: 201372112
Change-Id: I5b3ab69ef58aaea635911b0c08cceeb4b38122da
(cherry picked from commit 524887347f)
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
2021-09-28 08:28:24 +00:00
Vladimir Zapolskiy
571c9a0bd3 UPSTREAM: erofs: remove a void EROFS_VERSION macro set in Makefile
Since commit 4f761fa253 ("erofs: rename errln/infoln/debugln to
erofs_{err, info, dbg}") the defined macro EROFS_VERSION has no affect,
therefore removing it from the Makefile is a non-functional change.

Link: https://lore.kernel.org/r/20201030122839.25431-1-vladimir@tuxera.com
Reviewed-by: Gao Xiang <hsiangkao@redhat.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Vladimir Zapolskiy <vladimir@tuxera.com>
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>

Bug: 201372112
Change-Id: I06df2883e85d4bfdc08bccb7aa7c014570cd156b
(cherry picked from commit a426ce9d67)
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
2021-09-28 08:27:55 +00:00
Gao Xiang
431d73396d UPSTREAM: erofs: reserve physical_clusterbits[]
Formal big pcluster design is actually more powerful / flexable than
the previous thought whose pclustersize was fixed as power-of-2 blocks,
which was obviously inefficient and space-wasting. Instead, pclustersize
can now be set independently for each pcluster, so various pcluster
sizes can also be used together in one file if mkfs wants (for example,
according to data type and/or compression ratio).

Let's get rid of previous physical_clusterbits[] setting (also notice
that corresponding on-disk fields are still 0 for now). Therefore,
head1/2 can be used for at most 2 different algorithms in one file and
again pclustersize is now independent of these.

Link: https://lore.kernel.org/r/20210407043927.10623-2-xiang@kernel.org
Acked-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>

Bug: 201372112
Change-Id: I7db236f06b202949b882a366b347f0c4e9dc0c3e
(cherry picked from commit 54e0b6c873)
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
2021-09-28 08:27:22 +00:00
Ruiqi Gong
89dbc6246a UPSTREAM: erofs: Clean up spelling mistakes found in fs/erofs
zmap.c: s/correspoinding/corresponding
zdata.c: s/endding/ending

Link: https://lore.kernel.org/r/20210331093920.31923-1-gongruiqi1@huawei.com
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Ruiqi Gong <gongruiqi1@huawei.com>
Reviewed-by: Gao Xiang <hsiangkao@redhat.com>
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>

Bug: 201372112
Change-Id: Ie848ca314462a8093fe94405b260c12b23b663b9
(cherry picked from commit fe6adcce7e)
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
2021-09-28 08:26:25 +00:00
Gao Xiang
ac1f14e9d5 UPSTREAM: erofs: add on-disk compression configurations
Add a bitmap for available compression algorithms and a variable-sized
on-disk table for compression options in preparation for upcoming big
pcluster and LZMA algorithm, which follows the end of super block.

To parse the compression options, the bitmap is scanned one by one.
For each available algorithm, there is data followed by 2-byte `length'
correspondingly (it's enough for most cases, or entire fs blocks should
be used.)

With such available algorithm bitmap, kernel itself can also refuse to
mount such filesystem if any unsupported compression algorithm exists.

Note that COMPR_CFGS feature will be enabled with BIG_PCLUSTER.

Link: https://lore.kernel.org/r/20210329100012.12980-1-hsiangkao@aol.com
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>

Bug: 201372112
Change-Id: I9f9c69d5cd05da8c5f17e3650511e83c5f89200e
(cherry picked from commit 14373711dd)
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
2021-09-28 08:26:06 +00:00
Gao Xiang
cd21e62366 UPSTREAM: erofs: introduce on-disk lz4 fs configurations
Introduce z_erofs_lz4_cfgs to store all lz4 configurations.
Currently it's only max_distance, but will be used for new
features later.

Link: https://lore.kernel.org/r/20210329012308.28743-4-hsiangkao@aol.com
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>

Bug: 201372112
Change-Id: Ib9873b530bdc82f8cc5e79ac85ede737d883ff12
(cherry picked from commit 46249cded1)
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
2021-09-28 08:25:23 +00:00
Gao Xiang
e17fd2ac9d UPSTREAM: erofs: introduce erofs_sb_has_xxx() helpers
Introduce erofs_sb_has_xxx() to make long checks short, especially
for later big pcluster & LZMA features.

Link: https://lore.kernel.org/r/20210329012308.28743-2-hsiangkao@aol.com
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>

Bug: 201372112
Change-Id: I145fa9c670284b609b59a246f918fb09dc562356
(cherry picked from commit de06a6a375)
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
2021-09-28 08:24:39 +00:00
Yue Hu
ba1a3d1fb2 UPSTREAM: erofs: don't use erofs_map_blocks() any more
Currently, erofs_map_blocks() will be called only from
erofs_{bmap, read_raw_page} which are all for uncompressed files.
So, the compression branch in erofs_map_blocks() is pointless. Let's
remove it and use erofs_map_blocks_flatmode() directly. Also update
related comments.

Link: https://lore.kernel.org/r/20210325071008.573-1-zbestahu@gmail.com
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Yue Hu <huyue2@yulong.com>
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>

Bug: 201372112
Change-Id: Ic3362c62d7c917f05f1cd11120ee6280a22221b8
(cherry picked from commit 8137824edd)
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
2021-09-28 08:23:24 +00:00
Gao Xiang
384b2cdaf8 UPSTREAM: erofs: complete a missing case for inplace I/O
Add a missing case which could cause unnecessary page allocation but
not directly use inplace I/O instead, which increases runtime extra
memory footprint.

The detail is, considering an online file-backed page, the right half
of the page is chosen to be cached (e.g. the end page of a readahead
request) and some of its data doesn't exist in managed cache, so the
pcluster will be definitely kept in the submission chain. (IOWs, it
cannot be decompressed without I/O, e.g., due to the bypass queue).

Currently, DELAYEDALLOC/TRYALLOC cases can be downgraded as NOINPLACE,
and stop online pages from inplace I/O. After this patch, unneeded page
allocations won't be observed in pickup_page_for_submission() then.

Link: https://lore.kernel.org/r/20210321183227.5182-1-hsiangkao@aol.com
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>

Bug: 201372112
Change-Id: I639279e87b749b8625d2a8e77055a9fc52073542
(cherry picked from commit 0b964600d3)
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
2021-09-28 08:21:51 +00:00
Wangqiang Guo
b7a3954400 input: touchscreen: Add support for gsl3673
Signed-off-by: Wangqiang Guo <kay.guo@rock-chips.com>
Change-Id: I950d827f97cbcaa019ce59b028f7effb5008587a
2021-09-28 14:22:43 +08:00
Wyon Bi
536c175f76 arm64: dts: rockchip: Add rk3566-evb2-lp4x-v10-edp.dts
Change-Id: Id56ca263872b42643a66dd063d541968436c4ca6
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2021-09-28 09:45:53 +08:00
Wyon Bi
0693dbf46c arm64: dts: rockchip: rk3568: Fix graph node unit address error
arch/arm64/boot/dts/rockchip/rk3568.dtsi:1905.18-1920.6: Warning
(graph_port): /hdmi@fe0a0000/ports/port: graph node unit address error,
expected "0"

Fixes: 1c82b603e3 ("arm64: dts: rockchip: rk3568: Add display subsystem dt node")
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: Id74c8d74f62885b445a91143038dbc1a07ab9881
2021-09-28 09:44:42 +08:00
Wyon Bi
2ab2d84fc0 drm/panel: simple: Add 'panel-timing' support
Fixes: dd03e97b25 ("drm/panel: simple: Get panel-desc data from DT")
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: If018e3dc650def01708bcc0e2672af9506c858c5
2021-09-28 09:13:32 +08:00
Minchan Kim
a9ac6ae90e BACKPORT: UPSTREAM: mm: fs: invalidate bh_lrus for only cold path
kernel test robot reported the regression of fio.write_iops[1] with [2].

Since lru_add_drain is called frequently, invalidate bh_lrus there could
increase bh_lrus cache miss ratio, which needs more IO in the end.

This patch moves the bh_lrus invalidation from the hot path( e.g.,
zap_page_range, pagevec_release) to cold path(i.e., lru_add_drain_all,
lru_cache_disable).

"Xing, Zhengjun" confirmed

: I test the patch, the regression reduced to -2.9%.

[1] https://lore.kernel.org/lkml/20210520083144.GD14190@xsang-OptiPlex-9020/
[2] 8cc621d2f4, mm: fs: invalidate BH LRU during page migration

Bug: 194673488
Link: https://lkml.kernel.org/r/20210907212347.1977686-1-minchan@kernel.org
(cherry picked from commit 243418e392)
[Chris: resolved conflicts due to Minchan's AOSP LRU commits]
Signed-off-by: Minchan Kim <minchan@kernel.org>
Reported-by: kernel test robot <oliver.sang@intel.com>
Reviewed-by: Chris Goldsworthy <cgoldswo@codeaurora.org>
Tested-by: "Xing, Zhengjun" <zhengjun.xing@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Chris Goldsworthy <quic_cgoldswo@quicinc.com>
Change-Id: Icc5e456b058df516480b4378853464d6d7b43505
2021-09-27 17:48:37 -07:00
Guangming Cao
49af2e35d5 FROMLIST: dma-buf: support users to change dma_buf.name
User space user can call DMA_BUF_SET_NAME to set dma_buf.name,
but until now we can't set it at kernel side, it's difficult to debug
kernel dma_buf users.

There are some kernel users of dma_heap also need it at MTK,
such as camera, it's also have a allocator for other camera part,
unlike most case in userspace, it's in kernel.
For debug buffer owner, we need add it to let it can set debug name
for each dmabuf, so that we can know dmabuf owner by dma_buf.name.

Bug: 193623372
Link: https://lore.kernel.org/patchwork/patch/1459719/
Change-Id: Iac5c6b8838b9b4d976f4525d000e17a3abab94f6
Signed-off-by: Guangming Cao <Guangming.Cao@mediatek.com>
2021-09-27 22:58:57 +00:00
Liangliang Li
3b1f439841 ANDROID: GKI: Update symbol list for vivo
Leaf changes summary: 1 artifact changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 1 Added variable

1 Added variable:

  [A] 'tracepoint __tracepoint_android_rvh_refrigerator'

Bug: 201184466
Change-Id: I135ebbc5cf8a2ac6c41da523c4f222887b9af440
Signed-off-by: Liangliang Li <liliangliang@vivo.com>
2021-09-27 18:15:57 +00:00
Cai YiWei
9b386f8693 media: rockchip: isp: fix warn of v4l_enum_fmt
WARNING: CPU: 0 PID: 391 at drivers/media/v4l2-core/v4l2-ioctl.c:1476 v4l_enum_fmt+0x20c8/0x2114

Change-Id: I5343a5c727f3f57aa9f430dedc130cb409b4d022
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-09-27 18:42:19 +08:00
Sandy Huang
b41d964692 drm/rockchip: vop2: externd rockchip_drm_crtc from drm_crtc
externd rockchip_drm_crtc from drm_crtc, so we can add more private
parameter for dump buffer function.

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I9e0450cafe9d184ac4d9daad03749ade1302f249
2021-09-27 18:35:37 +08:00
Sandy Huang
681930bf2d drm/rockchip: vop: externd rockchip_drm_crtc from drm_crtc
externd rockchip_drm_crtc from drm_crtc, so we can add more private
parameter for dump buffer function.

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I56ca9c08d7d2bb19de544d56c9bc883d5b880da1
2021-09-27 18:12:42 +08:00
Sandy Huang
c7098c10c2 drm/rockchip: add a debug node to dump buf from userspace
dump path: /data/
debug node: /d/dri/0/ff900000.vop/vop_dump/dump
dump cmd:
    echo dump    > dump to dump one frame
    echo dumpon  > dump to start vop keep dumping
    echo dumpoff > dump to stop keep dumping
    echo dumpn   > dump n is the number of dump times

Change-Id: Id5fefa428db1b5669ceae418cd8bddfa52e52f61
Signed-off-by: Shixiang Zheng <shixiang.zheng@rock-chips.com>
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2021-09-27 18:11:38 +08:00
Andy Yan
e013d2544c drm/rockchip: vop2: Assign plane for vp by plane_mask
Change-Id: I6cbd87a5c4ecab7a54f30f0a6bfdd8721f86cce9
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2021-09-27 18:09:28 +08:00
Bicycle Tsai
c82dbcbec1 BACKPORT: ASoC: soc-pcm: Get all BEs along DAPM path
dpcm_end_walk_at_be() stops the graph walk when first BE is found for
the given FE component. In a component model we may want to connect
multiple DAIs from different components. A new flag is introduced in
'snd_soc_card', which when set allows DAI/component chaining. Later
PCM operations can be called for all these listed components for a
valid DAPM path.

Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Link:
https://lore.kernel.org/r/1604329814-24779-3-git-send-email-spujar@nvidia.com
Signed-off-by: Mark Brown <broonie@kernel.org>

Bug: 198732156
(cherry picked from commit aa293777bf)

[ refactored to avoid breaking KMI ]
ALSA machine driver can setup component_chaining like below code slice.

static int my_board_late_probe(struct snd_soc_card *card)
{
	struct snd_soc_card_ext *card_ext =
		container_of(card, struct snd_soc_card_ext, card);

	card_ext->component_chaining = 1;

	return 0;
}

static struct snd_soc_card my_board_card = {
	.name = MY_BOARD_NAME,
	.owner = THIS_MODULE,
	.dai_link = my_board_dai_links,
	.num_links = ARRAY_SIZE(my_board_dai_links),
	.late_probe = my_board_late_probe,
};

Change-Id: Icc9e9b120e721a620f7c9f49515342422f80edb7
Signed-off-by: Bicycle Tsai <bicycle.tsai@mediatek.com>
2021-09-27 09:43:32 +00:00
Algea Cao
054249037d drm/bridge: synopsys: dw-hdmi: Fix display err when system boot set hdmi properties
Linux system will set hdmi properties when system boot
When some properties such as quant_range was set, dw_hdmi_setup()
will be called. HDMI status may not be config correctly. So if HDMI
is not properly initialized, don't call dw_hdmi_setup() when
these properties was set.

Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I6956e50161a4a5bd579f7174c73977d2e33da0c5
2021-09-27 17:29:24 +08:00
Simon Xue
6ff86d87fd iio: adc: rockchip_saradc: fix interrupt issue
Saradc interrupt status may exist forever if read saradc
when system suspending which disable clock that finally
lead to interrupt system dead. Add mutex in suspend to
avoid this issue.

Change-Id: I6a83e4bd79db90a79985685b5e94df2209b5ae81
Signed-off-by: Simon Xue <xxm@rock-chips.com>
2021-09-27 17:25:06 +08:00
Steven Liu
dcc20720d0 serial: 8250: fix 8250_dwlib.c gki error
Signed-off-by: Steven Liu <steven.liu@rock-chips.com>
Change-Id: I49c2797bd0c9ac4d7461910555a4a371d407cbd2
2021-09-27 16:53:51 +08:00
Tao Huang
8d1c43f7b4 video: rockchip: mpp: Turn sub device driver Kconfig option into bool
Only one rk_vcodec ko.

Fixes: 5b15717952 ("video: rockchip: mpp: new video codec driver")
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I58408cbee1edf11d29b4917aca2eeaef563ed8ce
2021-09-27 14:35:38 +08:00
Tao Huang
a085c0009e arm64: rockchip_gki.config: All mpp sub config as bool
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I45d9d48bcbf7aedf93d51c1edb4ea4eb4bcaca17
2021-09-27 14:33:06 +08:00
Tao Huang
f9686c89d4 arm64: rockchip_gki.config: Enable CONFIG_SW_SYNC as module
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ib00f8f20c47f8b6814d5782ea6d68f7e28b22a4d
2021-09-26 15:48:46 +08:00
Sandy Huang
70e8a5ecc4 dma-buf/sw_sync: build sw-sync as module for gki
Fixes: da8f900b52 ("dma-buf/sw_sync: sw_sync register as misc devices")
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: If012d5f85b261690cb172b7b61b98212406f6a3d
2021-09-26 15:46:54 +08:00
Wyon Bi
ff9626ac6c mfd: Drop unused rk610/rk616 driver
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I76c73d0c565b04261a099373c7a9200d6058b8ec
2021-09-26 14:26:14 +08:00
Jon Lin
c35d2e69de arm64: dts: rockchip: rk3588s: Add num-cs property to spi
Change-Id: I62470b378ac631c37debac45001c2ae59ec26377
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2021-09-26 14:23:20 +08:00
Jon Lin
7703ddf608 arm64: dts: rockchip: rk3568: Add num-cs property to spi
Change-Id: Ie5986d2995d21cb4bcfddd43ca4866de53b75c66
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2021-09-26 14:23:20 +08:00
Jon Lin
0b17f9b3f1 spi: rockchip: Fix error in getting num-cs property
Get num-cs u32 from dts of_node property rather than u16.

Change-Id: I265c8c696f1ff884ce6e7690d9c886a2ed1bd267
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2021-09-26 14:23:20 +08:00
Cai YiWei
4645dbe6ed media: rockchip: isp: get sensor channel information
Change-Id: I6b5f1a03844b0e2929c29e8253889c8ae69349b3
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-09-26 10:42:25 +08:00
Cai YiWei
8f300e22f9 media: rockchip: isp: compiled with differe hardware version
Change-Id: Ic18a8ba5005e14f9676716fc9b089ed81bdd38b0
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-09-26 10:42:25 +08:00
Cai YiWei
3e5d8a772f media: rockchip: isp: enable soft reset for other isp version
Change-Id: I620718f555f091d2ca53214c3fd3cd1a44107692
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-09-26 10:42:25 +08:00
Cai YiWei
79b33b499e media: rockchip: isp: fix input crop config for isp21 multi device
Change-Id: I6185273f8474e151ee26c938b8825af383fb73e3
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-09-26 10:42:25 +08:00
Cai YiWei
c6fc3119d6 media: rockchip: isp: remove associated of cproc and ie
Change-Id: Ic4d6171398322e24993e4a0419fd43fae85672b8
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-09-26 10:42:25 +08:00
Cai YiWei
bbeb468d79 media: rockchip: isp: add frame loss info to procfs
Change-Id: Idecd94535da352fcde5f2a462d4596316f9ea049
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-09-26 10:42:25 +08:00
Cai YiWei
6bb1c3663d media: rockchip: isp: selfpath bytesperline 16 align
Change-Id: I39b36e7e3a8c483f5c77ddbea0f6bebb4e1a0b0a
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-09-26 10:42:25 +08:00