1*e6550b3eSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 25df6d737SAbhijeet Joglekar /* 35df6d737SAbhijeet Joglekar * Copyright 2008 Cisco Systems, Inc. All rights reserved. 45df6d737SAbhijeet Joglekar * Copyright 2007 Nuova Systems, Inc. All rights reserved. 55df6d737SAbhijeet Joglekar */ 65df6d737SAbhijeet Joglekar #ifndef _VNIC_RESOURCE_H_ 75df6d737SAbhijeet Joglekar #define _VNIC_RESOURCE_H_ 85df6d737SAbhijeet Joglekar 95df6d737SAbhijeet Joglekar #define VNIC_RES_MAGIC 0x766E6963L /* 'vnic' */ 105df6d737SAbhijeet Joglekar #define VNIC_RES_VERSION 0x00000000L 115df6d737SAbhijeet Joglekar 125df6d737SAbhijeet Joglekar /* vNIC resource types */ 135df6d737SAbhijeet Joglekar enum vnic_res_type { 145df6d737SAbhijeet Joglekar RES_TYPE_EOL, /* End-of-list */ 155df6d737SAbhijeet Joglekar RES_TYPE_WQ, /* Work queues */ 165df6d737SAbhijeet Joglekar RES_TYPE_RQ, /* Receive queues */ 175df6d737SAbhijeet Joglekar RES_TYPE_CQ, /* Completion queues */ 185df6d737SAbhijeet Joglekar RES_TYPE_RSVD1, 195df6d737SAbhijeet Joglekar RES_TYPE_NIC_CFG, /* Enet NIC config registers */ 205df6d737SAbhijeet Joglekar RES_TYPE_RSVD2, 215df6d737SAbhijeet Joglekar RES_TYPE_RSVD3, 225df6d737SAbhijeet Joglekar RES_TYPE_RSVD4, 235df6d737SAbhijeet Joglekar RES_TYPE_RSVD5, 245df6d737SAbhijeet Joglekar RES_TYPE_INTR_CTRL, /* Interrupt ctrl table */ 255df6d737SAbhijeet Joglekar RES_TYPE_INTR_TABLE, /* MSI/MSI-X Interrupt table */ 265df6d737SAbhijeet Joglekar RES_TYPE_INTR_PBA, /* MSI/MSI-X PBA table */ 275df6d737SAbhijeet Joglekar RES_TYPE_INTR_PBA_LEGACY, /* Legacy intr status */ 285df6d737SAbhijeet Joglekar RES_TYPE_RSVD6, 295df6d737SAbhijeet Joglekar RES_TYPE_RSVD7, 305df6d737SAbhijeet Joglekar RES_TYPE_DEVCMD, /* Device command region */ 315df6d737SAbhijeet Joglekar RES_TYPE_PASS_THRU_PAGE, /* Pass-thru page */ 325ed827a6SSatish Kharat RES_TYPE_SUBVNIC, /* subvnic resource type */ 335ed827a6SSatish Kharat RES_TYPE_MQ_WQ, /* MQ Work queues */ 345ed827a6SSatish Kharat RES_TYPE_MQ_RQ, /* MQ Receive queues */ 355ed827a6SSatish Kharat RES_TYPE_MQ_CQ, /* MQ Completion queues */ 365ed827a6SSatish Kharat RES_TYPE_DEPRECATED1, /* Old version of devcmd 2 */ 375ed827a6SSatish Kharat RES_TYPE_DEPRECATED2, /* Old version of devcmd 2 */ 385ed827a6SSatish Kharat RES_TYPE_DEVCMD2, /* Device control region */ 395df6d737SAbhijeet Joglekar 405df6d737SAbhijeet Joglekar RES_TYPE_MAX, /* Count of resource types */ 415df6d737SAbhijeet Joglekar }; 425df6d737SAbhijeet Joglekar 435df6d737SAbhijeet Joglekar struct vnic_resource_header { 445df6d737SAbhijeet Joglekar u32 magic; 455df6d737SAbhijeet Joglekar u32 version; 465df6d737SAbhijeet Joglekar }; 475df6d737SAbhijeet Joglekar 485df6d737SAbhijeet Joglekar struct vnic_resource { 495df6d737SAbhijeet Joglekar u8 type; 505df6d737SAbhijeet Joglekar u8 bar; 515df6d737SAbhijeet Joglekar u8 pad[2]; 525df6d737SAbhijeet Joglekar u32 bar_offset; 535df6d737SAbhijeet Joglekar u32 count; 545df6d737SAbhijeet Joglekar }; 555df6d737SAbhijeet Joglekar 565df6d737SAbhijeet Joglekar #endif /* _VNIC_RESOURCE_H_ */ 57