[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <264327c8-a8c2-407f-5137-22de2b01041e@wanyeetech.com>
Date: Sat, 8 Aug 2020 01:20:11 +0800
From: Zhou Yanjie <zhouyanjie@...yeetech.com>
To: Paul Cercueil <paul@...pouillou.net>
Cc: Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
Paul Burton <paulburton@...nel.org>,
Krzysztof Kozlowski <krzk@...nel.org>, od@...c.me,
linux-kernel@...r.kernel.org, linux-mips@...r.kernel.org,
漆鹏振 <aric.pzqi@...enic.com>,
dongsheng.qiu@...enic.com, rick.tyliu@...enic.com,
yanfei.li@...enic.com, xuwanhao@...yeetech.com
Subject: Re: [PATCH 00/13] MIPS: Convert Ingenic to a generic board
Hi Paul,
在 2020/8/8 上午12:45, Paul Cercueil 写道:
> Hi Zhou,
>
> Le sam. 8 août 2020 à 0:23, Zhou Yanjie <zhouyanjie@...yeetech.com> a
> écrit :
>> Hi Paul,
>>
>> I'm not too sure if remove "cpu-feature-overrides.h" will cause some
>> problems for X2000, because according to my current test on X2000, I
>> found that it is somewhat different from the SoCs using XBurst1 CPU
>> core, with the kernel source code provided by Ingenic, for example,
>> we must configure "#define cpu_has_tlbinv 1" in
>> "cpu-feature-overrides.h" to make the X2000 work normally, otherwise
>> the kernel will get stuck. And X2000's interrupt controller has also
>> been redesigned. If these differences make it impossible to share
>> code, should we set a subdirectory of "xburst" and "xburst2" in
>> "arch/mips/ingenic"? (I am just worried about this situation, so far
>> I have not been able to successfully run the mainline kernel on X2000).
>
> The <cpu-feature-overrides.h> is kind of a hack, to hardcode settings
> in case the CPU is not properly detected. The cpu-probe.c should be
> able to auto-detect these settings, including the inverted TLB that
> the X2000 has, reading from the CPU config registers ("TLB INV" info
> should be in config4). Right now cpu_probe_ingenic() doesn't read
> config4 (not present on older SoCs) but that's trivial to add.
>
> As for your other question, I don't see any reason why we wouldn't be
> able to support the X2000 aside the others in a generic kernel, so
> don't worry :)
>
OK, this is good news for me.
> Cheers,
> -Paul
>
>>
>> I have added some related engineers from Ingenic to CC
>>
>> Thanks and best regards!
>>
>> 在 2020/8/4 上午1:01, Paul Cercueil 写道:
>>> Hi Thomas & list,
>>>
>>> Here is a set of patches for 5.10 (no rush) to move Ingenic support
>>> from
>>> arch/mips/jz4740/ to arch/mips/generic/.
>>>
>>> There are some Kconfig changes that I think should be reviewed in
>>> detail
>>> to avoid breakages elsewhere. The idea behind these changes is to allow
>>> the Ingenic "generic" code to be built in a non-generic kernel, since
>>> generic kernels bring lots of dependencies which result in a +7% size
>>> increase.
>>>
>>> Support for booting the generic kernel with a built-in and/or appended
>>> devicetree, as well as support for compressed (vmlinuz) kernels, has
>>> been added as well.
>>>
>>> Cheers,
>>> -Paul
>>>
>>> Paul Cercueil (13):
>>> MIPS: cpu-probe: Set Ingenic's writecombine to _CACHE_CACHABLE_WA
>>> MIPS: cpu-probe: Mark XBurst CPU as having vtagged caches
>>> MIPS: cpu-probe: ingenic: Fix broken BUG_ON
>>> MIPS: Kconfig: add MIPS_GENERIC_KERNEL symbol
>>> MIPS: machine: Add get_system_type callback
>>> MIPS: generic: Call the machine's .get_system_type callback if
>>> provided
>>> MIPS: generic: Support booting with built-in or appended DTB
>>> MIPS: generic: Add support for zboot
>>> MIPS: generic: Increase NR_IRQS to 256
>>> MIPS: generic: Add support for Ingenic SoCs
>>> MIPS: jz4740: Drop folder
>>> MIPS: configs: Regenerate configs of Ingenic boards
>>> MAINTAINERS: Update paths to Ingenic platform code
>>>
>>> MAINTAINERS | 4 +-
>>> arch/mips/Kbuild.platforms | 1 -
>>> arch/mips/Kconfig | 43 ++++--
>>> arch/mips/configs/ci20_defconfig | 4 +-
>>> arch/mips/configs/cu1000-neo_defconfig | 16 +-
>>> arch/mips/configs/gcw0_defconfig | 2 +-
>>> arch/mips/configs/qi_lb60_defconfig | 5 +-
>>> arch/mips/configs/rs90_defconfig | 4 +-
>>> arch/mips/generic/Kconfig | 8 +-
>>> arch/mips/generic/Makefile | 2 +-
>>> arch/mips/generic/Platform | 1 +
>>> arch/mips/generic/board-ingenic.c | 108 +++++++++++++
>>> arch/mips/generic/init.c | 28 +++-
>>> arch/mips/generic/proc.c | 25 ---
>>> arch/mips/include/asm/mach-generic/irq.h | 2 +-
>>> .../asm/mach-jz4740/cpu-feature-overrides.h | 50 ------
>>> arch/mips/include/asm/mach-jz4740/irq.h | 13 --
>>> arch/mips/include/asm/machine.h | 1 +
>>> arch/mips/include/asm/pgtable-bits.h | 5 -
>>> arch/mips/{jz4740 => ingenic}/Kconfig | 16 +-
>>> arch/mips/jz4740/Makefile | 9 --
>>> arch/mips/jz4740/Platform | 3 -
>>> arch/mips/jz4740/setup.c | 145
>>> ------------------
>>> arch/mips/kernel/cpu-probe.c | 8 +-
>>> 24 files changed, 198 insertions(+), 305 deletions(-)
>>> create mode 100644 arch/mips/generic/board-ingenic.c
>>> delete mode 100644 arch/mips/generic/proc.c
>>> delete mode 100644
>>> arch/mips/include/asm/mach-jz4740/cpu-feature-overrides.h
>>> delete mode 100644 arch/mips/include/asm/mach-jz4740/irq.h
>>> rename arch/mips/{jz4740 => ingenic}/Kconfig (91%)
>>> delete mode 100644 arch/mips/jz4740/Makefile
>>> delete mode 100644 arch/mips/jz4740/Platform
>>> delete mode 100644 arch/mips/jz4740/setup.c
>>>
>
Powered by blists - more mailing lists