Merge made by the 'ours' strategy.
* commit '5f0de7c5d524f0934c83848c6d20526364fc5bb9':
drm/rockchip: vop2: Add devfreq support
Change-Id: I184a624c00cf2bade2a64a929c5d32dd15d75302
Merge made by the 'ours' strategy.
* commit 'a94d0b968ad6275250a6b6bd66f75dcb688ef253':
MALI: rockchip: upgrade bifrost DDK to g21p0-01eac0, from g18p0-01eac0
Change-Id: I01e96d04dd801e7f9d05ac35f934886ca949c1dc
* commit 'e2f9938790a6d9eed3c285c90be45575b6e4c70f':
phy: rockchip-samsung-hdptx-hdmi: Calculate the pll frequency based on the register value
drm/rockchip: analogix_dp: add dual channel mode support
media: rockchip: vicap: support use reserved mem for aov when run with thunderboot mode
mfd: rkx110_x120: reset dsi tx host when generator pattern
media: i2c: cam-sleep-wakeup: optimize sensor wakeup workflow for reset
mfd: rkx110_x120: disable phy when stop video stream
media: i2c: os04d10: add reg list of 1440p@30fps and 360p@120fps
media: i2c: os04d10: fix adapter fastboot issue
Change-Id: I03320bfe99fb028b977197dc04d490288dcc4c34
LPM feature of DWC2 module integrated in Rockchip SoCs doesn't work
properly or needs some additional handling, so disable it for now.
Without disabling LPM feature, the USB ADB communication fail with
the following error log:
dwc2 ff580000.usb: new address 27
dwc2 ff580000.usb: Failed to exit L1 sleep state in 200us.
dwc2 ff580000.usb: dwc2_hsotg_send_reply: cannot queue req
dwc2 ff580000.usb: dwc2_hsotg_process_req_status: failed to send reply
dwc2 ff580000.usb: dwc2_hsotg_enqueue_setup: failed queue (-11)
dwc2 ff580000.usb: Failed to exit L1 sleep state in 200us.
[diff vs vendor kernel: added lpm_clock_gating, besl and
hird_threshold_en settings as seen in commit 53febc9569 ("usb: dwc2:
disable Link Power Management on STM32MP15 HS OTG")]
Signed-off-by: William Wu <william.wu@rock-chips.com>
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Link: https://lore.kernel.org/r/20221206-dwc2-gadget-dual-role-v1-1-36515e1092cd@theobroma-systems.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 42a317d076)
Change-Id: I96a344c5e3940907b6f470110c843b69c68b60b7
we use hdptxphy_hdmi0/1 instead of hdptxphy_hdmi_clk0/1 after the
following commit, so the sub node hdptxphy_hdmi_clk0/1 is unused an
remove it:
commit: 23301555f50b ("arm64: dts: rockchip: rk3588: move hdmi phy clk
to hdmiphy")
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: Ifb8246fd682d54c48276e6fa615d662cb55f9fba
hdmi phy clk move to hdmi phy devices at the following commit, so update
the clock at display_subsystem.
commit: 23301555f50b ("arm64: dts: rockchip: rk3588: move hdmi phy clk
to hdmiphy")
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I4e14e6436d3ac2ae19941038ac7259361c66a4bb
move hdmi phy clk register at hdmiphy and get clock name by
property: clock-output-names
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: Ica0ce0537b9b520623f9c4b21de6da3bf8e4ac5e
hdmi0/1 depend on the hdptxphy_hdmi_clk0/1, but hdptxphy_hdmi_clk0/1 is a
subdev at hdmiphy and less corresponding driver, this will lead to
hdmi driver probe will be delayed 10 seconds after add the following
commit:
commit: 4a032827da ("of: property: Simplify of_link_to_phandle")
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I36ce464860c578eb113de82f089c4637eb47b0fc
This is the 6.1.57 stable release
* tag 'v6.1.57': (2054 commits)
Linux 6.1.57
xen/events: replace evtchn_rwlock with RCU
ipv6: remove one read_lock()/read_unlock() pair in rt6_check_neigh()
btrfs: file_remove_privs needs an exclusive lock in direct io write
netlink: remove the flex array from struct nlmsghdr
btrfs: fix fscrypt name leak after failure to join log transaction
btrfs: fix an error handling path in btrfs_rename()
vrf: Fix lockdep splat in output path
ipv6: remove nexthop_fib6_nh_bh()
parisc: Restore __ldcw_align for PA-RISC 2.0 processors
ksmbd: fix uaf in smb20_oplock_break_ack
ksmbd: fix race condition between session lookup and expire
x86/sev: Use the GHCB protocol when available for SNP CPUID requests
RDMA/mlx5: Fix NULL string error
RDMA/mlx5: Fix mutex unlocking on error flow for steering anchor creation
RDMA/siw: Fix connection failure handling
RDMA/srp: Do not call scsi_done() from srp_abort()
RDMA/uverbs: Fix typo of sizeof argument
RDMA/cma: Fix truncation compilation warning in make_cma_ports
RDMA/cma: Initialize ib_sa_multicast structure to 0 when join
...
Change-Id: I79b925ca5822e02e0b9f497b1db93fef0e1dadd3
Conflicts:
drivers/gpu/drm/rockchip/rockchip_drm_vop.c
drivers/iommu/rockchip-iommu.c
drivers/power/supply/rk817_charger.c
drivers/scsi/sd.c
include/linux/pci.h
* commit '604cec4004abe5a96c734f2fab7b74809d2d742f':
soc: rockchip: rockchip_system_monitor: Fix opp_info NULL pointer
media: rockchip: vicap fixes error of access NULL point when pm resume
media: rockchip: vicap fixes error flags of devm_request_irq
pwm: rockchip: support pwm version 4
pwm: core: add oneshot_repeat and duty_offset attributes
pwm: rockchip: support more features
driver: rknpu: Fix passing 0 to PTR_ERR in rknpu_devfreq_init()
media: rockchip: vicap fixes error of rk_csirx_irq1_handler
media: rockchip: vicap fixes issue of resend the same buffer to isp
media: rockchip: vicap fixes logic error of skip frame
media: rockchip: vicap fixes rdbk buffer not send to isp with single frame mode
arm/configs: rk3308bs_aarch32_mipi_display.config add gt911
Change-Id: I97a6c31ec3c250c7a83e8d85cf7d5e0124fc4dea
After integrating DDK g21(r46), the driver outputs the following WARNING after waking from sleep:
[ 293.271414][ T209] prev_wp_active_end_time 18446744073605310680 > start_time 1119644647 for aid 1000 active_cnt 0
[ 293.224787][ T375] WARNING: CPU: 3 PID: 375 at drivers/gpu/arm/bifrost/mali_kbase_gpu_metrics.c:84 emit_tracepoint_for_active_gpu_metrics_ctx+0x138/0x1c4
[ 293.224825][ T375] Modules linked in: bcmdhd dhd_static_buf r8168
[ 293.224873][ T375] CPU: 3 PID: 375 Comm: kworker/u17:2 Not tainted 5.10.160 #1050
[ 293.224888][ T375] Hardware name: Rockchip RK3588 EVB1 LP4 V10 Board (DT)
[ 293.224911][ T375] Workqueue: csf_scheduler_gpu_idle_ gpu_idle_worker
[ 293.224936][ T375] pstate: 60c00009 (nZCv daif +PAN +UAO -TCO BTYPE=--)
[ 293.224955][ T375] pc : emit_tracepoint_for_active_gpu_metrics_ctx+0x138/0x1c4
[ 293.224973][ T375] lr : emit_tracepoint_for_active_gpu_metrics_ctx+0x138/0x1c4
...
[ 293.225343][ T375] Call trace:
[ 293.225364][ T375] emit_tracepoint_for_active_gpu_metrics_ctx+0x138/0x1c4
[ 293.225382][ T375] kbase_gpu_metrics_emit_tracepoint+0x54/0xf4
[ 293.225403][ T375] cleanup_csg_slot+0x20c/0x4f8
[ 293.225423][ T375] wait_csg_slots_suspend+0x320/0x3bc
[ 293.225440][ T375] suspend_active_groups_on_powerdown+0xa8/0x1cc
[ 293.225458][ T375] scheduler_suspend_on_idle+0x24/0x828
[ 293.225474][ T375] gpu_idle_worker+0x384/0x5c4
[ 293.225495][ T375] process_one_work+0x1f0/0x478
[ 293.225511][ T375] worker_thread+0x270/0x4cc
[ 293.225531][ T375] kthread+0x138/0x340
[ 293.225552][ T375] ret_from_fork+0x10/0x18
The WARNING is due to the driver expecting 'gpu_ts' (gpu_timestamp) from the FW
to be monotonically increasing, but here "after waking up, 'gpu_ts' is smaller than before sleep."
'gpu_ts' comes from the GPU's input signal CNTVALUEB.
CNTVALUEB comes from the 'stimer' timer.
derrick.huang@rock-chips.com confirmed that this timer loses power during sleep,
and its count is reset when the system wakes up.
This causes "'gpu_ts' to be smaller after waking up than before sleep."
derrick.huang also mentioned that "for RK3588, it is not possible
to make 'stimer' not lose power in the product."
Here, we are temporarily disabling this WARNING.
It is speculated that sleep-wake cycles
might lead to certain profile features of the GPU not functioning correctly.
Further testing will be conducted to check for other potential issues.
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Change-Id: I9979bff7c7fb946437889561e90440de1037bb35
NOTE:
For RK3588, the mali_csffw.bin used with this driver MUST be from DDK g21p0-01eac0 correspondingly.
Change-Id: Ifab61806a6a350ba53c5dc0296d20628c28d633a
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
In px30, rkvdec and vdpu&vepu need set grf and ensure working
in current hardware mode before running. this issue may accur
when get iommu dte_addr, thus add set_grf before, then ensure
the hardware working mode.
refer log when probe:
[ 3.040107][ T53] mpp_rkvdec ff440000.hevc: Adding to iommu group 1
[ 3.040455][ T53] mpp_rkvdec ff440000.hevc: probing start
[ 3.040939][ T53] rkvdec_init:1139: failed on clk_get clk_cabac
[ 3.040991][ T53] rkvdec_init:1142: failed on clk_get
clk_hevc_cabac
[ 3.041031][ T53] mpp_rkvdec ff440000.hevc:
reset_group->rw_sem_on=0
[ 3.041057][ T53] mpp_rkvdec ff440000.hevc:
reset_group->rw_sem_on=0
[ 3.041107][ T53] mpp_rkvdec ff440000.hevc: shared_video_cabac is
not found!
[ 3.041123][ T53] rkvdec_init:1170: No cabac reset resource define
[ 3.041141][ T53] mpp_rkvdec ff440000.hevc: shared_video_hevc_cabac
is not found!
[ 3.041156][ T53] rkvdec_init:1173: No hevc cabac reset resource
define
[ 3.042264][ T53] rk_iommu ff440440.iommu: Error during raw reset.
MMU_DTE_ADDR is not functioning
[ 3.042303][ T53] mpp_rkvdec ff440000.hevc:
px30_workaround_combo_init dte_addr 00000000
[ 3.043372][ T53] rk_iommu ff440440.iommu: Error during raw reset.
MMU_DTE_ADDR is not functioning
[ 3.044133][ T53] mpp_rkvdec ff440000.hevc: probing finish
Change-Id: I09a700e946871ef9822d44a868ff82ce085ed514
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
1.support counter, frequency meter, global control and
wave generator.
2.add struct rockchip_pwm_funcs and modify struct
rockchip_pwm_data for compatibility and extensibility.
3.rename current .enable/.config/.irq_handler to v1.
4.not to return ERRNO if failed to get irq in probing for
pwm_v3.
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: I28c6a2946ccb9072f464397d6b25f4b6803fa8c5
drivers/input/touchscreen/gt9xx/gt9xx_update.c:104:5: error: unknown type name 'mm_segment_t'
drivers/input/touchscreen/gt9xx/gt9xx_update.c:3448:25: error: implicit declaration of function 'get_fs'; did you mean 'sget_fc'? [-Werror=implicit-function-declaration]
drivers/input/touchscreen/gt9xx/gt9xx_update.c:3449:5: error: implicit declaration of function 'set_fs'; did you mean 'sget_fc'? [-Werror=implicit-function-declaration]
drivers/input/touchscreen/gt9xx/gt9xx_update.c:3449:12: error: 'KERNEL_DS' undeclared (first use in this function); did you mean 'KERNFS_NS'?
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ib054bb4652595313a06faaa26d2ec65f3c9b4c67
aarch64-none-linux-gnu-ld: drivers/gpu/drm/rockchip/dw-dp.o: in function `dw_dp_send_hdr_metadata_infoframe_sdp':
drivers/gpu/drm/rockchip/dw-dp.c:2192: undefined reference to `drm_hdmi_infoframe_set_hdr_metadata'
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I47967b76f34cd317b415f37b67e23a0533ca432f
Merge made by the 'ours' strategy.
* commit '9b4205b38d4a835446ece378c344d0cae059c17f':
UPSTREAM: usb: gadget: uvc: Fix argument to sizeof() in uvc_register_video()
UPSTREAM: usb: gadget: uvc: increase worker prio to WQ_HIGHPRI
UPSTREAM: usb: gadget: uvc: ensure the vdev is unset
Change-Id: Icd702c0ded90ea85dd95905ded8c02f497b2418c
drivers/media/platform/rockchip/hdmirx/rk_hdmirx_cec.c:143:3: error: implicit declaration of function 'cec_transmit_attempt_done' [-Werror,-Wimplicit-function-declaration]
drivers/media/platform/rockchip/hdmirx/rk_hdmirx_cec.c:148:3: error: implicit declaration of function 'cec_received_msg' [-Werror,-Wimplicit-function-declaration]
drivers/media/platform/rockchip/hdmirx/rk_hdmirx_cec.c:224:14: error: implicit declaration of function 'cec_allocate_adapter' [-Werror,-Wimplicit-function-declaration]
drivers/media/platform/rockchip/hdmirx/rk_hdmirx_cec.c:224:12: error: incompatible integer to pointer conversion assigning to 'struct cec_adapter *' from 'int' [-Werror,-Wint-conversion]
drivers/media/platform/rockchip/hdmirx/rk_hdmirx.c:1068:2: error: implicit declaration of function 'cec_queue_pin_hpd_event' [-Werror,-Wimplicit-function-declaration]
drivers/media/platform/rockchip/hdmirx/rk_hdmirx.c:1077:2: error: implicit declaration of function 'cec_queue_pin_hpd_event' [-Werror,-Wimplicit-function-declaration]
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ibad7f45af8ecf9a789d7062a2b33c68c4f1541cb
Merge made by the 'ours' strategy.
* commit '6f0438f55fd59adeec0ed0f1fdd2d9dbf8791e22':
media: i2c: nvp6324: add workqueue support
Change-Id: I3fffe62bb2f5d691fa495e49f8030ff5a4746c3a
Merge made by the 'ours' strategy.
* commit '8fb9b4c3ba5caf4330c68af01505cacc5d4b11b1':
ASoC: rockchip: i2s-tdm: Register PCM before DAI component
Change-Id: Ibe2454198ab246896b9a45ccbdf8c6fb3da6c446
API snd_soc_register_component will try to rebind card per
each component register. and the ASoC allow no-pcm card instance.
devm_snd_soc_register_component
snd_soc_try_rebind_card
snd_soc_bind_card
snd_soc_add_pcm_runtime
devm_snd_dmaengine_pcm_register
So, we should register PCM before DAI component.
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I578b7c54b96cfa89fd2f8cf346832e2b68a1d355