diff --git a/config/kernel/linux-starfive-edge.config b/config/kernel/linux-starfive-edge.config index adbeaff09f..34cf862790 100644 --- a/config/kernel/linux-starfive-edge.config +++ b/config/kernel/linux-starfive-edge.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/riscv 6.1.6 Kernel Configuration +# Linux/riscv 6.1.30 Kernel Configuration # CONFIG_CC_VERSION_TEXT="riscv64-linux-gnu-gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0" CONFIG_CC_IS_GCC=y @@ -154,7 +154,6 @@ CONFIG_GENERIC_SCHED_CLOCK=y CONFIG_CC_HAS_INT128=y CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5" CONFIG_GCC11_NO_ARRAY_BOUNDS=y -CONFIG_GCC12_NO_ARRAY_BOUNDS=y CONFIG_CC_NO_ARRAY_BOUNDS=y CONFIG_ARCH_SUPPORTS_INT128=y CONFIG_CGROUPS=y @@ -311,6 +310,7 @@ CONFIG_RISCV_ALTERNATIVE=y CONFIG_RISCV_ISA_C=y CONFIG_RISCV_ISA_SVPBMT=y CONFIG_TOOLCHAIN_HAS_ZIHINTPAUSE=y +CONFIG_TOOLCHAIN_NEEDS_EXPLICIT_ZICSR_ZIFENCEI=y CONFIG_FPU=y # end of Platform type @@ -457,20 +457,18 @@ CONFIG_MODULE_UNLOAD=y # CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set # CONFIG_MODVERSIONS is not set # CONFIG_MODULE_SRCVERSION_ALL is not set -CONFIG_MODULE_SIG=y -# CONFIG_MODULE_SIG_FORCE is not set -CONFIG_MODULE_SIG_ALL=y +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_SIG_ALL is not set # CONFIG_MODULE_SIG_SHA1 is not set # CONFIG_MODULE_SIG_SHA224 is not set # CONFIG_MODULE_SIG_SHA256 is not set # CONFIG_MODULE_SIG_SHA384 is not set CONFIG_MODULE_SIG_SHA512=y CONFIG_MODULE_SIG_HASH="sha512" -# CONFIG_MODULE_COMPRESS_NONE is not set +CONFIG_MODULE_COMPRESS_NONE=y # CONFIG_MODULE_COMPRESS_GZIP is not set -CONFIG_MODULE_COMPRESS_XZ=y +# CONFIG_MODULE_COMPRESS_XZ is not set # CONFIG_MODULE_COMPRESS_ZSTD is not set -# CONFIG_MODULE_DECOMPRESS is not set # CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set CONFIG_MODPROBE_PATH="/sbin/modprobe" # CONFIG_TRIM_UNUSED_KSYMS is not set @@ -1285,7 +1283,6 @@ CONFIG_NET_SCH_ETS=m # CONFIG_NET_CLS=y CONFIG_NET_CLS_BASIC=m -CONFIG_NET_CLS_TCINDEX=m CONFIG_NET_CLS_ROUTE4=m CONFIG_NET_CLS_FW=m CONFIG_NET_CLS_U32=m @@ -4263,8 +4260,6 @@ CONFIG_SENSORS_PC87360=m CONFIG_SENSORS_PC87427=m CONFIG_SENSORS_NTC_THERMISTOR=m CONFIG_SENSORS_NCT6683=m -CONFIG_SENSORS_NCT6775_CORE=m -CONFIG_SENSORS_NCT6775=m # CONFIG_SENSORS_NCT6775_I2C is not set CONFIG_SENSORS_NCT7802=m CONFIG_SENSORS_NCT7904=m @@ -5513,7 +5508,6 @@ CONFIG_DRM=y CONFIG_DRM_MIPI_DBI=m CONFIG_DRM_MIPI_DSI=y # CONFIG_DRM_DEBUG_MM is not set -CONFIG_DRM_USE_DYNAMIC_DEBUG=y CONFIG_DRM_KMS_HELPER=y # CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set # CONFIG_DRM_DEBUG_MODESET_LOCK is not set @@ -5714,8 +5708,6 @@ CONFIG_DRM_ANALOGIX_DP=m # CONFIG_DRM_ETNAVIV is not set # CONFIG_DRM_LOGICVC is not set -# CONFIG_DRM_MXSFB is not set -# CONFIG_DRM_IMX_LCDIF is not set # CONFIG_DRM_ARCPGU is not set CONFIG_DRM_BOCHS=m CONFIG_DRM_CIRRUS_QEMU=m @@ -5995,6 +5987,7 @@ CONFIG_SND_HDA_CODEC_CMEDIA=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM=y +# CONFIG_SND_HDA_CTL_DEV_ID is not set # end of HD-Audio CONFIG_SND_HDA_CORE=m @@ -6198,6 +6191,7 @@ CONFIG_SND_SOC_RK3328=m CONFIG_SND_SOC_RL6231=m CONFIG_SND_SOC_RT1308_SDW=m CONFIG_SND_SOC_RT1316_SDW=m +# CONFIG_SND_SOC_RT1318_SDW is not set CONFIG_SND_SOC_RT5616=m CONFIG_SND_SOC_RT5631=m CONFIG_SND_SOC_RT5640=m @@ -7328,6 +7322,7 @@ CONFIG_STAGING_MEDIA=y # CONFIG_FIELDBUS_DEV is not set CONFIG_QLGE=m # CONFIG_VME_BUS is not set +CONFIG_RTL8723CS=m CONFIG_GOLDFISH=y # CONFIG_GOLDFISH_PIPE is not set CONFIG_HAVE_CLK=y @@ -8631,11 +8626,7 @@ CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 # CONFIG_SECURITY_LOADPIN is not set CONFIG_SECURITY_YAMA=y # CONFIG_SECURITY_SAFESETID is not set -CONFIG_SECURITY_LOCKDOWN_LSM=y -CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y -CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y -# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set -# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set +# CONFIG_SECURITY_LOCKDOWN_LSM is not set # CONFIG_SECURITY_LANDLOCK is not set CONFIG_INTEGRITY=y CONFIG_INTEGRITY_SIGNATURE=y @@ -8702,9 +8693,6 @@ CONFIG_CRYPTO=y # # Crypto core or helper # -CONFIG_CRYPTO_FIPS=y -CONFIG_CRYPTO_FIPS_NAME="Linux Kernel Cryptographic API" -# CONFIG_CRYPTO_FIPS_CUSTOM_VERSION is not set CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI2=y CONFIG_CRYPTO_AEAD=y diff --git a/config/sources/families/starfive.conf b/config/sources/families/starfive.conf index 9e4f8a2fec..b35c16adfa 100644 --- a/config/sources/families/starfive.conf +++ b/config/sources/families/starfive.conf @@ -15,7 +15,7 @@ case "${BRANCH}" in edge) declare -g KERNEL_MAJOR_MINOR="6.1" # Major and minor versions of this kernel. For mainline caching. - declare -g KERNELBRANCH="tag:v6.1.23" + declare -g KERNELBRANCH='branch:linux-6.1.y' ;; diff --git a/patch/kernel/archive/starfive-6.1/1001-net-phy-Add-driver-for-Motorcomm-yt8521-gigabit-ethe.patch b/patch/kernel/archive/starfive-6.1/1001-net-phy-Add-driver-for-Motorcomm-yt8521-gigabit-ethe.patch index e680e3174f..172112eccb 100644 --- a/patch/kernel/archive/starfive-6.1/1001-net-phy-Add-driver-for-Motorcomm-yt8521-gigabit-ethe.patch +++ b/patch/kernel/archive/starfive-6.1/1001-net-phy-Add-driver-for-Motorcomm-yt8521-gigabit-ethe.patch @@ -19,10 +19,10 @@ Signed-off-by: David S. Miller 3 files changed, 1635 insertions(+), 3 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS -index 886d3f69ee64..ee4ef9a73e7d 100644 +index 301b9ba6af79..71f34fea129b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -13949,6 +13949,7 @@ F: include/uapi/linux/meye.h +@@ -13951,6 +13951,7 @@ F: include/uapi/linux/meye.h MOTORCOMM PHY DRIVER M: Peter Geis diff --git a/patch/kernel/archive/starfive-6.1/1002-riscv-optimized-memcpy.patch b/patch/kernel/archive/starfive-6.1/1002-riscv-optimized-memcpy.patch index 94a0bc4126..25c7cf548a 100644 --- a/patch/kernel/archive/starfive-6.1/1002-riscv-optimized-memcpy.patch +++ b/patch/kernel/archive/starfive-6.1/1002-riscv-optimized-memcpy.patch @@ -352,7 +352,7 @@ index 000000000000..32509ab0232e +void *memcpy(void *dest, const void *src, size_t count) __weak __alias(__memcpy); +EXPORT_SYMBOL(memcpy); diff --git a/arch/riscv/purgatory/Makefile b/arch/riscv/purgatory/Makefile -index dd58e1d99397..cdac455aa044 100644 +index 659e21862077..a7209dc8027d 100644 --- a/arch/riscv/purgatory/Makefile +++ b/arch/riscv/purgatory/Makefile @@ -1,7 +1,7 @@ diff --git a/patch/kernel/archive/starfive-6.1/1004-riscv-optimized-memset.patch b/patch/kernel/archive/starfive-6.1/1004-riscv-optimized-memset.patch index 7ce262b8d9..5391aab650 100644 --- a/patch/kernel/archive/starfive-6.1/1004-riscv-optimized-memset.patch +++ b/patch/kernel/archive/starfive-6.1/1004-riscv-optimized-memset.patch @@ -43,10 +43,10 @@ index 02120466d5a1..3b79b14a2bf1 100644 extern void *memcpy(void *dest, const void *src, size_t count); extern void *__memcpy(void *dest, const void *src, size_t count); diff --git a/arch/riscv/kernel/Makefile b/arch/riscv/kernel/Makefile -index db6e4b1294ba..eea7ce0e7d30 100644 +index ab333cb792fd..003e1cb46712 100644 --- a/arch/riscv/kernel/Makefile +++ b/arch/riscv/kernel/Makefile -@@ -46,7 +46,6 @@ obj-y += syscall_table.o +@@ -47,7 +47,6 @@ obj-y += syscall_table.o obj-y += sys_riscv.o obj-y += time.o obj-y += traps.o @@ -253,7 +253,7 @@ index bd52581e2068..7fc9ec5c26a7 100644 +void *memset(void *s, int c, size_t count) __weak __alias(__memset); +EXPORT_SYMBOL(memset); diff --git a/arch/riscv/purgatory/Makefile b/arch/riscv/purgatory/Makefile -index cdac455aa044..59991f835924 100644 +index a7209dc8027d..5b9ea779a2cc 100644 --- a/arch/riscv/purgatory/Makefile +++ b/arch/riscv/purgatory/Makefile @@ -1,7 +1,7 @@ diff --git a/patch/kernel/archive/starfive-6.1/1010-reset-Create-subdirectory-for-StarFive-drivers.patch b/patch/kernel/archive/starfive-6.1/1010-reset-Create-subdirectory-for-StarFive-drivers.patch index 2eeb430555..607db68f41 100644 --- a/patch/kernel/archive/starfive-6.1/1010-reset-Create-subdirectory-for-StarFive-drivers.patch +++ b/patch/kernel/archive/starfive-6.1/1010-reset-Create-subdirectory-for-StarFive-drivers.patch @@ -17,10 +17,10 @@ Signed-off-by: Emil Renner Berthing 6 files changed, 13 insertions(+), 9 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS -index ee4ef9a73e7d..7a472ac625e1 100644 +index 71f34fea129b..a7f510edd537 100644 --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -19652,7 +19652,7 @@ STARFIVE JH7100 RESET CONTROLLER DRIVER +@@ -19654,7 +19654,7 @@ STARFIVE JH7100 RESET CONTROLLER DRIVER M: Emil Renner Berthing S: Maintained F: Documentation/devicetree/bindings/reset/starfive,jh7100-reset.yaml @@ -30,7 +30,7 @@ index ee4ef9a73e7d..7a472ac625e1 100644 STATIC BRANCH/CALL diff --git a/drivers/reset/Kconfig b/drivers/reset/Kconfig -index de176c2fbad9..1e8e1c4954cd 100644 +index 2a52c990d4fe..6aa8f243b30c 100644 --- a/drivers/reset/Kconfig +++ b/drivers/reset/Kconfig @@ -232,13 +232,6 @@ config RESET_SOCFPGA diff --git a/patch/kernel/archive/starfive-6.1/1012-reset-starfive-Add-JH7100-audio-reset-driver.patch b/patch/kernel/archive/starfive-6.1/1012-reset-starfive-Add-JH7100-audio-reset-driver.patch index 963295f511..9fec7b76cf 100644 --- a/patch/kernel/archive/starfive-6.1/1012-reset-starfive-Add-JH7100-audio-reset-driver.patch +++ b/patch/kernel/archive/starfive-6.1/1012-reset-starfive-Add-JH7100-audio-reset-driver.patch @@ -18,10 +18,10 @@ Signed-off-by: Emil Renner Berthing 6 files changed, 112 insertions(+), 15 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS -index 7a472ac625e1..d54528018850 100644 +index a7f510edd537..09459491eef9 100644 --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -19648,12 +19648,12 @@ F: Documentation/devicetree/bindings/pinctrl/starfive,jh7100-pinctrl.yaml +@@ -19650,12 +19650,12 @@ F: Documentation/devicetree/bindings/pinctrl/starfive,jh7100-pinctrl.yaml F: drivers/pinctrl/starfive/ F: include/dt-bindings/pinctrl/pinctrl-starfive-jh7100.h diff --git a/patch/kernel/archive/starfive-6.1/1018-hwmon-sfctemp-Add-StarFive-JH71x0-temperature-sensor.patch b/patch/kernel/archive/starfive-6.1/1018-hwmon-sfctemp-Add-StarFive-JH71x0-temperature-sensor.patch index 7c65faf865..61e73a3fb0 100644 --- a/patch/kernel/archive/starfive-6.1/1018-hwmon-sfctemp-Add-StarFive-JH71x0-temperature-sensor.patch +++ b/patch/kernel/archive/starfive-6.1/1018-hwmon-sfctemp-Add-StarFive-JH71x0-temperature-sensor.patch @@ -69,10 +69,10 @@ index 000000000000..9fbd5bb1f356 +temp1_input RO Temperature reading in milli-degrees Celsius. +================ ==== ============================================= diff --git a/MAINTAINERS b/MAINTAINERS -index d54528018850..c783fa9c9d85 100644 +index 09459491eef9..d16a909df51c 100644 --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -18662,6 +18662,14 @@ L: netdev@vger.kernel.org +@@ -18664,6 +18664,14 @@ L: netdev@vger.kernel.org S: Supported F: drivers/net/ethernet/sfc/ @@ -88,7 +88,7 @@ index d54528018850..c783fa9c9d85 100644 M: Russell King L: netdev@vger.kernel.org diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig -index d3bccc8176c5..bd3fa315f62a 100644 +index a5143d01b95f..ebae09c46639 100644 --- a/drivers/hwmon/Kconfig +++ b/drivers/hwmon/Kconfig @@ -1911,6 +1911,16 @@ config SENSORS_STTS751 diff --git a/patch/kernel/archive/starfive-6.1/1024-riscv-Implement-non-coherent-DMA-support-via-SiFive-.patch b/patch/kernel/archive/starfive-6.1/1024-riscv-Implement-non-coherent-DMA-support-via-SiFive-.patch index ee01ceae62..ddaae16234 100644 --- a/patch/kernel/archive/starfive-6.1/1024-riscv-Implement-non-coherent-DMA-support-via-SiFive-.patch +++ b/patch/kernel/archive/starfive-6.1/1024-riscv-Implement-non-coherent-DMA-support-via-SiFive-.patch @@ -12,7 +12,7 @@ Signed-off-by: Emil Renner Berthing 2 files changed, 39 insertions(+), 4 deletions(-) diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig -index 8e5fd5682018..63234a5e84ac 100644 +index 06b9b2f60b9f..593db37db622 100644 --- a/arch/riscv/Kconfig +++ b/arch/riscv/Kconfig @@ -223,12 +223,14 @@ config LOCKDEP_SUPPORT diff --git a/patch/kernel/archive/starfive-6.1/1026-drivers-tty-serial-8250-update-driver-for-JH7100.patch b/patch/kernel/archive/starfive-6.1/1026-drivers-tty-serial-8250-update-driver-for-JH7100.patch index 08d4bfd053..602e40a6f8 100644 --- a/patch/kernel/archive/starfive-6.1/1026-drivers-tty-serial-8250-update-driver-for-JH7100.patch +++ b/patch/kernel/archive/starfive-6.1/1026-drivers-tty-serial-8250-update-driver-for-JH7100.patch @@ -8,10 +8,10 @@ Subject: drivers/tty/serial/8250: update driver for JH7100 1 file changed, 8 insertions(+) diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c -index 388172289627..e5044aa01298 100644 +index b8e8a96c3eb6..2a2d7c9b960e 100644 --- a/drivers/tty/serial/8250/8250_port.c +++ b/drivers/tty/serial/8250/8250_port.c -@@ -71,8 +71,16 @@ static const struct serial8250_config uart_config[] = { +@@ -72,8 +72,16 @@ static const struct serial8250_config uart_config[] = { }, [PORT_16550] = { .name = "16550", diff --git a/patch/kernel/archive/starfive-6.1/1027-pwm-sifive-ptc-Add-SiFive-PWM-PTC-driver.patch b/patch/kernel/archive/starfive-6.1/1027-pwm-sifive-ptc-Add-SiFive-PWM-PTC-driver.patch index cbbf7bef46..d33b64881a 100644 --- a/patch/kernel/archive/starfive-6.1/1027-pwm-sifive-ptc-Add-SiFive-PWM-PTC-driver.patch +++ b/patch/kernel/archive/starfive-6.1/1027-pwm-sifive-ptc-Add-SiFive-PWM-PTC-driver.patch @@ -10,8 +10,8 @@ Signed-off-by: Emil Renner Berthing --- drivers/pwm/Kconfig | 11 + drivers/pwm/Makefile | 1 + - drivers/pwm/pwm-sifive-ptc.c | 258 ++++++++++ - 3 files changed, 270 insertions(+) + drivers/pwm/pwm-sifive-ptc.c | 260 ++++++++++ + 3 files changed, 272 insertions(+) diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig index 60d13a949bc5..89cd8a6406e3 100644 @@ -49,10 +49,10 @@ index 7bf1a29f02b8..fbaa279cf540 100644 obj-$(CONFIG_PWM_SPRD) += pwm-sprd.o diff --git a/drivers/pwm/pwm-sifive-ptc.c b/drivers/pwm/pwm-sifive-ptc.c new file mode 100644 -index 000000000000..d0e592f48e69 +index 000000000000..cc68d136b82c --- /dev/null +++ b/drivers/pwm/pwm-sifive-ptc.c -@@ -0,0 +1,258 @@ +@@ -0,0 +1,260 @@ +/* + * Copyright (C) 2018 SiFive, Inc + * @@ -108,7 +108,7 @@ index 000000000000..d0e592f48e69 + return container_of(c, struct sifive_pwm_ptc_device, chip); +} + -+static void sifive_pwm_ptc_get_state(struct pwm_chip *chip, struct pwm_device *dev, ++static int sifive_pwm_ptc_get_state(struct pwm_chip *chip, struct pwm_device *dev, + struct pwm_state *state) +{ + struct sifive_pwm_ptc_device *pwm = chip_to_sifive_ptc(chip); @@ -141,6 +141,8 @@ index 000000000000..d0e592f48e69 + dev_dbg(pwm->chip.dev, "duty_cycle:%llu\n", state->duty_cycle); + dev_dbg(pwm->chip.dev, "polarity:%d\n", state->polarity); + dev_dbg(pwm->chip.dev, "enabled:%d\n", state->enabled); ++ ++ return 0; +} + +static int sifive_pwm_ptc_apply(struct pwm_chip *chip, struct pwm_device *dev, diff --git a/patch/kernel/archive/starfive-6.1/1029-dmaengine-dw-axi-dmac-Handle-xfer-start-while-non-id.patch b/patch/kernel/archive/starfive-6.1/1029-dmaengine-dw-axi-dmac-Handle-xfer-start-while-non-id.patch index 6ba4d293cc..1121769dec 100644 --- a/patch/kernel/archive/starfive-6.1/1029-dmaengine-dw-axi-dmac-Handle-xfer-start-while-non-id.patch +++ b/patch/kernel/archive/starfive-6.1/1029-dmaengine-dw-axi-dmac-Handle-xfer-start-while-non-id.patch @@ -6,33 +6,17 @@ Subject: dmaengine: dw-axi-dmac: Handle xfer start while non-idle Signed-off-by: Samin Guo Signed-off-by: Curry Zhang --- - drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c | 13 +++++++++- - drivers/dma/dw-axi-dmac/dw-axi-dmac.h | 1 + - 2 files changed, 13 insertions(+), 1 deletion(-) + drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c | 8 ++++++++ + 1 file changed, 8 insertions(+) diff --git a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c b/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c -index a183d93bd7e2..280b9d2bb1d0 100644 +index 152c5d98524d..a7b3ea6644ae 100644 --- a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c +++ b/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c -@@ -377,11 +377,13 @@ static void axi_chan_block_xfer_start(struct axi_dma_chan *chan, - u32 irq_mask; - u8 lms = 0; /* Select AXI0 master for LLI fetching */ - -+ chan->is_err = false; - if (unlikely(axi_chan_is_hw_enable(chan))) { - dev_err(chan2dev(chan), "%s is non-idle!\n", +@@ -1021,6 +1021,14 @@ static noinline void axi_chan_handle_err(struct axi_dma_chan *chan, u32 status) axi_chan_name(chan)); - -- return; -+ axi_chan_disable(chan); -+ chan->is_err = true; + goto out; } - - axi_dma_enable(chan->chip); -@@ -1018,6 +1020,14 @@ static noinline void axi_chan_handle_err(struct axi_dma_chan *chan, u32 status) - - /* The bad descriptor currently is in the head of vc list */ - vd = vchan_next_desc(&chan->vc); + if (chan->is_err) { + struct axi_dma_desc *desc = vd_to_axi_desc(vd); + @@ -44,26 +28,6 @@ index a183d93bd7e2..280b9d2bb1d0 100644 /* Remove the completed descriptor from issued list */ list_del(&vd->node); -@@ -1032,6 +1042,7 @@ static noinline void axi_chan_handle_err(struct axi_dma_chan *chan, u32 status) - /* Try to restart the controller */ - axi_chan_start_first_queued(chan); - -+out: - spin_unlock_irqrestore(&chan->vc.lock, flags); - } - -diff --git a/drivers/dma/dw-axi-dmac/dw-axi-dmac.h b/drivers/dma/dw-axi-dmac/dw-axi-dmac.h -index e9d5eb0fd594..4019a9a42d7e 100644 ---- a/drivers/dma/dw-axi-dmac/dw-axi-dmac.h -+++ b/drivers/dma/dw-axi-dmac/dw-axi-dmac.h -@@ -49,6 +49,7 @@ struct axi_dma_chan { - struct dma_slave_config config; - enum dma_transfer_direction direction; - bool cyclic; -+ bool is_err; - /* these other elements are all protected by vc.lock */ - bool is_paused; - }; -- Armbian diff --git a/patch/kernel/archive/starfive-6.1/1030-dmaengine-dw-axi-dmac-Add-StarFive-JH7100-support.patch b/patch/kernel/archive/starfive-6.1/1030-dmaengine-dw-axi-dmac-Add-StarFive-JH7100-support.patch index 3811738f9e..287a06b22a 100644 --- a/patch/kernel/archive/starfive-6.1/1030-dmaengine-dw-axi-dmac-Add-StarFive-JH7100-support.patch +++ b/patch/kernel/archive/starfive-6.1/1030-dmaengine-dw-axi-dmac-Add-StarFive-JH7100-support.patch @@ -6,12 +6,12 @@ Subject: dmaengine: dw-axi-dmac: Add StarFive JH7100 support Signed-off-by: Samin Guo Signed-off-by: Emil Renner Berthing --- - drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c | 11 +++++++++- - drivers/dma/dw-axi-dmac/dw-axi-dmac.h | 4 ++++ - 2 files changed, 14 insertions(+), 1 deletion(-) + drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c | 16 ++++++++-- + drivers/dma/dw-axi-dmac/dw-axi-dmac.h | 5 +++ + 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c b/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c -index 280b9d2bb1d0..2d151ba2ee5d 100644 +index a7b3ea6644ae..a758ef8a4430 100644 --- a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c +++ b/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c @@ -86,7 +86,7 @@ static inline void axi_chan_config_write(struct axi_dma_chan *chan, @@ -23,7 +23,22 @@ index 280b9d2bb1d0..2d151ba2ee5d 100644 cfg_hi = config->tt_fc << CH_CFG_H_TT_FC_POS | config->hs_sel_src << CH_CFG_H_HS_SEL_SRC_POS | config->hs_sel_dst << CH_CFG_H_HS_SEL_DST_POS | -@@ -672,8 +672,13 @@ static int dw_axi_dma_set_hw_desc(struct axi_dma_chan *chan, +@@ -375,11 +375,13 @@ static void axi_chan_block_xfer_start(struct axi_dma_chan *chan, + u32 irq_mask; + u8 lms = 0; /* Select AXI0 master for LLI fetching */ + ++ chan->is_err = false; + if (unlikely(axi_chan_is_hw_enable(chan))) { + dev_err(chan2dev(chan), "%s is non-idle!\n", + axi_chan_name(chan)); + +- return; ++ axi_chan_disable(chan); ++ chan->is_err = true; + } + + axi_dma_enable(chan->chip); +@@ -668,8 +670,13 @@ static int dw_axi_dma_set_hw_desc(struct axi_dma_chan *chan, hw_desc->lli->block_ts_lo = cpu_to_le32(block_ts - 1); @@ -37,7 +52,15 @@ index 280b9d2bb1d0..2d151ba2ee5d 100644 hw_desc->lli->ctl_lo = cpu_to_le32(ctllo); set_desc_src_master(hw_desc); -@@ -1484,7 +1489,11 @@ static int dw_probe(struct platform_device *pdev) +@@ -1204,6 +1211,7 @@ static int dma_chan_pause(struct dma_chan *dchan) + + chan->is_paused = true; + ++out: + spin_unlock_irqrestore(&chan->vc.lock, flags); + + return timeout ? 0 : -EAGAIN; +@@ -1485,7 +1493,11 @@ static int dw_probe(struct platform_device *pdev) * Therefore, set constraint to 1024 * 4. */ dw->dma.dev->dma_parms = &dw->dma_parms; @@ -50,10 +73,18 @@ index 280b9d2bb1d0..2d151ba2ee5d 100644 pm_runtime_enable(chip->dev); diff --git a/drivers/dma/dw-axi-dmac/dw-axi-dmac.h b/drivers/dma/dw-axi-dmac/dw-axi-dmac.h -index 4019a9a42d7e..d6ec88c45f48 100644 +index e9d5eb0fd594..d6ec88c45f48 100644 --- a/drivers/dma/dw-axi-dmac/dw-axi-dmac.h +++ b/drivers/dma/dw-axi-dmac/dw-axi-dmac.h -@@ -282,7 +282,11 @@ enum { +@@ -49,6 +49,7 @@ struct axi_dma_chan { + struct dma_slave_config config; + enum dma_transfer_direction direction; + bool cyclic; ++ bool is_err; + /* these other elements are all protected by vc.lock */ + bool is_paused; + }; +@@ -281,7 +282,11 @@ enum { #define CH_CTL_L_SRC_MAST BIT(0) /* CH_CFG_H */ diff --git a/patch/kernel/archive/starfive-6.1/1038-net-stmmac-platform-Add-snps-dwmac-5.20-IP-compatibl.patch b/patch/kernel/archive/starfive-6.1/1038-net-stmmac-platform-Add-snps-dwmac-5.20-IP-compatibl.patch index 3b38c8c425..aa9d108833 100644 --- a/patch/kernel/archive/starfive-6.1/1038-net-stmmac-platform-Add-snps-dwmac-5.20-IP-compatibl.patch +++ b/patch/kernel/archive/starfive-6.1/1038-net-stmmac-platform-Add-snps-dwmac-5.20-IP-compatibl.patch @@ -12,7 +12,7 @@ Signed-off-by: Emil Renner Berthing 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c -index eb6d9cd8e93f..971a58ab1c24 100644 +index 0046a4ee6e64..807eca7edf53 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c @@ -519,7 +519,8 @@ stmmac_probe_config_dt(struct platform_device *pdev, u8 *mac) diff --git a/patch/kernel/archive/starfive-6.1/1040-net-stmmac-Add-glue-layer-for-StarFive-JH71x0-SoCs.patch b/patch/kernel/archive/starfive-6.1/1040-net-stmmac-Add-glue-layer-for-StarFive-JH71x0-SoCs.patch index a903fd8a7d..430a9d38a8 100644 --- a/patch/kernel/archive/starfive-6.1/1040-net-stmmac-Add-glue-layer-for-StarFive-JH71x0-SoCs.patch +++ b/patch/kernel/archive/starfive-6.1/1040-net-stmmac-Add-glue-layer-for-StarFive-JH71x0-SoCs.patch @@ -15,10 +15,10 @@ Signed-off-by: Emil Renner Berthing 4 files changed, 177 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS -index c783fa9c9d85..0b5252d2d62a 100644 +index d16a909df51c..e95979427ad9 100644 --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -19641,6 +19641,12 @@ M: Emil Renner Berthing +@@ -19643,6 +19643,12 @@ M: Emil Renner Berthing S: Maintained F: arch/riscv/boot/dts/starfive/ diff --git a/patch/kernel/archive/starfive-6.1/1041-net-stmmac-use-GFP_DMA32.patch b/patch/kernel/archive/starfive-6.1/1041-net-stmmac-use-GFP_DMA32.patch index fc76fa93b5..e3b38ea593 100644 --- a/patch/kernel/archive/starfive-6.1/1041-net-stmmac-use-GFP_DMA32.patch +++ b/patch/kernel/archive/starfive-6.1/1041-net-stmmac-use-GFP_DMA32.patch @@ -9,26 +9,26 @@ Signed-off-by: Matteo Croce 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -index feb209d4b991..c7b9655d8677 100644 +index 490315723062..059f980cb175 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -@@ -1420,7 +1420,7 @@ static int stmmac_init_rx_buffers(struct stmmac_priv *priv, +@@ -1436,7 +1436,7 @@ static int stmmac_init_rx_buffers(struct stmmac_priv *priv, { struct stmmac_rx_queue *rx_q = &dma_conf->rx_queue[queue]; struct stmmac_rx_buffer *buf = &rx_q->buf_pool[i]; - gfp_t gfp = (GFP_ATOMIC | __GFP_NOWARN); + gfp_t gfp = (GFP_ATOMIC | __GFP_NOWARN | GFP_DMA32); - if (priv->dma_cap.addr64 <= 32) + if (priv->dma_cap.host_dma_width <= 32) gfp |= GFP_DMA32; -@@ -4576,7 +4576,7 @@ static inline void stmmac_rx_refill(struct stmmac_priv *priv, u32 queue) +@@ -4592,7 +4592,7 @@ static inline void stmmac_rx_refill(struct stmmac_priv *priv, u32 queue) struct stmmac_rx_queue *rx_q = &priv->dma_conf.rx_queue[queue]; int dirty = stmmac_rx_dirty(priv, queue); unsigned int entry = rx_q->dirty_rx; - gfp_t gfp = (GFP_ATOMIC | __GFP_NOWARN); + gfp_t gfp = (GFP_ATOMIC | __GFP_NOWARN | GFP_DMA32); - if (priv->dma_cap.addr64 <= 32) + if (priv->dma_cap.host_dma_width <= 32) gfp |= GFP_DMA32; -- Armbian diff --git a/patch/kernel/archive/starfive-6.1/1043-drm-starfive-Add-StarFive-drm-driver.patch b/patch/kernel/archive/starfive-6.1/1043-drm-starfive-Add-StarFive-drm-driver.patch index dbead57b62..24cd4b9599 100644 --- a/patch/kernel/archive/starfive-6.1/1043-drm-starfive-Add-StarFive-drm-driver.patch +++ b/patch/kernel/archive/starfive-6.1/1043-drm-starfive-Add-StarFive-drm-driver.patch @@ -34,10 +34,10 @@ Signed-off-by: Emil Renner Berthing 19 files changed, 3427 insertions(+) diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig -index 34f5a092c99e..504710503ab5 100644 +index f30f99166531..785a124b0e69 100644 --- a/drivers/gpu/drm/Kconfig +++ b/drivers/gpu/drm/Kconfig -@@ -346,6 +346,8 @@ source "drivers/gpu/drm/shmobile/Kconfig" +@@ -347,6 +347,8 @@ source "drivers/gpu/drm/shmobile/Kconfig" source "drivers/gpu/drm/sun4i/Kconfig" diff --git a/patch/kernel/archive/starfive-6.1/1047-spi-cadence-quadspi-Allow-compilation-on-RISC-V.patch b/patch/kernel/archive/starfive-6.1/1047-spi-cadence-quadspi-Allow-compilation-on-RISC-V.patch index 0cfd756ad0..d74943292c 100644 --- a/patch/kernel/archive/starfive-6.1/1047-spi-cadence-quadspi-Allow-compilation-on-RISC-V.patch +++ b/patch/kernel/archive/starfive-6.1/1047-spi-cadence-quadspi-Allow-compilation-on-RISC-V.patch @@ -12,7 +12,7 @@ Signed-off-by: Emil Renner Berthing 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig -index d1bb62f7368b..02d35670598e 100644 +index d4b969e68c31..618acc2f5e73 100644 --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig @@ -230,7 +230,7 @@ config SPI_CADENCE