Commit Graph

1072543 Commits

Author SHA1 Message Date
Yu Qiaowei
7f955d290c video: rockchip: rga3: use macros to control the working mode of RGA2
When RGA2_USE_MASTER_MODE is 1, master mode is used, when it is 0,
slave mode is used.

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I0b8356e02f58b5fadcec41dd310bd55192d2aa47
2022-09-07 21:16:52 +08:00
Yu Qiaowei
1d4ec83baa video: rockchip: rga3: fix stride of YUV 420 packed
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: If731f7fc3c76e614cbb0f9ceee5e6a4b8b7e130b
2022-09-07 21:13:06 +08:00
Yu Qiaowei
d8e05d0f1b video: rockchip: rga3: fix ovlap non-16 alignment lost alpha channel
When in ABB mode, ovlap needs to enable top/bottom alpha read enable
at the same time.
Because ovlap_offset is not 16 aligned, the bottom will be read in
16*16 blocks. If alpha reading is not enabled at this time, this part
 of the alpha channel will be lost.

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: Id18328e4385064d6be7e0574e344cc5413d20df0
2022-09-07 20:28:07 +08:00
Albert Wang
a81422efff UPSTREAM: usb: dwc3: gadget: Move null pinter check to proper place
When dwc3_gadget_ep_cleanup_completed_requests() called to
dwc3_gadget_giveback() where the dwc3 lock is released, other thread is
able to execute. In this situation, usb_ep_disable() gets the chance to
clear endpoint descriptor pointer which leds to the null pointer
dereference problem. So needs to move the null pointer check to a proper
place.

Example call stack:

Thread#1:
dwc3_thread_interrupt()
  spin_lock
  -> dwc3_process_event_buf()
   -> dwc3_process_event_entry()
    -> dwc3_endpoint_interrupt()
     -> dwc3_gadget_endpoint_trbs_complete()
      -> dwc3_gadget_ep_cleanup_completed_requests()
       ...
       -> dwc3_giveback()
          spin_unlock
          Thread#2 executes

Thread#2:
configfs_composite_disconnect()
  -> __composite_disconnect()
   -> ffs_func_disable()
    -> ffs_func_set_alt()
     -> ffs_func_eps_disable()
      -> usb_ep_disable()
         wait for dwc3 spin_lock
         Thread#1 released lock
         clear endpoint.desc

Fixes: 2628844812 ("usb: dwc3: gadget: Fix null pointer exception")
Cc: stable <stable@kernel.org>
Signed-off-by: Albert Wang <albertccwang@google.com>
Link: https://lore.kernel.org/r/20220518061315.3359198-1-albertccwang@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 3c5880745b)
Change-Id: I15ad3eab4b946f4db6e52035c5dd0d6b3435472e
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2022-09-07 16:11:27 +08:00
Charan Teja Reddy
41b083e3ba UPSTREAM: dma-buf: call dma_buf_stats_setup after dmabuf is in valid list
When dma_buf_stats_setup() fails, it closes the dmabuf file which
results into the calling of dma_buf_file_release() where it does
list_del(&dmabuf->list_node) with out first adding it to the proper
list. This is resulting into panic in the below path:
__list_del_entry_valid+0x38/0xac
dma_buf_file_release+0x74/0x158
__fput+0xf4/0x428
____fput+0x14/0x24
task_work_run+0x178/0x24c
do_notify_resume+0x194/0x264
work_pending+0xc/0x5f0

Fix it by moving the dma_buf_stats_setup() after dmabuf is added to the
list.

Fixes: bdb8d06dfe ("dmabuf: Add the capability to expose DMA-BUF stats in sysfs")
Signed-off-by: Charan Teja Reddy <quic_charante@quicinc.com>
Tested-by: T.J. Mercier <tjmercier@google.com>
Acked-by: T.J. Mercier <tjmercier@google.com>
Cc: <stable@vger.kernel.org> # 5.15.x+
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Christian König <christian.koenig@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1652125797-2043-1-git-send-email-quic_charante@quicinc.com
(cherry picked from commit ef3a6b7050)
Change-Id: Ie282a36291072b2c6c374f8c1924030ff85d29c6
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2022-09-07 16:10:24 +08:00
Joseph Chen
11162a3487 clk: rockchip: rk3588: Add CLK_SET_RATE_PARENT for i2s5/6 frac clk
The flag was missing which makes i2s5/6 src clock rate can't be changed.

Change-Id: I3ad5f39e8a2826d0b18d554c3a53b55f219028d8
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
2022-09-07 16:00:55 +08:00
Cai YiWei
3be39a0ab0 media: rockchip: isp: fix vicap fast stream on and off
Change-Id: I6f94419a6d4beacd4a5ab8f0fa13649bc61eec67
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-09-07 15:58:17 +08:00
Finley Xiao
00ae13ff18 dt-bindings: update SPDX-License-Identifier for rockchip clock header
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I626838b5d18f1a0007f03dfd6132821ff01a026c
2022-09-07 14:36:08 +08:00
Finley Xiao
2e0c57d5b6 dt-bindings: update SPDX-License-Identifier for rockchip power header
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I272f7ffd3aaa0f6c6018268e3fdfb30ad07dbf42
2022-09-07 14:36:08 +08:00
Jason Zhu
c9e093d497 ASoC: es7202: fix es7202 read & write error
The error occur when set pm_domain_always_on as true.
error:
[    5.035136][    T9] pc : es7202_multi_chips_update_bits+0xe4/0x22c
[    5.035684][    T9] lr : es7202_multi_chips_update_bits+0x84/0x22c
[    5.036230][    T9] sp : ffffffc0124e3830
[    5.036593][    T9] pmr_save: 000000e0
[    5.036923][    T9] x29: ffffffc0124e3850 x28: 0000000000000001
[    5.037453][    T9] x27: 0000000000002e11 x26: 0000000000000100
[    5.037981][    T9] x25: 0000000000000208 x24: ffffffc0123f4888
[    5.038511][    T9] x23: 0000000000000105 x22: 0000000000000102
[    5.039040][    T9] x21: 0000000000000000 x20: 0000000000000030
[    5.039572][    T9] x19: 0000000000000000 x18: ffffffc0124950a0
[    5.040099][    T9] x17: 071c71c71c71c71c x16: 0000000000000001
[    5.040626][    T9] x15: 0000000000000000 x14: 0000000000000400
[    5.041153][    T9] x13: 0000000000000004 x12: 0000000000000000
[    5.041680][    T9] x11: ffffffc0124e3770 x10: 0000000000000001
[    5.042207][    T9] x9 : 0000000000000030 x8 : 0000000000000007
[    5.042741][    T9] x7 : 000000b2b5593519 x6 : 0000000000000009
[    5.043275][    T9] x5 : 0000000000000001 x4 : 0000000000000001
[    5.043809][    T9] x3 : ffffff81015cb4f0 x2 : 0000000000000000
[    5.044344][    T9] x1 : ffffff8100340000 x0 : 0000000000000001
[    5.044880][    T9] Call trace:
[    5.045168][    T9]  es7202_multi_chips_update_bits+0xe4/0x22c
[    5.045689][    T9]  es7202_probe+0xa0/0x5cc
[    5.046080][    T9]  snd_soc_component_probe+0x28/0x80
[    5.046541][    T9]  soc_probe_component+0x254/0x3a8
[    5.046985][    T9]  snd_soc_bind_card+0x464/0xad0
[    5.047418][    T9]  snd_soc_register_card+0xf8/0x114
[    5.047873][    T9]  devm_snd_soc_register_card+0x48/0x90
[    5.048355][    T9]  rk_multicodecs_probe+0x844/0x950

Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
Change-Id: I3aafcf653fcb15c20c6c23acbcfb54ee84120161
2022-09-06 21:18:52 +08:00
Zefa Chen
40c34d9901 media: i2c: sc430cs support get real fps
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Ie275e14691e97373e854e536c6a24e9664d5e104
2022-09-06 21:12:33 +08:00
Zefa Chen
9d7e87b159 media: i2c: sc430cs fixed compile error
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I89d3e58072d0976a61c68a5bd11135af8217a85b
2022-09-06 21:12:26 +08:00
Zefa Chen
27fca158ee media: i2c: sc4238 support get channel info
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Iaf4b2986a5aa3b43fb3ea1d29d6e81a1170643ca
2022-09-06 21:06:47 +08:00
Zefa Chen
d7b517a933 media: i2c: sc4238 support get real fps
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I89095cc7e88976e2b6c4cc03dcf7ef4d85161312
2022-09-06 21:06:35 +08:00
Zefa Chen
75bd61f8ee media: i2c: sc4238 fixed compile error
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I049d127f3b9ce6df88ba235997167f9d0b658075
2022-09-06 21:06:01 +08:00
Zefa Chen
47fa14b3ff media: i2c: sc2310 support get channel info
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I66dd1df73e01de14632c27b081a23651c631f106
2022-09-06 21:05:11 +08:00
Zefa Chen
41030bf030 media: i2c: sc2310 support get real fps
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I472f7147e67b6a616badcc4e590796fcde02652f
2022-09-06 21:05:00 +08:00
Zefa Chen
0d29f62062 media: i2c: sc2310 fixed compile error
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I240aea1457bf344a1ca6b410433ddf75edb33deb
2022-09-06 21:04:51 +08:00
Zefa Chen
1015e049d6 media: i2c: sc2239 support get real fps
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Ib54c499c1c11912f09fcdd757fe6770729a02e4f
2022-09-06 20:59:10 +08:00
Zefa Chen
197d1dd185 media: i2c: sc2239 fixed compile error
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Ibe430f5a7398857f742f5fbc40f2b5c71cf529f0
2022-09-06 20:58:55 +08:00
Zefa Chen
8973f1f7d1 media: i2c: sc2232 support get real fps
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I0a7d39efdf19be64c0a6fd1a07d1ea95f5a9c1ec
2022-09-06 20:58:05 +08:00
Zefa Chen
5a810868d7 media: i2c: sc2232 fixed compile error
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I688398cdc757dad906e3b8a9224b3add0d7e7cf7
2022-09-06 20:57:46 +08:00
Zefa Chen
399f2b54c2 media: i2c: sc210iot support get real fps
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I076f76fc865832c6c32bc0948a3ac946f856a302
2022-09-06 20:56:44 +08:00
Zefa Chen
93205a19f3 media: i2c: sc210iot fixed compile error
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Ib8bda8d9612d6dde919ff73b471ea1361653dd2c
2022-09-06 17:45:35 +08:00
Zefa Chen
e22a81c9d7 media: i2c: sc200ai support get channel info
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I3a94f110dad47d8b8d75a8db151ba066b1fbc9f6
2022-09-06 17:42:47 +08:00
Zefa Chen
dafa315868 media: i2c: sc200ai support get real fps
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I7c0b337096a699c0eb77939bb70b9494fe426b69
2022-09-06 17:42:39 +08:00
Zefa Chen
4c384115c4 media: i2c: sc200ai fixed compile error
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I25d53efa9c620c51407529414f7eebfdb315cfd6
2022-09-06 17:42:14 +08:00
Zefa Chen
b1d21d84ec media: i2c: sc530ai support get channel info
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Ie52ca66917de1e1dc9da36ece34d8a3ed44e24fb
2022-09-06 17:15:55 +08:00
Zefa Chen
9e83a41df7 media: i2c: sc530ai support get real fps
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I34057cf6defa752fbfcd248ca3d31cec64775add
2022-09-06 17:15:46 +08:00
Zefa Chen
feb05d124a media: i2c: sc500ai support get channel info
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I53e3d0389de3b0bcc5fd86a7184826aaecd39594
2022-09-06 17:15:00 +08:00
Zefa Chen
d07a1791b5 media: i2c: sc500ai support get real fps
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I6ed59d6bc66aca089f899b42696f4ee95d68993c
2022-09-06 17:14:39 +08:00
Zefa Chen
ccc90a8c83 media: i2c: sc4210 support get channel info
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I9e9bc7288f2d7af219c8b3ee629fe2374ac51afd
2022-09-06 17:13:27 +08:00
Zefa Chen
fee70d173c media: i2c: sc401ai support get real fps
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I32fd44195becb2f3b33d9a7d4179c7f026bea7fc
2022-09-06 17:12:59 +08:00
Zefa Chen
442572f3ca media: i2c: sc301iot support get channel info
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Ida660f06b64b68f3508dd77dfea7e6aec8ba9c3b
2022-09-06 17:12:22 +08:00
Zefa Chen
1f6d411d70 media: i2c: sc301iot support get real fps
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I614fba82a69a29559dd5eb170632623e9974385e
2022-09-06 17:11:50 +08:00
Zefa Chen
6a17edc2e9 media: i2c: sc132gs support get real fps
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Id5ffd31659d26cf8a4cf4345d646bb9fe8a608f1
2022-09-06 17:10:22 +08:00
Zefa Chen
5097c3461a media: i2c: sc035gs support get real fps
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I35abf81ea047f7a9cea002aed41c43e693e7b51d
2022-09-06 17:07:37 +08:00
Zefa Chen
3baadab121 media: i2c: sc031gs support get real fps
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Ice76e4bd728f5e1ad5c946eeeb356b4d90873733
2022-09-06 17:06:48 +08:00
Zefa Chen
84a81c0888 media: i2c: sc3338 init cur_fps, fixed error of g_frame_interval
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Iefef919fd938bb9f258ca4dae6c673a63a8edf09
2022-09-05 17:57:16 +08:00
Zefa Chen
43bb7cf2fe media: i2c: sc3336 init cur_fps, fixed error of g_frame_interval
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I058ce97c1d59fa95c15d67db067d467ef015cf8d
2022-09-05 17:56:36 +08:00
Zefa Chen
62feb1c904 media: i2c: sc230ai init cur_fps, fixed error of g_frame_interval
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I1851281bacaa35566a49a7ff3f4c2790593e407b
2022-09-05 17:46:51 +08:00
Jianqun Xu
dbe1892e27 gpio: rockchip: support acpi
1. support ACPI
2. support 'clock-names' from dt nodes
3. driver works without pinctrl device

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I6eb520632f27ea9ad84f3ee616c631be5d028cf5
2022-09-05 17:23:28 +08:00
Yifeng Zhao
2f5fe2c0bb phy: rockchip: naneng-combophy: config sata2 rate to 6G for rk3588
Fixes: 1a6396458b ("phy: rockchip: naneng-combphy: add support rk3588")
Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
Change-Id: I9ca63ea12d1b08e8aac5ecb439b4ee1516f11768
2022-09-05 17:09:11 +08:00
XiaoTan Luo
bf5984992b ASoC: rockchip: mdais: add prepare ops
Signed-off-by: XiaoTan Luo <lxt@rock-chips.com>
Change-Id: I795e9d32ea51a4bf0f229d4e052b52aaeb34df2f
2022-09-05 16:58:42 +08:00
Wyon Bi
843fd2249d phy/rockchip: samsung-hdptx: correct SDC_N
According to the datasheet rev1.05 Table 5-1:
SDC_N is 1 for HBR/HBR2.

However datasheet wasn't correct.

Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I1cf6d573a6e886a32999dbf1b0e2ad43c5cdc30c
2022-09-05 08:34:19 +00:00
Sach Lin
c440ebcbb8 ARM: dts: rockchip: rv1106-smd-cam: enable rkisp_vir2.
Signed-off-by: Sach Lin <sach.lin@rock-chips.com>
Change-Id: Id3ab5462e1f68d892b17eac31964aeb73d6d8260
2022-09-05 11:02:20 +08:00
Damon Ding
b164346221 drm/rockchip: rgb: add loader_protect support for mcu panel
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: Ic0e5f48a5324d64d5218b7bd77bc1b4b9ad01fa3
2022-09-05 10:54:19 +08:00
Wang Xiaobin
3f55e852e2 ARM: configs: rv1106-smart-door: enable thunderboot isp
Configured CONFIG_VIDEO_ROCKCHIP_THUNDER_BOOT_ISP=y in rv1106-tb.config,
for kmpp/rockit built-in

Signed-off-by: Wang Xiaobin <xb.wang@rock-chips.com>
Change-Id: Ib3a2265870ec78ece785d2c6152c6aa612f2d14d
2022-09-05 10:53:22 +08:00
XiaoTan Luo
3437162327 ASoC: rockchip: pdm: Fix pop noise in the beginning
Generally, DMICs require some delay to wake up to NORMAL state
after clk enabled (WAKE-UP Time), and it varies per dmic chips,
we should ignore the dirty data in this duration.

This patch introduce "start/filter-delay-ms" to skip the pop noise
in the duration, and export this delay to allow user to change it.

* PDM Start Delay Ms
  a necessary delay for dmics wake-up after clk enabled, and drop the
  dirty data in this duration.

* PDM Filter Delay Ms
  after xfer start, a necessary delay for filter to init and will drop
  the dirty data in the trigger-START late.

e.g.

/# amixer -c 3 contents
numid=4,iface=PCM,name='PDM Filter Delay Ms'
  ; type=INTEGER,access=rw------,values=1,min=20,max=1000,step=1
  : values=20
numid=3,iface=PCM,name='PDM Start Delay Ms'
  ; type=INTEGER,access=rw------,values=1,min=0,max=1000,step=1
  : values=20

/# amixer -c 3 cset numid=4 30
numid=4,iface=PCM,name='PDM Filter Delay Ms'
  ; type=INTEGER,access=rw------,values=1,min=20,max=1000,step=1
  : values=30
...

Signed-off-by: XiaoTan Luo <lxt@rock-chips.com>
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I1b22de7c73cc181d2acd756ee2e32b8361db7822
2022-09-05 10:52:27 +08:00
Jeffy Chen
6f3aa8f570 UPSTREAM: drm/gem: Fix GEM handle release errors
Currently we are assuming a one to one mapping between dmabuf and
GEM handle when releasing GEM handles.

But that is not always true, since we would create extra handles for the
GEM obj in cases like gem_open() and getfb{,2}().

A similar issue was reported at:
https://lore.kernel.org/all/20211105083308.392156-1-jay.xu@rock-chips.com/

Another problem is that the imported dmabuf might not always have
gem_obj->dma_buf set, which would cause leaks in
drm_gem_remove_prime_handles().

Let's fix these for now by using handle to find the exact map to remove.

Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Christian König <christian.koenig@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220819072834.17888-1-jeffy.chen@rock-chips.com
(cherry picked from commit ea2aa97ca3)

Change-Id: I13b922ef9372f6c2b8e08540f085364c41afdfed
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2022-09-05 10:26:27 +08:00