Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b51aa367 authored by Kalesh AP's avatar Kalesh AP Committed by David S. Miller
Browse files

be2net: use MCCQ instead of MBOX in be_cmd_rss_config()



be_cmd_rss_config() is called after the MCCQ is created; so this cmd is
now modified to use the MCCQ instead of MBOX. Also fixed some indentation
problem in this routine.

Signed-off-by: default avatarKalesh AP <kalesh.purayil@emulex.com>
Signed-off-by: default avatarSathya Perla <sathya.perla@emulex.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 5c29c09b
Loading
Loading
Loading
Loading
+10 −7
Original line number Original line Diff line number Diff line
@@ -2042,10 +2042,13 @@ int be_cmd_rss_config(struct be_adapter *adapter, u8 *rsstable,
	if (!(be_if_cap_flags(adapter) & BE_IF_FLAGS_RSS))
	if (!(be_if_cap_flags(adapter) & BE_IF_FLAGS_RSS))
		return 0;
		return 0;


	if (mutex_lock_interruptible(&adapter->mbox_lock))
	spin_lock_bh(&adapter->mcc_lock);
		return -1;


	wrb = wrb_from_mbox(adapter);
	wrb = wrb_from_mccq(adapter);
	if (!wrb) {
		status = -EBUSY;
		goto err;
	}
	req = embedded_payload(wrb);
	req = embedded_payload(wrb);


	be_wrb_cmd_hdr_prepare(&req->hdr, CMD_SUBSYSTEM_ETH,
	be_wrb_cmd_hdr_prepare(&req->hdr, CMD_SUBSYSTEM_ETH,
@@ -2055,16 +2058,16 @@ int be_cmd_rss_config(struct be_adapter *adapter, u8 *rsstable,
	req->enable_rss = cpu_to_le16(rss_hash_opts);
	req->enable_rss = cpu_to_le16(rss_hash_opts);
	req->cpu_table_size_log2 = cpu_to_le16(fls(table_size) - 1);
	req->cpu_table_size_log2 = cpu_to_le16(fls(table_size) - 1);


	if (lancer_chip(adapter) || skyhawk_chip(adapter))
	if (!BEx_chip(adapter))
		req->hdr.version = 1;
		req->hdr.version = 1;


	memcpy(req->cpu_table, rsstable, table_size);
	memcpy(req->cpu_table, rsstable, table_size);
	memcpy(req->hash, rss_hkey, RSS_HASH_KEY_LEN);
	memcpy(req->hash, rss_hkey, RSS_HASH_KEY_LEN);
	be_dws_cpu_to_le(req->hash, sizeof(req->hash));
	be_dws_cpu_to_le(req->hash, sizeof(req->hash));


	status = be_mbox_notify_wait(adapter);
	status = be_mcc_notify_wait(adapter);

err:
	mutex_unlock(&adapter->mbox_lock);
	spin_unlock_bh(&adapter->mcc_lock);
	return status;
	return status;
}
}