root/usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/vf/basic_vf/lm_vf.h
#ifndef _LM_VF_H
#define _LM_VF_H

#include "lm_vf_common.h"

/* VF_INFO*/
#define MAX_VF_ETH_CONS             ((1 << (LM_VF_MAX_RVFID_SIZE + LM_VF_CID_WND_SIZE + 1)) - MAX_ETH_CONS)    /*128 - MAX_ETH_CONS for single connection*/

#define MAX_NUM_OF_SB_BLOCKS    16
#define SB_ARRAY_SIZE           ((MAX_NUM_OF_SB_BLOCKS - 1)/ELEM_OF_RES_ARRAY_SIZE_IN_BITS + 1)

#define MAX_NUM_OF_CLIENTS      24
#define CLIENTS_ARRAY_SIZE      ((MAX_NUM_OF_CLIENTS - 1)/ELEM_OF_RES_ARRAY_SIZE_IN_BITS + 1)

#define MAX_NUM_OF_STATS        18
#define STATS_ARRAY_SIZE        ((MAX_NUM_OF_STATS - 1)/ELEM_OF_RES_ARRAY_SIZE_IN_BITS + 1)

#define MAX_NUM_OF_CAM_OFFSETS  40
#define CAM_OFFSETS_ARRAY_SIZE  ((MAX_NUM_OF_CAM_OFFSETS - 1)/ELEM_OF_RES_ARRAY_SIZE_IN_BITS + 1)

#define MAX_NUM_OF_VFS          64
#define FLRED_VFS_ARRAY_SIZE    ((MAX_NUM_OF_VFS - 1)/ELEM_OF_RES_ARRAY_SIZE_IN_BITS + 1)
/**
typedef struct _vf_info_t {
    struct _lm_device_t *   ppfdev;

    u8_t            num_fw_sbs;
    u8_t            stats_id;

    u8_t            base_fw_client_id;
    u8_t            base_fw_sb_id;
    u8_t            base_cam_offset;

} vf_info_t;
*/
typedef struct _pf_resources_set_t {
    u32_t   free_sbs[SB_ARRAY_SIZE];
    u32_t   free_clients[CLIENTS_ARRAY_SIZE];
    u32_t   free_stats[CLIENTS_ARRAY_SIZE];
    u32_t   free_cam_offsets[CAM_OFFSETS_ARRAY_SIZE];
    u32_t   flred_vfs[FLRED_VFS_ARRAY_SIZE];
} pf_resources_set_t;
#endif
/* */