All of lore.kernel.org
 help / color / mirror / Atom feed
From: nm@ti.com (Nishanth Menon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: Keystone: Introduce Kconfig option to compile in typical Keystone features
Date: Wed, 1 Jun 2016 17:49:24 -0500	[thread overview]
Message-ID: <574F6674.3010100@ti.com> (raw)
In-Reply-To: <3593753.UuDg5ybrvm@wuerfel>

On 06/01/2016 05:31 PM, Arnd Bergmann wrote:
> On Wednesday, June 1, 2016 4:31:54 PM CEST Nishanth Menon wrote:
>> Introduce ARCH_KEYSTONE_TYPICAL which is common for all Keystone
>> platforms. This is particularly useful when custom optimized defconfig
>> builds are created for Keystone architecture platforms.
>>
>> An example of the same would be a sample fragment ks_only.cfg:
>> http://pastebin.ubuntu.com/16904991/ - This prunes all arch other than
>> keystone and any options the other architectures may enable.
>>
>> git clean -fdx && git reset --hard && \
>>  ./scripts/kconfig/merge_config.sh -m \
>>  	./arch/arm/configs/multi_v7_defconfig ~/tmp/ks_only.cfg &&\
>>  make olddefconfig
>>
>> The above unfortunately will disable options necessary for KS2 boards
>> to boot to the bare minimum initramfs.
>>
>> Hence the "KEYSTONE_TYPICAL" option is designed similar to commit 8d9166b519fd
>> ("omap2/3/4: Add Kconfig option to compile in typical omap features")
>> that can be enabled for most boards keystone platforms
>> without needing to rediscover these in defconfig all over again -
>> examples include multi_v7_defconfig base and optimizations done on top
>> of them for keystone platform.
> 
> I'd rather remove the option for OMAP as well, it doesn't really fit in with
> how we do things for other platforms, and selecting a lot of other Kconfig
> symbols tends to cause circular dependencies.

Hmm, fair enough -> adding Tony as well if he sees an problem with
dropping ARCH_OMAP2PLUS_TYPICAL.

> 
>>
>> NOTE: the alternative is to select the configurations under
>> ARCH_KEYSTONE. However, that would fail multi_v7 builds on ARM
>> variants that dont work with LPAE.
> 
> Please no arbitrary selects from the platform.
> 

Agreed.

>> Cc: Bill Mills <wmills@ti.com>
>> Cc: Murali Karicheri <m-karicheri2@ti.com>
>> Cc: Grygorii Strashko <grygorii.strashko@ti.com>
>> Cc: Tero Kristo <t-kristo@ti.com>
>> Cc: Lokesh Vutla <lokeshvutla@ti.com>
>> Signed-off-by: Nishanth Menon <nm@ti.com>
>> ---
>>
>> Based on: next-20160601
>>
>> Tested for basic initramfs boot for K2HK/K2G platforms with the
>> http://pastebin.ubuntu.com/16904991/ fragment + multi_v7_defconfig
>>
>> Side note on LPAE:
>> For our current device tree and u-boot, LPAE is mandatory to bootup
>> for current Keystone boards - but this is not a SoC requirement,
>> booting without LPAE/HIGHMEM results in non-coherent DDR accesses.
> 
> This sounds like a regression, I thought we had this working when
> keystone was initially merged and we got both the coherent and
> non-coherent mode working with the same DT.
> 
>> Currently:
>> - U-Boot assumes that lpae is always enabled in kennel and updates the 
>> DT memory node with higher addresses. Because of which you are not 
>> detecting any memory without lpae and kernel crashed very early, hence 
>> no prints. So, make mem_lpae env setting as 0 in U-boot.
> 
> We could work around this in the kernel by detecting the faulty u-boot
> behavior and fixing up the addresses in an early platform callback.
> 
>> - DT also assumes that lpae is always enabled, and always asks for 
>> dma-address translation for higher addresses to lower addresses.
>> Just delete the "dma-ranges" property or create a one-on-one mapping 
>> like dma-ranges = <0x80000000 0x0 0x80000000 0x80000000>
> 
> This may be a bit trickier, I think originally keystone ignored the
> dma-ranges property and hacked up its own offset by adding a magic
> constant to the dma address using a bus notifier. We probably don't
> want to bring that hack back, but maybe we can come up with another
> solution.
> 

Santosh, Bill, Lokesh, Grygorii: could you help feedback on the above
comments from Arnd?


-- 
Regards,
Nishanth Menon

WARNING: multiple messages have this Message-ID (diff)
From: Nishanth Menon <nm@ti.com>
To: Arnd Bergmann <arnd@arndb.de>, <linux-arm-kernel@lists.infradead.org>
Cc: Russell King <linux@armlinux.org.uk>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Grygorii Strashko <grygorii.strashko@ti.com>,
	Lokesh Vutla <lokeshvutla@ti.com>, <linux-kernel@vger.kernel.org>,
	Tero Kristo <t-kristo@ti.com>,
	Murali Karicheri <m-karicheri2@ti.com>,
	Bill Mills <wmills@ti.com>, "tony@atomide.com" <tony@atomide.com>
Subject: Re: [PATCH] ARM: Keystone: Introduce Kconfig option to compile in typical Keystone features
Date: Wed, 1 Jun 2016 17:49:24 -0500	[thread overview]
Message-ID: <574F6674.3010100@ti.com> (raw)
In-Reply-To: <3593753.UuDg5ybrvm@wuerfel>

On 06/01/2016 05:31 PM, Arnd Bergmann wrote:
> On Wednesday, June 1, 2016 4:31:54 PM CEST Nishanth Menon wrote:
>> Introduce ARCH_KEYSTONE_TYPICAL which is common for all Keystone
>> platforms. This is particularly useful when custom optimized defconfig
>> builds are created for Keystone architecture platforms.
>>
>> An example of the same would be a sample fragment ks_only.cfg:
>> http://pastebin.ubuntu.com/16904991/ - This prunes all arch other than
>> keystone and any options the other architectures may enable.
>>
>> git clean -fdx && git reset --hard && \
>>  ./scripts/kconfig/merge_config.sh -m \
>>  	./arch/arm/configs/multi_v7_defconfig ~/tmp/ks_only.cfg &&\
>>  make olddefconfig
>>
>> The above unfortunately will disable options necessary for KS2 boards
>> to boot to the bare minimum initramfs.
>>
>> Hence the "KEYSTONE_TYPICAL" option is designed similar to commit 8d9166b519fd
>> ("omap2/3/4: Add Kconfig option to compile in typical omap features")
>> that can be enabled for most boards keystone platforms
>> without needing to rediscover these in defconfig all over again -
>> examples include multi_v7_defconfig base and optimizations done on top
>> of them for keystone platform.
> 
> I'd rather remove the option for OMAP as well, it doesn't really fit in with
> how we do things for other platforms, and selecting a lot of other Kconfig
> symbols tends to cause circular dependencies.

Hmm, fair enough -> adding Tony as well if he sees an problem with
dropping ARCH_OMAP2PLUS_TYPICAL.

> 
>>
>> NOTE: the alternative is to select the configurations under
>> ARCH_KEYSTONE. However, that would fail multi_v7 builds on ARM
>> variants that dont work with LPAE.
> 
> Please no arbitrary selects from the platform.
> 

Agreed.

>> Cc: Bill Mills <wmills@ti.com>
>> Cc: Murali Karicheri <m-karicheri2@ti.com>
>> Cc: Grygorii Strashko <grygorii.strashko@ti.com>
>> Cc: Tero Kristo <t-kristo@ti.com>
>> Cc: Lokesh Vutla <lokeshvutla@ti.com>
>> Signed-off-by: Nishanth Menon <nm@ti.com>
>> ---
>>
>> Based on: next-20160601
>>
>> Tested for basic initramfs boot for K2HK/K2G platforms with the
>> http://pastebin.ubuntu.com/16904991/ fragment + multi_v7_defconfig
>>
>> Side note on LPAE:
>> For our current device tree and u-boot, LPAE is mandatory to bootup
>> for current Keystone boards - but this is not a SoC requirement,
>> booting without LPAE/HIGHMEM results in non-coherent DDR accesses.
> 
> This sounds like a regression, I thought we had this working when
> keystone was initially merged and we got both the coherent and
> non-coherent mode working with the same DT.
> 
>> Currently:
>> - U-Boot assumes that lpae is always enabled in kennel and updates the 
>> DT memory node with higher addresses. Because of which you are not 
>> detecting any memory without lpae and kernel crashed very early, hence 
>> no prints. So, make mem_lpae env setting as 0 in U-boot.
> 
> We could work around this in the kernel by detecting the faulty u-boot
> behavior and fixing up the addresses in an early platform callback.
> 
>> - DT also assumes that lpae is always enabled, and always asks for 
>> dma-address translation for higher addresses to lower addresses.
>> Just delete the "dma-ranges" property or create a one-on-one mapping 
>> like dma-ranges = <0x80000000 0x0 0x80000000 0x80000000>
> 
> This may be a bit trickier, I think originally keystone ignored the
> dma-ranges property and hacked up its own offset by adding a magic
> constant to the dma address using a bus notifier. We probably don't
> want to bring that hack back, but maybe we can come up with another
> solution.
> 

Santosh, Bill, Lokesh, Grygorii: could you help feedback on the above
comments from Arnd?


-- 
Regards,
Nishanth Menon

  reply	other threads:[~2016-06-01 22:49 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-01 21:31 [PATCH] ARM: Keystone: Introduce Kconfig option to compile in typical Keystone features Nishanth Menon
2016-06-01 21:31 ` Nishanth Menon
2016-06-01 22:31 ` Arnd Bergmann
2016-06-01 22:31   ` Arnd Bergmann
2016-06-01 22:49   ` Nishanth Menon [this message]
2016-06-01 22:49     ` Nishanth Menon
2016-06-01 23:27     ` Santosh Shilimkar
2016-06-01 23:27       ` Santosh Shilimkar
2016-06-07  4:28     ` Tony Lindgren
2016-06-07  4:28       ` Tony Lindgren
2016-06-07  8:09       ` Arnd Bergmann
2016-06-07  8:09         ` Arnd Bergmann
2016-06-07  8:09         ` Arnd Bergmann
2016-06-07 12:04         ` Mark Brown
2016-06-07 12:04           ` Mark Brown
2016-06-08  9:47         ` Tony Lindgren
2016-06-08  9:47           ` Tony Lindgren
2016-06-08 16:04           ` Arnd Bergmann
2016-06-08 16:04             ` Arnd Bergmann
2016-06-09  6:50             ` Tony Lindgren
2016-06-09  6:50               ` Tony Lindgren
2016-06-09 10:32               ` Mark Brown
2016-06-09 10:32                 ` Mark Brown
2016-06-01 23:26   ` Santosh Shilimkar
2016-06-01 23:26     ` Santosh Shilimkar
2016-06-02 12:34     ` Nishanth Menon
2016-06-02 12:34       ` Nishanth Menon
2016-06-02 18:10       ` Santosh Shilimkar
2016-06-02 18:10         ` Santosh Shilimkar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=574F6674.3010100@ti.com \
    --to=nm@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.