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

Commit 01e7a841 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull sparc fixes from David Miller:
 "Three bug fixes, and TLB flushing one is of particular brown paper bag
  quality..."

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
  sparc: perf: fix updated event period in response to PERF_EVENT_IOC_PERIOD
  mdesc: fix a missing-check bug in get_vdev_port_node_info()
  sparc64: Fix regression in non-hypervisor TLB flush xcall
parents f340208f 56cd0aef
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -356,6 +356,8 @@ static int get_vdev_port_node_info(struct mdesc_handle *md, u64 node,

	node_info->vdev_port.id = *idp;
	node_info->vdev_port.name = kstrdup_const(name, GFP_KERNEL);
	if (!node_info->vdev_port.name)
		return -1;
	node_info->vdev_port.parent_cfg_hdl = *parent_cfg_hdlp;

	return 0;
+4 −0
Original line number Diff line number Diff line
@@ -891,6 +891,10 @@ static int sparc_perf_event_set_period(struct perf_event *event,
	s64 period = hwc->sample_period;
	int ret = 0;

	/* The period may have been changed by PERF_EVENT_IOC_PERIOD */
	if (unlikely(period != hwc->last_period))
		left = period - (hwc->last_period - left);

	if (unlikely(left <= -period)) {
		left = period;
		local64_set(&hwc->period_left, left);
+2 −2
Original line number Diff line number Diff line
@@ -587,7 +587,7 @@ xcall_flush_tlb_kernel_range: /* 44 insns */
	sub		%g7, %g1, %g3
	srlx		%g3, 18, %g2
	brnz,pn		%g2, 2f
	 add		%g2, 1, %g2
	 sethi		%hi(PAGE_SIZE), %g2
	sub		%g3, %g2, %g3
	or		%g1, 0x20, %g1		! Nucleus
1:	stxa		%g0, [%g1 + %g3] ASI_DMMU_DEMAP
@@ -751,7 +751,7 @@ __cheetah_xcall_flush_tlb_kernel_range: /* 44 insns */
	sub		%g7, %g1, %g3
	srlx		%g3, 18, %g2
	brnz,pn		%g2, 2f
	 add		%g2, 1, %g2
	 sethi		%hi(PAGE_SIZE), %g2
	sub		%g3, %g2, %g3
	or		%g1, 0x20, %g1		! Nucleus
1:	stxa		%g0, [%g1 + %g3] ASI_DMMU_DEMAP