Lines Matching refs:win
113 unsigned int (*win_cfg_offset)(const int win);
114 unsigned int (*win_remap_offset)(const int win);
188 const int win) in mvebu_mbus_window_is_remappable() argument
190 return mbus->soc->win_remap_offset(win) != MVEBU_MBUS_NO_REMAP; in mvebu_mbus_window_is_remappable()
198 int win, int *enabled, u64 *base, in mvebu_mbus_read_window() argument
203 mbus->soc->win_cfg_offset(win); in mvebu_mbus_read_window()
224 if (mvebu_mbus_window_is_remappable(mbus, win)) { in mvebu_mbus_read_window()
227 mbus->soc->win_remap_offset(win); in mvebu_mbus_read_window()
237 int win) in mvebu_mbus_disable_window() argument
241 addr = mbus->mbuswins_base + mbus->soc->win_cfg_offset(win); in mvebu_mbus_disable_window()
245 if (mvebu_mbus_window_is_remappable(mbus, win)) { in mvebu_mbus_disable_window()
246 addr = mbus->mbuswins_base + mbus->soc->win_remap_offset(win); in mvebu_mbus_disable_window()
255 const int win) in mvebu_mbus_window_is_free() argument
258 mbus->soc->win_cfg_offset(win); in mvebu_mbus_window_is_free()
273 int win; in mvebu_mbus_window_conflicts() local
275 for (win = 0; win < mbus->soc->num_wins; win++) { in mvebu_mbus_window_conflicts()
281 mvebu_mbus_read_window(mbus, win, in mvebu_mbus_window_conflicts()
304 int win; in mvebu_mbus_find_window() local
306 for (win = 0; win < mbus->soc->num_wins; win++) { in mvebu_mbus_find_window()
311 mvebu_mbus_read_window(mbus, win, in mvebu_mbus_find_window()
319 return win; in mvebu_mbus_find_window()
326 int win, phys_addr_t base, size_t size, in mvebu_mbus_setup_window() argument
331 mbus->soc->win_cfg_offset(win); in mvebu_mbus_setup_window()
355 if (mvebu_mbus_window_is_remappable(mbus, win)) { in mvebu_mbus_setup_window()
357 mbus->soc->win_remap_offset(win); in mvebu_mbus_setup_window()
375 int win; in mvebu_mbus_alloc_window() local
378 for (win = 0; win < mbus->soc->num_wins; win++) { in mvebu_mbus_alloc_window()
379 if (mvebu_mbus_window_is_remappable(mbus, win)) in mvebu_mbus_alloc_window()
382 if (mvebu_mbus_window_is_free(mbus, win)) in mvebu_mbus_alloc_window()
383 return mvebu_mbus_setup_window(mbus, win, base, in mvebu_mbus_alloc_window()
389 for (win = 0; win < mbus->soc->num_wins; win++) { in mvebu_mbus_alloc_window()
392 !mvebu_mbus_window_is_remappable(mbus, win)) in mvebu_mbus_alloc_window()
395 if (mvebu_mbus_window_is_free(mbus, win)) in mvebu_mbus_alloc_window()
396 return mvebu_mbus_setup_window(mbus, win, base, size, in mvebu_mbus_alloc_window()
474 int win; in mvebu_devs_debug_show() local
476 for (win = 0; win < mbus->soc->num_wins; win++) { in mvebu_devs_debug_show()
482 mvebu_mbus_read_window(mbus, win, in mvebu_devs_debug_show()
487 seq_printf(seq, "[%02d] disabled\n", win); in mvebu_devs_debug_show()
492 win, (unsigned long long)wbase, in mvebu_devs_debug_show()
499 if (mvebu_mbus_window_is_remappable(mbus, win)) { in mvebu_devs_debug_show()
514 static unsigned int generic_mbus_win_cfg_offset(int win) in generic_mbus_win_cfg_offset() argument
516 return win << 4; in generic_mbus_win_cfg_offset()
519 static unsigned int armada_370_xp_mbus_win_cfg_offset(int win) in armada_370_xp_mbus_win_cfg_offset() argument
533 if (win < 8) in armada_370_xp_mbus_win_cfg_offset()
534 return win << 4; in armada_370_xp_mbus_win_cfg_offset()
536 return 0x90 + ((win - 8) << 3); in armada_370_xp_mbus_win_cfg_offset()
539 static unsigned int mv78xx0_mbus_win_cfg_offset(int win) in mv78xx0_mbus_win_cfg_offset() argument
541 if (win < 8) in mv78xx0_mbus_win_cfg_offset()
542 return win << 4; in mv78xx0_mbus_win_cfg_offset()
544 return 0x900 + ((win - 8) << 4); in mv78xx0_mbus_win_cfg_offset()
547 static unsigned int generic_mbus_win_remap_2_offset(int win) in generic_mbus_win_remap_2_offset() argument
549 if (win < 2) in generic_mbus_win_remap_2_offset()
550 return generic_mbus_win_cfg_offset(win); in generic_mbus_win_remap_2_offset()
555 static unsigned int generic_mbus_win_remap_4_offset(int win) in generic_mbus_win_remap_4_offset() argument
557 if (win < 4) in generic_mbus_win_remap_4_offset()
558 return generic_mbus_win_cfg_offset(win); in generic_mbus_win_remap_4_offset()
563 static unsigned int generic_mbus_win_remap_8_offset(int win) in generic_mbus_win_remap_8_offset() argument
565 if (win < 8) in generic_mbus_win_remap_8_offset()
566 return generic_mbus_win_cfg_offset(win); in generic_mbus_win_remap_8_offset()
571 static unsigned int armada_xp_mbus_win_remap_offset(int win) in armada_xp_mbus_win_remap_offset() argument
573 if (win < 8) in armada_xp_mbus_win_remap_offset()
574 return generic_mbus_win_cfg_offset(win); in armada_xp_mbus_win_remap_offset()
575 else if (win == 13) in armada_xp_mbus_win_remap_offset()
904 int win; in mvebu_mbus_del_window() local
906 win = mvebu_mbus_find_window(&mbus_state, base, size); in mvebu_mbus_del_window()
907 if (win < 0) in mvebu_mbus_del_window()
908 return win; in mvebu_mbus_del_window()
910 mvebu_mbus_disable_window(&mbus_state, win); in mvebu_mbus_del_window()
963 int win; in mvebu_mbus_get_io_win_info() local
965 for (win = 0; win < mbus_state.soc->num_wins; win++) { in mvebu_mbus_get_io_win_info()
969 mvebu_mbus_read_window(&mbus_state, win, &enabled, &wbase, in mvebu_mbus_get_io_win_info()
976 return win; in mvebu_mbus_get_io_win_info()
1012 int win; in mvebu_mbus_suspend() local
1017 for (win = 0; win < s->soc->num_wins; win++) { in mvebu_mbus_suspend()
1019 s->soc->win_cfg_offset(win); in mvebu_mbus_suspend()
1022 s->wins[win].base = readl(addr + WIN_BASE_OFF); in mvebu_mbus_suspend()
1023 s->wins[win].ctrl = readl(addr + WIN_CTRL_OFF); in mvebu_mbus_suspend()
1025 if (!mvebu_mbus_window_is_remappable(s, win)) in mvebu_mbus_suspend()
1029 s->soc->win_remap_offset(win); in mvebu_mbus_suspend()
1031 s->wins[win].remap_lo = readl(addr_rmp + WIN_REMAP_LO_OFF); in mvebu_mbus_suspend()
1032 s->wins[win].remap_hi = readl(addr_rmp + WIN_REMAP_HI_OFF); in mvebu_mbus_suspend()
1046 int win; in mvebu_mbus_resume() local
1053 for (win = 0; win < s->soc->num_wins; win++) { in mvebu_mbus_resume()
1055 s->soc->win_cfg_offset(win); in mvebu_mbus_resume()
1058 writel(s->wins[win].base, addr + WIN_BASE_OFF); in mvebu_mbus_resume()
1059 writel(s->wins[win].ctrl, addr + WIN_CTRL_OFF); in mvebu_mbus_resume()
1061 if (!mvebu_mbus_window_is_remappable(s, win)) in mvebu_mbus_resume()
1065 s->soc->win_remap_offset(win); in mvebu_mbus_resume()
1067 writel(s->wins[win].remap_lo, addr_rmp + WIN_REMAP_LO_OFF); in mvebu_mbus_resume()
1068 writel(s->wins[win].remap_hi, addr_rmp + WIN_REMAP_HI_OFF); in mvebu_mbus_resume()
1086 int win; in mvebu_mbus_common_init() local
1111 for (win = 0; win < mbus->soc->num_wins; win++) in mvebu_mbus_common_init()
1112 mvebu_mbus_disable_window(mbus, win); in mvebu_mbus_common_init()