Lines Matching refs:vnicc
36 static bool qeth_l2_vnicc_recover_timeout(struct qeth_card *card, u32 vnicc,
957 QETH_CARD_HEX(card, 2, &card->options.vnicc.sup_chars, in qeth_l2_trace_features()
958 sizeof(card->options.vnicc.sup_chars)); in qeth_l2_trace_features()
2004 struct qeth_ipacmd_vnicc *rep = &cmd->data.vnicc; in qeth_l2_vnicc_request_cb()
2010 card->options.vnicc.sup_chars = rep->hdr.sup; in qeth_l2_vnicc_request_cb()
2011 card->options.vnicc.cur_chars = rep->hdr.cur; in qeth_l2_vnicc_request_cb()
2040 req = &cmd->data.vnicc; in qeth_l2_vnicc_request()
2120 static int qeth_l2_vnicc_getset_timeout(struct qeth_card *card, u32 vnicc, in qeth_l2_vnicc_getset_timeout() argument
2127 cbctl.param.vnic_char = vnicc; in qeth_l2_vnicc_getset_timeout()
2138 int qeth_l2_vnicc_set_state(struct qeth_card *card, u32 vnicc, bool state) in qeth_l2_vnicc_set_state() argument
2150 if (!(card->options.vnicc.sup_chars & vnicc) || in qeth_l2_vnicc_set_state()
2151 !(card->options.vnicc.set_char_sup & vnicc)) in qeth_l2_vnicc_set_state()
2157 card->options.vnicc.wanted_chars |= vnicc; in qeth_l2_vnicc_set_state()
2160 card->options.vnicc.wanted_chars &= ~vnicc; in qeth_l2_vnicc_set_state()
2164 if (card->options.vnicc.cur_chars == card->options.vnicc.wanted_chars) in qeth_l2_vnicc_set_state()
2170 card->options.vnicc.cur_chars |= vnicc; in qeth_l2_vnicc_set_state()
2172 card->options.vnicc.cur_chars &= ~vnicc; in qeth_l2_vnicc_set_state()
2176 rc = qeth_l2_vnicc_set_char(card, vnicc, cmd); in qeth_l2_vnicc_set_state()
2178 card->options.vnicc.wanted_chars = in qeth_l2_vnicc_set_state()
2179 card->options.vnicc.cur_chars; in qeth_l2_vnicc_set_state()
2182 if (state && vnicc == QETH_VNICC_RX_BCAST) in qeth_l2_vnicc_set_state()
2183 card->options.vnicc.rx_bcast_enabled = true; in qeth_l2_vnicc_set_state()
2184 if (!state && vnicc == QETH_VNICC_LEARNING) in qeth_l2_vnicc_set_state()
2185 qeth_l2_vnicc_recover_timeout(card, vnicc, in qeth_l2_vnicc_set_state()
2186 &card->options.vnicc.learning_timeout); in qeth_l2_vnicc_set_state()
2193 int qeth_l2_vnicc_get_state(struct qeth_card *card, u32 vnicc, bool *state) in qeth_l2_vnicc_get_state() argument
2204 if (!(card->options.vnicc.sup_chars & vnicc)) in qeth_l2_vnicc_get_state()
2211 *state = (card->options.vnicc.cur_chars & vnicc) ? true : false; in qeth_l2_vnicc_get_state()
2229 if (!(card->options.vnicc.sup_chars & QETH_VNICC_LEARNING) || in qeth_l2_vnicc_set_timeout()
2230 !(card->options.vnicc.getset_timeout_sup & QETH_VNICC_LEARNING)) in qeth_l2_vnicc_set_timeout()
2234 if (card->options.vnicc.learning_timeout == timeout) in qeth_l2_vnicc_set_timeout()
2239 card->options.vnicc.learning_timeout = timeout; in qeth_l2_vnicc_set_timeout()
2247 card->options.vnicc.learning_timeout = timeout; in qeth_l2_vnicc_set_timeout()
2266 if (!(card->options.vnicc.sup_chars & QETH_VNICC_LEARNING) || in qeth_l2_vnicc_get_timeout()
2267 !(card->options.vnicc.getset_timeout_sup & QETH_VNICC_LEARNING)) in qeth_l2_vnicc_get_timeout()
2270 *timeout = card->options.vnicc.learning_timeout; in qeth_l2_vnicc_get_timeout()
2283 if (!card->options.vnicc.cur_chars) in qeth_l2_vnicc_is_in_use()
2288 if (card->options.vnicc.cur_chars == QETH_VNICC_DEFAULT) { in qeth_l2_vnicc_is_in_use()
2289 if (!card->options.vnicc.rx_bcast_enabled || in qeth_l2_vnicc_is_in_use()
2297 static bool qeth_l2_vnicc_recover_timeout(struct qeth_card *card, u32 vnicc, in qeth_l2_vnicc_recover_timeout() argument
2300 if (card->options.vnicc.sup_chars & vnicc && in qeth_l2_vnicc_recover_timeout()
2301 card->options.vnicc.getset_timeout_sup & vnicc && in qeth_l2_vnicc_recover_timeout()
2302 !qeth_l2_vnicc_getset_timeout(card, vnicc, IPA_VNICC_SET_TIMEOUT, in qeth_l2_vnicc_recover_timeout()
2310 static bool qeth_l2_vnicc_recover_char(struct qeth_card *card, u32 vnicc, in qeth_l2_vnicc_recover_char() argument
2315 if (card->options.vnicc.sup_chars & vnicc && in qeth_l2_vnicc_recover_char()
2316 card->options.vnicc.set_char_sup & vnicc && in qeth_l2_vnicc_recover_char()
2317 !qeth_l2_vnicc_set_char(card, vnicc, cmd)) in qeth_l2_vnicc_recover_char()
2319 card->options.vnicc.wanted_chars &= ~vnicc; in qeth_l2_vnicc_recover_char()
2320 card->options.vnicc.wanted_chars |= QETH_VNICC_DEFAULT & vnicc; in qeth_l2_vnicc_recover_char()
2327 u32 *timeout = &card->options.vnicc.learning_timeout; in qeth_l2_vnicc_init()
2330 u32 sup_cmds, vnicc; in qeth_l2_vnicc_init() local
2335 card->options.vnicc.rx_bcast_enabled = 0; in qeth_l2_vnicc_init()
2338 if (card->options.vnicc.wanted_chars != QETH_VNICC_DEFAULT || in qeth_l2_vnicc_init()
2342 card->options.vnicc.sup_chars = 0; in qeth_l2_vnicc_init()
2343 card->options.vnicc.cur_chars = 0; in qeth_l2_vnicc_init()
2344 card->options.vnicc.wanted_chars = QETH_VNICC_DEFAULT; in qeth_l2_vnicc_init()
2348 chars_tmp = card->options.vnicc.sup_chars; in qeth_l2_vnicc_init()
2349 chars_len = sizeof(card->options.vnicc.sup_chars) * BITS_PER_BYTE; in qeth_l2_vnicc_init()
2351 vnicc = BIT(i); in qeth_l2_vnicc_init()
2352 qeth_l2_vnicc_query_cmds(card, vnicc, &sup_cmds); in qeth_l2_vnicc_init()
2355 card->options.vnicc.getset_timeout_sup &= ~vnicc; in qeth_l2_vnicc_init()
2358 card->options.vnicc.set_char_sup &= ~vnicc; in qeth_l2_vnicc_init()
2363 chars_tmp = card->options.vnicc.wanted_chars ^ QETH_VNICC_DEFAULT; in qeth_l2_vnicc_init()
2365 chars_len = sizeof(card->options.vnicc.wanted_chars) * BITS_PER_BYTE; in qeth_l2_vnicc_init()
2367 vnicc = BIT(i); in qeth_l2_vnicc_init()
2368 enable = card->options.vnicc.wanted_chars & vnicc; in qeth_l2_vnicc_init()
2369 error |= qeth_l2_vnicc_recover_char(card, vnicc, enable); in qeth_l2_vnicc_init()
2379 card->options.vnicc.sup_chars = QETH_VNICC_ALL; in qeth_l2_vnicc_set_defaults()
2380 card->options.vnicc.cur_chars = QETH_VNICC_DEFAULT; in qeth_l2_vnicc_set_defaults()
2381 card->options.vnicc.learning_timeout = QETH_VNICC_DEFAULT_TIMEOUT; in qeth_l2_vnicc_set_defaults()
2383 card->options.vnicc.set_char_sup = QETH_VNICC_ALL; in qeth_l2_vnicc_set_defaults()
2384 card->options.vnicc.getset_timeout_sup = QETH_VNICC_LEARNING; in qeth_l2_vnicc_set_defaults()
2386 card->options.vnicc.wanted_chars = QETH_VNICC_DEFAULT; in qeth_l2_vnicc_set_defaults()