Thread (30 messages) 30 messages, 10 authors, 2013-09-07

[PATCH v4 5/5] clk: dt: binding for basic gate clock

From: Tomasz Figa <hidden>
Date: 2013-09-07 11:56:46
Also in: linux-devicetree, lkml

Hi Tony,

On Wednesday 04 of September 2013 10:59:09 Tony Lindgren wrote:
* Haojian Zhuang [off-list ref] [130903 20:11]:
quoted
We can see that it'll try to find static mapping. What's the static
mapping? If we define iotable in machine driver, we have the static
mapping, just like debug_ll. If we parse everything from DTS file,
it'll always get a new virtual address from vm area. So it always
create a new page mapping even for one register.
I may not follow you here.. But it seems that you've missing something
with the static mapping: It's found based on the physical address. So
if you create static mappings for your SoC with iotable_init(), those
mappings will be available everywhere including drivers when you do
ioremap().
The thing is that today we are moving in favour of fully dynamic mapping, 
based on data from device tree, with as little as possible (or even no) 
static mapping based on hardcoded values.

So, back to the original problem, we end up doing multiple dynamic 
mappings of the same physical page, because there is no refcounting in 
ioremap and, if it doesn't find a static mapping containing the region 
we're interested in, it simply creates a new mapping.

Best regards,
Tomasz
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help