aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/enic/base/vnic_rss.c
blob: f41b8660ff240e6eb9b8637a9a9076c1b4e428eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/* SPDX-License-Identifier: BSD-3-Clause
 * Copyright 2008-2017 Cisco Systems, Inc.  All rights reserved.
 * Copyright 2007 Nuova Systems, Inc.  All rights reserved.
 */

#include "enic_compat.h"
#include "vnic_rss.h"

void vnic_set_rss_key(union vnic_rss_key *rss_key, u8 *key)
{
	u32 i;
	u32 *p;
	u16 *q;

	for (i = 0; i < 4; ++i) {
		p = (u32 *)(key + (10 * i));
		iowrite32(*p++, &rss_key->key[i].b[0]);
		iowrite32(*p++, &rss_key->key[i].b[4]);
		q = (u16 *)p;
		iowrite32(*q, &rss_key->key[i].b[8]);
	}
}