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: Kalesh AP <kalesh.purayil@emulex.com> Signed-off-by: Sathya Perla <sathya.perla@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
					parent
					
						
							
								5c29c09be7
							
						
					
				
			
			
				commit
				
					
						b51aa36725
					
				
			
		
					 1 changed files with 10 additions and 7 deletions
				
			
		| 
						 | 
					@ -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;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue