[<prev] [next>] [day] [month] [year] [list]
Message-ID: <a0d03054-b583-2d6b-aa32-e0f453767b88@techveda.org>
Date: Tue, 6 Aug 2019 18:49:52 +0530
From: Suniel Mahesh <sunil.m@...hveda.org>
To: linux-arm-kernel@...ts.infradead.org, linux@...linux.org.uk,
Linux kernel mailing list <linux-kernel@...r.kernel.org>
Cc: thomas.petazzoni@...e-electrons.com
Subject: Machine specific static mappings iotable_init(), are they required ?
Hi,
I am trying to port a machine based on arm926 with MMU, having 64MB of RAM.
I am trying to understand the difference between:
machine specific static I/O mappings which are done via iotable_init()
(done via callback .map_io in DT_MACHINE_START) and
dynamic I/O mappings done via ioremap()
In the kernel docs/mailing list, I have encountered a statement which states:
"with machine specific static I/O mappings which are done via iotable_init(),
registers can be mapped at the upper end of vmalloc area so that one can use as
little of the VA space as possible so vmalloc and friends have a better chance of
getting memory"
I am writing board initialization C file and got stuck at .map_io callback function,
whether to define it or not. If yes, under what scenario should I do it
now-a-days I think less boards are using iotable_init(). (is this defunct) ?
I might be wrong here
Can't I use ioremap and do dynamic mappings when ever required via device tree ?
If I do so will I encounter any problems with vmalloc area.
Thanks & Regards
--
Suniel Mahesh
Powered by blists - more mailing lists