Commit Graph

1292967 Commits

Author SHA1 Message Date
Xiao Lin
b68d0098b2 rtc: s35390a: fix the issue where the alarm clock interruption cannot be triggered
The alarm clock failed to register the interrupt handling
function properly, resulting in the alarm clock being
unable to report the alarm event to the framework layer

Change-Id: Ie683776238255740badb1dcd83b56390c79dff05
Signed-off-by: Xiao Lin <xiao.lin@rock-chips.com>
2025-07-11 10:11:55 +08:00
Algea Cao
a9e716a7e7 drm/bridge: synopsys: dw-hdmi-qp: Clear mode list when hdmi plug out
When a userspace process that is not the drm master calls
drm_mode_getconnector(), fill_modes() will not be called and
connector mode list will not be updated. If mode list is not
cleared when hdmi plug out, mode list obtained by the use-space
process when hdmi is disconnected will still be the same as when
hdmi is connected. This is inconsistent with the actual situation.
So when the hdmi plug out, connector mode list needs to be
actively cleared. The "modetest -c" printed when the error occurs
is as follows:

Connectors:
id      encoder status          name            size (mm)       modes   encoders
410     409     disconnected    HDMI-A-1        0x0             49      409
  modes:
        index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot
  #0 3840x2160 24.00 3840 4092 4180 5500 2160 2168 2178 2250 297000 flags: phsync, pvsync; type: preferred, driver
  #1 4096x2160 60.00 4096 4184 4272 4400 2160 2168 2178 2250 594000 flags: phsync, pvsync; type: driver
  #2 4096x2160 59.94 4096 4184 4272 4400 2160 2168 2178 2250 593407 flags: phsync, pvsync; type: driver
  #3 4096x2160 50.00 4096 5064 5152 5280 2160 2168 2178 2250 594000 flags: phsync, pvsync; type: driver
  #4 4096x2160 30.00 4096 4184 4272 4400 2160 2168 2178 2250 297000 flags: phsync, pvsync; type: driver
  #5 4096x2160 29.97 4096 4184 4272 4400 2160 2168 2178 2250 296703 flags: phsync, pvsync; type: driver
  #6 4096x2160 24.00 4096 5116 5204 5500 2160 2168 2178 2250 297000 flags: phsync, pvsync; type: driver
  #7 4096x2160 23.98 4096 5116 5204 5500 2160 2168 2178 2250 296703 flags: phsync, pvsync; type: driver
  #8 3840x2160 120.00 3840 4016 4104 4400 2160 2168 2178 2250 1188000 flags: phsync, pvsync; type: driver
  #9 3840x2160 119.88 3840 4016 4104 4400 2160 2168 2178 2250 1186813 flags: phsync, pvsync; type: driver
  #10 3840x2160 100.00 3840 4896 4984 5280 2160 2168 2178 2250 1188000 flags: phsync, pvsync; type: driver
  #11 3840x2160 60.00 3840 4016 4104 4400 2160 2168 2178 2250 594000 flags: phsync, pvsync; type: driver
  #12 3840x2160 59.94 3840 4016 4104 4400 2160 2168 2178 2250 593407 flags: phsync, pvsync; type: driver
  #13 3840x2160 50.00 3840 4896 4984 5280 2160 2168 2178 2250 594000 flags: phsync, pvsync; type: driver
  #14 3840x2160 30.00 3840 4016 4104 4400 2160 2168 2178 2250 297000 flags: phsync, pvsync; type: driver
  #15 3840x2160 29.97 3840 4016 4104 4400 2160 2168 2178 2250 296703 flags: phsync, pvsync; type: driver
  #16 3840x2160 25.00 3840 4896 4984 5280 2160 2168 2178 2250 297000 flags: phsync, pvsync; type: driver
  #17 3840x2160 24.00 3840 5116 5204 5500 2160 2168 2178 2250 297000 flags: phsync, pvsync; type: driver
  #18 3840x2160 23.98 3840 5116 5204 5500 2160 2168 2178 2250 296703 flags: phsync, pvsync; type: driver
  #19 1920x1080 120.00 1920 2008 2052 2200 1080 1084 1089 1125 297000 flags: phsync, pvsync; type: driver
  #20 1920x1080 119.88 1920 2008 2052 2200 1080 1084 1089 1125 296703 flags: phsync, pvsync; type: driver
  #21 1920x1080 60.00 1920 2008 2052 2200 1080 1084 1089 1125 148500 flags: phsync, pvsync; type: driver
  #22 1920x1080 60.00 1920 2008 2052 2200 1080 1084 1089 1125 148500 flags: phsync, pvsync; type: driver
  #23 1920x1080 59.94 1920 2008 2052 2200 1080 1084 1089 1125 148352 flags: phsync, pvsync; type: driver
  #24 1920x1080i 30.00 1920 2008 2052 2200 1080 1084 1094 1125 74250 flags: phsync, pvsync, interlace; type: driver
  #25 1920x1080i 29.97 1920 2008 2052 2200 1080 1084 1094 1125 74176 flags: phsync, pvsync, interlace; type: driver
  #26 1920x1080 50.00 1920 2448 2492 2640 1080 1084 1089 1125 148500 flags: phsync, pvsync; type: driver
  #27 1920x1080i 25.00 1920 2448 2492 2640 1080 1084 1094 1125 74250 flags: phsync, pvsync, interlace; type: driver
  #28 1920x1080 30.00 1920 2008 2052 2200 1080 1084 1089 1125 74250 flags: phsync, pvsync; type: driver
  #29 1920x1080 29.97 1920 2008 2052 2200 1080 1084 1089 1125 74176 flags: phsync, pvsync; type: driver
  #30 1920x1080 24.00 1920 2558 2602 2750 1080 1084 1089 1125 74250 flags: phsync, pvsync; type: driver
  #31 1920x1080 23.98 1920 2558 2602 2750 1080 1084 1089 1125 74176 flags: phsync, pvsync; type: driver
  #32 1280x1024 60.02 1280 1328 1440 1688 1024 1025 1028 1066 108000 flags: phsync, pvsync; type: driver
  #33 1280x800 59.91 1280 1328 1360 1440 800 803 809 823 71000 flags: phsync, nvsync; type: driver
  #34 1280x720 60.00 1280 1390 1430 1650 720 725 730 750 74250 flags: phsync, pvsync; type: driver
  #35 1280x720 60.00 1280 1390 1430 1650 720 725 730 750 74250 flags: phsync, pvsync; type: driver
  #36 1280x720 59.94 1280 1390 1430 1650 720 725 730 750 74176 flags: phsync, pvsync; type: driver
  #37 1280x720 50.00 1280 1720 1760 1980 720 725 730 750 74250 flags: phsync, pvsync; type: driver
  #38 1024x768 119.99 1024 1072 1104 1184 768 771 775 813 115500 flags: phsync, nvsync; type: driver
  #39 1024x768 60.00 1024 1048 1184 1344 768 771 777 806 65000 flags: nhsync, nvsync; type: driver
  #40 800x600 60.32 800 840 968 1056 600 601 605 628 40000 flags: phsync, pvsync; type: driver
  #41 720x576 50.00 720 732 796 864 576 581 586 625 27000 flags: nhsync, nvsync; type: driver
  #42 720x576 50.00 720 732 796 864 576 581 586 625 27000 flags: nhsync, nvsync; type: driver
  #43 720x480 60.00 720 736 798 858 480 489 495 525 27027 flags: nhsync, nvsync; type: driver
  #44 720x480 60.00 720 736 798 858 480 489 495 525 27027 flags: nhsync, nvsync; type: driver
  #45 720x480 59.94 720 736 798 858 480 489 495 525 27000 flags: nhsync, nvsync; type: driver
  #46 720x480 59.94 720 736 798 858 480 489 495 525 27000 flags: nhsync, nvsync; type: driver
  #47 640x480 60.00 640 656 752 800 480 490 492 525 25200 flags: nhsync, nvsync; type: driver
  #48 640x480 59.94 640 656 752 800 480 490 492 525 25175 flags: nhsync, nvsync; type: driver
  props:
        1 EDID:
                flags: immutable blob
                blobs:

                value:
        2 DPMS:
                flags: enum
                enums: On=0 Standby=1 Suspend=2 Off=3
                value: 0

Fixes: f1c83fae2e ("drm/bridge: synopsys: dw-hdmi-qp: Clear edid property when hdmi plug out")

Change-Id: I76551a751dd7ebe1da440c38ca5186b1d2b74e93
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
2025-07-10 02:42:23 +00:00
Tao Huang
98d4dd654b Merge commit 'a1d62b81aec54ac9382ba495ad6803a12e83cb30'
* commit 'a1d62b81aec54ac9382ba495ad6803a12e83cb30':
  pwm: rockchip: Remove redundant pwmchip_remove()
  phy: rockchip: inno-hdmi: Support automatic calculation of the phy pll frequency division coefficient
  arm64: configs: rockchip_linux_defconfig enable CONFIG_PCIE_FUNC_RKEP
  PCI: rockchip: dw: Add PCIE_DW_ROCKCHIP_RC_DMATEST macro limit for dma test
  phy: rockchip-snps-pcie3: increase sram init timeout
  Revert "arm64: dts: rockchip: rv1126b-evb2-v10-tb-400w: Add rndis support"
  spi: spi-rockchip-sfc: prefer asynchronous probing when CONFIG_ROCKCHIP_THUNDER_BOOT=y
  dmaengine: pl330: Fix NULL pointer dereference in pl330_tasklet()
  drm/rockchip: drv: use drm_format_info_bpp() to get bpp
  soc: rockchip: rockchip_thunderboot_mmc: Don't continue if timeout happens when loading firmware
  power: supply: rk817_battery: Optimize temperature filtering functionality
  power: supply: rk817_battery: Support rk817b
  power: supply: rk817_battery: Implement temperature filtering functionality
  power: supply: rk817_battery: Smooth charging/discharging curves
  power: supply: rk817_battery: Resolve data overflow issue
  power: supply: rk817_battery: Add auto-stage switching for TS crossflow
  power: supply: rk817_battery: Consider the effect of contact resistance

Change-Id: Ia63199dbc6243fd479748a507737abecf4e0278f
2025-07-09 19:18:22 +08:00
Huibin Hong
5c679e9058 soc: rockchip: fiq_debugger: fix dts property 'rockchip,irq-mode-enable'
When cpu is ARM-V7 without ATF, the uart interrupt mode is
fiq mode when 'rockchip,irq-mode-enable' is 1, and it is irq
mode when 'rockchip,irq-mode-enable' is 0.

Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
Change-Id: Ia648639a52fe8c08893b7be0d4913233fb6d9607
2025-07-09 19:17:45 +08:00
Tao Huang
ef5682f1c4 Merge commit 'cb2c6fee8a36d85b5ead8f246bbc035259b14b2a'
Merge made by the 'ours' strategy.

Change-Id: I08443006082d10784ea9de433f4d8af9602c524d
2025-07-09 19:15:02 +08:00
Damon Ding
a1d62b81ae pwm: rockchip: Remove redundant pwmchip_remove()
The pwmchip_add() has been replaced with devm_pwmchip_add(), so the
pwmchip_remove() is needless.

Fixes: 19b3f8d830 ("pwm: rockchip: add pwm clk_osc control for wave generator mode")
Change-Id: I2f75be757fc6b8e73f376fe2ec1c251b9a2701be
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
2025-07-09 16:44:45 +08:00
Algea Cao
d464908e13 phy: rockchip: inno-hdmi: Support automatic calculation of the phy pll frequency division coefficient
If the required frequency is not in the pre_pll_cfg_table, the
automatically calculated frequency division coefficient will be
used.
The automatic calculation function has been tested at following
frequencies(unit is Mhz):

594/371.25/297/185.625/148.5/108/92.8125/74.25/59.4/33.75/27/25.2

Change-Id: If58e12c284dc315c82043600edec6cb313423550
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
2025-07-09 07:58:26 +00:00
Jon Lin
5ae472ab4e arm64: configs: rockchip_linux_defconfig enable CONFIG_PCIE_FUNC_RKEP
Change-Id: I9e500c5cf8a57e7644a5377a227a4f862a5f9361
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2025-07-09 07:57:39 +00:00
Jon Lin
d5de9fa853 PCI: rockchip: dw: Add PCIE_DW_ROCKCHIP_RC_DMATEST macro limit for dma test
Change-Id: Ife44ec0ef94bf731ba7b7056833b942608801ed4
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2025-07-09 06:19:36 +00:00
Shawn Lin
1a93d3ca23 phy: rockchip-snps-pcie3: increase sram init timeout
It's reported that one of RK3568 boards could be timeout when doing
s2r test. Increasing the timeout value solves the problem. At this
time, reuse RK_PCIE_SRAM_INIT_TIMEOUT instead.

Change-Id: I9a935104cf3cf6058d69181c4604749692292ff9
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2025-07-09 06:15:26 +00:00
Ziyuan Xu
185cbe4eea Revert "arm64: dts: rockchip: rv1126b-evb2-v10-tb-400w: Add rndis support"
The RV1126B-EVB2 doesn't support u3, and other usb nodes had beed
defined in base dtsi.

This reverts commit 2b322acaa7.

Change-Id: Ie960b9cfabfc2f79ffe5e67124bb36ec042eb6c5
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
2025-07-08 18:20:46 +08:00
Bian Jin chen
e2deb0b42a ANDROID: GKI: Update rockchip symbols for drm driver.
INFO: 1 function symbol(s) added
  'bool drm_connector_helper_hpd_irq_event(struct drm_connector*)'

Bug: 300024866
Signed-off-by: Bian Jin chen <kenjc.bian@rock-chips.com>
Change-Id: I0598722bc43047680c8b9894d6ec9c55f0618ff7
2025-07-08 17:28:19 +08:00
Ziyuan Xu
7ee99a0968 spi: spi-rockchip-sfc: prefer asynchronous probing when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Save boot time about 5ms on rv1126b-evb2-v10-tb-400w board.

Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
Change-Id: Ie70a3e96c88d71bbc78729cbc64ead792fe319fc
2025-07-08 07:44:28 +00:00
Sugar Zhang
26b5e473be dmaengine: pl330: Fix NULL pointer dereference in pl330_tasklet()
Unable to handle kernel NULL pointer dereference at virtual address 0000000000000010
Mem abort info:
  ESR = 0x0000000096000005
  EC = 0x25: DABT (current EL), IL = 32 bits
  SET = 0, FnV = 0
  EA = 0, S1PTW = 0
  FSC = 0x05: level 1 translation fault
Data abort info:
  ISV = 0, ISS = 0x00000005
  CM = 0, WnR = 0
user pgtable: 4k pages, 39-bit VAs, pgdp=0000000007a01000
[0000000000000010] pgd=0000000000000000, p4d=0000000000000000, pud=0000000000000000
Internal error: Oops: 0000000096000005 [#1] PREEMPT SMP
Modules linked in: bcmdhd(O)
CPU: 3 PID: 16268 Comm: brcm_patchram_p Tainted: G        W  O       6.1.118 #135
Hardware name: Rockchip RK3308B EVB AUDIO DDR3 V11 Board + Rockchip RK3308 RGB ExtBoard V10 (DT)
pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : pl330_tasklet+0xf8/0x51c
lr : pl330_tasklet+0x44/0x51c
sp : ffffffc008d23e50
x29: ffffffc008d23e50 x28: 0000000000000001 x27: 0000000000000101
x26: ffffff80018c3848 x25: ffffff80018c3848 x24: ffffffc00877d0f0
x23: ffffff80018c3848 x22: ffffff80018c3870 x21: 0000000000000000
x20: 0000000000000000 x19: ffffff80018c37a0 x18: ffffffc00b8c3b28
x17: ffffffc015c48000 x16: ffffffc008d20000 x15: 0000000000000000
x14: ffffff8002dd170c x13: 0000000000000801 x12: 0000000000000001
x11: 0000000000000003 x10: 0000000000000000 x9 : 000000000029316c
x8 : ffffff801e684200 x7 : 000000000000028e x6 : 0000000000000c00
x5 : ffffff80018c3870 x4 : 0000000000000000 x3 : ffffff80018c3848
x2 : 0000000000000001 x1 : ffffff80018c3848 x0 : 0000000000000000
Call trace:
 pl330_tasklet+0xf8/0x51c
 tasklet_action_common.constprop.0+0x8c/0xd0
 tasklet_hi_action+0x24/0x2c
 handle_softirqs+0x1b0/0x1f0
 _stext+0x10/0x18
 ____do_softirq+0xc/0x14
 call_on_irq_stack+0x24/0x34
 do_softirq_own_stack+0x18/0x20
 __irq_exit_rcu+0x64/0xac
 irq_exit_rcu+0xc/0x14
 el1_interrupt+0x34/0x5c
 el1h_64_irq_handler+0x14/0x1c
 el1h_64_irq+0x64/0x68
 exit_rcu+0x0/0x6c
 do_group_exit+0x30/0x8c
 get_signal+0x174/0x5e4
 do_notify_resume+0x128/0x938
 el0_svc_compat+0x30/0x3c
 el0t_32_sync_handler+0xac/0xf4
 el0t_32_sync+0x14c/0x150

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I42e960bb3975d86754c0dab50f95ac5a1e951b31
2025-07-08 07:34:02 +00:00
Sandy Huang
3ee1df0be9 drm/rockchip: drv: use drm_format_info_bpp() to get bpp
The actual number of bits per pixel need consider block size.

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: Ib0202cb0e8f8167261ddfda2b272a6ff3eae9d47
2025-07-08 06:21:20 +00:00
Zorro Liu
d53d453f33 drm/rockchip: ebc_dev: release version v8.04
Change-Id: I9246970ab6554c01823c2767677a69ffa37e0e1b
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
2025-07-08 06:19:12 +00:00
Xuhui Lin
d9131bbe37 soc: rockchip: rockchip_thunderboot_mmc: Don't continue if timeout happens when loading firmware
If mmc read timeout and continue start decom, the phenomenon is that
decom error, and it's more difficult to locate the true reason.

Change-Id: I95b2f2ac46764485bced6f86a715cfc5b7c80ef0
Signed-off-by: Xuhui Lin <xuhui.lin@rock-chips.com>
2025-07-08 10:17:40 +08:00
Shengfei Xu
43d933d9e4 power: supply: rk817_battery: Optimize temperature filtering functionality
1. Compatibility with abrupt temperature changes: Detect scenarios involving
   consecutive rapid temperature shifts (valid when 5 consecutive abrupt changes occur);
2. Single-spike filtration: Eliminate isolated jumps caused by charging/discharging processes;
3. Automatic detection of maximum RMS output: Monitor the constant current source’s
   effective output limits

Change-Id: Id8351c8fc987df7afa8a839af9e920b2946e8905
Signed-off-by: Shengfei Xu <xsf@rock-chips.com>
2025-07-08 01:59:28 +00:00
Shengfei Xu
d0eb6d8d55 power: supply: rk817_battery: Support rk817b
The RK817b fuel gauge has incorporated the following enhancements:
The constant voltage (CV) charging levels have been expanded.
However, after modifying the level switching function bit, the level
value must be forcibly written again to activate the change; otherwise,
the level switching cannot be increased. The constant current source
for temperature testing has added 80μA, 100μA, 120μA, and 160μA levels
to elevate the constant current value, thereby reducing the impact of
negative contact resistance on sampling accuracy

Change-Id: I9f253c3a89f70a126ba4d72483afe02ea5be2f52
Signed-off-by: Shengfei Xu <xsf@rock-chips.com>
2025-07-08 01:59:28 +00:00
Shengfei Xu
57f548caa1 power: supply: rk817_battery: Implement temperature filtering functionality
Implement temperature filtering functionality to mitigate abrupt
temperature fluctuations caused by probabilistic acquisition of
erroneous thermistor resistance values.

Change-Id: Iedda4af3f75e3cee1b132e659857a2c032681d3a
Signed-off-by: Shengfei Xu <xsf@rock-chips.com>
2025-07-08 01:59:28 +00:00
Shengfei Xu
cefe8cd2e3 power: supply: rk817_battery: Smooth charging/discharging curves
Retain the remainder of the smoothing coefficient calculation
for use in the next iteration to ensure continuity.

Change-Id: Iea5769149a9df4d294a721e43df7c2e6583a8e4f
Signed-off-by: Shengfei Xu <xsf@rock-chips.com>
2025-07-08 01:59:28 +00:00
Shengfei Xu
fedcfc9334 power: supply: rk817_battery: Resolve data overflow issue
Data overflow during fast-charging may cause the battery
percentage to freeze near full capacity.

Change-Id: I1c9d8108196c7a102e1fd251cbda86cbfbaeffe8
Signed-off-by: Shengfei Xu <xsf@rock-chips.com>
2025-07-08 01:59:28 +00:00
Shengfei Xu
23397aa1ac power: supply: rk817_battery: Add auto-stage switching for TS crossflow
Added automatic stage switching functionality for the TS crossflow
current source. To mitigate the impact of contact resistance and
enhance the sampling accuracy of the thermistor voltage, the current
strategy prioritizes using higher current ranges of the TS constant
current source while remaining within the ADC's sampling range. The
system now employs software-based monitoring of the thermistor's
voltage to dynamically adjust the current source's output stage.

Change-Id: I92e9165280c932b987b85530a9b6792c6b817187
Signed-off-by: Shengfei Xu <xsf@rock-chips.com>
2025-07-08 01:59:28 +00:00
Shengfei Xu
750233099a power: supply: rk817_battery: Consider the effect of contact resistance
Incorporate calculations for negative terminal contact resistance
to minimize errors in thermistor resistance measurements, particularly
deviations in high-temperature regions caused by voltage drops across
the contact resistance.

Change-Id: Iaae24e44649a31c3f81fd4f7e96293d6d14204f3
Signed-off-by: Shengfei Xu <xsf@rock-chips.com>
2025-07-08 01:59:28 +00:00
Zhang Yubing
5313e1d097 drm/rockchip: logo: add the effect bridge state for atomic state
Some display interface driver will register encoder and bridge.
The analogix edp driver is one of these driver and it will use
the bridge state in atomic_check callback. If no bridge state
get, the atomic_check will return without assign a value to the
crtc_state.output_type.

When enable uboot logo, if no bridge state get for the analogix
edp, the old_crtc_state.output_type will be 0 and the
new_crtc_state.output_type will be DRM_MODE_CONNECTOR_eDP. It
assume that this different will affect nothing. But when the edp
attach to VOPB/L and assign the VOPB/L dclk parent as VPLL, the
crtc atomic_check callback will change the VOPB/L dclk parent
and issue a mode change. this mode change will call the edp driver
encoder_disable callback and reference the encoder.crtc pointer.
This point only assign a value in
drm_atomic_helper_update_legacy_modeset_state(). So a NULL pointer
issue will happen as follow:
[    3.489609] Unable to handle kernel NULL pointer dereference at virtual address 00000000000005c8
[    3.585216] Mem abort info:
[    3.585219]   ESR = 0x0000000096000005
[    3.585223]   EC = 0x25: DABT (current EL), IL = 32 bits
[    3.585227]   SET = 0, FnV = 0
[    3.585230]   EA = 0, S1PTW = 0
[    3.585232]   FSC = 0x05: level 1 translation fault
[    3.585235] Data abort info:
[    3.585237]   ISV = 0, ISS = 0x00000005
[    3.585240]   CM = 0, WnR = 0
[    3.586697] mmcblk0rpmb: mmc0:0001 AJTD4R 4.00 MiB, chardev (235:0)
[    3.587117] [00000000000005c8] user address but active_mm is swapper
[    3.587121] Internal error: Oops: 0000000096000005 [#1] SMP
[    3.592746] Modules linked in:
[    3.593023] CPU: 5 PID: 46 Comm: kworker/u12:1 Not tainted 6.1.99 #517
[    3.593595] Hardware name: Rockchip RK3399 EVB IND LPDDR4 Board edp (Linux) (DT)
[    3.594244] Workqueue: events_unbound deferred_probe_work_func
[    3.594764] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[    3.595380] pc : rockchip_dp_drm_encoder_disable+0x20/0x10c
[    3.595874] lr : drm_atomic_helper_commit_modeset_disables+0x1e0/0x670
[    3.596444] sp : ffffffc00a71b6b0
[    3.596741] x29: ffffffc00a71b6b0 x28: ffffff80049ce200 x27: 0000000000000038
[    3.597370] x26: ffffff8003091810 x25: ffffff8004d27c98 x24: 0000000000000000
[    3.597999] x23: 0000000000000000 x22: ffffffc009971ade x21: ffffffc00991a755
[    3.598628] x20: ffffff80049c9c80 x19: ffffff8004d27c98 x18: ffffff8003154090
[    3.599257] x17: 685f63696d6f7461 x16: ffffffffffffffff x15: ffffff800a2f4400
[    3.599885] x14: 0000000000000000 x13: 0000000000000350 x12: 000000000104202a
[    3.600514] x11: 0000000000800000 x10: 0000000000000000 x9 : ffffffc0087ef158
[    3.601143] x8 : 0000000000000000 x7 : 72205d3536353938 x6 : 0000000000000000
[    3.601771] x5 : 0000000000000000 x4 : 0000000000000000 x3 : ffffffc00a71b5a0
[    3.602399] x2 : ffffff8002cac4c0 x1 : ffffff80049c9c80 x0 : ffffff8004d27c98
[    3.603027] Call trace:
[    3.603245]  rockchip_dp_drm_encoder_disable+0x20/0x10c
[    3.603704]  drm_atomic_helper_commit_modeset_disables+0x1e0/0x670
[    3.604250]  rockchip_drm_atomic_helper_commit_tail_rpm+0x4c/0x2d8
[    3.604799]  commit_tail+0xa8/0x154
[    3.605108]  drm_atomic_helper_commit+0x1c8/0x1e4
[    3.605519]  drm_atomic_commit+0xa8/0xd0
[    3.605864]  rockchip_drm_show_logo+0x1a98/0x1c50
[    3.606276]  rockchip_drm_bind+0x1fc/0x2ac
[    3.606643]  try_to_bring_up_aggregate_device+0x1f8/0x28c
[    3.607123]  __component_add+0xc4/0x180
[    3.607467]  component_add+0x18/0x20
[    3.607788]  rockchip_dp_probe+0x41c/0x480
[    3.608154]  platform_probe+0xa8/0xd0
[    3.608476]  really_probe+0x168/0x3f8
[    3.608798]  __driver_probe_device+0xa4/0x164
[    3.609186]  driver_probe_device+0x40/0x210
[    3.609553]  __device_attach_driver+0x12c/0x1c0
[    3.609954]  bus_for_each_drv+0x88/0xd0
[    3.610299]  __device_attach+0xd4/0x1c0
[    3.610642]  device_initial_probe+0x18/0x20
[    3.611009]  bus_probe_device+0x38/0x98
[    3.611354]  deferred_probe_work_func+0xa4/0xf8
[    3.611754]  process_one_work+0x1e0/0x400
[    3.612112]  worker_thread+0x340/0x55c
[    3.612445]  kthread+0xcc/0x204
[    3.612722]  ret_from_fork+0x10/0x20

To avoid this issue, a method is to add the effect bridge state when
show logo.

Fixes: a7620fa846 ("drm/rockchip: analogix_dp: add support for color format yuv444/yuv422")

Change-Id: Ie1f1ce5a8a21809a146acd48f3ee94d1a8879eb6
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
2025-07-07 13:18:53 +00:00
Tao Huang
7921bd466a Merge branch 'android14-6.1-2025-07' of https://android.googlesource.com/kernel/common
* android14-6.1-2025-07: (3992 commits)
  ANDROID: virt: gunyah: Replace arm_smccc_1_1_smc with arm_smccc_1_1_invoke
  ANDROID: GKI: Add symbol list for Nothing
  UPSTREAM: posix-cpu-timers: fix race between handle_posix_cpu_timers() and posix_cpu_timer_del()
  ANDROID: 16K: Use vma_area slab cache for pad VMA
  ANDROID: 16K: Add VMA padding size to smaps output
  ANDROID: 16K: Don't copy data vma for maps/smaps output
  ANDROID: BACKPORT: KVM: arm64: Always unmap the pvmfw region at stage-2
  ANDROID: GKI: add final newline to protected exports file
  ANDROID: abi_gki_aarch64_qcom: Add PCIe ECAM related symbols
  ANDROID: GKI: Export tracepoint tcp_retransmit_skb
  ANDROID: GKI: Update symbol list for vivo
  ANDROID: GKI: net: add vendor hooks net qos for gki purpose
  ANDROID: GKI: Update symbol list for vivo
  ANDROID: GKI: net: add vendor hooks net qos for gki purpose
  Revert "ANDROID: mm: Set PAGE_BLOCK_ORDER to 8 when ARM64_16K_PAGES"
  ANDROID: mm: Set PAGE_BLOCK_ORDER to 8 when ARM64_16K_PAGES
  ANDROID: GKI: Update symbol list for vivo
  ANDROID: vendor_hooks: add hook to retry mempool allocation without delay
  BACKPORT: FROMGIT: mm: Add CONFIG_PAGE_BLOCK_ORDER to select page block order
  BACKPORT: binder: Create safe versions of binder log files
  ...

Change-Id: I0556b86c975710a929ab1c7cde9dfac0eaa4e07a
2025-07-07 19:58:59 +08:00
Tao Huang
cb2c6fee8a Merge tag 'v6.1.141'
This is the 6.1.141 stable release

* tag 'v6.1.141': (3704 commits)
  Linux 6.1.141
  net: ethernet: ti: am65-cpsw: Lower random mac address error print to info
  platform/x86: thinkpad_acpi: Ignore battery threshold change event notification
  platform/x86: fujitsu-laptop: Support Lifebook S2110 hotkeys
  NFS: Avoid flushing data while holding directory locks in nfs_rename()
  nvme-pci: add NVME_QUIRK_NO_DEEPEST_PS quirk for SOLIDIGM P44 Pro
  spi: spi-sun4i: fix early activation
  um: let 'make clean' properly clean underlying SUBARCH as well
  platform/x86: thinkpad_acpi: Support also NEC Lavie X1475JAS
  nfs: don't share pNFS DS connections between net namespaces
  HID: quirks: Add ADATA XPG alpha wireless mouse support
  coredump: hand a pidfd to the usermode coredump helper
  fork: use pidfd_prepare()
  pid: add pidfd_prepare()
  coredump: fix error handling for replace_fd()
  perf/arm-cmn: Initialise cmn->cpu earlier
  perf/arm-cmn: Fix REQ2/SNP2 mixup
  net_sched: hfsc: Address reentrant enqueue adding class to eltree twice
  arm64: dts: qcom: sm8350: Fix typo in pil_camera_mem node
  af_unix: Fix uninit-value in __unix_walk_scc()
  ...

Change-Id: I80c048bb313ef26f13f7809a84c21cee17f220e2
2025-07-07 19:57:35 +08:00
Tao Huang
2851580ce8 Merge commit '40fac1a66ccf61bdf3afb70c18a5db7791410b22'
* commit '40fac1a66ccf61bdf3afb70c18a5db7791410b22':
  Revert "tee: optee: interrupt an RPC when supplicant has been killed"
  Revert "tee: optee: interrupt an RPC depend on shutdown flag"

Change-Id: I1f5669dda8bc1d48ff601b47014ade3476ebaa08
2025-07-07 19:28:53 +08:00
Tao Huang
40fac1a66c Revert "tee: optee: interrupt an RPC when supplicant has been killed"
This reverts commit e6c7ea7d4d.

Replaced by commit ec18520f5e ("tee: optee: Fix supplicant wait loop").

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-07-07 19:15:34 +08:00
Tao Huang
9d9ce2cb47 Revert "tee: optee: interrupt an RPC depend on shutdown flag"
This reverts commit b0b2892b93.

Replaced by commit ec18520f5e ("tee: optee: Fix supplicant wait loop").

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-07-07 19:15:34 +08:00
Tao Huang
cabbe77ee5 Merge commit '03ccc5e01f2f4eccd3814d69922e502ec0cd8b2c'
* commit '03ccc5e01f2f4eccd3814d69922e502ec0cd8b2c':
  arm64: dts: rockchip: rv1126bp-evb-v14: Adjust the matching voltage
  media: rockchip: aiisp: delete one temp buffer to reduce memory
  media: rockchip: isp: mp output buf notice to aiisp
  media: rockchip: aiisp: modify for aiynr algo
  rtc: rockchip: add ready flag for rtc setting time
  soc: rockchip: cpuinfo: export chip unique id to userspace
  media: rockchip: vpss: offline mode support auto unite output
  drm/rockchip: vop2: Add "DIMMING_DATA" property for local dimming
  media: rockchip: isp: aiisp switch for offline mode
  media: rockchip: isp: aiisp switch for isp35
  media: rockchip: isp: support aiisp yuv mode
  input: touchscreen: gt1x: prefix global variables and functions with "gt1x_"
  MALI: valhall: add gpu mem sysfs entry
  drm/rockchip: Make the DRM panel as part of Rockchip DRM sub devices for panel loader protect
  drm/rockchip: Pass struct rockchip_drm_sub_dev for &rockchip_drm_sub_dev.loader_protect()

Change-Id: I61809a96152857eb7f0728a6fe49af919bf0fbbb
2025-07-07 18:53:19 +08:00
Shengfei Xu
03ccc5e01f arm64: dts: rockchip: rv1126bp-evb-v14: Adjust the matching voltage
Hardware suggests adjusting the 800mV voltage to 900mV.

Signed-off-by: Shengfei Xu <xsf@rock-chips.com>
Change-Id: Ice645a47138b4905053e8bf6d1a903c616a1c719
2025-07-07 09:03:33 +00:00
hkj
2e3bcaae97 media: rockchip: aiisp: delete one temp buffer to reduce memory
Signed-off-by: hkj <william.hu@rock-chips.com>
Change-Id: I70ac6a2dbd3f0b07244480b9d4e3925a083e009a
2025-07-07 02:32:36 +00:00
Cai YiWei
34aa1c493f media: rockchip: isp: mp output buf notice to aiisp
Change-Id: Ic615514cb36aacf33cdaa15976d76265d455e8f9
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2025-07-07 02:32:10 +00:00
hkj
8faaf5ea8a media: rockchip: aiisp: modify for aiynr algo
Change-Id: If8189c7ea66ac572ad4f8ac335d7f365c24d29f7
Signed-off-by: hkj <william.hu@rock-chips.com>
2025-07-07 02:32:10 +00:00
Elaine Zhang
77c92aee86 rtc: rockchip: add ready flag for rtc setting time
Change-Id: I0f1ddcf41ae4891c40ed2d4ec05e1a9b38f786b6
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2025-07-07 09:54:22 +08:00
Seiya Wang
fa7e053866 ANDROID: GKI: Update the symbol list for mtk
1 function symbol(s) added
  'int class_interface_register(struct class_interface*)'

Bug: 429529278
Change-Id: I374130f16ab0c2be93267cf806f4aa3fd22256c0
Signed-off-by: Seiya Wang <seiya.wang@mediatek.com>
2025-07-04 02:57:32 -07:00
Liang Chen
1f43a694ea soc: rockchip: cpuinfo: export chip unique id to userspace
root@linaro-alip:/# cat /sys/module/rockchip_cpuinfo/parameters/id
4132475458000000000000000006150b

Change-Id: Idfb80ed48e4b507d81731c63004686f37b745b45
Signed-off-by: Liang Chen <cl@rock-chips.com>
2025-07-04 07:02:04 +00:00
Wei Dun
2cd7ed573f media: rockchip: vpss: offline mode support auto unite output
Change-Id: I234f7c5af53e855e0faebf791d3db74d94e33022
Signed-off-by: Wei Dun <willam.wei@rock-chips.com>
2025-07-04 03:35:36 +00:00
Damon Ding
e8cba62d56 drm/rockchip: vop2: Add "DIMMING_DATA" property for local dimming
The user can update the dimming data via "DIMMING_DATA" property, and
it will be sent to the panel supported local dimming function in the
rockchip dimming panel driver.

Change-Id: I7dba541450fce86be064d0205af0f595b1712aea
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
2025-07-04 02:55:34 +00:00
Cai YiWei
e78f73a9b5 media: rockchip: isp: aiisp switch for offline mode
Change-Id: I4e72621acf57d4497cb53b905e9ec75a23f558cd
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2025-07-04 02:55:18 +00:00
Cai YiWei
ac36b30e88 media: rockchip: isp: aiisp switch for isp35
Change-Id: I57bed352c7e27c3e96710254a7ccbbbba834ff26
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2025-07-04 02:55:18 +00:00
Cai YiWei
b789675ade media: rockchip: isp: support aiisp yuv mode
Change-Id: I6aba5461ee1c7c215af648561c9eb8ef6897c2a5
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2025-07-04 02:55:18 +00:00
Tao Huang
fe81cd9828 input: touchscreen: gt1x: prefix global variables and functions with "gt1x_"
update_info -> gt1x_update_info
_do_i2c_read -> gt1x_do_i2c_read
_do_i2c_write -> gt1x_do_i2c_write

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: If8fae2583a0df52f31f22e9844dec7ac3a625517
2025-07-04 10:39:16 +08:00
Weixin Zhou
a5c5772e79 MALI: valhall: add gpu mem sysfs entry
ls -l sys/class/misc/mali0/device/kprcs/(pid)/
-r--r--r-- 1 root root 4096 2025-06-12 21:59 private_gpu_mem
-r--r--r-- 1 root root 4096 2025-06-12 21:59 total_gpu_mem

ls -l sys/class/misc/mali0/device/
-r--r--r-- 1 root root 4096 2025-06-12 22:35 private_gpu_mem
-r--r--r-- 1 root root 4096 2025-06-12 22:35 total_gpu_mem

Signed-off-by: Weixin Zhou <zwx@rock-chips.com>
Change-Id: Ie14aa324779492bd7983fcf1c94dab86bc066e2c
2025-07-04 01:30:20 +00:00
Damon Ding
65f19639f9 drm/rockchip: Make the DRM panel as part of Rockchip DRM sub devices for panel loader protect
In order to support the loader protect function of more panel
drivers, we add the DRM panel as part of Rockchip DRM sub devices.

The panel-simple driver always is regarded as a panel driver demo of
Rockchip platforms, so we first add the Rockchip DRM sub_dev for it.

The panel drivers that adapt to Rockchip DRM drivers can call
rockchip_drm_register_sub_dev()/rockchip_drm_unregister_sub_dev() to
register/unregister DRM sub_dev, and then invoke
rockchip_drm_panel_loader_protect() to achieve the panel loader
protect function.

Change-Id: Ibc302c3f3677e0c55545e90af29d7a87444c2e21
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
2025-07-03 18:59:45 +08:00
Damon Ding
d8e42edcd6 drm/rockchip: Pass struct rockchip_drm_sub_dev for &rockchip_drm_sub_dev.loader_protect()
In order to enhance the flexibility of loader protect callback
&rockchip_drm_sub_dev.loader_protect(), we replace the parameter
'struct drm_encoder *encoder' by 'struct rockchip_drm_sub_dev'so that
the panel or bridge drivers can apply it to achieve the loader
protect function.

Change-Id: Ic26110583245c1a0807fee35f4dd889ee8f1f845
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
2025-07-03 18:59:45 +08:00
Zorro Liu
db9d44edef drm/rockchip: ebc_dev: release version v8.03
Change-Id: Ib3762882cd991b1988c6cde29e252c2cb8411cc9
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
2025-07-03 17:04:42 +08:00
Tao Huang
5bec73b422 Merge commit '927ec427493fb894ed3ca7a17174cb7ddcbc7dba'
* commit '927ec427493fb894ed3ca7a17174cb7ddcbc7dba':
  pwm: rockchip: Add &rockchip_pwm_chip.oneshot_valid to indicate validity of configurations
  pwm: rockchip: Add comments for why to add delay before disabling the dclk for PWM v4
  input: touchscreen: hyn: reduce logs
  input: touchscreen: gt1x: disable async probe for multi-TP
  drm/rockchip: dw-dp: config traninig done flag when enable uboot logo
  media: rockchip: isp: support unite mode for isp35
  arm64: dts: rockchip: rk3576: Modify the pinctrl configuration of pmic_pins
  ARM: dts: rockchip: add rv1126b-evb1-v11-dual-4k.dts
  arm64: dts: rockchip: add rv1126b-evb1-v11-dual-4k.dts
  ARM: dts: rockchip: add rv1126b-evb1-v11.dts
  arm64: dts: rockchip: add rv1126b-evb1-v11.dts
  arm64: dts: rockchip: Add rv1126b-evb1-v12.dtsi
  ARM: configs: rv1126b: Enable CONFIG_ROCKCHIP_OPP default
  ARM: configs: rv1126b-aov.config: disabled ethernet
  ARM: configs: rockchip: rename rv1126b-wakeup.config to rv1126b-aov.config
  media: i2c: ov50c40: set 4k@15 for debug when cphy mode

Change-Id: If4735a7724e108de19e1299f8c338c219084a980
2025-07-03 15:55:37 +08:00
Damon Ding
927ec42749 pwm: rockchip: Add &rockchip_pwm_chip.oneshot_valid to indicate validity of configurations
In the past, the flag &rockchip_pwm_chip.oneshot_en may not represent
the accurate enabled status for oneshot mode, because the oneshot mode
should be active after setting the 'pwm_en' bit. Therefore, we add the
&rockchip_pwm_chip.oneshot_valid to represent the validity of oneshot
configurations, and &rockchip_pwm_chip.oneshot_en does what it should
do.

In addition, the disabling of oneshot mode does not need to delay one
period(related commit 42e759004f ("pwm: rockchip: add one period
delay before disabling the dclk")). It will end after the last period
sent.

What's more serious, the disabling process may be done in interrupt
handler for oneshot mode(The handler is flexible for user as designed),
so it is unreasonable to call fsleep() in the interrupt handler, which
may cause the following error with 100000ns period:

[    6.517981] BUG: scheduling while atomic: swapper/0/0/0x00010000
[    6.518045] Modules linked in:
[    6.518060] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 6.1.118 #944
[    6.518069] Hardware name: Rockchip RK3576 EVB1 V10 Board (DT)
[    6.518078] Call trace:
[    6.518085]  dump_backtrace+0xd8/0x130
[    6.518108]  show_stack+0x1c/0x30
[    6.518118]  dump_stack_lvl+0x64/0x7c
[    6.518132]  dump_stack+0x14/0x2c
[    6.518141]  __schedule_bug+0x58/0x70
[    6.518155]  __schedule+0x6f0/0x7c0
[    6.518164]  schedule+0x54/0xe0
[    6.518172]  schedule_hrtimeout_range_clock+0xa8/0x144
[    6.518184]  schedule_hrtimeout_range+0x18/0x20
[    6.518193]  usleep_range_state+0x7c/0xb0
[    6.518204]  rockchip_pwm_enable_v4+0xc8/0x104
[    6.518219]  rockchip_pwm_apply+0x80/0x190
[    6.518229]  pwm_apply_state+0x68/0x190
[    6.518239]  rockchip_pwm_irq_v4+0x7c/0x1b0
[    6.518250]  __handle_irq_event_percpu+0x58/0x1d0
[    6.518265]  handle_irq_event+0x4c/0x110
[    6.518276]  handle_fasteoi_irq+0xc0/0x24c
[    6.518290]  generic_handle_domain_irq+0x30/0x44
[    6.518302]  gic_handle_irq+0x60/0x90
[    6.518312]  call_on_irq_stack+0x24/0x34
[    6.518323]  do_interrupt_handler+0x80/0x94
[    6.518333]  el1_interrupt+0x44/0xa0
[    6.518345]  el1h_64_irq_handler+0x14/0x20
[    6.518357]  el1h_64_irq+0x74/0x78
[    6.518366]  cpuidle_enter_state+0xbc/0x434
[    6.518382]  cpuidle_enter+0x3c/0x50
[    6.518393]  do_idle+0x228/0x2b0
[    6.518405]  cpu_startup_entry+0x38/0x40
[    6.518416]  kernel_init+0x0/0x12c
[    6.518425]  arch_post_acpi_subsys_init+0x0/0x18
[    6.518439]  start_kernel+0x6b0/0x6ec
[    6.518450]  __primary_switched+0xb4/0xbc

This patch will also help to avoid the above abnormal situation.

Change-Id: I0df715921d79803f06329a71b966a4ae40876f33
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
2025-07-03 07:46:12 +00:00