Git pull request: mach/vmalloc.h removal, and ioremap optimizations
Rob Herring
robherring2 at gmail.com
Thu Sep 29 16:26:39 EDT 2011
On 09/29/2011 01:42 PM, Nicolas Pitre wrote:
> On Thu, 29 Sep 2011, Rob Herring wrote:
>
>> On 09/29/2011 12:37 PM, Russell King - ARM Linux wrote:
>>> My guess would be:
>>>
>>> }, {
>>> .virtual = IO_ADDRESS(VERSATILE_SCTL_BASE),
>>> .pfn = __phys_to_pfn(VERSATILE_SCTL_BASE),
>>> .length = SZ_4K * 9,
>>> .type = MT_DEVICE
>>> },
>>> #ifdef CONFIG_MACH_VERSATILE_AB
>>> {
>>> .virtual = IO_ADDRESS(VERSATILE_GPIO0_BASE),
>>> .pfn = __phys_to_pfn(VERSATILE_GPIO0_BASE),
>>> .length = SZ_4K,
>>> .type = MT_DEVICE
>>>
>>> #define VERSATILE_SCTL_BASE 0x101E0000 /* System controller */
>>> #define VERSATILE_GPIO0_BASE 0x101E4000 /* GPIO port 0 */
>>>
>>> I don't see why GPIO0 is explicitly listed here.
>>
>> It works for PB and AB with that removed. Here's a patch:
> [...]
>
> Thanks for testing and the patch. I've inserted it in my patch series
> and pushed the result out.
So it was really Realview PBX I wanted to test my GIC changes on. Well,
turns out it's got a similar problem, too.
However, the fix for it should perhaps be a bit different. The problem
is that the virtual address of REALVIEW_PBX_TILE_GIC_CPU_BASE is not
aligned. Then 0x100 + 4KB length overlaps into the DIST_BASE. So do we
fix it in the platform or should the core code mask out the lower bits
of the virt addr before doing any size calculations?
Rob
More information about the linux-arm-kernel
mailing list