diff options
author | Michael Hennerich <michael.hennerich@analog.com> | 2007-08-27 03:29:35 -0400 |
---|---|---|
committer | Bryan Wu <bryan.wu@analog.com> | 2007-08-27 03:29:35 -0400 |
commit | 07bdda02623d6d9078e45f6b6451bc3508878db1 (patch) | |
tree | eb74a878abadfaccda5d5344d9317003c30aa96a | |
parent | 3bebca2d20796dd3dc62c5d3e74148087c7ce5bd (diff) |
Blackfin arch: bug fixing restore mach dependent ASYNC memory size
Bug: When SMC921X driver is enabled, kernel boot crash on EZKIT548
http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3460
Fixed by restoring mach dependent ASYNC memory size CPLB coverage.
Once we have a more dynamic memory layout we should come up with a better
solution for these hard-coded values.
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
-rw-r--r-- | include/asm-blackfin/cplb.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/include/asm-blackfin/cplb.h b/include/asm-blackfin/cplb.h index c9fc77684fb2..df4766892767 100644 --- a/include/asm-blackfin/cplb.h +++ b/include/asm-blackfin/cplb.h | |||
@@ -65,27 +65,33 @@ | |||
65 | 65 | ||
66 | #define MAX_CPLBS (16 * 2) | 66 | #define MAX_CPLBS (16 * 2) |
67 | 67 | ||
68 | #define ASYNC_MEMORY_CPLB_COVERAGE ((ASYNC_BANK0_SIZE + ASYNC_BANK1_SIZE + \ | ||
69 | ASYNC_BANK2_SIZE + ASYNC_BANK3_SIZE) / SIZE_4M) | ||
70 | |||
68 | /* | 71 | /* |
69 | * Number of required data CPLB switchtable entries | 72 | * Number of required data CPLB switchtable entries |
70 | * MEMSIZE / 4 (we mostly install 4M page size CPLBs | 73 | * MEMSIZE / 4 (we mostly install 4M page size CPLBs |
71 | * approx 16 for smaller 1MB page size CPLBs for allignment purposes | 74 | * approx 16 for smaller 1MB page size CPLBs for allignment purposes |
72 | * 1 for L1 Data Memory | 75 | * 1 for L1 Data Memory |
76 | * possibly 1 for L2 Data Memory | ||
73 | * 1 for CONFIG_DEBUG_HUNT_FOR_ZERO | 77 | * 1 for CONFIG_DEBUG_HUNT_FOR_ZERO |
74 | * 1 for ASYNC Memory | 78 | * 1 for ASYNC Memory |
75 | */ | 79 | */ |
76 | 80 | ||
77 | 81 | ||
78 | #define MAX_SWITCH_D_CPLBS (((CONFIG_MEM_SIZE / 4) + 16 + 1 + 1 + 1) * 2) | 82 | #define MAX_SWITCH_D_CPLBS (((CONFIG_MEM_SIZE / 4) + 16 + 1 + 1 + 1 \ |
83 | + ASYNC_MEMORY_CPLB_COVERAGE) * 2) | ||
79 | 84 | ||
80 | /* | 85 | /* |
81 | * Number of required instruction CPLB switchtable entries | 86 | * Number of required instruction CPLB switchtable entries |
82 | * MEMSIZE / 4 (we mostly install 4M page size CPLBs | 87 | * MEMSIZE / 4 (we mostly install 4M page size CPLBs |
83 | * approx 12 for smaller 1MB page size CPLBs for allignment purposes | 88 | * approx 12 for smaller 1MB page size CPLBs for allignment purposes |
84 | * 1 for L1 Instruction Memory | 89 | * 1 for L1 Instruction Memory |
90 | * possibly 1 for L2 Instruction Memory | ||
85 | * 1 for CONFIG_DEBUG_HUNT_FOR_ZERO | 91 | * 1 for CONFIG_DEBUG_HUNT_FOR_ZERO |
86 | */ | 92 | */ |
87 | 93 | ||
88 | #define MAX_SWITCH_I_CPLBS (((CONFIG_MEM_SIZE / 4) + 12 + 1 + 1) * 2) | 94 | #define MAX_SWITCH_I_CPLBS (((CONFIG_MEM_SIZE / 4) + 12 + 1 + 1 + 1) * 2) |
89 | 95 | ||
90 | 96 | ||
91 | #define CPLB_ENABLE_ICACHE_P 0 | 97 | #define CPLB_ENABLE_ICACHE_P 0 |