summaryrefslogtreecommitdiff
path: root/drivers/net/benet/be.h
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2010-09-07 10:48:27 +1000
committerStephen Rothwell <sfr@canb.auug.org.au>2010-09-07 10:48:27 +1000
commit6d891a1c48e046119903e3df5407bb747692548e (patch)
treee6adf3ec1baaa5ce416de5c258f3b5f2abb42a9f /drivers/net/benet/be.h
parent40f9aa93e528e01f194f2f2fa5e81b572a6f5f12 (diff)
parent3e502e63586920f219ed2590f69c1f5a8888cfa4 (diff)
Merge remote branch 'net/master'
Diffstat (limited to 'drivers/net/benet/be.h')
-rw-r--r--drivers/net/benet/be.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/net/benet/be.h b/drivers/net/benet/be.h
index 99197bd54da5..d1fb7928ffc5 100644
--- a/drivers/net/benet/be.h
+++ b/drivers/net/benet/be.h
@@ -413,6 +413,20 @@ static inline void be_check_sriov_fn_type(struct be_adapter *adapter)
adapter->is_virtfn = (data != 0xAA);
}
+static inline void be_vf_eth_addr_generate(struct be_adapter *adapter, u8 *mac)
+{
+ u32 addr;
+
+ addr = jhash(adapter->netdev->dev_addr, ETH_ALEN, 0);
+
+ mac[5] = (u8)(addr & 0xFF);
+ mac[4] = (u8)((addr >> 8) & 0xFF);
+ mac[3] = (u8)((addr >> 16) & 0xFF);
+ mac[2] = 0xC9;
+ mac[1] = 0x00;
+ mac[0] = 0x00;
+}
+
extern void be_cq_notify(struct be_adapter *adapter, u16 qid, bool arm,
u16 num_popped);
extern void be_link_status_update(struct be_adapter *adapter, bool link_up);