Lines Matching full:offload
609 struct wmi_arp_ns_offload_arg *offload) in ath12k_wow_generate_ns_mc_addr() argument
613 for (i = 0; i < offload->ipv6_count; i++) { in ath12k_wow_generate_ns_mc_addr()
614 offload->self_ipv6_addr[i][0] = 0xff; in ath12k_wow_generate_ns_mc_addr()
615 offload->self_ipv6_addr[i][1] = 0x02; in ath12k_wow_generate_ns_mc_addr()
616 offload->self_ipv6_addr[i][11] = 0x01; in ath12k_wow_generate_ns_mc_addr()
617 offload->self_ipv6_addr[i][12] = 0xff; in ath12k_wow_generate_ns_mc_addr()
618 offload->self_ipv6_addr[i][13] = in ath12k_wow_generate_ns_mc_addr()
619 offload->ipv6_addr[i][13]; in ath12k_wow_generate_ns_mc_addr()
620 offload->self_ipv6_addr[i][14] = in ath12k_wow_generate_ns_mc_addr()
621 offload->ipv6_addr[i][14]; in ath12k_wow_generate_ns_mc_addr()
622 offload->self_ipv6_addr[i][15] = in ath12k_wow_generate_ns_mc_addr()
623 offload->ipv6_addr[i][15]; in ath12k_wow_generate_ns_mc_addr()
625 offload->self_ipv6_addr[i]); in ath12k_wow_generate_ns_mc_addr()
630 struct wmi_arp_ns_offload_arg *offload) in ath12k_wow_prepare_ns_offload() argument
646 ath12k_dbg(ab, ATH12K_DBG_WOW, "wow prepare ns offload\n"); in ath12k_wow_prepare_ns_offload()
666 memcpy(offload->ipv6_addr[count], &ifa6->addr.s6_addr, in ath12k_wow_prepare_ns_offload()
668 offload->ipv6_type[count] = WMI_IPV6_UC_TYPE; in ath12k_wow_prepare_ns_offload()
670 count, offload->ipv6_addr[count], in ath12k_wow_prepare_ns_offload()
693 memcpy(offload->ipv6_addr[count], &ifaca6->aca_addr, in ath12k_wow_prepare_ns_offload()
695 offload->ipv6_type[count] = WMI_IPV6_AC_TYPE; in ath12k_wow_prepare_ns_offload()
697 count, offload->ipv6_addr[count], in ath12k_wow_prepare_ns_offload()
709 offload->ipv6_count = count; in ath12k_wow_prepare_ns_offload()
710 ath12k_wow_generate_ns_mc_addr(ab, offload); in ath12k_wow_prepare_ns_offload()
714 struct wmi_arp_ns_offload_arg *offload) in ath12k_wow_prepare_arp_offload() argument
721 ath12k_dbg(ab, ATH12K_DBG_WOW, "wow prepare arp offload\n"); in ath12k_wow_prepare_arp_offload()
724 memcpy(offload->ipv4_addr, vif_cfg.arp_addr_list, ipv4_cnt * sizeof(u32)); in ath12k_wow_prepare_arp_offload()
725 offload->ipv4_count = ipv4_cnt; in ath12k_wow_prepare_arp_offload()
729 vif_cfg.arp_addr_cnt, vif->addr, offload->ipv4_addr); in ath12k_wow_prepare_arp_offload()
734 struct wmi_arp_ns_offload_arg *offload; in ath12k_wow_arp_ns_offload() local
740 offload = kmalloc(sizeof(*offload), GFP_KERNEL); in ath12k_wow_arp_ns_offload()
741 if (!offload) in ath12k_wow_arp_ns_offload()
748 memset(offload, 0, sizeof(*offload)); in ath12k_wow_arp_ns_offload()
750 memcpy(offload->mac_addr, arvif->vif->addr, ETH_ALEN); in ath12k_wow_arp_ns_offload()
751 ath12k_wow_prepare_ns_offload(arvif, offload); in ath12k_wow_arp_ns_offload()
752 ath12k_wow_prepare_arp_offload(arvif, offload); in ath12k_wow_arp_ns_offload()
754 ret = ath12k_wmi_arp_ns_offload(ar, arvif, offload, enable); in ath12k_wow_arp_ns_offload()
756 ath12k_warn(ar->ab, "failed to set arp ns offload vdev %i: enable %d, ret %d\n", in ath12k_wow_arp_ns_offload()
762 kfree(offload); in ath12k_wow_arp_ns_offload()
780 /* get rekey info before disable rekey offload */ in ath12k_gtk_rekey_offload()
793 ath12k_warn(ar->ab, "failed to offload gtk reky vdev %i: enable %d, ret %d\n", in ath12k_gtk_rekey_offload()
808 ath12k_warn(ar->ab, "failed to offload ARP and NS %d %d\n", in ath12k_wow_protocol_offload()
815 ath12k_warn(ar->ab, "failed to offload gtk rekey %d %d\n", in ath12k_wow_protocol_offload()
866 ath12k_warn(ar->ab, "failed to set wow protocol offload events: %d\n", in ath12k_wow_op_suspend()
967 ath12k_warn(ar->ab, "failed to clear wow protocol offload events: %d\n", in ath12k_wow_op_resume()