commit: http://blackfin.uclinux.org/git/?p=linux-kernel;a=commitdiff;h=844353ec13f21277413ed1fbdb704ac06b1c7dad branch: http://blackfin.uclinux.org/git/?p=linux-kernel;a=shortlog;h=refs/heads/trunk
Signed-off-by: Steven Miao <[email protected]> --- arch/blackfin/kernel/cplb-nompu/cplbmgr.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/arch/blackfin/kernel/cplb-nompu/cplbmgr.c b/arch/blackfin/kernel/cplb-nompu/cplbmgr.c index 2d520e7..79cc0f6 100644 --- a/arch/blackfin/kernel/cplb-nompu/cplbmgr.c +++ b/arch/blackfin/kernel/cplb-nompu/cplbmgr.c @@ -178,6 +178,8 @@ MGR_ATTR static int dcplb_miss(int cpu) cplb_pageflags = PAGE_SIZE_4MB; cplb_pagesize = SIZE_4M; #endif + +find_pagesize: addr1 = addr & ~(cplb_pagesize - 1); if (addr1 >= base && (addr1 + cplb_pagesize) <= eaddr) { /* @@ -186,8 +188,16 @@ MGR_ATTR static int dcplb_miss(int cpu) */ d_data |= cplb_pageflags; addr = addr1; + goto found_pagesize; + } else { + if (cplb_pagesize > SIZE_4M) { + cplb_pageflags = PAGE_SIZE_4MB; + cplb_pagesize = SIZE_4M; + goto find_pagesize; + } } +found_pagesize: #ifdef CONFIG_BF60x if ((addr >= ASYNC_BANK0_BASE) && (addr < ASYNC_BANK3_BASE + ASYNC_BANK3_SIZE))
_______________________________________________ Linux-kernel-commits mailing list [email protected] https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits
