Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a84d2d29 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'csky-for-linus-5.3-rc1' of git://github.com/c-sky/csky-linux

Pull arch/csky pupdates from Guo Ren:
 "This round of csky subsystem gives two features (ASID algorithm
  update, Perf pmu record support) and some fixups.

  ASID updates:
   - Revert mmu ASID mechanism
   - Add new asid lib code from arm
   - Use generic asid algorithm to implement switch_mm
   - Improve tlb operation with help of asid

  Perf pmu record support:
   - Init pmu as a device
   - Add count-width property for csky pmu
   - Add pmu interrupt support
   - Fix perf record in kernel/user space
   - dt-bindings: Add csky PMU bindings

  Fixes:
   - Fixup no panic in kernel for some traps
   - Fixup some error count in 810 & 860.
   - Fixup abiv1 memset error"

* tag 'csky-for-linus-5.3-rc1' of git://github.com/c-sky/csky-linux:
  csky: Fixup abiv1 memset error
  csky: Improve tlb operation with help of asid
  csky: Use generic asid algorithm to implement switch_mm
  csky: Add new asid lib code from arm
  csky: Revert mmu ASID mechanism
  dt-bindings: csky: Add csky PMU bindings
  dt-bindings: interrupt-controller: Update csky mpintc
  csky: Fixup some error count in 810 & 860.
  csky: Fix perf record in kernel/user space
  csky: Add pmu interrupt support
  csky: Add count-width property for csky pmu
  csky: Init pmu as a device
  csky: Fixup no panic in kernel for some traps
  csky: Select intc & timer drivers
parents b5d72dda bdfeb0cc
Loading
Loading
Loading
Loading
+38 −0
Original line number Diff line number Diff line
===============================
C-SKY Performance Monitor Units
===============================

C-SKY Performance Monitor is designed for ck807/ck810/ck860 SMP soc and
it could count cpu's events for helping analysis performance issues.

============================
PMU node bindings definition
============================

	Description: Describes PMU

	PROPERTIES

	- compatible
		Usage: required
		Value type: <string>
		Definition: must be "csky,csky-pmu"
	- interrupts
		Usage: required
		Value type: <u32 IRQ_TYPE_XXX>
		Definition: must be pmu irq num defined by soc
	- count-width
		Usage: optional
		Value type: <u32>
		Definition: the width of pmu counter

Examples:
---------
#include <dt-bindings/interrupt-controller/irq.h>

	pmu: performace-monitor {
		compatible = "csky,csky-pmu";
		interrupts = <23 IRQ_TYPE_EDGE_RISING>;
		interrupt-parent = <&intc>;
		count-width = <48>;
        };
+4 −0
Original line number Diff line number Diff line
@@ -10,6 +10,9 @@ config CSKY
	select COMMON_CLK
	select CLKSRC_MMIO
	select CLKSRC_OF
	select CSKY_MPINTC if CPU_CK860
	select CSKY_MP_TIMER if CPU_CK860
	select CSKY_APB_INTC
	select DMA_DIRECT_REMAP
	select IRQ_DOMAIN
	select HANDLE_DOMAIN_IRQ
@@ -30,6 +33,7 @@ config CSKY
	select GENERIC_IRQ_MULTI_HANDLER
	select GENERIC_SCHED_CLOCK
	select GENERIC_SMP_IDLE_THREAD
	select GX6605S_TIMER if CPU_CK610
	select HAVE_ARCH_TRACEHOOK
	select HAVE_ARCH_AUDITSYSCALL
	select HAVE_DYNAMIC_FTRACE
+0 −1
Original line number Diff line number Diff line
@@ -5,5 +5,4 @@ obj-y += bswapsi.o
obj-y					+= cacheflush.o
obj-y					+= mmap.o
obj-y					+= memcpy.o
obj-y					+= memset.o
obj-y					+= strksyms.o
+6 −0
Original line number Diff line number Diff line
@@ -78,6 +78,12 @@ static inline void tlb_invalid_all(void)
	cpwcr("cpcr8", 0x04000000);
}


static inline void local_tlb_invalid_all(void)
{
	tlb_invalid_all();
}

static inline void tlb_invalid_indexed(void)
{
	cpwcr("cpcr8", 0x02000000);
+0 −3
Original line number Diff line number Diff line
@@ -7,7 +7,4 @@
#define __HAVE_ARCH_MEMCPY
extern void *memcpy(void *, const void *, __kernel_size_t);

#define __HAVE_ARCH_MEMSET
extern void *memset(void *, int, __kernel_size_t);

#endif /* __ABI_CSKY_STRING_H */
Loading