Age | Commit message (Collapse) | Author | Files | Lines |
|
Enable multipoint function.
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
|
|
Delete unused code avoid warning.
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
|
|
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>
|
|
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
|
|
vf2: config: add perf events config
See merge request sbc/linux!53
|
|
CR_3049 Add hibernation feature
See merge request sdk/linux!658
|
|
modify and add sd card config, sush as 'max-frequency'
'pinctrl-names'.
Signed-off-by: William Qiu <william.qiu@starfivetech.com>
|
|
CR_2828 add perf_patch
See merge request sdk/linux!641
|
|
Add system PM API for can/canfd.
Signed-off-by: William Qiu <william.qiu@starfivetech.com>
|
|
Enable GT9xx.
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
|
|
Add gt9xx touchscreen support.
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
|
|
Add gt9xx touchscreen driver support in jh7110 platform.
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
|
|
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>
|
|
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>
|
|
add system pm ops for timer
Signed-off-by: ziv.xu <ziv.xu@starfive.com>
|
|
Enable the hibernation feature, and config the default
hibernation swap partition by partition label.
Signed-off-by: mason.huo <mason.huo@starfivetech.com>
|
|
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>
|
|
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>
|
|
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>
|
|
Config the system suspend feature, enable pm test feature.
Signed-off-by: mason.huo <mason.huo@starfivetech.com>
|
|
add perf events support in vf2.
Signed-off-by: minda.chen <minda.chen@starfivetech.com>
|
|
add 7110 perf support
Signed-off-by: minda.chen <minda.chen@starfivetech.com>
|
|
This patch contains all the available events for the HiFive Unmatched performance monitoring unit.
Depends on patch [3], for the base mapfile.csv file.
Signed-off-by: João Mário Domingos <joao.mario@tecnico.ulisboa.pt>
|
|
The pmu-events now supports custom events for RISC-V, plus the cycle,
time and instret events were defined.
Signed-off-by: João Mário Domingos <joao.mario@tecnico.ulisboa.pt>
|
|
This patch creates the header.c file for the risc-v architecture and introduces support for
PMU identification through sysfs.
It is now possible to configure pmu-events in risc-v.
Depends on patch [1], that introduces the id sysfs file.
Signed-off-by: João Mário Domingos <joao.mario@tecnico.ulisboa.pt>
Signed-off-by: minda.chen <minda.chen@starfivetech.com>
|
|
The SBI PMU platform driver did not provide any identification for
perf events matching. This patch introduces a new sysfs file inside the
platform device (soc:pmu/id) for pmu identification.
The identification is a 64-bit value generated as:
[63-32]: mvendorid;
[31]: marchid[MSB];
[30-16]: marchid[15-0];
[15-0]: mimpid[15MSBs];
The CSRs are detailed in the RISC-V privileged spec [1].
The marchid is split in MSB + 15LSBs, due to the MSB being used for
open-source architecture identification.
[1] https://github.com/riscv/riscv-isa-manual
Signed-off-by: João Mário Domingos <joao.mario@tecnico.ulisboa.pt>
|
|
Add myself and Anup as maintainer for RISC-V PMU drivers.
Signed-off-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Atish Patra <atishp@rivosinc.com>
|
|
The existing pmu documentation describes the limitation of perf
infrastructure in RISC-V ISA and limited feature set of perf in RISC-V.
However, SBI PMU extension and sscofpmf extension(ISA extension) allows to
implement most of the required features of perf. Remove the old
documentation which is not accurate anymore.
Reviewed-by: Anup Patel <anup@brainfault.org>
Signed-off-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Atish Patra <atishp@rivosinc.com>
|
|
The sscofpmf extension allows counter overflow and filtering for
programmable counters. Enable the perf driver to handle the overflow
interrupt. The overflow interrupt is a hart local interrupt.
Thus, per cpu overflow interrupts are setup as a child under the root
INTC irq domain.
Signed-off-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Atish Patra <atishp@rivosinc.com>
|
|
Currently, the /proc/cpuinfo outputs the entire riscv,isa string which
is not ideal when we have multiple ISA extensions present in the ISA
string. Some of them may not be enabled in kernel as well.
Parse only the enabled ISA extension and print them in a separate row.
Signed-off-by: Atish Patra <atishp@rivosinc.com>
|
|
The isa string should begin with either rv64 or rv32. Otherwise, it is
an incorrect isa string. Currently, the string parsing continues even if
it doesnot begin with current XLEN.
Fix this by checking if it found "rv64" or "rv32" in the beginning.
Signed-off-by: Atish Patra <atishp@rivosinc.com>
|
|
Multi-letter extensions can be probed using exising
riscv_isa_extension_available API now. It doesn't support versioning
right now as there is no use case for it.
Individual extension specific implementation will be added during
each extension support.
Signed-off-by: Atish Patra <atishp@rivosinc.com>
|
|
Currently, there is no usage for version numbers in extensions as
any ratified non base ISA extension will always at v1.0.
Extract the extension names in place for future parsing.
Tested-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Anup Patel <anup@brainfault.org>
Signed-off-by: Tsukasa OI <research_trasio@irq.a4lg.com>
[Improved commit text and comments]
Signed-off-by: Atish Patra <atishp@rivosinc.com>
|
|
Current hart ISA ("riscv,isa") parser don't correctly parse:
1. Multi-letter extensions
2. Version numbers
All ISA extensions ratified recently has multi-letter extensions
(except 'H'). The current "riscv,isa" parser that is easily confused
by multi-letter extensions and "p" in version numbers can be a huge
problem for adding new extensions through the device tree.
Leaving it would create incompatible hacks and would make "riscv,isa"
value unreliable.
This commit implements minimal parser for "riscv,isa" strings. With this,
we can safely ignore multi-letter extensions and version numbers.
[Improved commit text and fixed a bug around 's' in base extension]
Signed-off-by: Atish Patra <atishp@rivosinc.com>
[Fixed workaround for QEMU]
Signed-off-by: Tsukasa OI <research_trasio@irq.a4lg.com>
Tested-by: Heiko Stuebner <heiko@sntech.de>
|
|
This commit replaces BITS_PER_LONG with number of alphabet letters.
Current ISA pretty-printing code expects extension 'a' (bit 0) through
'z' (bit 25). Although bit 26 and higher is not currently used (thus never
cause an issue in practice), it will be an annoying problem if we start to
use those in the future.
This commit disables printing high bits for now.
Reviewed-by: Anup Patel <anup@brainfault.org>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Tsukasa OI <research_trasio@irq.a4lg.com>
Signed-off-by: Atish Patra <atishp@rivosinc.com>
|
|
RISC-V SBI specification added a PMU extension that allows to configure
start/stop any pmu counter. The RISC-V perf can use most of the generic
perf features except interrupt overflow and event filtering based on
privilege mode which will be added in future.
It also allows to monitor a handful of firmware counters that can provide
insights into firmware activity during a performance analysis.
Signed-off-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Atish Patra <atishp@rivosinc.com>
|
|
This patch adds all the definitions defined by the SBI PMU extension.
Reviewed-by: Anup Patel <anup@brainfault.org>
Signed-off-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Atish Patra <atishp@rivosinc.com>
|
|
The old RISC-V perf implementation allowed counting of only
cycle/instruction counters using perf. Restore that feature by implementing
a simple platform driver under a separate config to provide backward
compatibility. Any existing software stack will continue to work as it is.
However, it provides an easy way out in future where we can remove the
legacy driver.
Reviewed-by: Anup Patel <anup@brainfault.org>
Signed-off-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Atish Patra <atishp@rivosinc.com>
|
|
Implement a perf core library that can support all the essential perf
features in future. It can also accommodate any type of PMU implementation
in future. Currently, both SBI based perf driver and legacy driver
implemented uses the library. Most of the common perf functionalities
are kept in this core library wile PMU specific driver can implement PMU
specific features. For example, the SBI specific functionality will be
implemented in the SBI specific driver.
Reviewed-by: Anup Patel <anup@brainfault.org>
Signed-off-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Atish Patra <atishp@rivosinc.com>
|
|
Linux kernel can directly read these counters as the HPMCOUNTERS CSRs are
accessible in S-mode.
Reviewed-by: Anup Patel <anup@brainfault.org>
Signed-off-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Atish Patra <atishp@rivosinc.com>
|
|
The current perf implementation in RISC-V is not very useful as it can not
count any events other than cycle/instructions. Moreover, perf record
can not be used or the events can not be started or stopped.
Remove the implementation now for a better platform driver in future
that will implement most of the missing functionality.
Reviewed-by: Anup Patel <anup@brainfault.org>
Signed-off-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Atish Patra <atishp@rivosinc.com>
|
|
CR_2861_vf2_ts_515_changhuang.liang riscv: dts: starfive: Add touchscreen node support
See merge request sbc/linux!52
|
|
Enable touchscreen TINKER FT5406
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
|
|
Add touchscreen node support.
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
|
|
version JH7110_515_SDK_v3.6.0 for JH7110 EVB board
|
|
CR_2506_515 net:wireless:Support eswin usb wifi ECR6600U
See merge request sbc/linux!45
|
|
CR_2936_515: mmc: starfive: resolving warning logs
See merge request sbc/linux!49
|
|
Enable usb wifi ECR6600U
Signed-off-by: Jianlong Huang <jianlong.huang@starfivetech.com>
|
|
Add usb wifi ECR6600U driver
Signed-off-by: Jianlong Huang <jianlong.huang@starfivetech.com>
|
|
CR_2861_ts_515_changhuang.liang input: touchscreen: Add tinker_ft5406 driver support
See merge request sdk/linux!654
|