<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/mips/kernel/smp-cps.c, branch linux-5.13.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.13.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.13.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2020-12-28T21:34:09Z</updated>
<entry>
<title>MIPS: No need to check CPU 0 in cps_cpu_disable()</title>
<updated>2020-12-28T21:34:09Z</updated>
<author>
<name>Tiezhu Yang</name>
</author>
<published>2020-12-15T05:07:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dbafd5105cfd9f44960bc6759a788f0290e8fba0'/>
<id>urn:sha1:dbafd5105cfd9f44960bc6759a788f0290e8fba0</id>
<content type='text'>
After commit 9cce844abf07 ("MIPS: CPU#0 is not hotpluggable"),
c-&gt;hotpluggable is 0 for CPU 0 and it will not generate a control
file in sysfs for this CPU:

[root@linux loongson]# cat /sys/devices/system/cpu/cpu0/online
cat: /sys/devices/system/cpu/cpu0/online: No such file or directory
[root@linux loongson]# echo 0 &gt; /sys/devices/system/cpu/cpu0/online
bash: /sys/devices/system/cpu/cpu0/online: Permission denied

So no need to check CPU 0 in cps_cpu_disable(), just remove it.

Reported-by: liwei (GF) &lt;liwei391@huawei.com&gt;
Signed-off-by: Tiezhu Yang &lt;yangtiezhu@loongson.cn&gt;
Signed-off-by: Thomas Bogendoerfer &lt;tsbogend@alpha.franken.de&gt;
</content>
</entry>
<entry>
<title>MIPS: SMP-CPS: Add support for irq migration when CPU offline</title>
<updated>2020-12-04T12:01:47Z</updated>
<author>
<name>Wei Li</name>
</author>
<published>2020-12-03T06:54:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d8d3276bfc49e114103c54d5f93268c70dcf3600'/>
<id>urn:sha1:d8d3276bfc49e114103c54d5f93268c70dcf3600</id>
<content type='text'>
Currently we won't migrate irqs when offline CPUs, which has been
implemented on most architectures. That will lead to some devices work
incorrectly if the bound cores are offline.

While that can be easily supported by enabling GENERIC_IRQ_MIGRATION.
But i don't pretty known the reason it was not supported on all MIPS
platforms.

This patch add the support for irq migration on MIPS CPS platform, and
it's tested on the interAptiv processor.

Signed-off-by: Wei Li &lt;liwei391@huawei.com&gt;
Signed-off-by: Thomas Bogendoerfer &lt;tsbogend@alpha.franken.de&gt;
</content>
</entry>
<entry>
<title>treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152</title>
<updated>2019-05-30T18:26:32Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2019-05-27T06:55:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2874c5fd284268364ece81a7bd936f3c8168e567'/>
<id>urn:sha1:2874c5fd284268364ece81a7bd936f3c8168e567</id>
<content type='text'>
Based on 1 normalized pattern(s):

  this program is free software you can redistribute it and or modify
  it under the terms of the gnu general public license as published by
  the free software foundation either version 2 of the license or at
  your option any later version

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-or-later

has been chosen to replace the boilerplate/reference in 3029 file(s).

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Reviewed-by: Allison Randal &lt;allison@lohutok.net&gt;
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.de
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>MIPS: kexec: CPS systems to halt nonboot CPUs</title>
<updated>2018-09-22T17:32:33Z</updated>
<author>
<name>Dengcheng Zhu</name>
</author>
<published>2018-09-11T21:49:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1447864bee4cd9ea96fe793ea8fb49a8ea784412'/>
<id>urn:sha1:1447864bee4cd9ea96fe793ea8fb49a8ea784412</id>
<content type='text'>
Share code between play_dead() and cps_kexec_nonboot_cpu(). Register the
latter to mp_ops for kexec.

Signed-off-by: Dengcheng Zhu &lt;dzhu@wavecomp.com&gt;
Signed-off-by: Paul Burton &lt;paul.burton@mips.com&gt;
Patchwork: https://patchwork.linux-mips.org/patch/20567/
Cc: pburton@wavecomp.com
Cc: ralf@linux-mips.org
Cc: linux-mips@linux-mips.org
Cc: rachel.mozes@intel.com
</content>
</entry>
<entry>
<title>MIPS: SMP-CPS: Remove duplicate assignment of core in play_dead</title>
<updated>2018-02-05T14:36:06Z</updated>
<author>
<name>Matt Redfearn</name>
</author>
<published>2017-12-15T09:34:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=91d9f8fcf7cc222f4bc7b5fc6496d137eadf8226'/>
<id>urn:sha1:91d9f8fcf7cc222f4bc7b5fc6496d137eadf8226</id>
<content type='text'>
The merge of commit f875a832d2028 ("MIPS: Abstract CPU core &amp; VP(E) ID
access through accessor functions") ended up creating a duplicate
assignment of core during the rebase on commit bac06cf0fb9d ("MIPS:
smp-cps: Fix potentially uninitialised value of core"). Remove the
duplicate.

Fixes: f875a832d202 ("MIPS: Abstract CPU core &amp; VP(E) ID access through accessor functions")
Signed-off-by: Matt Redfearn &lt;matt.redfearn@mips.com&gt;
Cc: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Cc: Paul Burton &lt;paul.burton@mips.com&gt;
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/17955/
Signed-off-by: James Hogan &lt;jhogan@kernel.org&gt;
</content>
</entry>
<entry>
<title>MIPS: CPS: Fix use of current_cpu_data in preemptible code</title>
<updated>2017-11-01T21:05:57Z</updated>
<author>
<name>Matt Redfearn</name>
</author>
<published>2017-11-01T16:45:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8a46f71d343814a07f37d209e6b15b2a6573f8da'/>
<id>urn:sha1:8a46f71d343814a07f37d209e6b15b2a6573f8da</id>
<content type='text'>
Commit 1ec9dd80bedc ("MIPS: CPS: Detect CPUs in secondary clusters")
added a check in cps_boot_secondary() that the secondary being booted is
in the same cluster as the CPU running this code. This check is
performed using current_cpu_data without disabling preemption. As such
when CONFIG_PREEMPT=y, a BUG is triggered:

[   57.991693] BUG: using smp_processor_id() in preemptible [00000000] code: hotplug/1749
&lt;snip&gt;
[   58.063077] Call Trace:
[   58.065842] [&lt;8040cdb4&gt;] show_stack+0x84/0x114
[   58.070830] [&lt;80b11b38&gt;] dump_stack+0xf8/0x140
[   58.075796] [&lt;8079b12c&gt;] check_preemption_disabled+0xec/0x118
[   58.082204] [&lt;80415110&gt;] cps_boot_secondary+0x84/0x44c
[   58.087935] [&lt;80413a14&gt;] __cpu_up+0x34/0x98
[   58.092624] [&lt;80434240&gt;] bringup_cpu+0x38/0x114
[   58.097680] [&lt;80434af0&gt;] cpuhp_invoke_callback+0x168/0x8f0
[   58.103801] [&lt;804362d0&gt;] _cpu_up+0x154/0x1c8
[   58.108565] [&lt;804363dc&gt;] do_cpu_up+0x98/0xa8
[   58.113333] [&lt;808261f8&gt;] device_online+0x84/0xc0
[   58.118481] [&lt;80826294&gt;] online_store+0x60/0x98
[   58.123562] [&lt;8062261c&gt;] kernfs_fop_write+0x158/0x1d4
[   58.129196] [&lt;805a2ae4&gt;] __vfs_write+0x4c/0x168
[   58.134247] [&lt;805a2dc8&gt;] vfs_write+0xe0/0x190
[   58.139095] [&lt;805a2fe0&gt;] SyS_write+0x68/0xc4
[   58.143854] [&lt;80415d58&gt;] syscall_common+0x34/0x58

In reality we don't currently support running the kernel on CPUs not in
cluster 0, so the answer to cpu_cluster(&amp;current_cpu_data) will always
be 0, even if this task being preempted and continues running on a
different CPU. Regardless, the BUG should not be triggered, so fix this
by switching to raw_current_cpu_data. When multicluster support lands
upstream this check will need removing or changing anyway.

Fixes: 1ec9dd80bedc ("MIPS: CPS: Detect CPUs in secondary clusters")
Signed-off-by: Matt Redfearn &lt;matt.redfearn@mips.com&gt;
Reviewed-by: Paul Burton &lt;paul.burton@mips.com&gt;
CC: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/17563/
Signed-off-by: James Hogan &lt;jhogan@kernel.org&gt;
</content>
</entry>
<entry>
<title>Update MIPS email addresses</title>
<updated>2017-10-31T22:42:39Z</updated>
<author>
<name>Paul Burton</name>
</author>
<published>2017-10-26T00:04:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=48c834be170bb1060e14092ff1c7967ea72b2e97'/>
<id>urn:sha1:48c834be170bb1060e14092ff1c7967ea72b2e97</id>
<content type='text'>
MIPS will soon not be a part of Imagination Technologies, and as such
many @imgtec.com email addresses will no longer be valid. This patch
updates the addresses for those who:

 - Have 10 or more patches in mainline authored using an @imgtec.com
   email address, or any patches dated within the past year.

 - Are still with Imagination but leaving as part of the MIPS business
   unit, as determined from an internal email address list.

 - Haven't already updated their email address (ie. JamesH) or expressed
   a desire to be excluded (ie. Maciej).

 - Acked v2 or earlier of this patch, which leaves Deng-Cheng, Matt &amp;
   myself.

New addresses are of the form firstname.lastname@mips.com, and all
verified against an internal email address list. An entry is added to
.mailmap for each person such that get_maintainer.pl will report the new
addresses rather than @imgtec.com addresses which will soon be dead.

Instances of the affected addresses throughout the tree are then
mechanically replaced with the new @mips.com address.

Signed-off-by: Paul Burton &lt;paul.burton@mips.com&gt;
Cc: Deng-Cheng Zhu &lt;dengcheng.zhu@imgtec.com&gt;
Cc: Deng-Cheng Zhu &lt;dengcheng.zhu@mips.com&gt;
Acked-by: Dengcheng Zhu &lt;dengcheng.zhu@mips.com&gt;
Cc: Matt Redfearn &lt;matt.redfearn@imgtec.com&gt;
Cc: Matt Redfearn &lt;matt.redfearn@mips.com&gt;
Acked-by: Matt Redfearn &lt;matt.redfearn@mips.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: linux-kernel@vger.kernel.org
Cc: linux-mips@linux-mips.org
Cc: trivial@kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/17540/
Signed-off-by: James Hogan &lt;jhogan@kernel.org&gt;
</content>
</entry>
<entry>
<title>MIPS: Remove unnecessary inclusions of linux/irqchip/mips-gic.h</title>
<updated>2017-09-04T11:53:14Z</updated>
<author>
<name>Paul Burton</name>
</author>
<published>2017-08-13T04:36:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3f1770c0e687c6009f4476bf529528568835f45c'/>
<id>urn:sha1:3f1770c0e687c6009f4476bf529528568835f45c</id>
<content type='text'>
linux/irqchip/mips-gic.h is included in a few files that don't actually
use it at all. Remove these unnecessary inclusions in preparation for
removing the header.

Signed-off-by: Paul Burton &lt;paul.burton@imgtec.com&gt;
Cc: Jason Cooper &lt;jason@lakedaemon.net&gt;
Cc: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/17048/
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: CPS: Read GIC_VL_IDENT directly, not via irqchip driver</title>
<updated>2017-09-04T11:53:14Z</updated>
<author>
<name>Paul Burton</name>
</author>
<published>2017-08-13T04:36:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=37916178eea9b96ff539bce605fae9a8a8fbed34'/>
<id>urn:sha1:37916178eea9b96ff539bce605fae9a8a8fbed34</id>
<content type='text'>
Rather than calling the gic_read_local_vp_id() function from the GIC
irqchip driver, call read_gic_vl_ident() to read the GIC_VL_IDENT
register directly. This will allow us to remove gic_read_local_vp_id()
from the irqchip driver in a further patch, since that driver doesn't
actually care about the register's value.

Signed-off-by: Paul Burton &lt;paul.burton@imgtec.com&gt;
Cc: Jason Cooper &lt;jason@lakedaemon.net&gt;
Cc: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/17023/
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: CPS: Detect CPUs in secondary clusters</title>
<updated>2017-08-29T22:57:28Z</updated>
<author>
<name>Paul Burton</name>
</author>
<published>2017-08-13T02:49:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1ec9dd80bedc208c00b18069cfd615a4cbfeab17'/>
<id>urn:sha1:1ec9dd80bedc208c00b18069cfd615a4cbfeab17</id>
<content type='text'>
As a first step towards supporting multi-cluster systems, detect cores &amp;
VPs in secondary clusters &amp; record their cluster information in the
cpu_data array. The "VP topology" line printed during boot is extended
to display multiple clusters. On a single cluster it shows output like
the following:

  VP topology: {4,4}

This would indicate a system with 2 cores which each contain 4 VPs. We
extend this to cover multiple clusters in a natural way:

  VP topology: {4,4},{2,2}

This would indicate a system with 2 clusters. The first cluster contains
2 cores which each contain 4 VPs. The second cluster contains 2 cores
which each contain 2 VPs.

Actually booting these cores &amp; VPs is left to further patches once other
pieces are in place.

Signed-off-by: Paul Burton &lt;paul.burton@imgtec.com&gt;
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/17017/
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
</feed>
