platform/kernel/linux-starfive.git
21 months agoCR_3312_TDM_KO_Not_Work
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>
21 months agoMerge branch 'CR_3070_PCIe_Aqtion_Hibernation_515_Kevin.xie' into 'jh7110-5.15.y...
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

21 months agoMerge branch 'CR_3262_evb_515_VOUT_mipi_hdmi_dual_display_keith.zhao' into 'jh7110...
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

21 months agoMerge branch 'CR_3319_I2S_Hibernation_Module_Xingyu.Wu' into 'jh7110-5.15.y-devel'
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

21 months agoMerge branch 'CR_3323_PDM_KO_Not_Work_walker.chen' into 'jh7110-5.15.y-devel'
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

21 months agoMerge branch 'CR_3317_qspi_compilation_into_ko_resume_exception' into 'jh7110-5.15...
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

21 months agoMerge branch 'CR_3318_watchdog_compilation_into_ko_resume_exception' into 'jh7110...
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

21 months agoCR_3323_PDM_KO_Can_Work_walker.chen
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>
21 months agosound: starfive: I2S: Fixed error after hibernation when building module
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>
21 months agosound: codecs: wm8960: Add context saving and restoring when hibernation
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>
21 months agoriscv:driver:drm:dc
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>

21 months agoriscv:driver:drm:dc
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>

21 months agostarfive-wdt: add reset before resume
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>
21 months agoriscv:driver:drm:
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>

21 months agonet: atlantic: remove aq_nic_deinit() when resume
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>
21 months agonet: atlantic: remove deep parameter on suspend/resume functions
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>
21 months agonet: atlantic: always deep reset on pm op, fixing up my null deref regression
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>
21 months agonet: atlantic: invert deep par in pm functions, preventing null derefs
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>
21 months agospi-cadence-quadspi: add reset before resume
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>
21 months agoriscv: defconfig: Enable GT911
Changhuang Liang [Mon, 6 Feb 2023 03:42:51 +0000 (11:42 +0800)]
riscv: defconfig: Enable GT911

Enable GT911.

Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
21 months agoriscv: dts: starfive: Add goodix gt911 touchscreen support
Changhuang Liang [Mon, 6 Feb 2023 03:37:14 +0000 (11:37 +0800)]
riscv: dts: starfive: Add goodix gt911 touchscreen support

Add goodix gt911 touchscreen support.

Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
21 months agoinput: touchscreen: goodix: Update irq fetch mode
Changhuang Liang [Mon, 6 Feb 2023 03:31:14 +0000 (11:31 +0800)]
input: touchscreen: goodix: Update irq fetch mode

Update irq fetch mode.

Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
21 months agoRevert "input: touchscreen: Add gt9xx driver support"
Changhuang Liang [Mon, 6 Feb 2023 03:21:40 +0000 (11:21 +0800)]
Revert "input: touchscreen: Add gt9xx driver support"

This reverts commit d4bbbc4e18e0584599a170e4b01bff160b58e390.

21 months agoRevert "riscv: dts: starfive: Add gt9xx touchscreen support"
Changhuang Liang [Mon, 6 Feb 2023 03:21:15 +0000 (11:21 +0800)]
Revert "riscv: dts: starfive: Add gt9xx touchscreen support"

This reverts commit 114424dfb1540462f90867028d1ad915e05f3016.

21 months agoRevert "riscv: defconfig: Enable GT9xx"
Changhuang Liang [Mon, 6 Feb 2023 03:21:01 +0000 (11:21 +0800)]
Revert "riscv: defconfig: Enable GT9xx"

This reverts commit cffcc7c9cb38f95f2f229344e5a7bd2ea67323a0.

21 months agoriscv:linux:vout:mipi+hdmi
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>
21 months agoMerge tag 'JH7110_515_SDK_v4.1.0' into vf2-515-devel
Andy Hu [Sun, 5 Feb 2023 15:52:16 +0000 (23:52 +0800)]
Merge tag 'JH7110_515_SDK_v4.1.0' into vf2-515-devel

version JH7110_515_SDK_v4.1.0 for JH7110 EVB board
1. Fix hibernation issue: usb cdns3, hdmi vout, isp
2. Support linux driver module build for: imx219, pwmdac, spi
3. #2339 fix usb read performance issue
4. #1432 support uboot reset on evb jh7110b or vf2 board
5. #3238 lack a memory reservation for OpenSBI
6. #3151 fix tdm input/ouput error

21 months agoMerge branch 'CR_3172_RNG_jiajie.ho' into 'vf2-515-devel'
andy.hu [Sun, 5 Feb 2023 15:36:54 +0000 (15:36 +0000)]
Merge branch 'CR_3172_RNG_jiajie.ho' into 'vf2-515-devel'

CR_3172: riscv: defconfig: Enable StarFive hwrng

See merge request sbc/linux!63

21 months agoMerge branch 'CR_2975_5.15_hdmi_shengyang.chen' into 'jh7110-5.15.y-devel'
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

21 months agoMerge branch 'CR_3158_ISP_515_Kevin.xie' into 'jh7110-5.15.y-devel'
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

21 months agoMerge branch 'CR_3151_TDM_Hibernation_walker.chen' into 'jh7110-5.15.y-devel'
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

21 months agoMerge branch 'CR_3137_usb_hiber_notify_minda' into 'jh7110-5.15.y-devel'
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

21 months agoMerge branch 'CR_3170_spi_compiled_as_module_5.15_ziv.xu' into 'jh7110-5.15.y-devel'
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

21 months agoMerge branch 'CR_3231_515_PWMDAC_module_Xingyu.Wu' into 'jh7110-5.15.y-devel'
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

21 months agoMerge branch 'CR_3157_imx219_515_changhuang.liang' into 'jh7110-5.15.y-devel'
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

21 months agoMerge branch 'CR_2339_usb_read_using_sysport_minda' into 'jh7110-5.15.y-devel'
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

21 months agoCR_3151_TDM_Hibernation_walker.chen
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>
21 months agousb: cdns3: add hibernation pm notifier to set roothub wakeup
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>
21 months agosound: starfive: pwmdac: Support module building
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>
21 months agoriscv: defconfig: Enable StarFive hwrng
Jia Jie Ho [Tue, 31 Jan 2023 07:50:33 +0000 (15:50 +0800)]
riscv: defconfig: Enable StarFive hwrng

Add StarFive JH7110 hwrng config to VisionFive 2 defconfig

Signed-off-by: Jia Jie Ho <jiajie.ho@starfivetech.com>
21 months agov4l2_driver: isp: Save & resore context regs during stream on/off.
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>
21 months agoriscv: linux: vout: fix hdmi hibernation resume failure cause by pmic
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>
21 months agousb:xhci:To improve performance,usb using lowmem for bulk xfer.
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>
21 months agoMerge branch 'CR_3031_disable_wifi_p2p_michael.zhu' into 'vf2-515-devel'
andy.hu [Thu, 19 Jan 2023 01:52:38 +0000 (01:52 +0000)]
Merge branch 'CR_3031_disable_wifi_p2p_michael.zhu' into 'vf2-515-devel'

CR_3031: net:wireless:eswin:disable p2p function

See merge request sbc/linux!61

21 months agoMerge tag 'JH7110_515_SDK_v4.0.1' into vf2-515-devel
Andy Hu [Thu, 19 Jan 2023 01:38:19 +0000 (09:38 +0800)]
Merge tag 'JH7110_515_SDK_v4.0.1' into vf2-515-devel

version JH7110_515_SDK_v4.0.1 for JH7110 EVB board
1. Fix hibernation issues: clk tree, gpio, gpu, tempsensor
2. Add gpio reset feature in opensbi
3. Fix usb device issue for debian

21 months agospi-pl022-starfive:Enable spi to be compiled into modules
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>
21 months agoMerge branch 'CR_3149_TempSensor_hal.feng' into 'jh7110-5.15.y-devel'
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

21 months agohwmon: sfctemp: Fix the problem that cannot disable sfctemp after enabling PM
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>
21 months agoMerge branch 'CR_2956_gpu_shanlong.li' into 'jh7110-5.15.y-devel'
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

21 months agonet:wireless:eswin:disable p2p function
MichaelZhuxx [Tue, 17 Jan 2023 10:58:05 +0000 (18:58 +0800)]
net:wireless:eswin:disable p2p function

To fix dynamic naming issue, disable CONFIG_ECRNX_P2P for wifi ECR6600U

Signed-off-by: MichaelZhuxx <michael.zhu@starfivetech.com>
21 months agoMerge branch 'CR_3027_pinctrl_hal.feng' into 'jh7110-5.15.y-devel'
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

21 months agoMerge branch 'CR_3058_hibernation_clocktree_Xingyu.Wu' into 'jh7110-5.15.y-devel'
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

21 months agomedia: starfive: Modify support imx219 compile to module
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>
21 months agogpu:driver: fix up hibernation resume problem
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>
21 months agopinctrl: starfive: Save all register values when suspending and restore them when...
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>
21 months agoclk: starfive: Fixed UART3-5 error after resume
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>
21 months agoMerge tag 'JH7110_515_SDK_v4.0.0-rc2' into vf2-515-devel
Andy Hu [Wed, 11 Jan 2023 15:29:35 +0000 (23:29 +0800)]
Merge tag 'JH7110_515_SDK_v4.0.0-rc2' into vf2-515-devel

version JH7110_515_SDK_v4.0.0-rc2 for JH7110 EVB board
1. Fix hibernation issue: spdif, pwmdac, tdm, pdm, wave511, wave420l, jpu, can, isp, clk tree, gmac, gpio
2. Porting the upstream opensbi and add pm patch for hibernation
3. #3120 omx fix low probability of segment fault when decoding finish

22 months agoMerge branch 'CR_3121_VF2_Hibernation_mason.huo' into 'vf2-515-devel'
andy.hu [Wed, 11 Jan 2023 12:25:00 +0000 (12:25 +0000)]
Merge branch 'CR_3121_VF2_Hibernation_mason.huo' into 'vf2-515-devel'

CR_3121 Add hibernation support for VF2

See merge request sbc/linux!60

22 months agoMerge branch 'CR_2862_gt9xx_ts_515_changhuang.liang' into 'vf2-515-devel'
andy.hu [Wed, 11 Jan 2023 12:24:22 +0000 (12:24 +0000)]
Merge branch 'CR_2862_gt9xx_ts_515_changhuang.liang' into 'vf2-515-devel'

CR_2862_gt9xx_ts_515_changhuang.liang input: touchscreen: Add gt9xx driver support

See merge request sbc/linux!56

22 months agoMerge branch 'CR2876_vf2_make_gpio_reset_priority_low_minda' into 'vf2-515-devel'
andy.hu [Wed, 11 Jan 2023 12:23:24 +0000 (12:23 +0000)]
Merge branch 'CR2876_vf2_make_gpio_reset_priority_low_minda' into 'vf2-515-devel'

CR_2876 dts: gpio: make gpio reset priority lower than pmic reset

See merge request sbc/linux!58

22 months agoMerge branch 'CR_3027_pinctrl_hal.feng' into 'jh7110-5.15.y-devel'
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

22 months agoMerge branch 'CR_3122_fix_usb_resume_device_minda' into 'jh7110-5.15.y-devel'
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

22 months agoMerge branch 'CR_3051_ts_515_changhuang.liang' into 'jh7110-5.15.y-devel'
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

22 months agoMerge branch 'CR_3054_vin_system_pm_changhuang.liang' into 'jh7110-5.15.y-devel'
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

22 months agoMerge branch 'CR_3025_hibernation_tdm_walker.chen' into 'jh7110-5.15.y-devel'
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

22 months agoMerge branch 'CR_3058_hibernation_clocktree_Xingyu.Wu' into 'jh7110-5.15.y-devel'
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

22 months agoMerge branch 'CR_2964_hibernation_spdif_Xingyu.Wu' into 'jh7110-5.15.y-devel'
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

22 months agoMerge branch 'CR_3021_hibernation_pwmdac_Xingyu.Wu' into 'jh7110-5.15.y-devel'
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

22 months agoclk: starfive: Add funtions of saving and restoring data about SYS, AON and STG
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>
22 months agousb: phy: init phy in resume function
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>
22 months agoCR_3025_Hibernation_TDM_Walker.chen
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>
22 months agomedia: starfive: Update VIN system PM operation
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>
22 months agomedia: starfive: stf_video: Multi open only set power one time
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>
22 months agomedia: starfive: Delete unused USE_MEDIA_PIPELINE macro code
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>
22 months agosound: starfive: pwmdac: Fixed playback failed after hibernation
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>
22 months agosound: starfive: spdif: Fixed playback failed after hibernation
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>
22 months agorsicv: deconfig: Add hibernation and swap partition
mason.huo [Tue, 10 Jan 2023 10:34:47 +0000 (18:34 +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>
22 months agoriscv: deconfig: Enable system suspend and pm test
mason.huo [Tue, 10 Jan 2023 10:30:09 +0000 (18:30 +0800)]
riscv: deconfig: Enable system suspend and pm test

Config the system suspend feature, enable pm test feature.

Signed-off-by: mason.huo <mason.huo@starfivetech.com>
22 months agodts: gpio: make gpio reset priority lower than pmic reset
minda.chen [Tue, 10 Jan 2023 01:25:15 +0000 (09:25 +0800)]
dts: gpio: make gpio reset priority lower than pmic reset

For sbi pmic reset priority is 192. To make pmic reset
work. Make gpio reset priority lower.

Signed-off-by: minda.chen <minda.chen@starfivetech.com>
22 months agopinctrl: starfive: Save register values when suspending and restore them when resuming
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>
22 months agoinput: touchscreen: tinker_ft5406: Update log show
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>
22 months agoinput: touchscreen: tinker_ft5406: Enable multipoint function
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>
22 months agoinput: touchscreen: tinker_ft5406: Delete unused code.
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>
22 months agopinctrl: starfive: Move pm ops to pinctrl-starfive-jh7110.c
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>
22 months agoMerge tag 'JH7110_515_SDK_v4.0.0-rc1' into vf2-515-devel
Andy Hu [Sat, 7 Jan 2023 15:02:18 +0000 (23:02 +0800)]
Merge tag 'JH7110_515_SDK_v4.0.0-rc1' into vf2-515-devel

version JH7110_515_SDK_v4.0.0-rc1 for JH7110 EVB board
1. #2828 support linux perf tool
2. #3049 merge hibernation branch to SDK
3. #2708 uboot support vout clk driver
4. #3006 uboot handle OTP return value
5. #2969, #3039 venc jpu fix futex issue

22 months agoMerge branch 'CR_2828_vf2_perf_support_minda' into 'vf2-515-devel'
andy.hu [Sat, 7 Jan 2023 14:29:05 +0000 (14:29 +0000)]
Merge branch 'CR_2828_vf2_perf_support_minda' into 'vf2-515-devel'

vf2: config: add perf events config

See merge request sbc/linux!53

22 months agoMerge branch 'CR_3049_Hibernation_mason.huo' into 'jh7110-5.15.y-devel'
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

22 months agoriscv: starfive: sdio: modify and add sd card config
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>
22 months agoMerge branch 'CR_2828_perf_support_minda' into 'jh7110-5.15.y-devel'
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

22 months agoHibernation: canfd: Add system PM API for can/canfd
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>
22 months agoriscv: defconfig: Enable GT9xx
Changhuang Liang [Tue, 3 Jan 2023 07:17:39 +0000 (15:17 +0800)]
riscv: defconfig: Enable GT9xx

Enable GT9xx.

Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
22 months agoriscv: dts: starfive: Add gt9xx touchscreen support
Changhuang Liang [Tue, 3 Jan 2023 06:17:16 +0000 (14:17 +0800)]
riscv: dts: starfive: Add gt9xx touchscreen support

Add gt9xx touchscreen support.

Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
22 months agoinput: touchscreen: Add gt9xx driver support
Changhuang Liang [Fri, 6 Jan 2023 01:44:52 +0000 (09:44 +0800)]
input: touchscreen: Add gt9xx driver support

Add gt9xx touchscreen driver support in jh7110 platform.

Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
22 months agoirqchip/irq-sifive-plic: Add syscore callbacks for hibernation
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>
22 months agoRISCV: Support pmd_leaf() in the function kernel_page_present()
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>
22 months agotimer-starfive:add pm ops for timer
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>
22 months agorsicv: deconfig: Add hibernation and swap partition
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>
22 months agoriscv: kernel: Support hibernation resume for JH7110
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>
22 months agoriscv: kernel: Expand functionlity of swsusp_arch_suspend for JH7110
Sia Jee Heng [Mon, 17 Oct 2022 02:25:05 +0000 (10:25 +0800)]
riscv: kernel: Expand functionlity of swsusp_arch_suspend for JH7110

Futher expand the functionality of the swsusp_arch_suspend so that the
hibernated image can be written to the disk and resume from the
hibernated image.

Signed-off-by: Sia Jee Heng <jeeheng.sia@starfivetech.com>
22 months agoriscv: kernel: Add support for hibernate/suspend to disk
Sia Jee Heng [Thu, 1 Sep 2022 07:47:11 +0000 (15:47 +0800)]
riscv: kernel: Add support for hibernate/suspend to disk

The implementation assumes that exactly the same kernel is booted on the
same hardware.

We save the build number and date to the swap header so that we guarantee
not to resume with a different kernel upon booted up the hibernated image.

swsusp_arch_resume() and swsusp_arch_suspend() are coded as dummy
functions for now and shall complete in the subsequent patches.

Signed-off-by: Sia Jee Heng <jeeheng.sia@starfivetech.com>