riscv: backport support for SiFive Unmatched
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
High
|
Colin Ian King | ||
Focal |
New
|
Undecided
|
Unassigned | ||
Groovy |
Won't Fix
|
High
|
Unassigned | ||
Hirsute |
Fix Released
|
High
|
Colin Ian King |
Bug Description
== SRU Justifcation Groovy/RISCV ==
The SiFive HiFive Unmatched board should be supported as well as the current Unleashed. There are various upstream commits for this support and some misc fixes for the Unleashed and Unmatched that are required for this
board support.
== The fix(es) ==
The following changes since commit 7295e646e91b648
UBUNTU: Ubuntu-
are available in the Git repository at:
https:/
for you to fetch changes up to 86de0730500269f
UBUNTU: [Config] Align configs with Unleashed defconfigs (2021-01-11 09:37:13 +0000)
-------
Colin Ian King (1):
UBUNTU: [Config] Align configs with Unleashed defconfigs
David Abdurachmanov (5):
PCI: microsemi: Add host driver for Microsemi PCIe controller
Microsemi PCIe expansion board DT entry.
HACK: Revert "of/device: Really only set bus DMA mask when appropriate"
SiFive Unleashed CPUFreq
SiFive HiFive Unleashed: Add PWM LEDs (D1, D2, D3, D4)
Greentime Hu (2):
irqchip/
irqchip/
Pragnesh Patel (1):
clk: sifive: Add clock enable and disable ops
Rob Herring (2):
dt-bindings: More whitespace clean-ups in schema files
dt-bindings: Explicitly allow additional properties in board/SoC schemas
Sagar Kadam (2):
dt-bindings: riscv: sifive-l2-cache: convert bindings to json-schema
dt-bindings: riscv: convert pwm bindings to json-schema
Sagar Shrikant Kadam (1):
i2c: ocores: fix polling mode workaround on FU540-C000 SoC
Yash Shah (6):
RISC-V: Update l2 cache DT documentation to add support for SiFive FU740
RISC-V: sifive_l2_cache: Update L2 cache driver to support SiFive FU740
dt-bindings: riscv: Update DT binding docs to support SiFive FU740 SoC
riscv: dts: add initial support for the SiFive FU740-C000 SoC
dt-bindings: riscv: Update YAML doc to support SiFive HiFive Unmatched board
riscv: dts: add initial board data for the SiFive HiFive Unmatched
Zong Li (5):
clk: sifive: Extract prci core to common base
clk: sifive: Use common name for prci configuration
clk: sifive: Add a driver for the SiFive FU740 PRCI IP block
clk: sifive: Fix the wrong bit field shift
dt-bindings: fu740: prci: add YAML documentation for the FU740 PRCI
Documentation/
Documentation/
Documentation/
Documentation/
Documentation/
Documentation/
Documentation/
Documentation/
Documentation/
Documentation/
Documentation/
arch/riscv/Kconfig | 8 +
arch/riscv/
arch/riscv/
arch/riscv/
arch/riscv/
arch/riscv/
arch/riscv/
arch/riscv/
arch/riscv/
debian.
debian.
drivers/
drivers/
drivers/
drivers/
drivers/
drivers/
drivers/
drivers/
drivers/
drivers/
drivers/
drivers/
drivers/
drivers/
drivers/
include/
38 files changed, 2906 insertions(+), 732 deletions(-)
create mode 100644 Documentation/
delete mode 100644 Documentation/
create mode 100644 Documentation/
delete mode 100644 Documentation/
create mode 100644 Documentation/
create mode 100644 arch/riscv/
create mode 100644 arch/riscv/
create mode 100644 arch/riscv/
create mode 100644 drivers/
create mode 100644 drivers/
create mode 100644 drivers/
create mode 100644 drivers/
create mode 100644 drivers/
create mode 100644 drivers/
create mode 100644 include/
The RISC-V configs have also been re-aligned to match the RISC-V Unleashed/Unmatched defconfig for improved clock and power stability and to fix some weird clock/scheduling random RCU timeouts and hangs during heavy load on slow backing store I/O at boot time.
== Test Case ==
Build ubuntu 5.8 risc kernel with these patches. QEMU and RISC-V Unleashed and Unmatched should boot and be rebootable with this fixes. Tested also with stress-ng and a network uptime ping test for 48 hours.
== Where problems could occur ==
Several places:
1. Clocks - IRQ and clock handling has been modified, so potential for random timing behaviour changes.
2. CONFIG changes - now aligning the clock, scheduling and power config settings to the defconfigs for RISC-V unleashed. This does improve stability on the Ubuntu boots and reboots, but may have unforeseen side effects.
3. CPU affinity fixes should improve some historical SMP problems but may uncover other SMP issues.
4. Some of these patches are still not upstream, so there may be some question to their unreviewed quality.
Changed in linux (Ubuntu): | |
status: | Incomplete → In Progress |
importance: | Undecided → High |
assignee: | nobody → Colin Ian King (colin-king) |
description: | updated |
description: | updated |
description: | updated |
Changed in linux (Ubuntu Groovy): | |
importance: | Undecided → High |
status: | New → In Progress |
Changed in linux (Ubuntu Groovy): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Focal): | |
assignee: | nobody → William Wilson (jawn-smith) |
Changed in linux (Ubuntu Focal): | |
assignee: | William Wilson (jawn-smith) → nobody |
This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:
apport-collect 1910965
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.