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

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'powerpc-4.5-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux

Pull powerpc fixes from Michael Ellerman:
- cxl: Fix PSL timebase synchronization detection from Frederic Barrat
- Fix oops when destroying hw_breakpoint event from Ravi Bangoria
- Avoid lbarx on e5500 from Scott Wood

* tag 'powerpc-4.5-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
powerpc/fsl-book3e: Avoid lbarx on e5500
powerpc/hw_breakpoint: Fix oops when destroying hw_breakpoint event
cxl: Fix PSL timebase synchronization detection

+16 -2
+2 -1
arch/powerpc/kernel/hw_breakpoint.c
··· 109 109 * If the breakpoint is unregistered between a hw_breakpoint_handler() 110 110 * and the single_step_dabr_instruction(), then cleanup the breakpoint 111 111 * restoration variables to prevent dangling pointers. 112 + * FIXME, this should not be using bp->ctx at all! Sayeth peterz. 112 113 */ 113 - if (bp->ctx && bp->ctx->task) 114 + if (bp->ctx && bp->ctx->task && bp->ctx->task != ((void *)-1L)) 114 115 bp->ctx->task->thread.last_hit_ubp = NULL; 115 116 } 116 117
+13
arch/powerpc/mm/hugetlbpage-book3e.c
··· 8 8 #include <linux/mm.h> 9 9 #include <linux/hugetlb.h> 10 10 11 + #include <asm/mmu.h> 12 + 11 13 #ifdef CONFIG_PPC_FSL_BOOK3E 12 14 #ifdef CONFIG_PPC64 13 15 static inline int tlb1_next(void) ··· 62 60 unsigned long tmp; 63 61 int token = smp_processor_id() + 1; 64 62 63 + /* 64 + * Besides being unnecessary in the absence of SMT, this 65 + * check prevents trying to do lbarx/stbcx. on e5500 which 66 + * doesn't implement either feature. 67 + */ 68 + if (!cpu_has_feature(CPU_FTR_SMT)) 69 + return; 70 + 65 71 asm volatile("1: lbarx %0, 0, %1;" 66 72 "cmpwi %0, 0;" 67 73 "bne 2f;" ··· 89 79 static inline void book3e_tlb_unlock(void) 90 80 { 91 81 struct paca_struct *paca = get_paca(); 82 + 83 + if (!cpu_has_feature(CPU_FTR_SMT)) 84 + return; 92 85 93 86 isync(); 94 87 paca->tcd_ptr->lock = 0;
+1 -1
drivers/misc/cxl/pci.c
··· 415 415 delta = mftb() - psl_tb; 416 416 if (delta < 0) 417 417 delta = -delta; 418 - } while (cputime_to_usecs(delta) > 16); 418 + } while (tb_to_ns(delta) > 16000); 419 419 420 420 return 0; 421 421 }