enic: Add new fw devcmd to set mac address of an interface
This patch adds a new devcmd CMD_SET_MAC_ADDR to set the mac address of an interface. Signed-off-by: Roopa Prabhu <roprabhu@cisco.com> Signed-off-by: Christian Benvenuti <benve@cisco.com> Signed-off-by: Sujith Sankar <ssujith@cisco.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
b13423ee0c
commit
d6c81bc6dc
@@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#define DRV_NAME "enic"
|
#define DRV_NAME "enic"
|
||||||
#define DRV_DESCRIPTION "Cisco VIC Ethernet NIC Driver"
|
#define DRV_DESCRIPTION "Cisco VIC Ethernet NIC Driver"
|
||||||
#define DRV_VERSION "2.1.1.35"
|
#define DRV_VERSION "2.1.1.36"
|
||||||
#define DRV_COPYRIGHT "Copyright 2008-2011 Cisco Systems, Inc"
|
#define DRV_COPYRIGHT "Copyright 2008-2011 Cisco Systems, Inc"
|
||||||
|
|
||||||
#define ENIC_BARS_MAX 6
|
#define ENIC_BARS_MAX 6
|
||||||
|
@@ -1023,3 +1023,15 @@ int vnic_dev_deinit_done(struct vnic_dev *vdev, int *status)
|
|||||||
{
|
{
|
||||||
return vnic_dev_cmd_status(vdev, CMD_DEINIT, status);
|
return vnic_dev_cmd_status(vdev, CMD_DEINIT, status);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int vnic_dev_set_mac_addr(struct vnic_dev *vdev, u8 *mac_addr)
|
||||||
|
{
|
||||||
|
u64 a0, a1;
|
||||||
|
int wait = 1000;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; i < ETH_ALEN; i++)
|
||||||
|
((u8 *)&a0)[i] = mac_addr[i];
|
||||||
|
|
||||||
|
return vnic_dev_cmd(vdev, CMD_SET_MAC_ADDR, &a0, &a1, wait);
|
||||||
|
}
|
||||||
|
@@ -131,5 +131,6 @@ int vnic_dev_init_prov2(struct vnic_dev *vdev, u8 *buf, u32 len);
|
|||||||
int vnic_dev_enable2(struct vnic_dev *vdev, int active);
|
int vnic_dev_enable2(struct vnic_dev *vdev, int active);
|
||||||
int vnic_dev_enable2_done(struct vnic_dev *vdev, int *status);
|
int vnic_dev_enable2_done(struct vnic_dev *vdev, int *status);
|
||||||
int vnic_dev_deinit_done(struct vnic_dev *vdev, int *status);
|
int vnic_dev_deinit_done(struct vnic_dev *vdev, int *status);
|
||||||
|
int vnic_dev_set_mac_addr(struct vnic_dev *vdev, u8 *mac_addr);
|
||||||
|
|
||||||
#endif /* _VNIC_DEV_H_ */
|
#endif /* _VNIC_DEV_H_ */
|
||||||
|
@@ -337,6 +337,15 @@ enum vnic_devcmd_cmd {
|
|||||||
* (u32)a2 = maximum timer value in usec
|
* (u32)a2 = maximum timer value in usec
|
||||||
*/
|
*/
|
||||||
CMD_INTR_COAL_CONVERT = _CMDC(_CMD_DIR_READ, _CMD_VTYPE_ALL, 50),
|
CMD_INTR_COAL_CONVERT = _CMDC(_CMD_DIR_READ, _CMD_VTYPE_ALL, 50),
|
||||||
|
|
||||||
|
/*
|
||||||
|
* cmd_set_mac_addr
|
||||||
|
* set mac address
|
||||||
|
* in:
|
||||||
|
* (u48)a0 = mac addr
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
CMD_SET_MAC_ADDR = _CMDC(_CMD_DIR_WRITE, _CMD_VTYPE_ENET, 55),
|
||||||
};
|
};
|
||||||
|
|
||||||
/* CMD_ENABLE2 flags */
|
/* CMD_ENABLE2 flags */
|
||||||
|
Reference in New Issue
Block a user