Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'arc-5.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc

Pull ARC fixes from Vineet Gupta:

- fix recent DSP code regression on ARC700 platforms

- fix thinkos in ICCM/DCCM size checks

- USB regression fix

- other small fixes here and there

* tag 'arc-5.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
ARC: show_regs: avoid extra line of output
ARC: guard dsp early init against non ARCv2
ARC: [plat-eznps]: Restrict to CONFIG_ISA_ARCOMPACT
ARC: entry: comment
arc: remove #ifndef CONFIG_AS_CFI_SIGNAL_FRAME
arc: ptrace: hard-code "arc" instead of UTS_MACHINE
ARC: [plat-hsdk]: fix USB regression
ARC: Fix ICCM & DCCM runtime size checks

+16 -16
+1
arch/arc/configs/hsdk_defconfig
··· 65 65 CONFIG_DRM_ETNAVIV=y 66 66 CONFIG_FB=y 67 67 CONFIG_FRAMEBUFFER_CONSOLE=y 68 + CONFIG_USB=y 68 69 CONFIG_USB_EHCI_HCD=y 69 70 CONFIG_USB_EHCI_HCD_PLATFORM=y 70 71 CONFIG_USB_OHCI_HCD=y
+2
arch/arc/include/asm/dsp-impl.h
··· 15 15 16 16 /* clobbers r5 register */ 17 17 .macro DSP_EARLY_INIT 18 + #ifdef CONFIG_ISA_ARCV2 18 19 lr r5, [ARC_AUX_DSP_BUILD] 19 20 bmsk r5, r5, 7 20 21 breq r5, 0, 1f 21 22 mov r5, DSP_CTRL_DISABLED_ALL 22 23 sr r5, [ARC_AUX_DSP_CTRL] 23 24 1: 25 + #endif 24 26 .endm 25 27 26 28 /* clobbers r10, r11 registers pair */
+2
arch/arc/include/asm/entry-arcv2.h
··· 233 233 234 234 #ifdef CONFIG_ARC_IRQ_NO_AUTOSAVE 235 235 __RESTORE_REGFILE_HARD 236 + 237 + ; SP points to PC/STAT32: hw restores them despite NO_AUTOSAVE 236 238 add sp, sp, SZ_PT_REGS - 8 237 239 #else 238 240 add sp, sp, PT_r0
-3
arch/arc/kernel/Makefile
··· 3 3 # Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) 4 4 # 5 5 6 - # Pass UTS_MACHINE for user_regset definition 7 - CFLAGS_ptrace.o += -DUTS_MACHINE='"$(UTS_MACHINE)"' 8 - 9 6 obj-y := arcksyms.o setup.o irq.o reset.o ptrace.o process.o devtree.o 10 7 obj-y += signal.o traps.o sys.o troubleshoot.o stacktrace.o disasm.o 11 8 obj-$(CONFIG_ISA_ARCOMPACT) += entry-compact.o intc-compact.o
+1 -1
arch/arc/kernel/ptrace.c
··· 253 253 }; 254 254 255 255 static const struct user_regset_view user_arc_view = { 256 - .name = UTS_MACHINE, 256 + .name = "arc", 257 257 .e_machine = EM_ARC_INUSE, 258 258 .regsets = arc_regsets, 259 259 .n = ARRAY_SIZE(arc_regsets)
+3 -2
arch/arc/kernel/setup.c
··· 11 11 #include <linux/clocksource.h> 12 12 #include <linux/console.h> 13 13 #include <linux/module.h> 14 + #include <linux/sizes.h> 14 15 #include <linux/cpu.h> 15 16 #include <linux/of_clk.h> 16 17 #include <linux/of_fdt.h> ··· 425 424 if ((unsigned int)__arc_dccm_base != cpu->dccm.base_addr) 426 425 panic("Linux built with incorrect DCCM Base address\n"); 427 426 428 - if (CONFIG_ARC_DCCM_SZ != cpu->dccm.sz) 427 + if (CONFIG_ARC_DCCM_SZ * SZ_1K != cpu->dccm.sz) 429 428 panic("Linux built with incorrect DCCM Size\n"); 430 429 #endif 431 430 432 431 #ifdef CONFIG_ARC_HAS_ICCM 433 - if (CONFIG_ARC_ICCM_SZ != cpu->iccm.sz) 432 + if (CONFIG_ARC_ICCM_SZ * SZ_1K != cpu->iccm.sz) 434 433 panic("Linux built with incorrect ICCM Size\n"); 435 434 #endif 436 435
+6 -8
arch/arc/kernel/troubleshoot.c
··· 191 191 if (user_mode(regs)) 192 192 show_faulting_vma(regs->ret); /* faulting code, not data */ 193 193 194 - pr_info("ECR: 0x%08lx EFA: 0x%08lx ERET: 0x%08lx\n", 195 - regs->event, current->thread.fault_address, regs->ret); 196 - 197 - pr_info("STAT32: 0x%08lx", regs->status32); 194 + pr_info("ECR: 0x%08lx EFA: 0x%08lx ERET: 0x%08lx\nSTAT: 0x%08lx", 195 + regs->event, current->thread.fault_address, regs->ret, 196 + regs->status32); 198 197 199 198 #define STS_BIT(r, bit) r->status32 & STATUS_##bit##_MASK ? #bit" " : "" 200 199 ··· 209 210 (regs->status32 & STATUS_U_MASK) ? "U " : "K ", 210 211 STS_BIT(regs, DE), STS_BIT(regs, AE)); 211 212 #endif 212 - pr_cont(" BTA: 0x%08lx\n", regs->bta); 213 - pr_info("BLK: %pS\n SP: 0x%08lx FP: 0x%08lx\n", 214 - (void *)regs->blink, regs->sp, regs->fp); 213 + pr_cont(" BTA: 0x%08lx\n SP: 0x%08lx FP: 0x%08lx BLK: %pS\n", 214 + regs->bta, regs->sp, regs->fp, (void *)regs->blink); 215 215 pr_info("LPS: 0x%08lx\tLPE: 0x%08lx\tLPC: 0x%08lx\n", 216 - regs->lp_start, regs->lp_end, regs->lp_count); 216 + regs->lp_start, regs->lp_end, regs->lp_count); 217 217 218 218 /* print regs->r0 thru regs->r12 219 219 * Sequential printing was generating horrible code
-2
arch/arc/kernel/unwind.c
··· 1178 1178 #endif 1179 1179 1180 1180 /* update frame */ 1181 - #ifndef CONFIG_AS_CFI_SIGNAL_FRAME 1182 1181 if (frame->call_frame 1183 1182 && !UNW_DEFAULT_RA(state.regs[retAddrReg], state.dataAlign)) 1184 1183 frame->call_frame = 0; 1185 - #endif 1186 1184 cfa = FRAME_REG(state.cfa.reg, unsigned long) + state.cfa.offs; 1187 1185 startLoc = min_t(unsigned long, UNW_SP(frame), cfa); 1188 1186 endLoc = max_t(unsigned long, UNW_SP(frame), cfa);
+1
arch/arc/plat-eznps/Kconfig
··· 6 6 7 7 menuconfig ARC_PLAT_EZNPS 8 8 bool "\"EZchip\" ARC dev platform" 9 + depends on ISA_ARCOMPACT 9 10 select CPU_BIG_ENDIAN 10 11 select CLKSRC_NPS if !PHYS_ADDR_T_64BIT 11 12 select EZNPS_GIC