Hi Sekhar,

[...]
+/*
+ * TNETV107X platforms do not use the static mappings from Davinci
+ * IO_PHYS/IO_VIRT. This SOC's interesting MMRs are at different addresses,
+ * and changing IO_PHYS would break away from existing Davinci SOCs.
+ *
+ * The primary impact of the current model is that IO_ADDRESS() is not to be
+ * used to map registers on TNETV107X. With the exception of early boot code
+ * in tnetv107x_init() (where fixed maps are necessary), all other pieces of
+ * code absolutely _must_ use ioremap().
+ *
+ * 1.        The first section in here is specifically for edma, even through 
the
+ *   edma driver code properly ioremap()s its register space.  This is
+ *   because the edma MMRs on tnetv107x unfortunately fall within the
+ *   davinci IO_PHYS - (IO_PHYS + IO_SIZE) range, and therefore the edma
+ *   driver's ioremap() gets subverted by davinci_ioremap(). Yikes!

I had pointed this earlier, but don't remember a follow-up discussion.

Why not just redefine IO_PHYS for this SoC?

I thought I'd responded in [1].

But this does bring up a good point. Now that ioremap interception no longer remaps per IO_PHYS/IO_VIRT, the edma ioremap() should operate correctly even without this special iotable entry. I will get rid of this in the next rev.

Regards
Cyril.

[1]http://linux.davincidsp.com/pipermail/davinci-linux-open-source/2010-April/018453.html
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to