shengyang.chen [Thu, 9 Mar 2023 02:34:57 +0000 (10:34 +0800)]
riscv:linux:vout: rollback rgb code to tag JH7110_515_SDK_v4.4.0
rollback rgb code to tag JH7110_515_SDK_v4.4.0 after porting patch-rgb support 1080P@60fps
Signed-off-by: shengyang.chen<shengyang.chen@starfivetech.com>
andy.hu [Fri, 3 Mar 2023 08:06:05 +0000 (08:06 +0000)]
Merge branch 'CR_3746_evb_515_rgb_1080_60_porting_shengyang.chen' into 'jh7110-5.15.y-devel'
CR_3746_evb_515_riscv:linux:vout: rgb support 1080P@60fps
See merge request sdk/linux!719
andy.hu [Fri, 3 Mar 2023 08:03:51 +0000 (08:03 +0000)]
Merge branch 'CR_3526_qspi_use_reset_framework_5.15_ziv.xu' into 'jh7110-5.15.y-devel'
CR_3526_qspi_use_reset_framework_5.15_ziv.xu
See merge request sdk/linux!712
andy.hu [Fri, 3 Mar 2023 08:02:29 +0000 (08:02 +0000)]
Merge branch 'CR_3546_v4l2_compliance_515_changhuang.liang' into 'jh7110-5.15.y-devel'
CR_3546_v4l2_compliance_515_changhuang.liang media: starfive: Delete operate sensor ctrl in video node
See merge request sdk/linux!716
andy.hu [Fri, 3 Mar 2023 07:59:23 +0000 (07:59 +0000)]
Merge branch 'CR_3467_cpufreq_add_pm_opp_5.15_mason.huo' into 'jh7110-5.15.y-devel'
CR_3467 cpufreq: starfive: Add opp suspend callback
See merge request sdk/linux!717
Mason Huo [Wed, 1 Mar 2023 05:24:41 +0000 (13:24 +0800)]
riscv: dts: Set specific cpu frequency when suspending
As JH7110 saves & restores all clock registers in hibernation.
The cpu voltage may not correct after restoring cpu freqency
from hibernation resume process.
In case it's suspended in 1.5GHz with 1.04v,
and it schedules to 750Mhz with 0.8v before resuming,
then the cpu clock will be restored to 1.5GHz, but the cpu
voltage still remains in 0.8v, then the system crashes.
So we set the cpu frequency to 750MHz, and it will keep
the cpu voltage matched when doing hibernation resuming.
Signed-off-by: Mason Huo <mason.huo@starfivetech.com>
Mason Huo [Wed, 1 Mar 2023 10:24:51 +0000 (18:24 +0800)]
cpufreq: Introduce the cpufreq-dt driver for JH7110
The original starfive-cpufreq is deprecated.
Use the cpufreq-dt driver for JH7110, as this
is a generic cpu scaling driver.
Signed-off-by: Mason Huo <mason.huo@starfivetech.com>
shengyang.chen [Thu, 2 Mar 2023 01:51:14 +0000 (09:51 +0800)]
riscv:linux:vout: rgb support 1080P@60fps
rgb support 1080P@60fps
porting from:
branch: CR_2896_evb_515_MIPI_RGB_dual_display_keith.zhao
commit id: 51504aed4280caab91258e3faa789a9b66984bfc1a3
Signed-off-by: keith <keith.zhao@starfivetech.com>
Signed-off-by: shengyang.chen<shengyang.chen@starfivetech.com>
ziv.xu [Tue, 28 Feb 2023 01:51:39 +0000 (09:51 +0800)]
spi-cadence-quadspi:use reset framwork to reset qspi
use reset framwork to reset qspi
Signed-off-by: ziv.xu <ziv.xu@starfive.com>
andy.hu [Fri, 24 Feb 2023 09:56:10 +0000 (09:56 +0000)]
Merge branch 'CR_3634_cryp_jiajie.ho' into 'jh7110-5.15.y-devel'
CR_3634: crypto: starfive - fix recursive mutex_lock
See merge request sdk/linux!710
andy.hu [Fri, 24 Feb 2023 09:49:55 +0000 (09:49 +0000)]
Merge branch 'CR_3583_IPV6_SUPPORT_samin.guo' into 'jh7110-5.15.y-devel'
CR_3583: riscv: defconfig: jh7110: add ipv6 support
See merge request sdk/linux!709
andy.hu [Fri, 24 Feb 2023 09:47:34 +0000 (09:47 +0000)]
Merge branch 'CR_3535_PCIe_515_Kevin.xie' into 'jh7110-5.15.y-devel'
CR 3535 [515] drivers: pci: Fix crash in rt-linux because of an uninitialized lock.
See merge request sdk/linux!704
andy.hu [Fri, 24 Feb 2023 09:45:58 +0000 (09:45 +0000)]
Merge branch 'CR_3500_gpu_shanlong.li' into 'jh7110-5.15.y-devel'
CR_3500: driver:GPU: adjust interface sequence
See merge request sdk/linux!707
Changhuang Liang [Fri, 24 Feb 2023 03:06:37 +0000 (11:06 +0800)]
media: starfive: Delete operate sensor ctrl in video node
Delete operate sensor ctrl in video node.
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
Tan En De [Wed, 2 Nov 2022 07:00:47 +0000 (15:00 +0800)]
crypto: starfive - fix recursive mutex_lock
In jh7110_rsa_domain_transfer(), there is a path that may lead to
recursive mutex_lock when calling jh7110_pka_wait_done(). Replace it
with completion variable, which is more suitable for signaling
completion instead of using mutex, not to mention using mutex_*() in
interrupt context is bad.
Signed-off-by: Tan En De <ende.tan@starfivetech.com>
Signed-off-by: Jia Jie Ho <jiajie.ho@starfivetech.com>
Samin Guo [Thu, 23 Feb 2023 01:52:17 +0000 (09:52 +0800)]
riscv: defconfig: jh7110: add ipv6 support
jh7110 support ipv6, so enable it.
Signed-off-by: Samin Guo <samin.guo@starfivetech.com>
Kevin.xie [Tue, 21 Feb 2023 03:18:51 +0000 (11:18 +0800)]
drivers: pci: Fix crash in rt-linux because of an uninitialized lock.
Adjust the order of invocations in probe to avoid from the crash.
Signed-off-by: Kevin.xie <kevin.xie@starfivetech.com>
shanlong.li [Mon, 20 Feb 2023 07:05:00 +0000 (23:05 -0800)]
driver:GPU: adjust interface sequence
1. add axi disable interface
2. adjust the interface order between clk and reset
Signed-off-by: shanlong.li <shanlong.li@starfivetech.com>
andy.hu [Fri, 17 Feb 2023 09:00:18 +0000 (09:00 +0000)]
Merge branch 'CR_3349_CRYP_jiajie.ho' into 'jh7110-5.15.y-devel'
CR_3349: crypto: starfive - Remove AES key zeroization
See merge request sdk/linux!700
andy.hu [Fri, 17 Feb 2023 08:59:44 +0000 (08:59 +0000)]
Merge branch 'CR_3145_PCIe_PHY_Kevin.xie' into 'jh7110-5.15.y-devel'
CR 3145 [515] drivers: pci: Add PHY settings in pcie host driver.
See merge request sdk/linux!703
andy.hu [Fri, 17 Feb 2023 08:58:21 +0000 (08:58 +0000)]
Merge branch 'CR_3330_MMC_515_william.qiu' into 'jh7110-5.15.y-devel'
CR_3330: hibernation: mmc: change the runtime PM API
See merge request sdk/linux!695
Jia Jie Ho [Thu, 16 Feb 2023 04:24:02 +0000 (12:24 +0800)]
CR_3349: crypto: starfive - Remove AES key zeroization
Remove key zeroization after each request in AES module.
Signed-off-by: Jia Jie Ho <jiajie.ho@starfivetech.com>
Kevin.xie [Wed, 15 Feb 2023 08:27:03 +0000 (16:27 +0800)]
drivers: pci: Add PHY settings in pcie host driver.
The settings are about PHY PLL KVCO fine tuning form CTS testing.
Signed-off-by: Kevin.xie <kevin.xie@starfivetech.com>
William Qiu [Mon, 13 Feb 2023 02:04:21 +0000 (10:04 +0800)]
hibernation: mmc: change the runtime PM API
Use the common API to do the runtime PM.
Signed-off-by: William Qiu <william.qiu@starfivetech.com>
andy.hu [Sat, 11 Feb 2023 15:03:00 +0000 (15:03 +0000)]
Merge branch 'CR_3345_evb_515_DRM_mipi_for_uboot_keith.zhao' into 'jh7110-5.15.y-devel'
CR_3345:riscv:driver:drm:
See merge request sdk/linux!689
andy.hu [Fri, 10 Feb 2023 10:11:43 +0000 (10:11 +0000)]
Merge branch 'CR_3312_TDM_KO_Not_Work' into 'jh7110-5.15.y-devel'
CR_3312_TDM_KO_Not_Work
See merge request sdk/linux!694
Walker Chen [Fri, 10 Feb 2023 09:49:03 +0000 (17:49 +0800)]
CR_3312_TDM_KO_Not_Work
Fixed the bug that tdm cat not work when it is build as module.
Signed-off-by: Walker Chen <walker.chen@starfivetech.com>
andy.hu [Fri, 10 Feb 2023 08:33:38 +0000 (08:33 +0000)]
Merge branch 'CR_3070_PCIe_Aqtion_Hibernation_515_Kevin.xie' into 'jh7110-5.15.y-devel'
CR 3070 [515] Downstream commits from the latest version to fix the AQC107 NIC hibernation crash problem.
See merge request sdk/linux!687
andy.hu [Fri, 10 Feb 2023 07:59:20 +0000 (07:59 +0000)]
Merge branch 'CR_3262_evb_515_VOUT_mipi_hdmi_dual_display_keith.zhao' into 'jh7110-5.15.y-devel'
CR_3262:riscv:linux:vout:mipi+hdmi
See merge request sdk/linux!683
andy.hu [Fri, 10 Feb 2023 07:56:52 +0000 (07:56 +0000)]
Merge branch 'CR_3319_I2S_Hibernation_Module_Xingyu.Wu' into 'jh7110-5.15.y-devel'
CR_3319_I2S_Hibernation_Module_Xingyu.Wu
See merge request sdk/linux!692
andy.hu [Fri, 10 Feb 2023 07:51:10 +0000 (07:51 +0000)]
Merge branch 'CR_3323_PDM_KO_Not_Work_walker.chen' into 'jh7110-5.15.y-devel'
CR_3323_PDM_KO_Can_Work_walker.chen
See merge request sdk/linux!693
andy.hu [Fri, 10 Feb 2023 07:49:36 +0000 (07:49 +0000)]
Merge branch 'CR_3317_qspi_compilation_into_ko_resume_exception' into 'jh7110-5.15.y-devel'
CR_3317_qspi_compilation_into_ko_resume_exception
See merge request sdk/linux!686
andy.hu [Fri, 10 Feb 2023 07:48:23 +0000 (07:48 +0000)]
Merge branch 'CR_3318_watchdog_compilation_into_ko_resume_exception' into 'jh7110-5.15.y-devel'
CR_3318_watchdog_compilation_into_ko_resume_exception
See merge request sdk/linux!690
Walker Chen [Thu, 9 Feb 2023 08:36:39 +0000 (16:36 +0800)]
CR_3323_PDM_KO_Can_Work_walker.chen
1. Build as ko module, can work normally after multiple loading and
unloading.
2. can record normally after hibernation resume.
Signed-off-by: Walker Chen <walker.chen@starfivetech.com>
Xingyu Wu [Wed, 8 Feb 2023 08:09:06 +0000 (16:09 +0800)]
sound: starfive: I2S: Fixed error after hibernation when building module
When I2S resume but WM8960 has not resume and no clock, I2S should
use inner clock instead of wm8960's clock first.
Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
Xingyu Wu [Wed, 8 Feb 2023 07:52:13 +0000 (15:52 +0800)]
sound: codecs: wm8960: Add context saving and restoring when hibernation
Add context saving and restoring when suspend and resume.
Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
keith.zhao [Fri, 10 Feb 2023 02:45:10 +0000 (18:45 -0800)]
riscv:driver:drm:dc
fix the build warning
Signed-off-by:keith.zhao<keith.zhao@statfivetech.com>
keith.zhao [Fri, 10 Feb 2023 02:28:14 +0000 (18:28 -0800)]
riscv:driver:drm:dc
after uboot displayed bitmap , the kernel dc proble call dc_isr will dump.
it is casued by NULL pointer used , add a conditional judgment to avoid this
Signed-off-by:keith.zhao<keith.zhao@statfivetech.com>
ziv.xu [Thu, 9 Feb 2023 13:49:17 +0000 (21:49 +0800)]
starfive-wdt: add reset before resume
add reset before resume
Signed-off-by: ziv.xu <ziv.xu@starfive.com>
keith.zhao [Thu, 9 Feb 2023 10:02:30 +0000 (02:02 -0800)]
riscv:driver:drm:
after mipi panel shows logo in uboot stage , star kernel will report dc_isr error message
so register the isr handle after dc_enable to avoid this
this is a workround , need do more fix on it next !!
Signed-off-by:keith.zhao<keith.zhao@statfivetech.com>
Chia-Lin Kao (AceLan) [Wed, 13 Jul 2022 11:12:24 +0000 (19:12 +0800)]
net: atlantic: remove aq_nic_deinit() when resume
aq_nic_deinit() has been called while suspending, so we don't have to call
it again on resume.
Actually, call it again leads to another hang issue when resuming from
S3.
Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992345] Call Trace:
Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992346] <TASK>
Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992348] aq_nic_deinit+0xb4/0xd0 [atlantic]
Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992356] aq_pm_thaw+0x7f/0x100 [atlantic]
Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992362] pci_pm_resume+0x5c/0x90
Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992366] ? pci_pm_thaw+0x80/0x80
Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992368] dpm_run_callback+0x4e/0x120
Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992371] device_resume+0xad/0x200
Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992373] async_resume+0x1e/0x40
Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992374] async_run_entry_fn+0x33/0x120
Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992377] process_one_work+0x220/0x3c0
Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992380] worker_thread+0x4d/0x3f0
Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992382] ? process_one_work+0x3c0/0x3c0
Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992384] kthread+0x12a/0x150
Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992386] ? set_kthread_struct+0x40/0x40
Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992387] ret_from_fork+0x22/0x30
Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992391] </TASK>
Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992392] ---[ end trace
1ec8c79604ed5e0d ]---
Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992394] PM: dpm_run_callback(): pci_pm_resume+0x0/0x90 returns -110
Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992397] atlantic 0000:02:00.0: PM: failed to resume async: error -110
Fixes:
1809c30b6e5a ("net: atlantic: always deep reset on pm op, fixing up my null deref regression")
Signed-off-by: Chia-Lin Kao (AceLan) <acelan.kao@canonical.com>
Link: https://lore.kernel.org/r/20220713111224.1535938-2-acelan.kao@canonical.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Chia-Lin Kao (AceLan) [Wed, 13 Jul 2022 11:12:23 +0000 (19:12 +0800)]
net: atlantic: remove deep parameter on suspend/resume functions
Below commit claims that atlantic NIC requires to reset the device on pm
op, and had set the deep to true for all suspend/resume functions.
commit
1809c30b6e5a ("net: atlantic: always deep reset on pm op, fixing up my null deref regression")
So, we could remove deep parameter on suspend/resume functions without
any functional change.
Fixes:
1809c30b6e5a ("net: atlantic: always deep reset on pm op, fixing up my null deref regression")
Signed-off-by: Chia-Lin Kao (AceLan) <acelan.kao@canonical.com>
Link: https://lore.kernel.org/r/20220713111224.1535938-1-acelan.kao@canonical.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Manuel Ullmann [Wed, 4 May 2022 19:30:44 +0000 (21:30 +0200)]
net: atlantic: always deep reset on pm op, fixing up my null deref regression
The impact of this regression is the same for resume that I saw on
thaw: the kernel hangs and nothing except SysRq rebooting can be done.
Fixes regression in commit
cbe6c3a8f8f4 ("net: atlantic: invert deep
par in pm functions, preventing null derefs"), where I disabled deep
pm resets in suspend and resume, trying to make sense of the
atl_resume_common() deep parameter in the first place.
It turns out, that atlantic always has to deep reset on pm
operations. Even though I expected that and tested resume, I screwed
up by kexec-rebooting into an unpatched kernel, thus missing the
breakage.
This fixup obsoletes the deep parameter of atl_resume_common, but I
leave the cleanup for the maintainers to post to mainline.
Suspend and hibernation were successfully tested by the reporters.
Fixes:
cbe6c3a8f8f4 ("net: atlantic: invert deep par in pm functions, preventing null derefs")
Link: https://lore.kernel.org/regressions/9-Ehc_xXSwdXcvZqKD5aSqsqeNj5Izco4MYEwnx5cySXVEc9-x_WC4C3kAoCqNTi-H38frroUK17iobNVnkLtW36V6VWGSQEOHXhmVMm5iQ=@protonmail.com/
Reported-by: Jordan Leppert <jordanleppert@protonmail.com>
Reported-by: Holger Hoffstaette <holger@applied-asynchrony.com>
Tested-by: Jordan Leppert <jordanleppert@protonmail.com>
Tested-by: Holger Hoffstaette <holger@applied-asynchrony.com>
CC: <stable@vger.kernel.org> # 5.10+
Signed-off-by: Manuel Ullmann <labre@posteo.de>
Link: https://lore.kernel.org/r/87bkw8dfmp.fsf@posteo.de
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Manuel Ullmann [Sun, 17 Apr 2022 22:20:01 +0000 (00:20 +0200)]
net: atlantic: invert deep par in pm functions, preventing null derefs
This will reset deeply on freeze and thaw instead of suspend and
resume and prevent null pointer dereferences of the uninitialized ring
0 buffer while thawing.
The impact is an indefinitely hanging kernel. You can't switch
consoles after this and the only possible user interaction is SysRq.
BUG: kernel NULL pointer dereference
RIP: 0010:aq_ring_rx_fill+0xcf/0x210 [atlantic]
aq_vec_init+0x85/0xe0 [atlantic]
aq_nic_init+0xf7/0x1d0 [atlantic]
atl_resume_common+0x4f/0x100 [atlantic]
pci_pm_thaw+0x42/0xa0
resolves in aq_ring.o to
```
0000000000000ae0 <aq_ring_rx_fill>:
{
/* ... */
baf: 48 8b 43 08 mov 0x8(%rbx),%rax
buff->flags = 0U; /* buff is NULL */
```
The bug has been present since the introduction of the new pm code in
8aaa112a57c1 ("net: atlantic: refactoring pm logic") and was hidden
until
8ce84271697a ("net: atlantic: changes for multi-TC support"),
which refactored the aq_vec_{free,alloc} functions into
aq_vec_{,ring}_{free,alloc}, but is technically not wrong. The
original functions just always reinitialized the buffers on S3/S4. If
the interface is down before freezing, the bug does not occur. It does
not matter, whether the initrd contains and loads the module before
thawing.
So the fix is to invert the boolean parameter deep in all pm function
calls, which was clearly intended to be set like that.
First report was on Github [1], which you have to guess from the
resume logs in the posted dmesg snippet. Recently I posted one on
Bugzilla [2], since I did not have an AQC device so far.
#regzbot introduced:
8ce84271697a
#regzbot from: koo5 <kolman.jindrich@gmail.com>
#regzbot monitor: https://github.com/Aquantia/AQtion/issues/32
Fixes:
8aaa112a57c1 ("net: atlantic: refactoring pm logic")
Link: https://github.com/Aquantia/AQtion/issues/32
Link: https://bugzilla.kernel.org/show_bug.cgi?id=215798
Cc: stable@vger.kernel.org
Reported-by: koo5 <kolman.jindrich@gmail.com>
Signed-off-by: Manuel Ullmann <labre@posteo.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
ziv.xu [Thu, 9 Feb 2023 02:15:59 +0000 (10:15 +0800)]
spi-cadence-quadspi: add reset before resume
add reset before resume
Signed-off-by: ziv.xu <ziv.xu@starfive.com>
keith.zhao [Mon, 6 Feb 2023 01:55:36 +0000 (17:55 -0800)]
riscv:linux:vout:mipi+hdmi
support hdmi+mipi dual display for debain
fix the dump issue when dual display
Signed-off-by: keith <keith.zhao@starfivetech.com>
andy.hu [Fri, 3 Feb 2023 11:55:11 +0000 (11:55 +0000)]
Merge branch 'CR_2975_5.15_hdmi_shengyang.chen' into 'jh7110-5.15.y-devel'
CR_2975_riscv: linux: vout: fix hdmi hibernation resume failure cause by pmic
See merge request sdk/linux!673
andy.hu [Fri, 3 Feb 2023 11:54:20 +0000 (11:54 +0000)]
Merge branch 'CR_3158_ISP_515_Kevin.xie' into 'jh7110-5.15.y-devel'
CR_3158: v4l2_driver: isp: Save & resore context regs during stream on/off.
See merge request sdk/linux!678
andy.hu [Fri, 3 Feb 2023 11:53:03 +0000 (11:53 +0000)]
Merge branch 'CR_3151_TDM_Hibernation_walker.chen' into 'jh7110-5.15.y-devel'
CR_3151_TDM_Hibernation_walker.chen
See merge request sdk/linux!682
andy.hu [Fri, 3 Feb 2023 11:51:36 +0000 (11:51 +0000)]
Merge branch 'CR_3137_usb_hiber_notify_minda' into 'jh7110-5.15.y-devel'
CR_3137 usb: cdns3: add hibernation pm notifier to set roothub wakeup
See merge request sdk/linux!679
andy.hu [Fri, 3 Feb 2023 11:35:13 +0000 (11:35 +0000)]
Merge branch 'CR_3170_spi_compiled_as_module_5.15_ziv.xu' into 'jh7110-5.15.y-devel'
CR_3170: spi-pl022-starfive:Enable spi to be compiled into modules
See merge request sdk/linux!677
andy.hu [Fri, 3 Feb 2023 11:30:19 +0000 (11:30 +0000)]
Merge branch 'CR_3231_515_PWMDAC_module_Xingyu.Wu' into 'jh7110-5.15.y-devel'
CR_3231_515_PWMDAC_module_Xingyu.Wu
See merge request sdk/linux!680
andy.hu [Fri, 3 Feb 2023 11:29:02 +0000 (11:29 +0000)]
Merge branch 'CR_3157_imx219_515_changhuang.liang' into 'jh7110-5.15.y-devel'
CR_3157_imx219_515_changhuang.liang media: starfive: Modify support imx219 compile to module
See merge request sdk/linux!675
andy.hu [Fri, 3 Feb 2023 11:24:44 +0000 (11:24 +0000)]
Merge branch 'CR_2339_usb_read_using_sysport_minda' into 'jh7110-5.15.y-devel'
CR 2339 usb: xhci: To improve performance, using sysport for bulk read.
See merge request sdk/linux!590
Walker Chen [Fri, 3 Feb 2023 06:38:22 +0000 (14:38 +0800)]
CR_3151_TDM_Hibernation_walker.chen
Resolved the error of reording and playing simultaneously after performing
hibernation resume.
Signed-off-by: Walker Chen <walker.chen@starfivetech.com>
minda.chen [Mon, 30 Jan 2023 09:12:36 +0000 (01:12 -0800)]
usb: cdns3: add hibernation pm notifier to set roothub wakeup
In hibernation resume case. usb devices maybe not emulated,
roothub is suspended, In this case, usb devices will be resume
fail. Set roothub active while hibernation resume.
Signed-off-by: minda.chen <minda.chen@starfivetech.com>
Xingyu Wu [Wed, 1 Feb 2023 03:18:38 +0000 (11:18 +0800)]
sound: starfive: pwmdac: Support module building
Change Makefile and Kconfig to support module building.
Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
Kevin.xie [Mon, 30 Jan 2023 07:25:56 +0000 (15:25 +0800)]
v4l2_driver: isp: Save & resore context regs during stream on/off.
Besides, add some log in dump reg function to distinguish different groups.
Signed-off-by: Kevin.xie <kevin.xie@starfivetech.com>
shengyang.chen [Mon, 16 Jan 2023 11:45:28 +0000 (19:45 +0800)]
riscv: linux: vout: fix hdmi hibernation resume failure cause by pmic
fix hdmi hibernation resume failure cause by pmic
Signed-off-by: shengyang.chen<shengyang.chen@starfivetech.com>
minda.chen [Tue, 18 Oct 2022 01:57:39 +0000 (09:57 +0800)]
usb:xhci:To improve performance,usb using lowmem for bulk xfer.
Generate an usb low memory pool for usb 3.0 host
read/write transfer, default size is 8M.
Signed-off-by: minda.chen <minda.chen@starfivetech.com>
ziv.xu [Wed, 18 Jan 2023 07:50:47 +0000 (15:50 +0800)]
spi-pl022-starfive:Enable spi to be compiled into modules
Enable spi to be compiled into modules
Signed-off-by: ziv.xu <ziv.xu@starfive.com>
andy.hu [Wed, 18 Jan 2023 02:08:27 +0000 (02:08 +0000)]
Merge branch 'CR_3149_TempSensor_hal.feng' into 'jh7110-5.15.y-devel'
CR 3149 TempSensor hal.feng
See merge request sdk/linux!676
Samin Guo [Thu, 12 Jan 2023 04:53:02 +0000 (12:53 +0800)]
hwmon: sfctemp: Fix the problem that cannot disable sfctemp after enabling PM
[runtime_pm off]
After Linux starts, it will enable clk and put tempsensor in standby state.
When 'cat /sys/class/hwmon/hwmon0/temp1_input' is executed, will switch to
the run state, and return the value of the sensor after the interrupt is
generated.
$ cat /sys/kernel/debug/clk/clk_summary | grep "temp_sensor"
enable prepare protect duty hardware
clock count count count rate accuracy phase cycle enable
-------------------------------------------------------------------------------------------
u0_temp_sensor_clk_temp 1 1 0 1000000 0 0 50000 Y
u0_temp_sensor_clk_apb0 1 1 0
49500000 0 0 50000 Y
$ cat /sys/class/hwmon/hwmon0/temp1_input
46135
$ cat /sys/class/hwmon/hwmon0/temp1_enable
1
You can 'echo 0 >/sys/class/hwmon/hwmon0/temp1_enable' to turn off the
tempsensor and clk.
$ echo 0 > /sys/class/hwmon/hwmon0/temp1_enable
$ cat /sys/kernel/debug/clk/clk_summary | grep "temp_sensor"
enable prepare protect duty hardware
clock count count count rate accuracy phase cycle enable
-------------------------------------------------------------------------------------------
u0_temp_sensor_clk_temp 0 0 0 1000000 0 0 50000 N
u0_temp_sensor_clk_apb0 0 0 0
49500000 0 0 50000 N
$ cat /sys/class/hwmon/hwmon0/temp1_enable
0
$ cat /sys/class/hwmon/hwmon0/temp1_input
cat: read error: No data available
[runtime_pm on]
When runtime_pm is turned on, sfctemp will automatically enter
the suspend state and close clk after the system is started.
$ cat /sys/kernel/debug/clk/clk_summary | grep "temp_sensor"
enable prepare protect duty hardware
clock count count count rate accuracy phase cycle enable
-------------------------------------------------------------------------------------------
u0_temp_sensor_clk_temp 0 0 0 1000000 0 0 50000 N
u0_temp_sensor_clk_apb0 0 0 0
49500000 0 0 50000 N
when 'cat /sys/class/hwmon/hwmon0/temp1_input', it will call
starfive_temp_resume, enable clk and put sfctemp into power on state.
$ cat /sys/class/hwmon/hwmon0/temp1_input
46235
After the interrupt is generated and the sensor value is obtained, it
will enter the suspend state again. so, hardware-enable-stats is always 'N'.
Of course, in this mode (runtime_pm on), it also supports the opening
and closing of functions (in fact, clk is not directly operated, and the
opening and closing of clk are controlled by runtime_pm)
$ cat /sys/class/hwmon/hwmon0/temp1_input
46235
$ cat /sys/class/hwmon/hwmon0/temp1_enable
1
$ echo 0 > /sys/class/hwmon/hwmon0/temp1_enable
$ cat /sys/class/hwmon/hwmon0/temp1_enable
0
$ cat /sys/class/hwmon/hwmon0/temp1_input
cat: read error: No data available
Signed-off-by: Samin Guo <samin.guo@starfivetech.com>
andy.hu [Tue, 17 Jan 2023 11:04:59 +0000 (11:04 +0000)]
Merge branch 'CR_2956_gpu_shanlong.li' into 'jh7110-5.15.y-devel'
CR_2956: gpu:driver: fix up hibernation resume problem
See merge request sdk/linux!672
andy.hu [Tue, 17 Jan 2023 10:18:44 +0000 (10:18 +0000)]
Merge branch 'CR_3027_pinctrl_hal.feng' into 'jh7110-5.15.y-devel'
CR 3027 pinctrl hal.feng
See merge request sdk/linux!671
andy.hu [Tue, 17 Jan 2023 10:15:11 +0000 (10:15 +0000)]
Merge branch 'CR_3058_hibernation_clocktree_Xingyu.Wu' into 'jh7110-5.15.y-devel'
CR_3058_hibernation_clocktree_Xingyu.Wu
See merge request sdk/linux!670
Changhuang Liang [Tue, 17 Jan 2023 06:17:28 +0000 (14:17 +0800)]
media: starfive: Modify support imx219 compile to module
Modify support imx219 compile to module.
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
shanlong.li [Mon, 16 Jan 2023 08:43:09 +0000 (00:43 -0800)]
gpu:driver: fix up hibernation resume problem
fix up hibernation resume problem
Signed-off-by: shanlong.li <shanlong.li@starfivetech.com>
Hal Feng [Fri, 13 Jan 2023 08:35:54 +0000 (16:35 +0800)]
pinctrl: starfive: Save all register values when suspending and restore them when resuming
Restore the other registers besides irq registers when resuming.
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
Xingyu Wu [Fri, 13 Jan 2023 03:09:03 +0000 (11:09 +0800)]
clk: starfive: Fixed UART3-5 error after resume
Fixed UART3-5 error after hibernation by adjusting register shift.
Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
andy.hu [Wed, 11 Jan 2023 12:02:08 +0000 (12:02 +0000)]
Merge branch 'CR_3027_pinctrl_hal.feng' into 'jh7110-5.15.y-devel'
CR 3027 pinctrl hal.feng
See merge request sdk/linux!669
andy.hu [Wed, 11 Jan 2023 11:56:06 +0000 (11:56 +0000)]
Merge branch 'CR_3122_fix_usb_resume_device_minda' into 'jh7110-5.15.y-devel'
CR_3122 usb: phy: init phy in resume function
See merge request sdk/linux!667
andy.hu [Wed, 11 Jan 2023 11:06:58 +0000 (11:06 +0000)]
Merge branch 'CR_3051_ts_515_changhuang.liang' into 'jh7110-5.15.y-devel'
CR_3051_ts_515_changhuang.liang input: touchscreen: tinker_ft5406: Delete unused code.
See merge request sdk/linux!661
andy.hu [Wed, 11 Jan 2023 11:06:13 +0000 (11:06 +0000)]
Merge branch 'CR_3054_vin_system_pm_changhuang.liang' into 'jh7110-5.15.y-devel'
CR_3054_vin_system_pm_changhuang.liang media: starfive: Delete unused USE_MEDIA_PIPELINE macro code
See merge request sdk/linux!665
andy.hu [Wed, 11 Jan 2023 11:04:45 +0000 (11:04 +0000)]
Merge branch 'CR_3025_hibernation_tdm_walker.chen' into 'jh7110-5.15.y-devel'
CR_3025_hibernation_tdm_walker.chen
See merge request sdk/linux!666
andy.hu [Wed, 11 Jan 2023 11:03:59 +0000 (11:03 +0000)]
Merge branch 'CR_3058_hibernation_clocktree_Xingyu.Wu' into 'jh7110-5.15.y-devel'
CR_3058_hibernation_clocktree_Xingyu.Wu
See merge request sdk/linux!668
andy.hu [Wed, 11 Jan 2023 11:02:42 +0000 (11:02 +0000)]
Merge branch 'CR_2964_hibernation_spdif_Xingyu.Wu' into 'jh7110-5.15.y-devel'
CR_2964_hibernation_spdif_Xingyu.Wu
See merge request sdk/linux!664
andy.hu [Wed, 11 Jan 2023 11:01:53 +0000 (11:01 +0000)]
Merge branch 'CR_3021_hibernation_pwmdac_Xingyu.Wu' into 'jh7110-5.15.y-devel'
CR_3021_hibernation_pwmdac_Xingyu.Wu
See merge request sdk/linux!663
Xingyu Wu [Fri, 6 Jan 2023 07:12:23 +0000 (15:12 +0800)]
clk: starfive: Add funtions of saving and restoring data about SYS, AON and STG
Add 'save_context' ops to save register value of clock and
'restore_context' ops to restore the value to register.
The ops only suitable for SYS, AON and STG clock tree not ISP and VOUT.
Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
minda.chen [Wed, 11 Jan 2023 08:58:11 +0000 (16:58 +0800)]
usb: phy: init phy in resume function
usb phy will be reset in suspend procedure. After resume.
Some devices can not work. In usb resume, init phy again.
Signed-off-by: minda.chen <minda.chen@starfivetech.com>
Walker Chen [Wed, 11 Jan 2023 09:31:14 +0000 (17:31 +0800)]
CR_3025_Hibernation_TDM_Walker.chen
Fixed playback failed after hibernation by saving and restoring registers' data.
Signed-off-by: Walker Chen <walker.chen@starfivetech.com>
Changhuang Liang [Wed, 11 Jan 2023 07:53:26 +0000 (15:53 +0800)]
media: starfive: Update VIN system PM operation
Update VIN system PM operation, fixed multi open the same video node
cause resume fail.
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
Changhuang Liang [Wed, 11 Jan 2023 07:32:03 +0000 (15:32 +0800)]
media: starfive: stf_video: Multi open only set power one time
Multi open the same video node only set power one time.
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
Changhuang Liang [Wed, 11 Jan 2023 07:22:38 +0000 (15:22 +0800)]
media: starfive: Delete unused USE_MEDIA_PIPELINE macro code
Delete unused USE_MEDIA_PIPELINE macro code.
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
Xingyu Wu [Wed, 11 Jan 2023 03:08:28 +0000 (11:08 +0800)]
sound: starfive: pwmdac: Fixed playback failed after hibernation
Fixed playback failed after hibernation by saving and restoring
register data.
Fixed error when open PWMDAC_PCM.
Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
Xingyu Wu [Wed, 11 Jan 2023 02:22:29 +0000 (10:22 +0800)]
sound: starfive: spdif: Fixed playback failed after hibernation
Fixed playback failed after hibernation by saving and restoring registers' data.
Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
Hal Feng [Fri, 6 Jan 2023 10:12:33 +0000 (18:12 +0800)]
pinctrl: starfive: Save register values when suspending and restore them when resuming
Restore the register configuration after resuming.
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
Changhuang Liang [Mon, 9 Jan 2023 03:31:36 +0000 (11:31 +0800)]
input: touchscreen: tinker_ft5406: Update log show
Update log show.
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
Changhuang Liang [Mon, 9 Jan 2023 03:13:11 +0000 (11:13 +0800)]
input: touchscreen: tinker_ft5406: Enable multipoint function
Enable multipoint function.
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
Changhuang Liang [Mon, 9 Jan 2023 02:39:29 +0000 (10:39 +0800)]
input: touchscreen: tinker_ft5406: Delete unused code.
Delete unused code avoid warning.
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
Hal Feng [Fri, 6 Jan 2023 08:15:21 +0000 (16:15 +0800)]
pinctrl: starfive: Move pm ops to pinctrl-starfive-jh7110.c
Because different SoCs have their own registers. We want to
save all registers in the pm suspend function and restore
them in the pm resume function.
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
andy.hu [Fri, 6 Jan 2023 07:26:35 +0000 (07:26 +0000)]
Merge branch 'CR_3049_Hibernation_mason.huo' into 'jh7110-5.15.y-devel'
CR_3049 Add hibernation feature
See merge request sdk/linux!658
William Qiu [Fri, 6 Jan 2023 04:26:45 +0000 (12:26 +0800)]
riscv: starfive: sdio: modify and add sd card config
modify and add sd card config, sush as 'max-frequency'
'pinctrl-names'.
Signed-off-by: William Qiu <william.qiu@starfivetech.com>
andy.hu [Fri, 6 Jan 2023 06:08:13 +0000 (06:08 +0000)]
Merge branch 'CR_2828_perf_support_minda' into 'jh7110-5.15.y-devel'
CR_2828 add perf_patch
See merge request sdk/linux!641
William Qiu [Fri, 6 Jan 2023 01:55:45 +0000 (09:55 +0800)]
Hibernation: canfd: Add system PM API for can/canfd
Add system PM API for can/canfd.
Signed-off-by: William Qiu <william.qiu@starfivetech.com>
mason.huo [Tue, 3 Jan 2023 05:39:30 +0000 (13:39 +0800)]
irqchip/irq-sifive-plic: Add syscore callbacks for hibernation
The priority and enable registers of plic will be reset
during hibernation power cycle in poweroff mode,
add the syscore callbacks to save/restore those registers.
Signed-off-by: mason.huo <mason.huo@starfivetech.com>
Sia Jee Heng [Tue, 3 Jan 2023 02:21:15 +0000 (10:21 +0800)]
RISCV: Support pmd_leaf() in the function kernel_page_present()
Update kernel_page_present() function to support pmd_leaf().
Function kernel_page_present() will be invoked when hibernation is
started.
Signed-off-by: Sia Jee Heng <jeeheng.sia@starfivetech.com>
ziv.xu [Thu, 27 Oct 2022 02:52:50 +0000 (10:52 +0800)]
timer-starfive:add pm ops for timer
add system pm ops for timer
Signed-off-by: ziv.xu <ziv.xu@starfive.com>
mason.huo [Thu, 13 Oct 2022 01:25:12 +0000 (09:25 +0800)]
rsicv: deconfig: Add hibernation and swap partition
Enable the hibernation feature, and config the default
hibernation swap partition by partition label.
Signed-off-by: mason.huo <mason.huo@starfivetech.com>
Sia Jee Heng [Sun, 6 Nov 2022 11:24:44 +0000 (19:24 +0800)]
riscv: kernel: Support hibernation resume for JH7110
Further expand the support for hibernation resume so that the hibernated
image can be restore from the disk.
Signed-off-by: Sia Jee Heng <jeeheng.sia@starfivetech.com>