Messages in this thread | | | Date | Fri, 22 May 2020 09:28:37 +0200 | From | Thomas Bogendoerfer <> | Subject | Re: [PATCH v4 06/13] mips: Add CP0 Write Merge config support |
| |
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.Malahov@baikalelectronics.ru> > Signed-off-by: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru> > Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru> > Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> > Cc: Paul Burton <paulburton@kernel.org> > Cc: Ralf Baechle <ralf@linux-mips.org> > Cc: Arnd Bergmann <arnd@arndb.de> > Cc: Rob Herring <robh+dt@kernel.org> > Cc: devicetree@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 ]
| |