Commit Graph

866687 Commits

Author SHA1 Message Date
Sugar Zhang
ba2cfd68f4 FROMGIT: ASoC: dmaengine: Introduce module option prealloc_buffer_size_kbytes
Currently, The fixed 512KB prealloc buffer size is too larger for
tiny memory kernel (such as 16MB memory). This patch adds the module
option "prealloc_buffer_size_kbytes" to specify prealloc buffer size.

It's suitable for cards which use the generic dmaengine pcm driver
with no config.

Change-Id: I76cc278f523d41083ba30b36d801d2839682d158
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Link: https://lore.kernel.org/r/1632394246-59341-1-git-send-email-sugar.zhang@rock-chips.com
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit b0e3b0a707
 git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-5.16)
2021-10-22 16:49:55 +08:00
Andy Yan
0c5249aab1 drm/rockchip: vop2: Adjust wait critical time zone policy when there are two pending vp
Current policy:

If there are two pending config done vp, and one of them is
at critical time zone, wait for the one wich has long time
to vsync.

This may lead a very long wait, for example: VP0 is 3840 x 2160,
VP2 is 1920 x 1080, they are all have pending cfg done bits,
and the vcnt of VP0 is 1367, the vcnt of VP2 is 995, VP2 is
at the critical time zone, we will wait VP0 vsync(almost half frame time)
according to this policy. This lead a very long wait.

The new policy:

If there are two pending config done vp, and one of them is
at critical time zone, compare the left vcnt time of the
two vp:

if (first_vp_left_time > second_vp_left_time) {
	if ((first_vp_left_time - second_vp_left_time) > first_vp_safe_time)
		wait_vp = second_done_vp;
	else
		wait_vp = first_done_vp;
} else {
	if ((second_vp_left_time - first_vp_left_time) > second_vp_safe_time)
               wait_vp = first_done_vp;
	else
		wait_vp = second_done_vp;
}

Change-Id: I7154ad716841c6c28947ddfecc845c7271cc507a
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2021-10-22 15:58:15 +08:00
David Wu
2c264016e4 net: ethernet: stmmac: dwmac-rk: Disable delayline if it is invalid
If delayline can't get from DTB or invalid, don't enable delayline.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Change-Id: I9769af42d02c67d2ea3fd24de5def45a1ec1cc17
2021-10-21 15:11:34 +08:00
Yandong Lin
8649265280 video: rockchip: mpp: Fix report wrong dev when pagefault
On some platforms(such as px30), vepu and vdpu shared the
same mmu.So when registering the iommu handle function,
there will be overwriting.Results in the reported device mismatch
when page fault.

Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Id07c7f3088c52fcb987797c689296154c670078c
2021-10-21 14:43:46 +08:00
Ding Wei
88ce0688ff driver core: Export symbol: device_links_read_lock/unlock
The symbols is used for rockchip video codec driver,
which located driver/rockchip/video/mpp. When mpp is build
for module, it will be error.

Error message:
ERROR: "device_links_read_unlock"
[drivers/video/rockchip/mpp/rk_vcodec.ko] undefined!
ERROR: "device_links_read_lock" [drivers/video/rockchip/mpp/rk_vcodec.ko] undefined!
make[2]: *** [__modpost] Error 1
make[1]: *** [modules] Error 2
make: *** [kernel.img] Error 2
make: *** Deleting file `kernel.img'`

Change-Id: Ie412341c03ad71d257392a22249b62bedd0be58b
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-10-21 09:23:29 +08:00
Wyon Bi
2d50781c01 clk/rockchip/regmap: rk618: Bypass PLL by default
Fixes: 962d002400 ("clk/rockchip/regmap: Prepare RK628 PLL support")
Change-Id: I9d76d96f0aa73e97f8ab9ce47f5ac28f22608342
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2021-10-20 17:39:05 +08:00
Cai YiWei
8965ce1d73 media: rockchip: isp: dmatx default config with mipi sensor input
Change-Id: I51f27921b650d614e552d810995172d4ea17ef08
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-10-20 17:38:44 +08:00
Zefa Chen
295c091894 include: uapi/linux/rk-camera-module.h modify otp struct
1. modify af inf
2. add module info

Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I455e649c1ffe471e1b5239d95ae929ad85113248
2021-10-20 16:02:33 +08:00
William Wu
11f9c06cc3 usb: dwc3: gadget: wait for disconnect done before runtime suspend
The dwc3 gadget call pm_runtime_get in the __dwc3_gadget_ep_queue()
to increment the device's usage count, and call pm_runtime_put in
the dwc3_gadget_giveback() to decrement the device's usage count
if the request is completed successfully or disconnection happens.

Test on RK3399 IND Type-C interface with HUSB311 (Type-C port
controller chip), if plug out the USB cable, the extcon notifier
from tcpm framework comes earlier than the dwc3 disconnect event.
This cause the dwc3 fails to enter the runtime suspend immediately
in the disconnection process of __dwc3_set_mode().

This patch waits for the dwc3 disconnect event done before doing
pm_runtime_put_sync_suspend. If it takes 1000ms to wait for the
disconnect event timeout, just print warning log and still do
the pm_runtime_put_sync_suspend, and then the dwc3 can also enter
runtime suspend automatically (DWC3_DEFAULT_AUTOSUSPEND_DELAY is
5000ms) after the disconnect event done.

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: Ie6086d469b5d24f841532992e4e95f0c91c37022
2021-10-20 15:55:41 +08:00
Zorro Liu
02456ae203 mfd: rk808: disable rk817 int when shutdown
rk817 int pin is connect to sleep pin on ebook hardware design,
cpu unable to pull high sleep pin to shutdown devices,
when pmic occurs interrupt, so we just disable pmic int
on shutdown process to avoid this.

TEST:Press the Power button frequently while shutting down ebook devices

Signed-off-by: Zorro Liu <lyx@rock-chips.com>
Change-Id: I2a3a45be371b78720a94b1380fbb101a5597cfc6
2021-10-20 15:16:36 +08:00
Elaine Zhang
fd5fd8b70e regulator: rk860x: Add binding document for Rockchip Rk860x
Add rk860x-regulator.yaml document for Rockchip Rk860x Buck.

Change-Id: I374a9c3b17f0f9382d7213a5d3a1a8ece9f0ae1d
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2021-10-19 15:14:10 +08:00
Elaine Zhang
e193e5488c regulator: rk860x: Add RK860X dcdc support
RK860X main features:
    - 2.7V to 5.5V Input Voltage Range;
    - 2.4MHz Constant Switching Frequency;
    - 6A Available Load Current;
    - Programmable Output Voltage: 0.7125V to 1.5V in 12.5mV
      Steps(RK8600/RK8601), 0.5V to 1.5V in 6.25mV(RK8602/RK8603);
    - PFM/PWM Operation for Optimum Increased Efficiency;

Change-Id: Ib564dee94151d42c0288d2141c6b66c70bc019b9
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2021-10-19 15:10:59 +08:00
Ding Wei
4e57d971b6 video: rockchip: mpp: rcu_read_lock/unlock -> device_links_read_lock/unlock
reason:
1. might_sleep is called by pm_runtime_xx, thus, it cannot covered by
   rcu_read_lock/unlock which is atomic context.
2. it need use device_links_read_lock/unlock when meets dev->links.suppliers.

relative call trace:
[ 1804.810833  ] mpp_rkvdec2 fdf80200.rkvdec: resetting...
[ 1804.811030  ] BUG: sleeping function called from invalid context at
drivers/base/power/runtime.c:1005
[ 1804.811090  ] in_atomic(): 0, irqs_disabled(): 0, pid: 3043, name:
[ 1804.811149  ] CPU: 2 PID: 3043 Comm: rkvdec Tainted: G        W
4.19.206 #215
[ 1804.811192  ] Hardware name: Rockchip RK3566 EVB1 DDR4 V10 Board (DT)
[ 1804.811236  ] Call trace:
[ 1804.811316  ]  dump_backtrace+0x0/0x178
[ 1804.811366  ]  show_stack+0x14/0x20
[ 1804.811421  ]  dump_stack+0x94/0xb4
[ 1804.811474  ]  ___might_sleep+0xf0/0x118
[ 1804.811505  ]  __might_sleep+0x50/0x88
[ 1804.811535  ]  __pm_runtime_idle+0x9c/0xa0
[ 1804.811681  ]  mpp_iommu_refresh+0x54/0xd0 [rk_vcodec]
[ 1804.811789  ]  rkvdec2_link_reset+0xac/0x128 [rk_vcodec]
[ 1804.811873  ]  rkvdec2_link_isr+0xe4/0x6d0 [rk_vcodec]
[ 1804.811995  ]  rkvdec2_link_worker+0xc0/0xb08 [rk_vcodec]
[ 1804.812053  ]  kthread_worker_fn+0xe8/0x1f8
[ 1804.812099  ]  kthread+0x138/0x168
[ 1804.812130  ]  ret_from_fork+0x10/0x18
[ 1804.812243  ] mpp_rkvdec2 fdf80200.rkvdec: reset done

Change-Id: Id8453483b021a092e298736640e725a8e48c862b
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-10-19 14:53:20 +08:00
Jon Lin
85546e9ff7 drivers: rkflash: Support new spiflash
1.spinand: GD5F1GQ5REYIG, GD5F2GQ5REYIG, GD5F2GM7RxG, GD5F2GM7UxG,
DS35M2GA-IB, DS35Q2GB-IB, DS35M1GB-IB, TX25G01
2.spinor: GD25Q64E, GD25LQ255E, GD25LQ256C, GD25LB512MEYIG, XM25QH64C,
XM25QH128C, XM25QH256C, XM25QU128C, XM25QU64C

Change-Id: Ic9313b296528b7586a5139c13c77bd3ec477c359
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2021-10-19 14:52:28 +08:00
Zefa Chen
bc216fc845 include: uapi/linux/rk-camera-module.h otp support pdaf
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I4bcd2d1ff866059821ef1ddc7248530cd37a9062
2021-10-19 14:27:49 +08:00
Zhenke Fan
c20c1dc6bb include: uapi/linux/rk-camera-module.h modify the rkmodule_lsc_inf
Signed-off-by: Zhenke Fan <fanzy.fan@rock-chips.com>
Change-Id: I89403b779bcd6191e6fe76e1412275ad1752d414
2021-10-19 11:11:22 +08:00
Shawn Lin
0feb50f920 PCI: rockchip: dw: Fix gen switch case when link is up
L0 may be detected just in time if Gen1 training is finished.
But if EP supports higher Gen mode, Gen switch just happen
there but we keep on accessing devices, which leads unstable
link state and fail to detect the device finally.

And a bit more time before accessing devices to avoid this risky
case.

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: If7eddce430b4590922b5c8f765be8a240b562d92
2021-10-19 09:01:33 +08:00
Joseph Chen
00ae76eb0b mfd: rk808: correct condition check to set pm_power_off as NULL
Fixes porting:
(62e9bedcf2 UPSTREAM: mfd: rk808: Check pm_power_off pointer)

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I2fdb6bf8dc40260a68fb5b1155617f6dfebb4707
2021-10-18 14:43:21 +08:00
Joseph Chen
ff3fb24350 mfd: rk808: format and imporve the coding style
Try to keep the same as develop-5.10 code for easily
compare files.

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I19bf821f17d06ad9d46d3319e33c2e3c7823fdce
2021-10-18 14:43:21 +08:00
Jon Lin
b3411ad8b4 drivers: rkflash: Recheck the cache only the spinand devices in need
The operation of reading back flash cache after programing is not
universal. At present, only ESMT devices are found to have this anomaly.

Change-Id: I3ec21eebc4aa7b8a259129ed2c036e1168553f27
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2021-10-15 19:45:26 +08:00
YouMin Chen
72edc8e464 arm64: dts: rockchip: rk3568: remove ddr_timing node
Signed-off-by: YouMin Chen <cym@rock-chips.com>
Change-Id: Iaef7442a52bfadee989c507e4fb9e60d50f9c49e
2021-10-15 19:27:33 +08:00
YouMin Chen
6a53296ce8 PM / devfreq: rockchip_dmc: remove of_get_rk3568_timings
For rk3568, ddr timings adjustment is no longer supported in dmc drive.

Signed-off-by: YouMin Chen <cym@rock-chips.com>
Change-Id: I63f0c5fea8c5acf8e6ef8f44b62968deb7bd823e
2021-10-15 19:26:59 +08:00
YouMin Chen
afda73facd arm64: dts: rockchip: rk3568: add dmc_fsp node
Add dmc_fsp node for initialize dmc frequency set point on U-Boot.

Signed-off-by: YouMin Chen <cym@rock-chips.com>
Change-Id: I9fcd1ae498a64b5a4698c42ad05af96740b59e61
2021-10-15 15:59:42 +08:00
YouMin Chen
ed286b021c arm64: dts: rockchip: rk3568-dram-default-timing: add ddr params
Add ddr parameters for initialize dmc frequency set point.

Signed-off-by: YouMin Chen <cym@rock-chips.com>
Change-Id: I3445fa2dbabca5774306cc1052cd3c1d472b6867
2021-10-15 15:57:38 +08:00
YouMin Chen
26dd1e440a include: linux: rockchip: add share mem page type for ddr fsp
Signed-off-by: YouMin Chen <cym@rock-chips.com>
Change-Id: Ie12446e746f4990287873d8ca52675f3398f45ae
2021-10-15 15:57:38 +08:00
YouMin Chen
f824af94ae dt-bindings: memory: add macro definition about LPDDR4 and LPDDR4X
Signed-off-by: YouMin Chen <cym@rock-chips.com>
Change-Id: I7bcf1f8c9f1d282a68d59dcc14fecaa7c0f59090
2021-10-15 15:57:38 +08:00
Ding Wei
fd69926be3 video: rockchip: mpp: Use spinlock for queue->running_lock
reason: mpp_iommu_handle is called by irq for iommu, thus it cannot
use mutex which might case sleep, thus use spinlock instead.

Call trace:
[   71.047958 ] Call trace:
[   71.047974 ]  dump_backtrace+0x0/0x160
[   71.047988 ]  show_stack+0x14/0x1c
[   71.048003 ]  dump_stack+0xd0/0x120
[   71.048018 ]  ___might_sleep+0x1f4/0x204
[   71.048032 ]  __might_sleep+0x4c/0x80
[   71.048045 ]  __mutex_lock_common+0x60/0x1028
[   71.048057 ]  mutex_lock_nested+0x28/0x30
[   71.048073 ]  mpp_iommu_handle+0x44/0x1c8
[   71.048088 ]  report_iommu_fault+0x3c/0x198
[   71.048102 ]  rk_iommu_irq+0x2a4/0x3bc
[   71.048117 ]  __handle_irq_event_percpu+0x114/0x3c4
[   71.048131 ]  handle_irq_event+0x5c/0xd0
[   71.048143 ]  handle_fasteoi_irq+0x124/0x220
[   71.048156 ]  __handle_domain_irq+0x9c/0xf4
[   71.048169 ]  gic_handle_irq+0x108/0x180
[   71.048181 ]  el1_irq+0xec/0x1a0
[   71.048194 ]  _raw_spin_unlock_irqrestore+0x3c/0x78
[   71.048209 ]  vop2_crtc_atomic_flush+0x1c78/0x202c
[   71.048223 ]  drm_atomic_helper_commit_planes+0x1a4/0x210
[   71.048238 ]  rockchip_atomic_commit_complete+0x1a4/0x390
[   71.048252 ]  rockchip_drm_atomic_commit+0x22c/0x24c
[   71.048266 ]  drm_mode_atomic_ioctl+0xa18/0xddc
[   71.048280 ]  drm_ioctl+0x2d8/0x46c
[   71.048296 ]  do_vfs_ioctl+0x4dc/0x794
[   71.048308 ]  __arm64_sys_ioctl+0x70/0x98
[   71.048322 ]  el0_svc_common+0xa0/0x18c
[   71.048335 ]  el0_svc_handler+0x28/0x60
[   71.048348 ]  el0_svc+0x8/0xc

Change-Id: Ie8e79995ec4bebf4ccbb509a57306541de861754
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-10-15 15:46:58 +08:00
Zhaoyang Huang
3ea11abdbe UPSTREAM: psi: Fix race between psi_trigger_create/destroy
Race detected between psi_trigger_destroy/create as shown below, which
cause panic by accessing invalid psi_system->poll_wait->wait_queue_entry
and psi_system->poll_timer->entry->next. Under this modification, the
race window is removed by initialising poll_wait and poll_timer in
group_init which are executed only once at beginning.

  psi_trigger_destroy()                   psi_trigger_create()

  mutex_lock(trigger_lock);
  rcu_assign_pointer(poll_task, NULL);
  mutex_unlock(trigger_lock);
					  mutex_lock(trigger_lock);
					  if (!rcu_access_pointer(group->poll_task)) {
					    timer_setup(poll_timer, poll_timer_fn, 0);
					    rcu_assign_pointer(poll_task, task);
					  }
					  mutex_unlock(trigger_lock);

  synchronize_rcu();
  del_timer_sync(poll_timer); <-- poll_timer has been reinitialized by
                                  psi_trigger_create()

So, trigger_lock/RCU correctly protects destruction of
group->poll_task but misses this race affecting poll_timer and
poll_wait.

Change-Id: I256e7679052ff960683b096e6d804cd4719cfa12
Fixes: 461daba06b ("psi: eliminate kthread_worker from psi trigger scheduling mechanism")
Co-developed-by: ziwei.dai <ziwei.dai@unisoc.com>
Signed-off-by: ziwei.dai <ziwei.dai@unisoc.com>
Co-developed-by: ke.wang <ke.wang@unisoc.com>
Signed-off-by: ke.wang <ke.wang@unisoc.com>
Signed-off-by: Zhaoyang Huang <zhaoyang.huang@unisoc.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Suren Baghdasaryan <surenb@google.com>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Link: https://lkml.kernel.org/r/1623371374-15664-1-git-send-email-huangzhaoyang@gmail.com
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit 8f91efd870)
2021-10-14 18:55:05 +08:00
Suren Baghdasaryan
5d41e8fcf1 UPSTREAM: psi: eliminate kthread_worker from psi trigger scheduling mechanism
Each psi group requires a dedicated kthread_delayed_work and
kthread_worker. Since no other work can be performed using psi_group's
kthread_worker, the same result can be obtained using a task_struct and
a timer directly. This makes psi triggering simpler by removing lists
and locks involved with kthread_worker usage and eliminates the need for
poll_scheduled atomic use in the hot path.

Change-Id: Ib28d84949de068a8bc97dccb187ac3e68980a319
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200528195442.190116-1-surenb@google.com
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit 461daba06b)
2021-10-14 18:55:05 +08:00
William Wu
81e84034e8 usb: dwc3: gadget: increase intr ep resize tx fifo to 64B
For RV1109/RV1126 platforms, it resizes the tx fifos for
all of the usb device endpoints by default, it aims to
support UVC composite device, so just only set 16 bytes
for the tx fifo of the intr endpoints. But for the other
USB functions, like MTP function, it requires 64 bytes
tx fifo for its intr endpoint.

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: I27634dab473dad9a3e3d500cde7156c3eda514e8
2021-10-14 15:59:17 +08:00
Rafael J. Wysocki
00b9fb0f42 UPSTREAM: PM: runtime: Defer suspending suppliers
Because the PM-runtime status of the device is not updated in
__rpm_callback(), attempts to suspend the suppliers of the given
device triggered by the rpm_put_suppliers() call in there may
cause a supplier to be suspended completely before the status of
the consumer is updated to RPM_SUSPENDED, which is confusing.

To avoid that (1) modify __rpm_callback() to only decrease the
PM-runtime usage counter of each supplier and (2) make rpm_suspend()
try to suspend the suppliers after changing the consumer's status to
RPM_SUSPENDED, in analogy with the device's parent.

Change-Id: I2dbdf3999bc8a06bbbe29f57eb9cc1c49ec1aeff
Link: https://lore.kernel.org/linux-pm/CAPDyKFqm06KDw_p8WXsM4dijDbho4bb6T4k50UqqvR1_COsp8g@mail.gmail.com/
Fixes: 21d5c57b37 ("PM / runtime: Use device links")
Reported-by: elaine.zhang <zhangqing@rock-chips.com>
Diagnosed-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
(cherry picked from commit 5244f5e2d8)
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2021-10-13 18:37:54 +08:00
Rafael J. Wysocki
c133510b15 UPSTREAM: Revert "PM: runtime: Update device status before letting suppliers suspend"
Revert commit 44cc89f764 ("PM: runtime: Update device status
before letting suppliers suspend") that introduced a race condition
into __rpm_callback() which allowed a concurrent rpm_resume() to
run and resume the device prematurely after its status had been
changed to RPM_SUSPENDED by __rpm_callback().

Change-Id: Id45cafe9a26bf1a97a9e12e510894c1e4c889e4b
Fixes: 44cc89f764 ("PM: runtime: Update device status before letting suppliers suspend")
Link: https://lore.kernel.org/linux-pm/24dfb6fc-5d54-6ee2-9195-26428b7ecf8a@intel.com/
Reported-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: 4.10+ <stable@vger.kernel.org> # 4.10+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit 0cab893f40)
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2021-10-13 18:35:44 +08:00
Tao Huang
ddc7145079 Merge tag 'ASB-2021-10-05_4.19-stable' of https://android.googlesource.com/kernel/common
https://source.android.com/security/bulletin/2021-10-01
CVE-2020-29368
CVE-2020-29660
CVE-2021-0707
CVE-2020-10768
CVE-2021-29647

* tag 'ASB-2021-10-05_4.19-stable': (1087 commits)
  Linux 4.19.206
  net: don't unconditionally copy_from_user a struct ifreq for socket ioctls
  Revert "floppy: reintroduce O_NDELAY fix"
  KVM: x86/mmu: Treat NX as used (not reserved) for all !TDP shadow MMUs
  fbmem: add margin check to fb_check_caps()
  vt_kdsetmode: extend console locking
  net/rds: dma_map_sg is entitled to merge entries
  drm/nouveau/disp: power down unused DP links during init
  drm: Copy drm_wait_vblank to user before returning
  qed: Fix null-pointer dereference in qed_rdma_create_qp()
  qed: qed ll2 race condition fixes
  vringh: Use wiov->used to check for read/write desc order
  virtio_pci: Support surprise removal of virtio pci device
  virtio: Improve vq->broken access to avoid any compiler optimization
  opp: remove WARN when no valid OPPs remain
  usb: gadget: u_audio: fix race condition on endpoint stop
  net: hns3: fix get wrong pfc_en when query PFC configuration
  net: marvell: fix MVNETA_TX_IN_PRGRS bit number
  xgene-v2: Fix a resource leak in the error handling path of 'xge_probe()'
  ip_gre: add validation for csum_start
  ...

Change-Id: Ib7da21059ab763a87255147340e4cba92e6b3f61

Conflicts:
	arch/arm/boot/dts/rk322x.dtsi
	arch/arm/boot/dts/rk3288.dtsi
	drivers/dma/pl330.c
	drivers/regulator/core.c
	drivers/staging/android/ion/ion.c
	drivers/usb/dwc3/core.c
	drivers/usb/dwc3/ep0.c
	drivers/usb/gadget/function/u_audio.c
2021-10-13 17:56:17 +08:00
Herman Chen
106d1430c1 video: rockchip: mpp: Remove lock on session release
Move mpp_session_deinit out of the lock range.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I46c3aaeb96c67ed04630b0da0a71385546dd5e7c
2021-10-13 09:46:41 +08:00
Zorro Liu
0c84d6bce8 arm64: dts: rockchip: set chrg_term_mode 1 for eink boards
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
Change-Id: Ia383cf9c70acd1aaed0f6426485ebd8c7039f3eb
2021-10-13 09:46:08 +08:00
Jianqun Xu
3b1e3e2136 arm64: dts: rockchip: rk3568-pinctrl: remove flash_volsel
The flash_volsel is not a pin for flash

Change-Id: Ib1f4f4e7f11685ead858e6192b661069c6b85609
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2021-10-13 09:42:40 +08:00
Jianqun Xu
6ccae1fe9f ARM: dts: rv1126-pinctrl: remove flash_vol_sel/trig_in/trig_out
flash_vol_sel / flash_trig_in / flash_trig_out are not pin for flash.

Change-Id: I149ecac1013f6bd1f7b39440fda0511340b99edd
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2021-10-12 16:19:48 +08:00
Sandy Huang
9172f699d0 drm/rockchip: add to consider buffer cacheable at vmap
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I7d823ceea5b50d3fa0a2d6fc252367611d2bb1e1
2021-10-11 14:23:53 +08:00
Shunqian Zheng
15752dea8b iio: imu: inv_icm42600: add icm40608
By comparing icm40608 datasheet with icm42600, it can
use icm426xx driver directly.

Change-Id: If856076ed4f57df6ba5bbb339a35b119937c6385
Signed-off-by: Shunqian Zheng <zhengsq@rock-chips.com>
2021-10-11 09:31:34 +08:00
Elaine Zhang
433f0ced6f thermal: rockchip: rv1126: Remove tsadc trim allowance
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: Id4aab26d322f933cfb7a36dbdccbb46b6a584ed3
2021-10-09 15:15:37 +08:00
Mark Huang
12ae35d5bf ARM: configs: Add rv1126-uvc-spi-nor.config for uvc
make ARCH=arm rv1126_defconfig rv1126-uvc-spi-nor.config

Change-Id: Ie3258ecf353d1c3430a10909a4da66e2cce109eb
Signed-off-by: Mark Huang <huangjc@rock-chips.com>
2021-10-09 15:08:22 +08:00
Zefa Chen
715b9488cd media: rockchip: cif fix issue for CONFIG_ROCKCHIP_IOMMU=n
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I6914ac32bcef7c56eabe6bef9b9acce68615cbc7
2021-10-09 15:06:54 +08:00
Yiqing Zeng
0adfae22a6 media: rockchip: cif: fix pm runtime error
at a high frame rate (120fps), the fast switch test has a higher probability of the following errors:
Failed to get runtime pm, -22

Signed-off-by: Yiqing Zeng <zack.zeng@rock-chips.com>
Change-Id: I6d9fdd86cc69368ba340ab7e43d2b6030a72ce8c
2021-10-09 15:06:54 +08:00
Zefa Chen
53b650ce43 media: rockchip: when cif triggers a reset, redefine the timer after reset
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I3dd12ba2d5f1a6d5a4f77e70b756aba9eaaea98f
2021-10-09 15:06:54 +08:00
Zefa Chen
8ad9944539 media: rockchip: cif optimized buf rotation
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I2e188e2709e20a31eb060ee752de31653eab99df
2021-10-09 15:06:54 +08:00
Shunqian Zheng
01b5b14d41 arm64: config: add robot diffconfig for rk356x
It mainly changes:
 - Use preempt for lower latency
 - Enable MTD flash driver
 - Hung task detection and panic
 - Disable configs: FB, HDMI, ETHERNET etc.

Signed-off-by: Shunqian Zheng <zhengsq@rock-chips.com>
Change-Id: I32816151c01638530b6a429cdc875aced4ee05e0
2021-10-09 14:58:20 +08:00
William Wu
0b5282ddd8 arm64: dts: rockchip: dis u1 and u2 state for rk3568 dwc3 device
According the commit 729dcffd1e ("usb: dwc3: gadget: Add
support for disabling U1 and U2 entries"), it's necessary
to disable the U1 and U2 low power state to improve USB 3.0
performance for mass storage gadget and uvc gadget.

In addition, it can help to avoid the dwc3 wakeup failed
from U1 or U2 state when connect to the Host USB 3.0 interface.

android_work: sent uevent USB_STATE=CONNECTED
dwc3 fcc00000.dwc3: failed to send remote wakeup
dwc3 fcc00000.dwc3: wakeup failed --> -22
WARNING: CPU: 0 PID: 427 at drivers/usb/dwc3/gadget.c:319 dwc3_send_gadget_ep_cmd+0x198/0x93c
...
Call trace:
 dwc3_send_gadget_ep_cmd+0x198/0x93c
 dwc3_ep0_complete_status+0xe8/0x294
 dwc3_ep0_interrupt+0x2ac/0x3d4
 dwc3_process_event_entry+0x7c/0x610
 dwc3_process_event_buf+0x6c/0x374
 dwc3_thread_interrupt+0x38/0x64
 irq_thread_fn+0x34/0x88
 irq_thread+0x1a4/0x248
 kthread+0x13c/0x344
 ret_from_fork+0x10/0x30
dwc3 fcc00000.dwc3: failed to send remote wakeup
android_work: sent uevent USB_STATE=CONFIGURED

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: I7887c782a0320abe768079b098eab17ee846dcf6
2021-10-08 20:56:21 +08:00
William Wu
7216cb1e4b arm64: dts: rockchip: dis u1 and u2 state for rk3399 dwc3 device
According the commit 729dcffd1e ("usb: dwc3: gadget: Add
support for disabling U1 and U2 entries"), it's necessary
to disable the U1 and U2 low power state to improve USB 3.0
performance for mass storage gadget and uvc gadget.

In addition, it can help to avoid the dwc3 wakeup failed
from U1 or U2 state when connect to the Host USB 3.0 interface.

android_work: sent uevent USB_STATE=CONNECTED
dwc3 fcc00000.dwc3: failed to send remote wakeup
dwc3 fcc00000.dwc3: wakeup failed --> -22
WARNING: CPU: 0 PID: 427 at drivers/usb/dwc3/gadget.c:319 dwc3_send_gadget_ep_cmd+0x198/0x93c
...
Call trace:
 dwc3_send_gadget_ep_cmd+0x198/0x93c
 dwc3_ep0_complete_status+0xe8/0x294
 dwc3_ep0_interrupt+0x2ac/0x3d4
 dwc3_process_event_entry+0x7c/0x610
 dwc3_process_event_buf+0x6c/0x374
 dwc3_thread_interrupt+0x38/0x64
 irq_thread_fn+0x34/0x88
 irq_thread+0x1a4/0x248
 kthread+0x13c/0x344
 ret_from_fork+0x10/0x30
dwc3 fcc00000.dwc3: failed to send remote wakeup
android_work: sent uevent USB_STATE=CONFIGURED

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: Ic63ee7852fbe1bcb3563b6dec455c0aee53522f1
2021-10-08 20:49:28 +08:00
Shunhua Lan
50cd86fb55 media: i2c: rk628csi: adjust mclk use ppm instead of absolute value
Signed-off-by: Shunhua Lan <lsh@rock-chips.com>
Change-Id: Ia72b9628553e2c754e6d35c366d1ba48feee7023
2021-10-08 19:04:47 +08:00
Cai YiWei
cfe05e46c9 media: rockchip: ispp: fix monitor no working
Change-Id: I13c410af8902f65d5fc855a32c2778e44d369851
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-10-08 19:03:57 +08:00