<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/mips/kernel/mips-cpc.c, branch linux-4.10.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.10.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.10.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-11-03T23:17:46Z</updated>
<entry>
<title>MIPS: CPC: Provide default mips_cpc_default_phys_base to ignore CPC</title>
<updated>2016-11-03T23:17:46Z</updated>
<author>
<name>Paul Burton</name>
</author>
<published>2016-10-15T22:03:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=682c1e52215da4a3e89c14aad60bfc0d400b025f'/>
<id>urn:sha1:682c1e52215da4a3e89c14aad60bfc0d400b025f</id>
<content type='text'>
Provide a default implementation of mips_cpc_default_phys_base() which
simply returns 0, and adjust mips_cpc_phys_base() to allow for
mips_cpc_default_phys_base() returning 0. This allows kernels which
include CPC support to be built without platform code &amp; simply ignore
the CPC if it wasn't already enabled by the bootloader.

This fixes link failures such as the following from generic defconfigs:

   arch/mips/built-in.o: In function `mips_cpc_phys_base':
   arch/mips/kernel/mips-cpc.c:47: undefined reference to `mips_cpc_default_phys_base'

[ralf@linux-mips.org: changed prototype for coding style compliance.]

Signed-off-by: Paul Burton &lt;paul.burton@imgtec.com&gt;
Reported-by: kbuild test robot &lt;fengguang.wu@intel.com&gt;
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/14401/
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: CPC: Avoid lock when MIPS CM &gt;= 3 is present</title>
<updated>2016-10-04T14:13:57Z</updated>
<author>
<name>Matt Redfearn</name>
</author>
<published>2016-09-07T09:45:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d6219420480b75258b93583caa3885fb80d83313'/>
<id>urn:sha1:d6219420480b75258b93583caa3885fb80d83313</id>
<content type='text'>
MIPS CM version 3 removed the CPC_CL_OTHER register and instead the
CM_CL_OTHER register is used to redirect the CPC_OTHER region. As such,
we should not write the unimplmented register and can avoid the
spinlock as well.
These lock functions should aleady be called within the context of a
mips_cm_{lock,unlock}_other pair ensuring the correct CPC_OTHER region
will be accessed.

Signed-off-by: Matt Redfearn &lt;matt.redfearn@imgtec.com&gt;
Reviewed-by: Paul Burton &lt;paul.burton@imgtec.com&gt;
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/14219/
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: CPC: Convert bare 'unsigned' to 'unsigned int'</title>
<updated>2016-10-04T14:13:57Z</updated>
<author>
<name>Matt Redfearn</name>
</author>
<published>2016-09-07T09:45:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6b89d22e742aa3fbb1878c2e6684b0bfd591f7c8'/>
<id>urn:sha1:6b89d22e742aa3fbb1878c2e6684b0bfd591f7c8</id>
<content type='text'>
Checkpatch complains about use of bare unsigned type.

Signed-off-by: Matt Redfearn &lt;matt.redfearn@imgtec.com&gt;
Reviewed-by: Paul Burton &lt;paul.burton@imgtec.com&gt;
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/14217/
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: CM, CPC: Ensure core-other GCRs reflect the correct core</title>
<updated>2015-11-11T07:35:18Z</updated>
<author>
<name>Paul Burton</name>
</author>
<published>2015-09-22T18:12:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=78a54c4d8e5a7915a4ec2ba0eb461fae50590683'/>
<id>urn:sha1:78a54c4d8e5a7915a4ec2ba0eb461fae50590683</id>
<content type='text'>
Ensure the update to which core the core-other GCR regions reflect has
taken place before any core-other GCRs are accessed by placing a memory
barrier (sync instruction) between the write to the core-other registers
and any such GCR accesses.

Signed-off-by: Paul Burton &lt;paul.burton@imgtec.com&gt;
Cc: linux-mips@linux-mips.org
Cc: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Cc: linux-kernel@vger.kernel.org
Cc: Markos Chandras &lt;markos.chandras@imgtec.com&gt;
Patchwork: https://patchwork.linux-mips.org/patch/11209/
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: CPC: Remove "weak" from mips_cpc_phys_base() and make it static</title>
<updated>2015-08-26T13:23:37Z</updated>
<author>
<name>Bjorn Helgaas</name>
</author>
<published>2015-07-12T23:10:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8dedde6b289c51ba216fdf5467fc85a673775489'/>
<id>urn:sha1:8dedde6b289c51ba216fdf5467fc85a673775489</id>
<content type='text'>
There's only one implementation of mips_cpc_phys_base(), and it's only used
within the same file, so it doesn't need to be weak, and it doesn't need an
extern declaration.

Remove the extern mips_cpc_phys_base() declaration and make it static.

[ralf@linux-mips.org: Fixed conflict.]

Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
CC: linux-mips@linux-mips.org
Cc: Andrew Bresticker &lt;abrestic@chromium.org&gt;
Cc: James Hogan &lt;james.hogan@imgtec.com&gt;
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/10681/
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: CPC: Fix type for GCR CPC base reg for 64-bit</title>
<updated>2015-08-26T13:23:14Z</updated>
<author>
<name>Markos Chandras</name>
</author>
<published>2015-07-09T09:40:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=391057d915f42d4942f0c65e7d55cec6662c8a54'/>
<id>urn:sha1:391057d915f42d4942f0c65e7d55cec6662c8a54</id>
<content type='text'>
The GCR CPC base register is 64-bit on 64-bit processors so use the
appropriate field.

Signed-off-by: Markos Chandras &lt;markos.chandras@imgtec.com&gt;
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/10645/
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: Replace use of phys_t with phys_addr_t.</title>
<updated>2014-11-24T21:47:31Z</updated>
<author>
<name>Ralf Baechle</name>
</author>
<published>2014-11-21T23:22:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=15d45cce3a0e0716fa49c768f887c6406dfb91f7'/>
<id>urn:sha1:15d45cce3a0e0716fa49c768f887c6406dfb91f7</id>
<content type='text'>
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: smp-cps: rework core/VPE initialisation</title>
<updated>2014-05-28T15:20:28Z</updated>
<author>
<name>Paul Burton</name>
</author>
<published>2014-04-14T11:04:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=245a7868d2f2e54a9a9b084de00d003a9badb2a5'/>
<id>urn:sha1:245a7868d2f2e54a9a9b084de00d003a9badb2a5</id>
<content type='text'>
When hotplug and/or a powered down idle state are supported cases will
arise where a non-zero VPE must be brought online without VPE 0, and it
where multiple VPEs must be onlined simultaneously. This patch prepares
for that by:

  - Splitting struct boot_config into core &amp; VPE boot config structures,
    allocated one per core or VPE respectively. This allows for multiple
    VPEs to be onlined simultaneously without clobbering each others
    configuration.

  - Indicating which VPEs should be online within a core at any given
    time using a bitmap. This allows multiple VPEs to be brought online
    simultaneously and also indicates to VPE 0 whether it should halt
    after starting any non-zero VPEs that should be online within the
    core. For example if all VPEs within a core are offlined via hotplug
    and the user onlines the second VPE within that core:

      1) The core will be powered up.

      2) VPE 0 will run from the BEV (ie. mips_cps_core_entry) to
         initialise the core.

      3) VPE 0 will start VPE 1 because its bit is set in the cores
         bitmap.

      4) VPE 0 will halt itself because its bit is clear in the cores
         bitmap.

  - Moving the core &amp; VPE initialisation to assembly code which does not
    make any use of the stack. This is because if a non-zero VPE is to
    be brought online in a powered down core then when VPE 0 of that
    core runs it may not have a valid stack, and even if it did then
    it's messy to run through parts of generic kernel code on VPE 0
    before starting the correct VPE.

Signed-off-by: Paul Burton &lt;paul.burton@imgtec.com&gt;
</content>
</entry>
<entry>
<title>MIPS: CPC: provide locking functions</title>
<updated>2014-05-02T15:39:14Z</updated>
<author>
<name>Paul Burton</name>
</author>
<published>2014-02-14T09:28:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=76ae658465c2319a63f3814b1e1e6e0664a1f542'/>
<id>urn:sha1:76ae658465c2319a63f3814b1e1e6e0664a1f542</id>
<content type='text'>
This patch provides functions to lock &amp; unlock access to the
"core-other" register region of the CPC. Without performing appropriate
locking it is possible for code using this region to be preempted or to
race with code on another VPE within the same core, with one changing
the core which the "core-other" region is acting upon at an inopportune
time for the other.

Signed-off-by: Paul Burton &lt;paul.burton@imgtec.com&gt;
</content>
</entry>
<entry>
<title>MIPS: Add CPC probe, access functions</title>
<updated>2014-03-06T20:25:23Z</updated>
<author>
<name>Paul Burton</name>
</author>
<published>2014-01-15T10:31:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9c38cf44712af95a5ec3937d63faaea9b43eab9a'/>
<id>urn:sha1:9c38cf44712af95a5ec3937d63faaea9b43eab9a</id>
<content type='text'>
This patch introduces code to probe for a MIPS Cluster Power Controller
&amp; accessor functions to allow for easy register access. This support
code will be used by a subsequent patch.

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