Files
linux-nv-oot/drivers/net/ethernet/nvidia/nvethernet/ether_export.h
Revanth Kumar Uppala e37e03efd9 nvethernet: Enable nvethernet driver support
Enable nvethernet driver support for K5.15

Bug 3793131

Change-Id: I2a6d46c9173ea633931308c34e950b404f54796d
Signed-off-by: Revanth Kumar Uppala <ruppala@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2801126
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Mohan Thadikamalla <mohant@nvidia.com>
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-29 04:06:17 -08:00

64 lines
1.8 KiB
C

/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2019-2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved */
#ifndef ETHER_EXPORT_H
#define ETHER_EXPORT_H
#include <nvethernetrm_export.h>
/**
* @addtogroup private IOCTL related info
*
* @brief MACRO are defined for driver supported
* private IOCTLs. These IOCTLs can be called using
* SIOCDEVPRIVATE custom ioctl command.
* @{
*/
/** Line speed */
#define EQOS_GET_CONNECTED_SPEED 25
/** To set HW AVB configuration from user application */
#define ETHER_AVB_ALGORITHM 27
/** To get current configuration in HW */
#define ETHER_GET_AVB_ALGORITHM 46
/** To configure EST(802.1 bv) in HW */
#define ETHER_CONFIG_EST 49
/** For configure FPE (802.1 bu + 803.2 br) in HW */
#define ETHER_CONFIG_FPE 50
/* FRP command */
#define ETHER_CONFIG_FRP_CMD 51
/** To configure L2 Filter (Only with Ethernet virtualization) */
#define ETHER_L2_ADDR 61
/** @} */
/**
* @brief Structure for L2 filters input
*/
struct ether_l2_filter {
/** indicates enable(1)/disable(0) L2 filter */
nveu32_t en_dis;
/** Indicates the index of the filter to be modified.
* Filter index must be between 0 - 31 */
nveu32_t index;
/** Ethernet MAC address to be added */
nveu8_t mac_address[OSI_ETH_ALEN];
};
/**
* @brief struct ether_exported_ifr_data - Private data of struct ifreq
*/
struct ether_exported_ifr_data {
/** Flags used for specific ioctl - like enable/disable */
nveu32_t if_flags;
/** qinx: Queue index to be used for certain ioctls */
nveu32_t qinx;
/** The private ioctl command number */
nveu32_t ifcmd;
/** Used to query the connected link speed */
nveu32_t connected_speed;
/** The return value of IOCTL handler func */
nve32_t command_error;
/** IOCTL cmd specific structure pointer */
void *ptr;
};
#endif /* ETHER_EXPORT_H */