Commit Graph

1087136 Commits

Author SHA1 Message Date
Sandy Huang
1ebaed6daf drm/rockchip: rgb: register sub dev at rockchip rgb driver
At rgb to other display output type product, the connector maybe register at
third party drivers, the sub dev register often be forgot, so we add sub
dev register at rockchip rgb driver.

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I3baa051712ac30b63dffa9658df470c12bcb91dc
2024-01-30 18:52:53 +08:00
Finley Xiao
91ce62dbce soc: rockchip: power-domain: Update gate mask for rk3562
The vepu biu clk depends on vi biu clk, add vi gate mask for pd vepu.
The rga biu clk depends on vo biu clk, add vo gate mask for pd rga.

Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: Ieaa62a053369e570eb0a11d132fa472c6bd246f4
2024-01-30 18:41:30 +08:00
Jun Zeng
17a33dcac2 arm64: dts: rockchip: rk3588-vehicle-evb: add spi codec reset gpio
Change-Id: Ib6d9fbebe978a3393fa42d1d4d441fa1bbb9f599
Signed-off-by: Jun Zeng <jun.zeng@rock-chips.com>
2024-01-30 18:37:32 +08:00
Sandy Huang
3bc6e98dcc drm/rockchip: vop2: clearly point out the plane unsupported format modifier
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I2d247f6ae1f63225629dfc6641bce5525cfb8b20
2024-01-30 18:36:39 +08:00
Jianwei Fan
192370b955 arm64: dts: rockchip: rk3588-vehicle-evb: fix image reverse mipi_csi node
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
Change-Id: Ie14481f72268d0e91446cb489003503713c28e14
2024-01-30 18:35:23 +08:00
Jianwei Fan
e4bcfb45de arm64: dts: rockchip: rk3562-evb: fix image reverse mipi_csi node
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
Change-Id: I5364d50a99b4388b34631f6a3c43565c6878522c
2024-01-30 18:34:54 +08:00
Jianwei Fan
5f64a92db2 video: rockchip: vehicle: fix bugs of cif get csi_fmt_val
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
Change-Id: I802fc6a48a2a2177c919f1a09223136e26834c8c
2024-01-30 18:34:25 +08:00
XiaoDong Huang
6685f6f7f9 ARM: rockchip: rv1106: sleep: use rtc as 32k source
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
Change-Id: I32db2b499f4eabfee1acb2b8a7feb0d85e10456b
2024-01-30 18:31:42 +08:00
XiaoDong Huang
21f57eaf2d ARM: rockchip: rv1106_pm: improve the accuracy of recovering hptimer
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
Change-Id: I5ccc5f5fba0f7696fc2c0563ed715b78b5adf451
2024-01-30 18:31:42 +08:00
XiaoDong Huang
0196404b4f soc: rockchip: pm_config: initialize sleep_config to 0
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
Change-Id: I95697411f67492f1e83f07010248f4cab487d6ed
2024-01-30 18:31:42 +08:00
Elaine Zhang
f45da24df9 rtc: rockchip: support rtc suspend bypass
If rtc 32k used as time for deep sleep, the rtc suspend
func bypass do nothing.

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I020182bd06ee68da387a141eb55a86f6bb3a0c5b
2024-01-30 18:31:42 +08:00
Zhang Yubing
517ffd6317 drm/rockchip: vop2: dump encdoer name in summary info
In most rockchip display interface driver, only one connector
attach to a encoder. it can be sured which econder is used
by the connector name.

For DP MST, a DP MST connector will attach to many DP MST
encoders, and more than one DP MST connector can attach
to a DP MST encoder. A DP MST encoder's possible crtc can
also more than one. So in this case, which DP MST encoder
is used can't be get by the crct name or connector name.
A encoder name is necessary for DP MST encoder.

Change-Id: I57026b25d63cde8f72a6e34dc56e073559659821
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
2024-01-30 10:46:37 +08:00
Yu Qiaowei
0b97d73d8e video: rockchip: rga3: fix the wrong check of resolution in RGA3 rotating
Change-Id: If135f3cbb80f30e0a7de18ce293b188318603fde
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
2024-01-30 10:13:23 +08:00
Yu Qiaowei
14e857ea06 video: rockchip: rga3: Add debug log when assign cores
Change-Id: I9e601fa14da96224acb68ced88ac4580b32b6822
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
2024-01-30 10:13:23 +08:00
Cai YiWei
e601ffeb04 media: rockchip: isp: dvbm buf support from rockit
Change-Id: Icacd6c500b8e21830c0b44914e2d742f42e8cf75
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2024-01-30 10:10:00 +08:00
Cai YiWei
dd09e02ea1 media: rockchip: isp: support multiple wrap
Change-Id: Ic0388b6ff7595799164d1872c1303da4107397f2
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2024-01-30 10:10:00 +08:00
Cai YiWei
b84a03e24e media: rockchip: isp: fix isp stop to read stats buf
Change-Id: Ieea391acda2ae44dfa0b26d063a057aec7162521
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2024-01-30 10:10:00 +08:00
Sugar Zhang
bc09999632 ASoC: rockchip: trcm: Fix sleeping function called in atomic context
BUG: sleeping function called from invalid context at include/linux/dmaengine.h:1158
in_atomic(): 1, irqs_disabled(): 128, non_block: 0, pid: 824, name: HwBinder:714_2
CPU: 3 PID: 824 Comm: HwBinder:714_2 Tainted: G        W         5.10.198 #1023
Hardware name: Rockchip RK3588 EVB1 LP4 V10 Board (DT)
Call trace:
 dump_backtrace+0x0/0x1dc
 show_stack+0x18/0x24
 dump_stack_lvl+0xe4/0x12c
 dump_stack+0x18/0x3c
 ___might_sleep+0x110/0x120
 __might_sleep+0x50/0x88
 dmaengine_trcm_trigger+0x9c/0x2c4
 snd_soc_pcm_component_trigger+0x70/0xd8
 soc_pcm_trigger+0x90/0xb0
 snd_pcm_stop+0xa0/0x140
 snd_pcm_release_substream+0x8c/0x194
 snd_pcm_release+0x40/0xa0
 __fput+0xf0/0x260
 ____fput+0x10/0x1c
 task_work_run+0x98/0xf8
 do_notify_resume+0x120/0x21c
 work_pending+0xc/0x730

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I368e3497287f497c7838c18ac28a967a802dd49b
2024-01-30 10:06:37 +08:00
yuyz
d15d637348 ARM: dts: rockchip: Add core dtsi for RV1106G3
Signed-off-by: yuyz <yuyz@rock-chips.com>
Change-Id: Ic6d78f2abb6cb73ecbf4045250aa235e49e267da
2024-01-29 11:29:42 +08:00
Tao Huang
5ffae8fffc Merge tag 'ASB-2024-01-05_12-5.10' of https://android.googlesource.com/kernel/common
https://source.android.com/docs/security/bulletin/2024-01-01

* tag 'ASB-2024-01-05_12-5.10': (29 commits)
  FROMGIT: PM / devfreq: Synchronize devfreq_monitor_[start/stop]
  UPSTREAM: dm verity: don't perform FEC for failed readahead IO
  UPSTREAM: netfilter: nft_set_pipapo: skip inactive elements during set walk
  UPSTREAM: ipv4: igmp: fix refcnt uaf issue when receiving igmp query packet
  UPSTREAM: x86/sev: Check for user-space IOIO pointing to kernel space
  UPSTREAM: x86/sev: Check IOBM for IOIO exceptions from user-space
  UPSTREAM: nvmet-tcp: Fix a possible UAF in queue intialization setup
  FROMLIST: binder: fix memory leaks of spam and pending work
  ANDROID: Snapshot Mainline's version of checkpatch.pl
  ANDROID: scsi: ufs: vendor check response and recovery addition
  ANDROID: scsi: ufs: add perf heuristic design
  ANDROID: ABI: Update symbol list for Mediatek
  ANDROID: Add vendor hook for ufs perf heuristic and error recovery
  UPSTREAM: io_uring/fdinfo: lock SQ thread while retrieving thread cpu/pid
  UPSTREAM: ufs: core: wlun send SSU timeout recovery
  ANDROID: GKI: db845c: Update symbols list and ABI on rpmsg_register_device_override
  ANDROID: fix up rpmsg_device ABI break
  ANDROID: fix up platform_device ABI break
  UPSTREAM: rpmsg: Fix possible refcount leak in rpmsg_register_device_override()
  UPSTREAM: rpmsg: glink: Release driver_override
  ...

Change-Id: I758558dcd135c3ed787c59b0a62a909c66016d80
2024-01-29 09:02:09 +08:00
Jon Lin
3d9e710063 mtd: spinand: Winbond: Support new device W25N01JWZEIG
Change-Id: I90b594403dbd71883da66f6e485959b48b505bda
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2024-01-26 18:00:36 +08:00
Lan Honglin
60a950bb3e media: i2c: sc4336 adapt sleep_wakeup
Change-Id: Ibf1b67d775b7546e74def818b0a0867251134444
Signed-off-by: Lan Honglin <helin.lan@rock-chips.com>
2024-01-26 17:10:06 +08:00
Zefa Chen
cbbff875b4 media: rockchip: vicap fixes the probability of stream data loss after tool nodes capture raw data
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I80cc848151e329400db1bc6a89ef54083f11a937
2024-01-26 17:04:07 +08:00
Cai YiWei
55370d45a7 media: rockchip: isp: add rkisp_buf_dbg
buf queue to set u64 data and buf done to check it.

Change-Id: If8e2e1d2b2f782a84dbbfb08b70c497ad23fec4b
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2024-01-26 17:01:56 +08:00
Cai YiWei
14646892b7 media: rockchip: isp: fix isp32 buf no update to hw
fix commit ea5b7f59a7 ("media: rockchip: isp: frame start to check and config next buf")

Change-Id: I166a5030ea4e9b666f7a0ceb6f2c4379e077bb36
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2024-01-26 17:01:56 +08:00
Cai YiWei
0975048a23 media: rockchip: isp: fix isp stop to enable isp ctrl
Change-Id: I818e4a1fe1297d522a5da0b8613cd37eb18ef840
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2024-01-26 17:01:56 +08:00
Pierre Gondois
ef84fb2dc9 UPSTREAM: sched/fair: Use all little CPUs for CPU-bound workloads
Running N CPU-bound tasks on an N CPUs platform:

- with asymmetric CPU capacity

- not being a DynamIq system (i.e. having a PKG level sched domain
  without the SD_SHARE_PKG_RESOURCES flag set)

.. might result in a task placement where two tasks run on a big CPU
and none on a little CPU. This placement could be more optimal by
using all CPUs.

Testing platform:

  Juno-r2:
    - 2 big CPUs (1-2), maximum capacity of 1024
    - 4 little CPUs (0,3-5), maximum capacity of 383

Testing workload ([1]):

  Spawn 6 CPU-bound tasks. During the first 100ms (step 1), each tasks
  is affine to a CPU, except for:

    - one little CPU which is left idle.
    - one big CPU which has 2 tasks affine.

  After the 100ms (step 2), remove the cpumask affinity.

Behavior before the patch:

  During step 2, the load balancer running from the idle CPU tags sched
  domains as:

  - little CPUs: 'group_has_spare'. Cf. group_has_capacity() and
    group_is_overloaded(), 3 CPU-bound tasks run on a 4 CPUs
    sched-domain, and the idle CPU provides enough spare capacity
    regarding the imbalance_pct

  - big CPUs: 'group_overloaded'. Indeed, 3 tasks run on a 2 CPUs
    sched-domain, so the following path is used:

      group_is_overloaded()
      \-if (sgs->sum_nr_running <= sgs->group_weight) return true;

    The following path which would change the migration type to
    'migrate_task' is not taken:

      calculate_imbalance()
      \-if (env->idle != CPU_NOT_IDLE && env->imbalance == 0)

    as the local group has some spare capacity, so the imbalance
    is not 0.

  The migration type requested is 'migrate_util' and the busiest
  runqueue is the big CPU's runqueue having 2 tasks (each having a
  utilization of 512). The idle little CPU cannot pull one of these
  task as its capacity is too small for the task. The following path
  is used:

   detach_tasks()
   \-case migrate_util:
     \-if (util > env->imbalance) goto next;

After the patch:

As the number of failed balancing attempts grows (with
'nr_balance_failed'), progressively make it easier to migrate
a big task to the idling little CPU. A similar mechanism is
used for the 'migrate_load' migration type.

Improvement:

Running the testing workload [1] with the step 2 representing
a ~10s load for a big CPU:

  Before patch: ~19.3s
  After patch:  ~18s (-6.7%)

Similar issue reported at:

  https://lore.kernel.org/lkml/20230716014125.139577-1-qyousef@layalina.io/

Suggested-by: Vincent Guittot <vincent.guittot@linaro.org>
Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org>
Reviewed-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Acked-by: Qais Yousef <qyousef@layalina.io>
Link: https://lore.kernel.org/r/20231206090043.634697-1-pierre.gondois@arm.com
(cherry picked from commit 3af7524b14198f5159a86692d57a9f28ec9375ce)
Change-Id: Ibfd3ed5fc36ed067d1223603aac336dae11b4ce0
Signed-off-by: Liang Chen <cl@rock-chips.com>
2024-01-25 20:28:40 +08:00
Sandy Huang
f2af5d4507 drm/rockchip: vop2: remove ARGB2101010 support from VOP2
At RK3568 and RK3588 platform, cluster only can support AFBC XRGB2101010 and
not support ARGB2101010.

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: If0695793ea102fdd10be2bcffd6bd428149da646
2024-01-25 20:18:40 +08:00
Sandy Huang
90c661b591 drm/rockchip: vop2: hdisplay must roundup 2/4 when calc pre_scan_dly
splice mode: hdisplay must roundup as 4 pixel,
no splice mode: hdisplay must roundup as 2 pixel.

otherwise will lead to POST_BUF_EMPTY and display black screen.

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I0971a052751c411acef8ed2fcfd9f142caa37598
2024-01-25 10:45:56 +08:00
Zefa Chen
313e8b05f9 media: rockchip: vicap get_channel_info add param of field to cover value from get_fmt
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I552a42ccfa87e61a72b2ce9bd342e41d5e216a13
2024-01-25 10:44:34 +08:00
Chen Shunqing
e1831e066b media: i2c: rk628: add hdmirxphy debugfs
Type: Function
Redmine ID: N/A
Associated modifications: N/A
Test: cat /d/rk628/x-0050/registers/hdmirxphy
      echo 0x2 0x1680 > /d/rk628/x-0050/registers/hdmirxphy

Change-Id: Id395cb5c1c373be00ae4916d86f5f6b13c631c1f
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
2024-01-25 10:44:05 +08:00
Zefa Chen
5a729b7b60 media: rockchip: vicap increase wake up cnt for rv1126/rk3568 monitor mode
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I8161e04d61215026591c47d67995f44c56ed54c5
2024-01-25 10:33:43 +08:00
Cai Wenzhong
0f5b360afc media: i2c: maxim: remote: record the status of the serializer
Signed-off-by: Cai Wenzhong <cwz@rock-chips.com>
Change-Id: Iee78aff7e99950313e5134bd9b0dd73422f0bec1
2024-01-25 09:32:08 +08:00
Algea Cao
f87e4c43fb misc: rk628: Fix warning: rk628_pin_iomux_groups defined but not used
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I737f9197de58097086df624d22e6db93d57202aa
2024-01-24 18:21:02 +08:00
Zhibin Huang
e111f41e81 misc: rk628: Fix the NULL in .suspend/.resume helper when working on hdmi tx mode.
Unable to handle kernel NULL pointer dereference at virtual address 000000000000021c

[   36.755198][    T8] Call trace:
[   36.755491][    T8]  regmap_write+0x14/0x78
[   36.755892][    T8]  rk628_suspend+0x64/0xc0
[   36.756290][    T8]  dpm_run_callback+0x4c/0x214
[   36.756720][    T8]  __device_suspend+0x338/0x528
[   36.757158][    T8]  async_suspend+0x28/0x14c
[   36.757562][    T8]  async_run_entry_fn+0x2c/0xfc
[   36.757994][    T8]  process_one_work+0x1a8/0x3b8
[   36.758436][    T8]  worker_thread+0x258/0x434
[   36.758851][    T8]  kthread+0xec/0x1b8
[   36.759211][    T8]  ret_from_fork+0x10/0x20

Signed-off-by: Zhibin Huang <zhibin.huang@rock-chips.com>
Change-Id: I062ecbf6c751a05b3820c3dc7644facffa68d38f
2024-01-24 18:06:31 +08:00
Elaine Zhang
ee158f86d9 arm64: dts: rockchip: add pd_perihp support for rk3399 usb2
Change-Id: I3a46d7dfb2846b332c81a5879a12853ce7423180
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2024-01-24 14:59:31 +08:00
Lan Honglin
21cc4fd00c media: i2c: imx415: adjusting the power on timing
Fixes: 920198cd6c ("media: i2c: imx415 adapt sleep_wakeup")
Change-Id: I184eff8ca204ae09abe86e31d4b70f9876fcfaf8
Signed-off-by: Lan Honglin <helin.lan@rock-chips.com>
2024-01-24 10:55:24 +08:00
Jianwei Fan
a02a6dc93e media: i2c: rk628: set default timings when query timing if hdmi unplug
Change-Id: Ia88eb29b8f628ad141a256e9cb9229d9b6491851
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
2024-01-23 12:19:46 +00:00
Zhang Yubing
2cc56db2d2 drm/rockchip: dw-dp: support more color format
Change-Id: Ibd302071c92c60abacfc1b7ecafcfefce76af0f2
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
2024-01-23 20:13:33 +08:00
Jianwei Fan
46b3999952 media: i2c: rk628: add CSI error interrupts to haldle csi errors
Change-Id: Iafbb6da9f1aa13c4e47c502182ce994f8c665995
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
2024-01-23 20:05:04 +08:00
Jianwei Fan
524b8b81fa media: i2c: rk628: fix get capture when capture mode is 0
Change-Id: Ieb87f83699f55ebd89a069b8888e554b0329c93f
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
2024-01-23 20:03:52 +08:00
Lin Jianhua
01f8cd7521 arm64: dts: rockchip: px30-evb-ddr3-v10: reduce power consumption by reducing voltage
Partly revert commit 70a514ab14 ("arm64: dts: rockchip: px30-evb:
move some configs to common board dtsi files").

Change-Id: I2b6fb6e0ee84244bc97d328fefe6457e7e432434
Signed-off-by: Lin Jianhua <linjh@rock-chips.com>
2024-01-23 20:03:28 +08:00
Yiqing Zeng
f9d3663176 media: i2c: maxim: driver version v3.01.00
Compatible with kernel v4.19/v5.10/v6.1

Change-Id: I8b0d9b8fac4e2868db1e1b5c70a63462d29c78a4
Signed-off-by: Yiqing Zeng <zack.zeng@rock-chips.com>
Signed-off-by: Cai Wenzhong <cwz@rock-chips.com>
2024-01-23 19:57:41 +08:00
Wu Liangqing
ce77391d7f arm64: dts: rockchip: rk3588-evb7-imx415: remove cam_ircut0
cam_ircut0 ircut-open-gpios reused by typec

Change-Id: I2403e595215e0ada2aed7f9339ab5d83affb27e9
Signed-off-by: Wu Liangqing <wlq@rock-chips.com>
2024-01-23 19:56:42 +08:00
Lan Honglin
c1b160e3fa media: i2c: sc450ai adapt sleep_wakeup
Change-Id: Ib4f2b921e3c312acfbe856559182c6dc7417ddf4
Signed-off-by: Lan Honglin <helin.lan@rock-chips.com>
2024-01-23 19:56:08 +08:00
Chen Shunqing
ce0762a9f6 media: i2c: rk628: fix CTS HF2-23 test fail
Type: Fix
Redmine ID: N/A
Associated modifications: N/A
Test: CTS HF2-23, clk jitter + 0.5%

Change-Id: Iae2c79f368ceeb1a4284dd40de79e235b119b6aa
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
2024-01-23 19:30:34 +08:00
Chen Shunqing
04406cbc20 media: i2c: rk628: fix CTS HF2-86 test fail
If sample_flat field is set to 1, there can't be any sound.

Type: Function
Redmine ID: N/A
Associated modifications: N/A
Test: CTS test HF2-86

Change-Id: I8f2ddfa3c5a7578a28c062817c10de2ea43ad164
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
2024-01-23 19:30:25 +08:00
Chen Shunqing
76acb9e640 media: i2c: rk628: fix CTS test fail
1. disable RR_Capable in EDID.
2. HDCP 2C-01/2C-02 fail, HPD hpd drawdown time extended to 1.1s.

Type: Fix
Redmine ID: N/A
Associated modifications: N/A
Test: CTS test

Change-Id: I7f80372e30d6d6ec40df5c1f289bcfb9937171b2
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
2024-01-23 19:30:18 +08:00
Chen Shunqing
c9c123690f media: i2c: rk628: add hdmirx cec support
Type: Function
Redmine ID: N/A
Associated modifications: N/A
Test: N/A

Change-Id: I975770e7d32fe3d3bcb2123a3b7aa5bda7b05cd7
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
2024-01-23 19:30:04 +08:00
Chen Shunqing
90a1194138 media: i2c: rk628: disable character error detection
Type: Fix
Redmine ID: N/A
Associated N/A
Test: Some sources have high bit error rate,
      resulting in a black screen.

Change-Id: Ibf928d96bb853cf45dc7d49827de2649c2263526
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
2024-01-23 19:29:51 +08:00