Lines Matching refs:mbus

109 static void mvebu_mbus_read_window(struct mvebu_mbus_state *mbus,  in mvebu_mbus_read_window()  argument
114 void __iomem *addr = mbus->mbuswins_base + in mvebu_mbus_read_window()
115 mbus->soc->win_cfg_offset(win); in mvebu_mbus_read_window()
136 if (win < mbus->soc->num_remappable_wins) { in mvebu_mbus_read_window()
146 static void mvebu_mbus_disable_window(struct mvebu_mbus_state *mbus, in mvebu_mbus_disable_window() argument
151 addr = mbus->mbuswins_base + mbus->soc->win_cfg_offset(win); in mvebu_mbus_disable_window()
155 if (win < mbus->soc->num_remappable_wins) { in mvebu_mbus_disable_window()
162 static int mvebu_mbus_window_is_free(struct mvebu_mbus_state *mbus, in mvebu_mbus_window_is_free() argument
165 void __iomem *addr = mbus->mbuswins_base + in mvebu_mbus_window_is_free()
166 mbus->soc->win_cfg_offset(win); in mvebu_mbus_window_is_free()
175 static int mvebu_mbus_window_conflicts(struct mvebu_mbus_state *mbus, in mvebu_mbus_window_conflicts() argument
182 for (win = 0; win < mbus->soc->num_wins; win++) { in mvebu_mbus_window_conflicts()
188 mvebu_mbus_read_window(mbus, win, in mvebu_mbus_window_conflicts()
214 static int mvebu_mbus_find_window(struct mvebu_mbus_state *mbus, in mvebu_mbus_find_window() argument
219 for (win = 0; win < mbus->soc->num_wins; win++) { in mvebu_mbus_find_window()
224 mvebu_mbus_read_window(mbus, win, in mvebu_mbus_find_window()
238 static int mvebu_mbus_setup_window(struct mvebu_mbus_state *mbus, in mvebu_mbus_setup_window() argument
243 void __iomem *addr = mbus->mbuswins_base + in mvebu_mbus_setup_window()
244 mbus->soc->win_cfg_offset(win); in mvebu_mbus_setup_window()
254 if (win < mbus->soc->num_remappable_wins) { in mvebu_mbus_setup_window()
266 static int mvebu_mbus_alloc_window(struct mvebu_mbus_state *mbus, in mvebu_mbus_alloc_window() argument
274 for (win = mbus->soc->num_remappable_wins; in mvebu_mbus_alloc_window()
275 win < mbus->soc->num_wins; win++) in mvebu_mbus_alloc_window()
276 if (mvebu_mbus_window_is_free(mbus, win)) in mvebu_mbus_alloc_window()
277 return mvebu_mbus_setup_window(mbus, win, base, in mvebu_mbus_alloc_window()
283 for (win = 0; win < mbus->soc->num_wins; win++) in mvebu_mbus_alloc_window()
284 if (mvebu_mbus_window_is_free(mbus, win)) in mvebu_mbus_alloc_window()
285 return mvebu_mbus_setup_window(mbus, win, base, size, in mvebu_mbus_alloc_window()
320 static void mvebu_mbus_default_setup_cpu_target(struct mvebu_mbus_state *mbus) in mvebu_mbus_default_setup_cpu_target() argument
328 u32 base = readl(mbus->sdramwins_base + DDR_BASE_CS_OFF(i)); in mvebu_mbus_default_setup_cpu_target()
329 u32 size = readl(mbus->sdramwins_base + DDR_SIZE_CS_OFF(i)); in mvebu_mbus_default_setup_cpu_target()
352 clrbits_le32(mbus->mbuswins_base + 0x200, BIT(8)); in mvebu_mbus_default_setup_cpu_target()
416 static void mvebu_mbus_get_lowest_base(struct mvebu_mbus_state *mbus, in mvebu_mbus_get_lowest_base() argument
422 for (win = 0; win < mbus->soc->num_wins; win++) { in mvebu_mbus_get_lowest_base()
428 mvebu_mbus_read_window(mbus, win, in mvebu_mbus_get_lowest_base()
440 static void mvebu_config_mbus_bridge(struct mvebu_mbus_state *mbus) in mvebu_config_mbus_bridge() argument
464 int mbus_dt_setup_win(struct mvebu_mbus_state *mbus, in mbus_dt_setup_win() argument
467 if (!mvebu_mbus_window_conflicts(mbus, base, size, target, attr)) { in mbus_dt_setup_win()
477 if (mvebu_mbus_alloc_window(mbus, base, size, base, target, attr)) { in mbus_dt_setup_win()
478 if (mvebu_mbus_alloc_window(mbus, base, size, in mbus_dt_setup_win()
489 mvebu_config_mbus_bridge(mbus); in mbus_dt_setup_win()