On Thu, May 21, 2020 at 05:07:17PM +0300, Serge Semin wrote:
> CP0 config register may indicate whether write-through merging
> is allowed. Currently there are two types of the merging available:
> SysAD Valid and Full modes. Whether each of them are supported by
> the core is implementation dependent. Moreover whether the ability
> to change the mode also depends on the chip family instance. Taking
> into account all of this we created a dedicated mm_config() method
> to detect and enable merging if it's supported. It is called for
> MIPS-type processors at CPU-probe stage and attempts to detect whether
> the write merging is available. If it's known to be supported and
> switchable, then switch on the full mode. Otherwise just perform the
> CP0.Config.MM field analysis.
> 
> In addition there are platforms like InterAptiv/ProAptiv, which do have
> the MM bit field set by default, but having write-through cacheing
> unsupported makes write-merging also unsupported. In this case we just
> ignore the MM field value.
> 
> Co-developed-by: Alexey Malahov <alexey.mala...@baikalelectronics.ru>
> Signed-off-by: Alexey Malahov <alexey.mala...@baikalelectronics.ru>
> Signed-off-by: Serge Semin <sergey.se...@baikalelectronics.ru>
> Cc: Thomas Bogendoerfer <tsbog...@alpha.franken.de>
> Cc: Paul Burton <paulbur...@kernel.org>
> Cc: Ralf Baechle <r...@linux-mips.org>
> Cc: Arnd Bergmann <a...@arndb.de>
> Cc: Rob Herring <robh...@kernel.org>
> Cc: devicet...@vger.kernel.org
> ---
>  arch/mips/include/asm/cpu-features.h |  8 +++++
>  arch/mips/include/asm/cpu.h          |  4 ++-
>  arch/mips/include/asm/mipsregs.h     |  3 ++
>  arch/mips/kernel/cpu-probe.c         | 48 ++++++++++++++++++++++++++++
>  4 files changed, 62 insertions(+), 1 deletion(-)

applied to mips-next.

Thomas.

-- 
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea.                                                [ RFC1925, 2.3 ]

Reply via email to