/* * Copyright(c) 2017 Intel Corporation. * * This file is provided under a dual BSD/GPLv2 license. When using or * redistributing this file, you may do so under either license. * * GPL LICENSE SUMMARY * * This program is free software; you can redistribute it and/or modify * it under the terms of version 2 of the GNU General Public License as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * BSD LICENSE * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * - Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * - Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * - Neither the name of Intel Corporation nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ /* * This file contains OPA VNIC EMA Interface functions. */ #include "opa_vnic_internal.h" /** * opa_vnic_vema_report_event - sent trap to report the specified event * @adapter: vnic port adapter * @event: event to be reported * * This function calls vema api to sent a trap for the given event. */ void opa_vnic_vema_report_event(struct opa_vnic_adapter *adapter, u8 event) { … } /** * opa_vnic_get_summary_counters - get summary counters * @adapter: vnic port adapter * @cntrs: pointer to destination summary counters structure * * This function populates the summary counters that is maintained by the * given adapter to destination address provided. */ void opa_vnic_get_summary_counters(struct opa_vnic_adapter *adapter, struct opa_veswport_summary_counters *cntrs) { … } /** * opa_vnic_get_error_counters - get error counters * @adapter: vnic port adapter * @cntrs: pointer to destination error counters structure * * This function populates the error counters that is maintained by the * given adapter to destination address provided. */ void opa_vnic_get_error_counters(struct opa_vnic_adapter *adapter, struct opa_veswport_error_counters *cntrs) { … } /** * opa_vnic_get_vesw_info -- Get the vesw information * @adapter: vnic port adapter * @info: pointer to destination vesw info structure * * This function copies the vesw info that is maintained by the * given adapter to destination address provided. */ void opa_vnic_get_vesw_info(struct opa_vnic_adapter *adapter, struct opa_vesw_info *info) { … } /** * opa_vnic_set_vesw_info -- Set the vesw information * @adapter: vnic port adapter * @info: pointer to vesw info structure * * This function updates the vesw info that is maintained by the * given adapter with vesw info provided. Reserved fields are stored * and returned back to EM as is. */ void opa_vnic_set_vesw_info(struct opa_vnic_adapter *adapter, struct opa_vesw_info *info) { … } /** * opa_vnic_get_per_veswport_info -- Get the vesw per port information * @adapter: vnic port adapter * @info: pointer to destination vport info structure * * This function copies the vesw per port info that is maintained by the * given adapter to destination address provided. * Note that the read only fields are not copied. */ void opa_vnic_get_per_veswport_info(struct opa_vnic_adapter *adapter, struct opa_per_veswport_info *info) { … } /** * opa_vnic_set_per_veswport_info -- Set vesw per port information * @adapter: vnic port adapter * @info: pointer to vport info structure * * This function updates the vesw per port info that is maintained by the * given adapter with vesw per port info provided. Reserved fields are * stored and returned back to EM as is. */ void opa_vnic_set_per_veswport_info(struct opa_vnic_adapter *adapter, struct opa_per_veswport_info *info) { … } /** * opa_vnic_query_mcast_macs - query multicast mac list * @adapter: vnic port adapter * @macs: pointer mac list * * This function populates the provided mac list with the configured * multicast addresses in the adapter. */ void opa_vnic_query_mcast_macs(struct opa_vnic_adapter *adapter, struct opa_veswport_iface_macs *macs) { … } /** * opa_vnic_query_ucast_macs - query unicast mac list * @adapter: vnic port adapter * @macs: pointer mac list * * This function populates the provided mac list with the configured * unicast addresses in the adapter. */ void opa_vnic_query_ucast_macs(struct opa_vnic_adapter *adapter, struct opa_veswport_iface_macs *macs) { … }