Commit Graph

1058082 Commits

Author SHA1 Message Date
Todd Kjos
0a673759df Revert "Revert "ANDROID: GKI: Add ANDROID_OEM_DATA in struct blk_mq_ctx""
This reverts commit 443c11e0b16bb99f9f59e563184c86d9e7f10974.

Reinstate patch for June 17 KMI update

Bug: 233781098
Change-Id: I47ebbc6a1cecc363b97e35c10a5e44d7221caa01
2022-07-19 12:47:30 +00:00
Aking Chen
b5db5ef6b9 ANDROID: mmc: Add vendor hooks
Add vendor hooks to support vendor-specific exception handling features.

Bug: 185083720

Change-Id: I30381ed9835338308f2b03856f510a2982db6e6a
Signed-off-by: Mingli Feng <mingli.feng@vivo.com>
Signed-off-by: Aking Chen <akingchen@vivo.com>
(cherry picked from commit e80bcd4627)
Signed-off-by: Aking Chen <akingchen@vivo.corp-partner.google.com>
2022-07-19 12:47:30 +00:00
Bart Van Assche
5b2030ed91 ANDROID: scsi: ufs: Enable CONFIG_SCSI_UFS_HPB
Enable CONFIG_SCSI_UFS_HPB such that the UFS HPB (Host Performance
Booster) feature can be used.

Bug: 235167182
Change-Id: I1aab63c83445e243be190396c452a4203e93dbc1
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2022-07-19 12:47:30 +00:00
Manaf Meethalavalappu Pallikunhi
bf01ce9a3c FROMGIT: drivers/thermal/thermal_of: Add change_mode ops support for thermal_of sensor
The sensor driver which register through thermal_of interface doesn't
have an option to get thermal zone mode change notification from
thermal core.

Add support for change_mode ops in thermal_of interface so that sensor
driver can use this ops for mode change notification.

Signed-off-by: Manaf Meethalavalappu Pallikunhi <quic_manafm@quicinc.com>
Link: https://lore.kernel.org/r/1646767586-31908-1-git-send-email-quic_manafm@quicinc.com
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>

Bug: 234115106
(cherry picked from commit bf70c57751
https: //git.kernel.org/pub/scm/linux/kernel/git/thermal/linux.git
thermal-v5.19-rc1)
Change-Id: I24bafb16ebc1d33c7ca71aa88bd964eb71973b4d
Signed-off-by: Manaf Meethalavalappu Pallikunhi <quic_manafm@quicinc.com>
2022-07-19 12:47:30 +00:00
Shaik Sajida Bhanu
97816e2c14 FROMGIT: mmc: cqhci: Capture eMMC and SD card errors
Add changes to capture eMMC and SD card errors.
This is useful for debug and testing.

(cherry picked from commit 38def9680980e9d1eeeb4ca37937101201b6c5d7
 https://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc.git devel)
Bug: 233007144
Link: https://lore.kernel.org/lkml/1652857340-6040-6-git-send-email-quic_c_sbhanu@quicinc.com/
Signed-off-by: Liangliang Lu <quic_luliang@quicinc.com>
Signed-off-by: Sayali Lokhande <quic_sayalil@quicinc.com>
Signed-off-by: Bao D. Nguyen <quic_nguyenb@quicinc.com>
Signed-off-by: Ram Prakash Gupta <quic_rampraka@quicinc.com>
Signed-off-by: Shaik Sajida Bhanu <quic_c_sbhanu@quicinc.com>
Change-Id: Ie2bfa597623523dbce17623f7ced13b8bd699e76
2022-07-19 12:47:30 +00:00
Shaik Sajida Bhanu
3154d4a30d FROMGIT: mmc: debugfs: Add debug fs error state entry for mmc driver
Add debug fs entry error state to query eMMC and SD card errors statistics.
If any errors occurred in eMMC and SD card driver level then
err_state value will be set to 1.

(cherry picked from commit 6ecf831d2cea999c2cc881b39b147cf8ee9e43ae
 https://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc.git devel)
Bug: 233007144
Link: https://lore.kernel.org/lkml/1652857340-6040-5-git-send-email-quic_c_sbhanu@quicinc.com/

Signed-off-by: Liangliang Lu <quic_luliang@quicinc.com>
Signed-off-by: Sayali Lokhande <quic_sayalil@quicinc.com>
Signed-off-by: Bao D. Nguyen <quic_nguyenb@quicinc.com>
Signed-off-by: Shaik Sajida Bhanu <quic_c_sbhanu@quicinc.com>
Change-Id: Ie4cf876dc02fb719d91a7d37c8c5ec3aa2df54ab
2022-07-19 12:47:30 +00:00
Shaik Sajida Bhanu
ac8ceccf71 FROMGIT: mmc: debugfs: Add debug fs entry for mmc driver
Add debug fs entry to query eMMC and SD card errors statistics

(cherry picked from commit 1cb1c0757911aa2ca35593e319dc06daa7395c2d
 https://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc.git devel)
Bug: 233007144
Link: https://lore.kernel.org/lkml/1652857340-6040-4-git-send-email-quic_c_sbhanu@quicinc.com/

Signed-off-by: Liangliang Lu <quic_luliang@quicinc.com>
Signed-off-by: Sayali Lokhande <quic_sayalil@quicinc.com>
Signed-off-by: Bao D. Nguyen <quic_nguyenb@quicinc.com>
Signed-off-by: Shaik Sajida Bhanu <quic_c_sbhanu@quicinc.com>
Change-Id: I38d33b9faa868ef7d9bc32d0d91cda8d2dd0cca6
2022-07-19 12:47:29 +00:00
Shaik Sajida Bhanu
cdb40ce672 FROMGIT: mmc: sdhci: Capture eMMC and SD card errors
Add changes to capture eMMC and SD card errors.
This is useful for debug and testing.

(cherry picked from commit 794203d953c723e27cfa9b2beb747fa65cad3607
 https://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc.git devel)
Bug: 233007144
Link: https://lore.kernel.org/lkml/1652857340-6040-3-git-send-email-quic_c_sbhanu@quicinc.com/

Signed-off-by: Liangliang Lu <quic_luliang@quicinc.com>
Signed-off-by: Sayali Lokhande <quic_sayalil@quicinc.com>
Signed-off-by: Bao D. Nguyen <quic_nguyenb@quicinc.com>
Signed-off-by: Shaik Sajida Bhanu <quic_c_sbhanu@quicinc.com>
Change-Id: I1bd90fb1f5e5d295167b5ac20003a76a0d4317de
2022-07-19 12:47:29 +00:00
Shaik Sajida Bhanu
e1e25b9632 FROMGIT: mmc: core: Capture eMMC and SD card errors
Add changes to capture eMMC and SD card errors.
This is useful for debug and testing.

(cherry picked from commit 932809b0d0ae882c7e33ec89d24d1dc55f6d81ac
https://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc.git devel)
Bug: 233007144
Link: https://lore.kernel.org/lkml/1652857340-6040-2-git-send-email-quic_c_sbhanu@quicinc.com/

Signed-off-by: Liangliang Lu <quic_luliang@quicinc.com>
Signed-off-by: Sayali Lokhande <quic_sayalil@quicinc.com>
Signed-off-by: Bao D. Nguyen <quic_nguyenb@quicinc.com>
Signed-off-by: Ram Prakash Gupta <quic_rampraka@quicinc.com>
Signed-off-by: Shaik Sajida Bhanu <quic_c_sbhanu@quicinc.com>
Change-Id: I31c306769f1d08417c06744088c1d13ed2342b1f
2022-07-19 12:47:29 +00:00
Liangliang Li
97f7f2ebf3 ANDROID: GKI: Add OEM data to mutex/rwsem
Reserve ANDROID_OEM_DATA in struct mutex/rw_semaphore for recoreding
informaition about the lock, which helps to do oem specific lock
optimization.

Bug: 188869548
Change-Id: I33f767a1823f854a8deb8ba9078079aa6a9d76ea
Signed-off-by: Liangliang Li <liliangliang@vivo.com>
(cherry picked from commit 372b24bad2)
2022-07-19 12:47:29 +00:00
Vignesh Saravanaperumal
b6a991b531 ANDROID: GKI: net: add vendor hooks for 'struct sock' lifecycle
Some vendors want to add a field when a 'sruct sock' is added so give a
hook to handle this.  Any memory allocated when
trace_android_rvh_sk_alloc() is called needs to be freed when
trace_android_rvh_sk_free() is called.

Note, if trace_android_rvh_sk_alloc() fails, be sure to be able to
handle this in trace_android_rvh_sk_free(), but that should not be an
issue as that needs to be addressed in vendor code that runs for 'struct
sock' objects that have been created before the vendor code is loaded no
matter what.

Bug: 171013716
Signed-off-by: Vignesh Saravanaperumal <vignesh1.s@samsung.com>
Change-Id: I108a2f31d2dcc228f46159816deee6235afafbbd
2022-07-19 12:47:29 +00:00
Vignesh Saravanaperumal
88ca8a6cd6 ANDROID: GKI: net: add vendor hooks for 'struct nf_conn' lifecycle
Some vendors want to add a field when a 'sruct nf_conn' is added so give a
hook to handle this.  Any memory allocated when
trace_android_rvh_nf_conn_alloc() is called needs to be freed when
trace_android_rvh_nf_conn_free() is called.

Note, if trace_android_rvh_nf_conn_alloc() fails, be sure to be able to
handle this in trace_android_rvh_nf_conn_free(), but that should not be
an issue as that needs to be addressed in vendor code that runs for
'struct nf_conn' objects that have been created before the vendor code
is loaded no matter what.

Bug: 171013716
Signed-off-by: Vignesh Saravanaperumal <vignesh1.s@samsung.com>
Change-Id: I4d2b025196a3df7ba4adec313c90483811cac728
2022-07-19 12:47:29 +00:00
Vignesh Saravanaperumal
fb3ac17a12 ANDROID: GKI: add vendor padding variable in struct sock
Some vendors want to add things to 'struct sock', so give them a u64
where they can then have a pointer off to their private data and they
can do whatever they want to do without breaking or changing any abi for
anyone else.

Note, usually an android trace hook is also needed to use this properly,
so be aware that this will be required as well.

Bug: 171013716
Signed-off-by: Vignesh Saravanaperumal <vignesh1.s@samsung.com>
Change-Id: Iab0b5570753d4a9722ecf9ca9eeb9b9887e2a9d9
2022-07-19 12:47:29 +00:00
Vignesh Saravanaperumal
604c42522d ANDROID: GKI: add vendor padding variable in struct nf_conn
Some vendors want to add things to 'struct nf_conn', so give them a u64
where they can then have a pointer off to their private data and they
can do whatever they want to do without breaking or changing any abi for
anyone else.

Note, usually an android trace hook is also needed to use this properly,
so be aware that this will be required as well.

Bug: 171013716
Signed-off-by: Vignesh Saravanaperumal <vignesh1.s@samsung.com>
Change-Id: I245c162ee3fb083e3f39cf7bec3bd78cb624e005
2022-07-19 12:47:28 +00:00
T.J. Mercier
cf175a59ef FROMLIST: dma-buf: Move sysfs work out of DMA-BUF export path
Recently, we noticed an issue where a process went into direct reclaim
while holding the kernfs rw semaphore for sysfs in write (exclusive)
mode. This caused processes who were doing DMA-BUF exports and releases
to go into uninterruptible sleep since they needed to acquire the same
semaphore for the DMA-BUF sysfs entry creation/deletion. In order to avoid
blocking DMA-BUF export for an indeterminate amount of time while
another process is holding the sysfs rw semaphore in exclusive mode,
this patch moves the per-buffer sysfs file creation to the default work
queue. Note that this can lead to a short-term inaccuracy in the dmabuf
sysfs statistics, but this is a tradeoff to prevent the hot path from
being blocked. A work_struct is added to dma_buf to achieve this, but as
it is unioned with the kobject in the sysfs_entry, dma_buf does not
increase in size.

Fixes: bdb8d06dfe ("dmabuf: Add the capability to expose DMA-BUF stats in sysfs")
Originally-by: Hridya Valsaraju <hridya@google.com>
Signed-off-by: T.J. Mercier <tjmercier@google.com>
Bug: 206979019
Link: https://lore.kernel.org/lkml/CABdmKX2dNYhgOYdrrJU6-jt6F=LjCidbKhR6t4F7yaa0SPr+-A@mail.gmail.com/T/
Change-Id: Ic0386849b6b248b0a72215633fc1a50782455bac
2022-07-19 12:47:28 +00:00
zhaoyang.huang
109097ed1c ANDROID: Add vendor hook for MemcgV2 optimization
The associated vendor hooks/data are used for implementing dynamic memory.low protection based on memcgv2.

Bug: 232723420
Test: build pass
Change-Id: I2e92bdc2840af1eaaa08ee6427d2a82d78390005
Signed-off-by: zhaoyang.huang <zhaoyang.huang@unisoc.com>
2022-07-19 12:47:28 +00:00
Wenbin Mei
228e9c8134 UPSTREAM: mmc: core: Add host specific tuning support for eMMC HS400 mode
This adds a ->execute_hs400_tuning() host callback to enable optional
support for host specific tuning for eMMC HS400 mode. Additionally, share
mmc_get_ext_csd() through the public host headerfile, to allow it to be
used by the host drivers, which is needed to support the HS400 tuning.

Signed-off-by: Wenbin Mei <wenbin.mei@mediatek.com>
Link: https://lore.kernel.org/r/20210917124803.22871-3-wenbin.mei@mediatek.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Bug: 234554003
Signed-off-by: Peng Zhou <Peng.Zhou@mediatek.com>
Change-Id: Idf4f95d2505ef68bb444e3c46c2f2e1e0924140e
(cherry picked from commit f614fb60a1)
2022-07-19 12:47:28 +00:00
Wenbin Mei
ff43136711 UPSTREAM: mmc: mtk-sd: Add HS400 online tuning support
According to JEDEC Spec, there is no need to do tuning under HS400 mode
since the Rx signal is aligned with the DS signal. However, MediaTek's IC
need set its "DS delay" internally to ensure it can latch Rx signal
correctly.

In previous version, We provide an "hs400-ds-delay" in device tree to cover
different chipset/PCB design, and it works fine in most cases.  But, with
the development of process technology and the big VCore voltage scale
range(may have 0.7V/0.6V/0.55V), it is difficult to find a suitable
"hs400-ds-delay" to cover all of IC corner cases(SSSS/TTTT/FFFF). So that
We must have the ability to do hs400 online tuning.

Signed-off-by: Wenbin Mei <wenbin.mei@mediatek.com>
Reviewed-by: Chaotian Jing <chaotian.jing@mediatek.com>
Link: https://lore.kernel.org/r/20210917124803.22871-4-wenbin.mei@mediatek.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Bug: 234554003
Signed-off-by: Peng Zhou <Peng.Zhou@mediatek.com>
Change-Id: I02670c5e3277b4095a4f3fd89ea6724f8416601d
(cherry picked from commit c4ac38c653)
2022-07-19 12:47:28 +00:00
Wenbin Mei
8144640150 UPSTREAM: dt-bindings: mmc: mtk-sd: Add hs400 dly3 setting
Add hs400 dly3 setting for mtk-sd yaml

Signed-off-by: Wenbin Mei <wenbin.mei@mediatek.com>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20210917124803.22871-2-wenbin.mei@mediatek.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Bug: 234554003
Signed-off-by: Peng Zhou <Peng.Zhou@mediatek.com>
Change-Id: I2738b6774108d3dc8a12291f879744fb92c2d25b
(cherry picked from commit fb4708e6cb)
2022-07-19 12:47:28 +00:00
Suren Baghdasaryan
eb998c1ff2 ANDROID: powerpc/mm: protect vm_file during speculative page fault handling
Use vma->file_ref_count to protect vma->vm_file from destruction during
speculative page fault handling.

Bug: 234527424
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I0ebebcafe5f50444e582ec5835eb6005fa85f5b1
2022-07-19 12:47:28 +00:00
Suren Baghdasaryan
510f79ba77 ANDROID: x86/mm: protect vm_file during speculative page fault handling
Use vma->file_ref_count to protect vma->vm_file from destruction during
speculative page fault handling.

Bug: 234527424
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: Icdd558532872095869f9106cc7e4b7e07dc46748
2022-07-19 12:47:28 +00:00
Suren Baghdasaryan
c9acd461a2 ANDROID: arm64/mm: protect vm_file during speculative page fault handling
Use vma->file_ref_count to protect vma->vm_file from destruction during
speculative page fault handling.

Bug: 234527424
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I4c826fd5ef45576566e1eb8f8f23d17e620e7fc9
2022-07-19 12:47:27 +00:00
Suren Baghdasaryan
4daa3c254e ANDROID: add vma->file_ref_count to synchronize vma->vm_file destruction
In order to prevent destruction of vma->vm_file while it's being used
during speculative page fault handling, introduce an atomic refcounter.

Bug: 234527424
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I0e971156f3e76feb45136bac1582a7eaab8c75df
2022-07-19 12:47:27 +00:00
Suren Baghdasaryan
0864756fb0 Revert "ANDROID: Use the notifier lock to perform file-backed vma teardown"
This reverts commit dc8ac508afd3b105978fd3dd98462950daa5b297.
Reason for revert: performance regression.

Bug: 234527424
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I5811c7ee2feac7f9057ed0ccd848e5de71f79354
2022-07-19 12:47:27 +00:00
Suren Baghdasaryan
6338289f96 Revert "ANDROID: Fix build errors caused by missing mmu_notifier_lock definition"
This reverts commit dbc5eb8e31f70b6a559da56a93668d90ed38a5c0.
Reason for revert: performance regression.

Bug: 234527424
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I685f09cfe4d2b3fef9e88953f794186c0e790657
2022-07-19 12:47:27 +00:00
Capone Huang
c1a58dad6d ANDROID: Update symbol list for mtk
Leaf changes summary: 1 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 1 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

1 Added functions:

  [A] 'function int iterate_dir(file*, dir_context*)'

Bug: 236208914
Signed-off-by: Capone Huang <capone.huang@mediatek.corp-partner.google.com>
Change-Id: Ibea71fa232eb8d149b83bd8d2fdcb4e46c63f8b8
2022-07-19 12:47:27 +00:00
huang dezhi
ea1c621b81 ANDROID: GKI: add symbol list file for honor
add abi_gki_aarch64_honor

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

5 Added functions:

  [A] 'function int __traceiter_android_vh_alter_mutex_list_add(void*, mutex*, mutex_waiter*, list_head*, bool*)'
  [A] 'function int __traceiter_android_vh_mutex_init(void*, mutex*)'
  [A] 'function int __traceiter_android_vh_mutex_unlock_slowpath(void*, mutex*)'
  [A] 'function int __traceiter_android_vh_mutex_wait_finish(void*, mutex*)'
  [A] 'function int __traceiter_android_vh_mutex_wait_start(void*, mutex*)'

5 Added variables:

  [A] 'tracepoint __tracepoint_android_vh_alter_mutex_list_add'
  [A] 'tracepoint __tracepoint_android_vh_mutex_init'
  [A] 'tracepoint __tracepoint_android_vh_mutex_unlock_slowpath'
  [A] 'tracepoint __tracepoint_android_vh_mutex_wait_finish'
  [A] 'tracepoint __tracepoint_android_vh_mutex_wait_start'

Bug: 231527236
Change-Id: Id3125e93696d91b3daed2ff74c17edb0235c3aa2
Signed-off-by: huang dezhi <huangdezhi@hihonor.com>
2022-07-19 12:47:27 +00:00
Quentin Perret
8ee914a539 ANDROID: KVM: arm64: Prevent kmemleak from accessing .hyp.data
We've recently added a .data section for the hypervisor, which kmemleak
is eager to parse. This clearly doesn't go well, so add the section to
kmemleak's block list.

Bug: 232768943
Bug: 235903024
Signed-off-by: Quentin Perret <qperret@google.com>
Change-Id: I29d81cb1246c590bd5203d560ea369e5f29d59b0
2022-07-19 12:47:27 +00:00
Xuewen Yan
aad764985c ANDROID: ABI: Update symbols to unisoc whitelist for the scheduler 4st
Update whitelist for the symbols used by the unisoc device and
update the ABI representation accordingly

Leaf changes summary: 2 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 2 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

2 Added functions:

  [A] 'function int __traceiter_android_rvh_account_irq_end(void*, task_struct*, int, s64)'
  [A] 'function int __traceiter_android_rvh_account_irq_start(void*, task_struct*, int, s64)'

Bug: 235909063
Change-Id: Idfce8f81fbe6ed11d974dbcf6f04e768af54d0ca
Signed-off-by: Xuewen Yan <xuewen.yan@unisoc.com>
2022-07-19 12:47:27 +00:00
Peifeng Li
28f031bf96 ANDROID: GKI: Update symbols to symbol list
Leaf changes summary: 9 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 5 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 4 Added variables

5 Added functions:

  [A] 'function int __traceiter_android_vh_cma_drain_all_pages_bypass(void*, unsigned int, bool*)'
  [A] 'function int __traceiter_android_vh_drain_all_pages_bypass(void*, gfp_t, unsigned int, unsigned long int, int, unsigned long int, bool*)'
  [A] 'function int __traceiter_android_vh_page_referenced_check_bypass(void*, page*, unsigned long int, int, bool*)'
  [A] 'function int __traceiter_android_vh_pcplist_add_cma_pages_bypass(void*, int, bool*)'
  [A] 'function unsigned long int shrink_slab(gfp_t, int, mem_cgroup*, int)'

4 Added variables:

  [A] 'tracepoint __tracepoint_android_vh_cma_drain_all_pages_bypass'
  [A] 'tracepoint __tracepoint_android_vh_drain_all_pages_bypass'
  [A] 'tracepoint __tracepoint_android_vh_page_referenced_check_bypass'
  [A] 'tracepoint __tracepoint_android_vh_pcplist_add_cma_pages_bypass'

Bug: 234405962
Signed-off-by: Peifeng Li <lipeifeng@oppo.com>
Change-Id: Ie38bd63282c8ab0ec8f837e06bd5e9e6ab272ba6
2022-07-19 12:47:26 +00:00
Yunfei Wang
98496efc97 FROMLIST: iommu/mediatek: Allow page table PA up to 35bit
Single memory zone feature will remove ZONE_DMA32 and ZONE_DMA. So add
the quirk IO_PGTABLE_QUIRK_ARM_MTK_TTBR_EXT to let level 1 and level 2
pgtable support at most 35bit PA.

Signed-off-by: Ning Li <ning.li@mediatek.com>
Link: https://lore.kernel.org/linux-mediatek/20220616120713.12728-3-yf.wang@mediatek.com/
Bug: 235767992
Signed-off-by: Yunfei Wang <yf.wang@mediatek.com>
Change-Id: Iaf93281e99985403d92157aee13e2e449b876545
2022-07-19 12:47:26 +00:00
Yunfei Wang
293ec0920f FROMLIST: iommu/io-pgtable-arm-v7s: Add a quirk to allow pgtable PA up to 35bit
Single memory zone feature will remove ZONE_DMA32 and ZONE_DMA and
cause pgtable PA size larger than 32bit.

Since Mediatek IOMMU hardware support at most 35bit PA in pgtable,
so add a quirk to allow the PA of pgtables support up to bit35.

Signed-off-by: Ning Li <ning.li@mediatek.com>
Link: https://lore.kernel.org/linux-mediatek/20220616120713.12728-2-yf.wang@mediatek.com/
Bug: 235767992
Signed-off-by: Yunfei Wang <yf.wang@mediatek.com>
Change-Id: I5dd226507bfbbbe85cb00aa27d03cd3592740055
2022-07-19 12:47:26 +00:00
Zhuguangqing
58e3f869fc ANDROID: Add vendor hooks to signal.
Add vendor hook to get signal for vendor-specific tuning.

Conflicts:
    drivers/android/vendor_hooks.c

Bug: 184898838

Signed-off-by: Zhuguangqing <zhuguangqing@xiaomi.com>
Change-Id: I83a28b0a6eb413976f4c57f2314d008ad792fa0d
(cherry picked from commit d623f1ff72)
2022-07-19 12:47:26 +00:00
Liujie Xie
77064627fb ANDROID: ashmem: Export is_ashmem_file
Export is_ashmem_file function which will be used
by the minidump module to get ashmem info.

Bug: 193397560
Change-Id: I5b7816ad4775e5cf2c4f41c28b1c8dacc2c85b7e
Signed-off-by: liuhailong <liuhailong@oppo.com>
Signed-off-by: Liujie Xie <xieliujie@oppo.com>
(cherry picked from commit 7bcfde2601)
2022-07-19 12:47:26 +00:00
wudean
842c68a977 ANDROID: vendor_hooks: bypass shrink slab
Add hooks for bypass shrink slab.

Bug: 185951972
(cherry picked from commit 396a6adfd3)

Change-Id: I343e02ae5cd6d076d525d0e4bfc09ecdfeda1d7b
Signed-off-by: wudean <dean.wu@vivo.com>
2022-07-19 12:47:26 +00:00
Mukesh Ojha
89911c32cf FROMLIST: devcoredump : Serialize devcd_del work
In following scenario(diagram), when one thread X running dev_coredumpm()
adds devcd device to the framework which sends uevent notification to
userspace and another thread Y reads this uevent and call to
devcd_data_write() which eventually try to delete the queued timer that
is not initialized/queued yet.

So, debug object reports some warning and in the meantime, timer is
initialized and queued from X path. and from Y path, it gets reinitialized
again and timer->entry.pprev=NULL and try_to_grab_pending() stucks.

To fix this, introduce mutex and a boolean flag to serialize the behaviour.

 	cpu0(X)			                cpu1(Y)

    dev_coredump() uevent sent to user space
    device_add()  ======================> user space process Y reads the
                                          uevents writes to devcd fd
                                          which results into writes to

                                         devcd_data_write()
                                           mod_delayed_work()
                                             try_to_grab_pending()
                                               del_timer()
                                                 debug_assert_init()
   INIT_DELAYED_WORK()
   schedule_delayed_work()
                                                   debug_object_fixup()
                                                     timer_fixup_assert_init()
                                                       timer_setup()
                                                         do_init_timer()
                                                       /*
                                                        Above call reinitializes
                                                        the timer to
                                                        timer->entry.pprev=NULL
                                                        and this will be checked
                                                        later in timer_pending() call.
                                                       */
                                                 timer_pending()
                                                  !hlist_unhashed_lockless(&timer->entry)
                                                    !h->pprev
                                                /*
                                                  del_timer() checks h->pprev and finds
                                                  it to be NULL due to which
                                                  try_to_grab_pending() stucks.
                                                */
Bug: 235577024
Change-Id: I5e86abf72e8dff6952ba493fd9f43a26b2b40352
Link: https://lore.kernel.org/lkml/2e1f81e2-428c-f11f-ce92-eb11048cb271@quicinc.com/
Link: https://lore.kernel.org/lkml/1653660220-19197-1-git-send-email-quic_mojha@quicinc.com/
Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com>
2022-07-19 12:47:26 +00:00
d wang
104c11e9af ANDROID: ABI: Update symbols used by the unisoc filesystem whitelist for
the 1st

Update whitelist for the symbols used by the unisoc device and update
the ABI representation accordingly

Leaf changes summary: 1 artifact changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 1 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

1 Added function:

  [A] 'function void blk_stat_enable_accounting(request_queue*)'

Bug: 236086883
Change-Id: I4569707b8548c97ef65f11938e29e53f860faa45
Signed-off-by: d wang <dongwei.wang@unisoc.com>
2022-07-19 12:47:26 +00:00
Patrick Daly
63d1aaef59 FROMLIST: of: of_reserved_mem: Increase limit for reserved_mem regions
The reserved_mem array must be statically allocated because it is used
prior to memblock being aware of all "no-map" or otherwise reserved
regions which have fixed physical addresses. Due to this limitation,
if one architecture/board has a large number of reserved_mem regions,
this limit must be raised for all.

In particular, certain new qcom boards currently have 63 reserved memory
regions, which when new features are added, pushes them over the existing
limit of 64.

A generalized breakdown by region type:
13 for linux-loaded device firmware
9 for guest-vms or inter-vm communication
15 cma heaps/dma-buf heaps
24 for bootloaders/hypervisor/secure-world devices or software
2 misc

Although this number could be reduced by a minor amount by combining
physically adjacent regions, this comes at the cost of losing
documention on what/who the regions are used by. In addition, combining
adjacent regions is not possible if there are phandles in devicetree
refering to the regions in question, such as "memory-region".

Vmlinux size before:
text      data      bss     dec       hex      filename
31030829  15807732  588524  47427085  2d3ae0d  dist/vmlinux

text      data      bss     dec       hex      filename
31030877  15807668  592108  47430653  2d3bbfd  dist/vmlinux

Bug: 229767760
Link: https://lore.kernel.org/linux-devicetree/1650488954-26662-1-git-send-email-quic_pdaly@quicinc.com/T/#u
Change-Id: I2bdc6ad1ecfe273aad3c72390283b6d1247b18c3
Signed-off-by: Patrick Daly <quic_pdaly@quicinc.com>
Signed-off-by: Sukadev Bhattiprolu <quic_sukadev@quicinc.com>
2022-07-19 12:47:25 +00:00
xieliujie
ad2d36f06f ANDROID: vendor_hooks: Add hook for binder
Add hook to support oem's performance feature.

Bug: 186482511

Signed-off-by: xieliujie <xieliujie@oppo.com>
Change-Id: Ib495e80e569cc293eaa98d87a050aee8915eb415
(cherry picked from commit 2337b9185a)
2022-07-19 03:54:51 +00:00
Chetan C R
e6e44e9a85 ANDROID: GKI: Update abi_gki_aarch64_qcom for devm_of_clk_del_provider
Add devm_of_clk_del_provider symbol.

Leaf changes summary: 1 artifact changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 1 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

1 Added function:

  [A] 'function void devm_of_clk_del_provider(device*)'

Bug: 235919751
Change-Id: I14494bf4cab4bbf70eb76d751cdb201f4c4ed65e
Signed-off-by: Chetan C R <quic_cchinnad@quicinc.com>
2022-07-19 03:54:51 +00:00
Greg Kroah-Hartman
3cf5c7059d Revert "ANDROID: umh: Enable usermode helper for required use cases"
This reverts commit c555553a40d6795e0c5d18b8ee94ac516a0aef09.

Reason for revert: The binaries, and /sbin/ is not even present on Android systems.  This patch was never tested :(

Bug: 202192667
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ia1c35eba4a89a62ba678d8004742563372d3d920
2022-07-19 03:54:51 +00:00
Eric Biggers
4881c12c76 ANDROID: GKI: update module list for fips140 build
This fixes the following build error:

    ERROR: modules list out of date
    Update it with:
    cp [...]/out/android13-5.15/common/modules.order common/android/gki_aarch64_fips140_modules

Bug: 188620248
Change-Id: I5e06053001a3ea3cf488e9ad0af8f6e4af2de0a2
Signed-off-by: Eric Biggers <ebiggers@google.com>
2022-07-19 03:54:51 +00:00
Liangcai Fan
bf46e6f5db BACKPORT: mm: khugepaged: recalculate min_free_kbytes after stopping khugepaged
When initializing transparent huge pages, min_free_kbytes would be
calculated according to what khugepaged expected.

So when transparent huge pages get disabled, min_free_kbytes should be
recalculated instead of the higher value set by khugepaged.

Link: https://lkml.kernel.org/r/1633937809-16558-1-git-send-email-liangcaifan19@gmail.com
Signed-off-by: Liangcai Fan <liangcaifan19@gmail.com>
Signed-off-by: Chunyan Zhang <zhang.lyra@gmail.com>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit bd3400ea17)

Bug: 235523176
Signed-off-by: Chinwen Chang <chinwen.chang@mediatek.com>
Change-Id: I815893d25186847933db2a0872528fb15a00b3c8
2022-07-19 03:54:51 +00:00
Naina Mehta
62bb81afc5 ANDROID: fault: Add vendor hook for TLB conflict
Add android_vh_handle_tlb_conf vendor hook to gracefully
handle TLB conflict.

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_vh_handle_tlb_conf'

Bug: 222637802
Change-Id: I3d6814cd950e77e1a15ce444764078692724cd0a
Signed-off-by: Naina Mehta <quic_nainmeht@quicinc.com>
Signed-off-by: Vamsi Krishna Lanka <quic_vamslank@quicinc.com>
2022-07-19 03:54:50 +00:00
Bart Van Assche
4e2d8ca450 BACKPORT: FROMLIST: block/bfq: Enable I/O statistics
BFQ uses io_start_time_ns. That member variable is only set if I/O
statistics are enabled. Hence this patch that enables I/O statistics
at the time BFQ is associated with a request queue.

Compile-tested only.

Reported-by: Cixi Geng <cixi.geng1@unisoc.com>
Cc: Cixi Geng <cixi.geng1@unisoc.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Yu Kuai <yukuai3@huawei.com>
Cc: Paolo Valente <paolo.valente@unimore.it>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
[ bvanassche: Left out the blk_stat_disable_accounting() call since ]
[ commit 68497092bd ("block: make queue stat accounting a         ]
[ reference") from kernel v5.17 has not been backported to the      ]
[ android13-5.15 branch.                                            ]
Bug: 235453574
Link: https://lore.kernel.org/linux-block/20220613163234.3593026-1-bvanassche@acm.org/T/#u
Change-Id: I5fad0fb3c7e9c6007aadd94ebb73d91c41143549
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2022-07-19 03:54:50 +00:00
Ray Chi
3a6c1e3359 ANDROID: usb: dwc3: export tracepoint for dwc3 read/write
There are two tracepoints in dwc3_readl() and dwc3_writel().
This patch will export the tracepoints so that vendor modules
can use them.

Bug: 184920962
Signed-off-by: Ray Chi <raychi@google.com>
Change-Id: I1170d853be1fa1c47afbba133567b1996418d8e8
2022-07-19 03:54:50 +00:00
Oh Eomji
8906b02221 ANDROID: usb: add EXPORT_TRACE_SYMBOL to export tracepoint
To use the tracepoint in kernel module, add EXPORT_TRACE_SYMBOL_GPL to
export the dwc3_ep_queue tracepoint.

Bug: 181736013
Change-Id: I211e747e10d232342cbaf877d7ad670c60e3ad0f
Signed-off-by: Oh Eomji <eomji.oh@samsung.com>
2022-07-19 03:54:50 +00:00
Mayank Rana
4d399cb1d3 UPSTREAM: usb: dwc3: core: Add error log when core soft reset failed
DWC3 controller soft reset is important operation for USB functionality.
In case when it fails, currently there is no failure log. Hence add
error log when core soft reset failed.

Signed-off-by: Mayank Rana <quic_mrana@quicinc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bug: 235863377
(cherry picked from commit 859bdc3595)
Change-Id: I60500f66af47d93cf9d60bdecab32e6dc48d4b7c
Signed-off-by: Mayank Rana <quic_mrana@quicinc.com>
2022-07-19 03:54:50 +00:00
Chao Yu
99caff3b22 ANDROID: GKI: Update symbols to abi_gki_aarch64_oplus
Leaf changes summary: 12 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 12 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

12 Added functions:

  [A] 'function int __bio_crypt_clone(bio*, bio*, gfp_t)'
  [A] 'function int __blkdev_issue_discard(block_device*, sector_t, sector_t, gfp_t, int, bio**)'
  [A] 'function unsigned long int __page_file_index(page*)'
  [A] 'function void address_space_init_once(address_space*)'
  [A] 'function void bio_crypt_set_ctx(bio*, const blk_crypto_key*, const u64*, gfp_t)'
  [A] 'function int blkdev_issue_flush(block_device*)'
  [A] 'function long int congestion_wait(int, long int)'
  [A] 'function void migrate_page_copy(page*, page*)'
  [A] 'function bool prepare_to_wait_exclusive(wait_queue_head*, wait_queue_entry*, int)'
  [A] 'function void* radix_tree_delete_item(xarray*, unsigned long int, void*)'
  [A] 'function void** radix_tree_lookup_slot(const xarray*, unsigned long int)'
  [A] 'function void radix_tree_replace_slot(xarray*, void**, void*)'

Bug: 232178651

Signed-off-by: Chao Yu <chao@kernel.org>
Change-Id: Ie3aa930a0d446f4f9cb0023bd59e92cdbce92c2b
2022-07-19 03:54:50 +00:00
zhang chuang
3c5df4a52e ANDROID: Add hook to show vendor info for transactions
When watchdog or anr occur, we need to read
dev/binderfs/binder_logs/proc/pid or dev/binderfs/binder_logs/state
node to know the time-consuming information of the binder call.
We need to add the time-consuming information of binder transaction.

Bug: 190413570

Signed-off-by: zhang chuang <zhangchuang3@xiaomi.com>
Change-Id: I0423d4e821d5cd725a848584133dc7245cbc233a
(cherry picked from commit eabe9707f2)
Signed-off-by: Carlos Llamas <cmllamas@google.com>
[cmllamas: fix trivial merge conflict in vendor_hooks.c]
2022-07-19 03:54:50 +00:00