Unverified Commit bba41c23 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!5021 LoongArch: fix some known issue and update defconfig

Merge Pull Request from: @ci-robot 
 
PR sync from: Hongchen Zhang <zhanghongchen@loongson.cn>
https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/NC777MLXDMVHO6PV2XAAANHTMVMJ3N5B/ 
Chong Qiao (1):
  irqchip/loongson-pch-pic: 7a1000 int_clear reg must use 64bit write.

Hongchen Zhang (2):
  net: stmmac: fix potential double free of dma descriptor resources
  LoongArch: enable CONFIG_DEBUG_INFO_BTF by default

Huacai Chen (1):
  drm/radeon: Workaround radeon driver bug for Loongson

Jianmin Lv (1):
  LoongArch: Remove generic irq migration

Tianli Xiong (1):
  irqchip/loongson-liointc: Set different isr for differnt core

Yingkun Meng (1):
  LoongArch: defconfig: Enable a large number of configurations

Youling Tang (4):
  LoongArch: kdump: Add memory reservation for old kernel
  LoongArch: kexec: Add compatibility with old interfaces
  LoongArch: Fix kdump failure on v40 interface specification
  LoongArch: kdump: Add high memory reservation

zhangtianyang (1):
  LoongArch: Adapted SECTION_SIZE_BITS with page size


-- 
2.33.0
 
https://gitee.com/openeuler/kernel/issues/I6BWFP
https://gitee.com/openeuler/kernel/issues/I79V61
https://gitee.com/openeuler/kernel/issues/I7BUJN
https://gitee.com/openeuler/kernel/issues/I733VA
https://gitee.com/openeuler/kernel/issues/I7362E
https://gitee.com/openeuler/kernel/issues/I7A8UR
https://gitee.com/openeuler/kernel/issues/I736HO
https://gitee.com/openeuler/kernel/issues/I95P5Y
https://gitee.com/openeuler/kernel/issues/I5OHOB 
 
Link:https://gitee.com/openeuler/kernel/pulls/5021

 

Reviewed-by: default avatarJuxin Gao <gaojuxin@loongson.cn>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
parents 5c78757c c90b3921
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -428,7 +428,6 @@ config SMP
config HOTPLUG_CPU
	bool "Support for hot-pluggable CPUs"
	depends on SMP
	select GENERIC_IRQ_MIGRATION
	help
	  Say Y here to allow turning CPUs off and on. CPUs can be
	  controlled through /sys/devices/system/cpu.
+1421 −150

File changed.

Preview size limit exceeded, changes collapsed.

+1 −0
Original line number Diff line number Diff line
@@ -120,6 +120,7 @@ extern struct fwnode_handle *pch_lpc_handle;
extern struct fwnode_handle *pch_pic_handle[MAX_IO_PICS];

extern irqreturn_t loongson_ipi_interrupt(int irq, void *dev);
extern void fixup_irqs(void);

#include <asm-generic/irq.h>

+1 −1
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@
 * SECTION_SIZE_BITS		2^N: how big each section will be
 * MAX_PHYSMEM_BITS		2^N: how much memory we can have in that space
 */
#define SECTION_SIZE_BITS	29 /* 2^29 = Largest Huge Page Size */
#define SECTION_SIZE_BITS	28
#define MAX_PHYSMEM_BITS	48

#ifdef CONFIG_SPARSEMEM_VMEMMAP
+36 −0
Original line number Diff line number Diff line
@@ -96,6 +96,42 @@ static int __init get_ipi_irq(void)
	return -EINVAL;
}

#ifdef CONFIG_HOTPLUG_CPU
static void handle_irq_affinity(void)
{
	struct irq_desc *desc;
	struct irq_chip *chip;
	unsigned int irq;
	unsigned long flags;
	struct cpumask *affinity;

	for_each_active_irq(irq) {
		desc = irq_to_desc(irq);
		if (!desc)
			continue;

		raw_spin_lock_irqsave(&desc->lock, flags);

		affinity = desc->irq_data.common->affinity;
		if (!cpumask_intersects(affinity, cpu_online_mask))
			cpumask_copy(affinity, cpu_online_mask);

		chip = irq_data_get_irq_chip(&desc->irq_data);
		if (chip && chip->irq_set_affinity)
			chip->irq_set_affinity(&desc->irq_data,
					desc->irq_data.common->affinity, true);
		raw_spin_unlock_irqrestore(&desc->lock, flags);
	}
}

void fixup_irqs(void)
{
	handle_irq_affinity();
	irq_cpu_offline();
	clear_csr_ecfg(ECFG0_IM);
}
#endif

void __init init_IRQ(void)
{
	int i, ret;
Loading