Lines Matching refs:mbus

107 static void mvebu_mbus_read_window(struct mvebu_mbus_state *mbus,  in mvebu_mbus_read_window()  argument
112 void __iomem *addr = mbus->mbuswins_base + in mvebu_mbus_read_window()
113 mbus->soc->win_cfg_offset(win); in mvebu_mbus_read_window()
134 if (win < mbus->soc->num_remappable_wins) { in mvebu_mbus_read_window()
144 static void mvebu_mbus_disable_window(struct mvebu_mbus_state *mbus, in mvebu_mbus_disable_window() argument
149 addr = mbus->mbuswins_base + mbus->soc->win_cfg_offset(win); in mvebu_mbus_disable_window()
153 if (win < mbus->soc->num_remappable_wins) { in mvebu_mbus_disable_window()
160 static int mvebu_mbus_window_is_free(struct mvebu_mbus_state *mbus, in mvebu_mbus_window_is_free() argument
163 void __iomem *addr = mbus->mbuswins_base + in mvebu_mbus_window_is_free()
164 mbus->soc->win_cfg_offset(win); in mvebu_mbus_window_is_free()
173 static int mvebu_mbus_window_conflicts(struct mvebu_mbus_state *mbus, in mvebu_mbus_window_conflicts() argument
180 for (win = 0; win < mbus->soc->num_wins; win++) { in mvebu_mbus_window_conflicts()
186 mvebu_mbus_read_window(mbus, win, in mvebu_mbus_window_conflicts()
212 static int mvebu_mbus_find_window(struct mvebu_mbus_state *mbus, in mvebu_mbus_find_window() argument
217 for (win = 0; win < mbus->soc->num_wins; win++) { in mvebu_mbus_find_window()
222 mvebu_mbus_read_window(mbus, win, in mvebu_mbus_find_window()
236 static int mvebu_mbus_setup_window(struct mvebu_mbus_state *mbus, in mvebu_mbus_setup_window() argument
241 void __iomem *addr = mbus->mbuswins_base + in mvebu_mbus_setup_window()
242 mbus->soc->win_cfg_offset(win); in mvebu_mbus_setup_window()
252 if (win < mbus->soc->num_remappable_wins) { in mvebu_mbus_setup_window()
264 static int mvebu_mbus_alloc_window(struct mvebu_mbus_state *mbus, in mvebu_mbus_alloc_window() argument
272 for (win = mbus->soc->num_remappable_wins; in mvebu_mbus_alloc_window()
273 win < mbus->soc->num_wins; win++) in mvebu_mbus_alloc_window()
274 if (mvebu_mbus_window_is_free(mbus, win)) in mvebu_mbus_alloc_window()
275 return mvebu_mbus_setup_window(mbus, win, base, in mvebu_mbus_alloc_window()
281 for (win = 0; win < mbus->soc->num_wins; win++) in mvebu_mbus_alloc_window()
282 if (mvebu_mbus_window_is_free(mbus, win)) in mvebu_mbus_alloc_window()
283 return mvebu_mbus_setup_window(mbus, win, base, size, in mvebu_mbus_alloc_window()
318 static void mvebu_mbus_default_setup_cpu_target(struct mvebu_mbus_state *mbus) in mvebu_mbus_default_setup_cpu_target() argument
326 u32 base = readl(mbus->sdramwins_base + DDR_BASE_CS_OFF(i)); in mvebu_mbus_default_setup_cpu_target()
327 u32 size = readl(mbus->sdramwins_base + DDR_SIZE_CS_OFF(i)); in mvebu_mbus_default_setup_cpu_target()
408 static void mvebu_mbus_get_lowest_base(struct mvebu_mbus_state *mbus, in mvebu_mbus_get_lowest_base() argument
414 for (win = 0; win < mbus->soc->num_wins; win++) { in mvebu_mbus_get_lowest_base()
420 mvebu_mbus_read_window(mbus, win, in mvebu_mbus_get_lowest_base()
432 static void mvebu_config_mbus_bridge(struct mvebu_mbus_state *mbus) in mvebu_config_mbus_bridge() argument
455 int mbus_dt_setup_win(struct mvebu_mbus_state *mbus, in mbus_dt_setup_win() argument
458 if (!mvebu_mbus_window_conflicts(mbus, base, size, target, attr)) { in mbus_dt_setup_win()
468 if (mvebu_mbus_alloc_window(mbus, base, size, base, target, attr)) { in mbus_dt_setup_win()
469 if (mvebu_mbus_alloc_window(mbus, base, size, in mbus_dt_setup_win()
479 mvebu_config_mbus_bridge(mbus); in mbus_dt_setup_win()