Lines Matching full:card
30 static ssize_t qeth_l3_dev_route_show(struct qeth_card *card, in qeth_l3_dev_route_show() argument
39 if (card->info.broadcast_capable == QETH_BROADCAST_WITHOUT_ECHO) in qeth_l3_dev_route_show()
44 if (card->info.broadcast_capable == QETH_BROADCAST_WITHOUT_ECHO) in qeth_l3_dev_route_show()
49 if (card->info.broadcast_capable == QETH_BROADCAST_WITHOUT_ECHO) in qeth_l3_dev_route_show()
61 struct qeth_card *card = dev_get_drvdata(dev); in qeth_l3_dev_route4_show() local
63 return qeth_l3_dev_route_show(card, &card->options.route4, buf); in qeth_l3_dev_route4_show()
66 static ssize_t qeth_l3_dev_route_store(struct qeth_card *card, in qeth_l3_dev_route_store() argument
73 mutex_lock(&card->conf_mutex); in qeth_l3_dev_route_store()
90 if (qeth_card_hw_is_reachable(card) && in qeth_l3_dev_route_store()
93 rc = qeth_l3_setrouting_v4(card); in qeth_l3_dev_route_store()
95 rc = qeth_l3_setrouting_v6(card); in qeth_l3_dev_route_store()
100 mutex_unlock(&card->conf_mutex); in qeth_l3_dev_route_store()
107 struct qeth_card *card = dev_get_drvdata(dev); in qeth_l3_dev_route4_store() local
109 return qeth_l3_dev_route_store(card, &card->options.route4, in qeth_l3_dev_route4_store()
119 struct qeth_card *card = dev_get_drvdata(dev); in qeth_l3_dev_route6_show() local
121 return qeth_l3_dev_route_show(card, &card->options.route6, buf); in qeth_l3_dev_route6_show()
127 struct qeth_card *card = dev_get_drvdata(dev); in qeth_l3_dev_route6_store() local
129 return qeth_l3_dev_route_store(card, &card->options.route6, in qeth_l3_dev_route6_store()
139 struct qeth_card *card = dev_get_drvdata(dev); in qeth_l3_dev_sniffer_show() local
141 return sysfs_emit(buf, "%i\n", card->options.sniffer ? 1 : 0); in qeth_l3_dev_sniffer_show()
147 struct qeth_card *card = dev_get_drvdata(dev); in qeth_l3_dev_sniffer_store() local
151 if (!IS_IQD(card)) in qeth_l3_dev_sniffer_store()
153 if (card->options.cq == QETH_CQ_ENABLED) in qeth_l3_dev_sniffer_store()
156 mutex_lock(&card->conf_mutex); in qeth_l3_dev_sniffer_store()
157 if (card->state != CARD_STATE_DOWN) { in qeth_l3_dev_sniffer_store()
169 card->options.sniffer = i; in qeth_l3_dev_sniffer_store()
172 qdio_get_ssqd_desc(CARD_DDEV(card), &card->ssqd); in qeth_l3_dev_sniffer_store()
173 if (card->ssqd.qdioac2 & CHSC_AC2_SNIFFER_AVAILABLE) { in qeth_l3_dev_sniffer_store()
174 card->options.sniffer = i; in qeth_l3_dev_sniffer_store()
175 qeth_resize_buffer_pool(card, QETH_IN_BUF_COUNT_MAX); in qeth_l3_dev_sniffer_store()
185 mutex_unlock(&card->conf_mutex); in qeth_l3_dev_sniffer_store()
195 struct qeth_card *card = dev_get_drvdata(dev); in qeth_l3_dev_hsuid_show() local
198 if (!IS_IQD(card)) in qeth_l3_dev_hsuid_show()
201 memcpy(tmp_hsuid, card->options.hsuid, sizeof(tmp_hsuid)); in qeth_l3_dev_hsuid_show()
209 struct qeth_card *card = dev_get_drvdata(dev); in qeth_l3_dev_hsuid_store() local
213 if (!IS_IQD(card)) in qeth_l3_dev_hsuid_store()
216 mutex_lock(&card->conf_mutex); in qeth_l3_dev_hsuid_store()
217 if (card->state != CARD_STATE_DOWN) { in qeth_l3_dev_hsuid_store()
222 if (card->options.sniffer) { in qeth_l3_dev_hsuid_store()
227 if (card->options.cq == QETH_CQ_NOTAVAILABLE) { in qeth_l3_dev_hsuid_store()
238 if (card->options.hsuid[0]) in qeth_l3_dev_hsuid_store()
240 qeth_l3_modify_hsuid(card, false); in qeth_l3_dev_hsuid_store()
244 card->options.hsuid[0] = '\0'; in qeth_l3_dev_hsuid_store()
245 memcpy(card->dev->perm_addr, card->options.hsuid, 9); in qeth_l3_dev_hsuid_store()
246 qeth_configure_cq(card, QETH_CQ_DISABLED); in qeth_l3_dev_hsuid_store()
250 if (qeth_configure_cq(card, QETH_CQ_ENABLED)) { in qeth_l3_dev_hsuid_store()
255 scnprintf(card->options.hsuid, sizeof(card->options.hsuid), in qeth_l3_dev_hsuid_store()
257 ASCEBC(card->options.hsuid, 8); in qeth_l3_dev_hsuid_store()
258 memcpy(card->dev->perm_addr, card->options.hsuid, 9); in qeth_l3_dev_hsuid_store()
260 rc = qeth_l3_modify_hsuid(card, true); in qeth_l3_dev_hsuid_store()
263 mutex_unlock(&card->conf_mutex); in qeth_l3_dev_hsuid_store()
286 struct qeth_card *card = dev_get_drvdata(dev); in qeth_l3_dev_ipato_enable_show() local
288 return sysfs_emit(buf, "%u\n", card->ipato.enabled ? 1 : 0); in qeth_l3_dev_ipato_enable_show()
294 struct qeth_card *card = dev_get_drvdata(dev); in qeth_l3_dev_ipato_enable_store() local
298 mutex_lock(&card->conf_mutex); in qeth_l3_dev_ipato_enable_store()
299 if (card->state != CARD_STATE_DOWN) { in qeth_l3_dev_ipato_enable_store()
304 mutex_lock(&card->ip_lock); in qeth_l3_dev_ipato_enable_store()
306 enable = !card->ipato.enabled; in qeth_l3_dev_ipato_enable_store()
312 if (card->ipato.enabled != enable) { in qeth_l3_dev_ipato_enable_store()
313 card->ipato.enabled = enable; in qeth_l3_dev_ipato_enable_store()
314 qeth_l3_update_ipato(card); in qeth_l3_dev_ipato_enable_store()
318 mutex_unlock(&card->ip_lock); in qeth_l3_dev_ipato_enable_store()
320 mutex_unlock(&card->conf_mutex); in qeth_l3_dev_ipato_enable_store()
331 struct qeth_card *card = dev_get_drvdata(dev); in qeth_l3_dev_ipato_invert4_show() local
333 return sysfs_emit(buf, "%u\n", card->ipato.invert4 ? 1 : 0); in qeth_l3_dev_ipato_invert4_show()
340 struct qeth_card *card = dev_get_drvdata(dev); in qeth_l3_dev_ipato_invert4_store() local
344 mutex_lock(&card->ip_lock); in qeth_l3_dev_ipato_invert4_store()
346 invert = !card->ipato.invert4; in qeth_l3_dev_ipato_invert4_store()
352 if (card->ipato.invert4 != invert) { in qeth_l3_dev_ipato_invert4_store()
353 card->ipato.invert4 = invert; in qeth_l3_dev_ipato_invert4_store()
354 qeth_l3_update_ipato(card); in qeth_l3_dev_ipato_invert4_store()
358 mutex_unlock(&card->ip_lock); in qeth_l3_dev_ipato_invert4_store()
366 static ssize_t qeth_l3_dev_ipato_add_show(char *buf, struct qeth_card *card, in qeth_l3_dev_ipato_add_show() argument
373 mutex_lock(&card->ip_lock); in qeth_l3_dev_ipato_add_show()
374 list_for_each_entry(ipatoe, &card->ipato.entries, entry) { in qeth_l3_dev_ipato_add_show()
382 mutex_unlock(&card->ip_lock); in qeth_l3_dev_ipato_add_show()
390 struct qeth_card *card = dev_get_drvdata(dev); in qeth_l3_dev_ipato_add4_show() local
392 return qeth_l3_dev_ipato_add_show(buf, card, QETH_PROT_IPV4); in qeth_l3_dev_ipato_add4_show()
423 struct qeth_card *card, enum qeth_prot_versions proto) in qeth_l3_dev_ipato_add_store() argument
442 rc = qeth_l3_add_ipato_entry(card, ipatoe); in qeth_l3_dev_ipato_add_store()
452 struct qeth_card *card = dev_get_drvdata(dev); in qeth_l3_dev_ipato_add4_store() local
454 return qeth_l3_dev_ipato_add_store(buf, count, card, QETH_PROT_IPV4); in qeth_l3_dev_ipato_add4_store()
462 struct qeth_card *card, enum qeth_prot_versions proto) in qeth_l3_dev_ipato_del_store() argument
470 rc = qeth_l3_del_ipato_entry(card, proto, addr, mask_bits); in qeth_l3_dev_ipato_del_store()
477 struct qeth_card *card = dev_get_drvdata(dev); in qeth_l3_dev_ipato_del4_store() local
479 return qeth_l3_dev_ipato_del_store(buf, count, card, QETH_PROT_IPV4); in qeth_l3_dev_ipato_del4_store()
488 struct qeth_card *card = dev_get_drvdata(dev); in qeth_l3_dev_ipato_invert6_show() local
490 return sysfs_emit(buf, "%u\n", card->ipato.invert6 ? 1 : 0); in qeth_l3_dev_ipato_invert6_show()
496 struct qeth_card *card = dev_get_drvdata(dev); in qeth_l3_dev_ipato_invert6_store() local
500 mutex_lock(&card->ip_lock); in qeth_l3_dev_ipato_invert6_store()
502 invert = !card->ipato.invert6; in qeth_l3_dev_ipato_invert6_store()
508 if (card->ipato.invert6 != invert) { in qeth_l3_dev_ipato_invert6_store()
509 card->ipato.invert6 = invert; in qeth_l3_dev_ipato_invert6_store()
510 qeth_l3_update_ipato(card); in qeth_l3_dev_ipato_invert6_store()
514 mutex_unlock(&card->ip_lock); in qeth_l3_dev_ipato_invert6_store()
526 struct qeth_card *card = dev_get_drvdata(dev); in qeth_l3_dev_ipato_add6_show() local
528 return qeth_l3_dev_ipato_add_show(buf, card, QETH_PROT_IPV6); in qeth_l3_dev_ipato_add6_show()
534 struct qeth_card *card = dev_get_drvdata(dev); in qeth_l3_dev_ipato_add6_store() local
536 return qeth_l3_dev_ipato_add_store(buf, count, card, QETH_PROT_IPV6); in qeth_l3_dev_ipato_add6_store()
546 struct qeth_card *card = dev_get_drvdata(dev); in qeth_l3_dev_ipato_del6_store() local
548 return qeth_l3_dev_ipato_del_store(buf, count, card, QETH_PROT_IPV6); in qeth_l3_dev_ipato_del6_store()
574 struct qeth_card *card = dev_get_drvdata(dev); in qeth_l3_dev_ip_add_show() local
580 mutex_lock(&card->ip_lock); in qeth_l3_dev_ip_add_show()
581 hash_for_each(card->ip_htable, i, ipaddr, hnode) { in qeth_l3_dev_ip_add_show()
588 mutex_unlock(&card->ip_lock); in qeth_l3_dev_ip_add_show()
604 struct qeth_card *card = dev_get_drvdata(dev); in qeth_l3_vipa_store() local
610 rc = qeth_l3_modify_rxip_vipa(card, add, addr, in qeth_l3_vipa_store()
711 struct qeth_card *card = dev_get_drvdata(dev); in qeth_l3_rxip_store() local
717 rc = qeth_l3_modify_rxip_vipa(card, add, addr, in qeth_l3_rxip_store()