MCPcopy Create free account
hub / github.com/F-Stack/f-stack / xor_active_dram

Function xor_active_dram

freebsd/arm/mv/mv_common.c:2155–2189  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2153}
2154
2155static void
2156xor_active_dram(u_long base, int c, int e, int *window)
2157{
2158 uint32_t br, sz;
2159 int i, m, w;
2160
2161 /*
2162 * Set up access to all active DRAM banks
2163 */
2164 m = xor_max_eng();
2165 for (i = 0; i < m; i++)
2166 if (ddr_is_active(i)) {
2167 br = ddr_base(i) | (ddr_attr(i) << 8) |
2168 ddr_target(i);
2169 sz = ((ddr_size(i) - 1) & 0xffff0000);
2170
2171 /* Place DDR entries in non-remapped windows */
2172 for (w = 0; w < MV_WIN_XOR_MAX; w++)
2173 if (win_xor_can_remap(w) != 1 &&
2174 (xor_ctrl_read(base, w, c, e) == 0) &&
2175 w > *window) {
2176 /* Configure window */
2177 win_xor_br_write(base, w, e, br);
2178 win_xor_sz_write(base, w, e, sz);
2179
2180 /* Set protection RW on all channels */
2181 xor_set_prot(base, w, e, 0x3);
2182
2183 /* Enable window */
2184 xor_ctrl_write(base, w, c, e, 1);
2185 (*window)++;
2186 break;
2187 }
2188 }
2189}
2190
2191void
2192decode_win_xor_setup(u_long base)

Callers 1

decode_win_xor_setupFunction · 0.85

Calls 10

xor_max_engFunction · 0.85
ddr_is_activeFunction · 0.85
ddr_baseFunction · 0.85
ddr_attrFunction · 0.85
ddr_targetFunction · 0.85
ddr_sizeFunction · 0.85
win_xor_can_remapFunction · 0.85
xor_ctrl_readFunction · 0.85
xor_set_protFunction · 0.85
xor_ctrl_writeFunction · 0.85

Tested by

no test coverage detected