diff options
Diffstat (limited to 'drivers/infiniband/core/cache.c')
| -rw-r--r-- | drivers/infiniband/core/cache.c | 87 | 
1 files changed, 40 insertions, 47 deletions
| diff --git a/drivers/infiniband/core/cache.c b/drivers/infiniband/core/cache.c index 5c9fac7cf420..3b0991fedd81 100644 --- a/drivers/infiniband/core/cache.c +++ b/drivers/infiniband/core/cache.c @@ -121,7 +121,7 @@ struct ib_gid_table {  	u32				default_gid_indices;  }; -static void dispatch_gid_change_event(struct ib_device *ib_dev, u8 port) +static void dispatch_gid_change_event(struct ib_device *ib_dev, u32 port)  {  	struct ib_event event; @@ -197,7 +197,7 @@ int ib_cache_gid_parse_type_str(const char *buf)  }  EXPORT_SYMBOL(ib_cache_gid_parse_type_str); -static struct ib_gid_table *rdma_gid_table(struct ib_device *device, u8 port) +static struct ib_gid_table *rdma_gid_table(struct ib_device *device, u32 port)  {  	return device->port_data[port].cache.gid;  } @@ -237,10 +237,10 @@ static void put_gid_ndev(struct rcu_head *head)  static void free_gid_entry_locked(struct ib_gid_table_entry *entry)  {  	struct ib_device *device = entry->attr.device; -	u8 port_num = entry->attr.port_num; +	u32 port_num = entry->attr.port_num;  	struct ib_gid_table *table = rdma_gid_table(device, port_num); -	dev_dbg(&device->dev, "%s port=%d index=%d gid %pI6\n", __func__, +	dev_dbg(&device->dev, "%s port=%u index=%d gid %pI6\n", __func__,  		port_num, entry->attr.index, entry->attr.gid.raw);  	write_lock_irq(&table->rwlock); @@ -282,7 +282,7 @@ static void free_gid_work(struct work_struct *work)  	struct ib_gid_table_entry *entry =  		container_of(work, struct ib_gid_table_entry, del_work);  	struct ib_device *device = entry->attr.device; -	u8 port_num = entry->attr.port_num; +	u32 port_num = entry->attr.port_num;  	struct ib_gid_table *table = rdma_gid_table(device, port_num);  	mutex_lock(&table->lock); @@ -379,7 +379,7 @@ static int add_roce_gid(struct ib_gid_table_entry *entry)   * @ix:		GID entry index to delete   *   */ -static void del_gid(struct ib_device *ib_dev, u8 port, +static void del_gid(struct ib_device *ib_dev, u32 port,  		    struct ib_gid_table *table, int ix)  {  	struct roce_gid_ndev_storage *ndev_storage; @@ -387,7 +387,7 @@ static void del_gid(struct ib_device *ib_dev, u8 port,  	lockdep_assert_held(&table->lock); -	dev_dbg(&ib_dev->dev, "%s port=%d index=%d gid %pI6\n", __func__, port, +	dev_dbg(&ib_dev->dev, "%s port=%u index=%d gid %pI6\n", __func__, port,  		ix, table->data_vec[ix]->attr.gid.raw);  	write_lock_irq(&table->rwlock); @@ -543,7 +543,7 @@ static void make_default_gid(struct  net_device *dev, union ib_gid *gid)  	addrconf_ifid_eui48(&gid->raw[8], dev);  } -static int __ib_cache_gid_add(struct ib_device *ib_dev, u8 port, +static int __ib_cache_gid_add(struct ib_device *ib_dev, u32 port,  			      union ib_gid *gid, struct ib_gid_attr *attr,  			      unsigned long mask, bool default_gid)  { @@ -587,7 +587,7 @@ out_unlock:  	return ret;  } -int ib_cache_gid_add(struct ib_device *ib_dev, u8 port, +int ib_cache_gid_add(struct ib_device *ib_dev, u32 port,  		     union ib_gid *gid, struct ib_gid_attr *attr)  {  	unsigned long mask = GID_ATTR_FIND_MASK_GID | @@ -598,7 +598,7 @@ int ib_cache_gid_add(struct ib_device *ib_dev, u8 port,  }  static int -_ib_cache_gid_del(struct ib_device *ib_dev, u8 port, +_ib_cache_gid_del(struct ib_device *ib_dev, u32 port,  		  union ib_gid *gid, struct ib_gid_attr *attr,  		  unsigned long mask, bool default_gid)  { @@ -627,7 +627,7 @@ out_unlock:  	return ret;  } -int ib_cache_gid_del(struct ib_device *ib_dev, u8 port, +int ib_cache_gid_del(struct ib_device *ib_dev, u32 port,  		     union ib_gid *gid, struct ib_gid_attr *attr)  {  	unsigned long mask = GID_ATTR_FIND_MASK_GID	  | @@ -638,7 +638,7 @@ int ib_cache_gid_del(struct ib_device *ib_dev, u8 port,  	return _ib_cache_gid_del(ib_dev, port, gid, attr, mask, false);  } -int ib_cache_gid_del_all_netdev_gids(struct ib_device *ib_dev, u8 port, +int ib_cache_gid_del_all_netdev_gids(struct ib_device *ib_dev, u32 port,  				     struct net_device *ndev)  {  	struct ib_gid_table *table; @@ -683,7 +683,7 @@ const struct ib_gid_attr *  rdma_find_gid_by_port(struct ib_device *ib_dev,  		      const union ib_gid *gid,  		      enum ib_gid_type gid_type, -		      u8 port, struct net_device *ndev) +		      u32 port, struct net_device *ndev)  {  	int local_index;  	struct ib_gid_table *table; @@ -734,7 +734,7 @@ EXPORT_SYMBOL(rdma_find_gid_by_port);   *   */  const struct ib_gid_attr *rdma_find_gid_by_filter( -	struct ib_device *ib_dev, const union ib_gid *gid, u8 port, +	struct ib_device *ib_dev, const union ib_gid *gid, u32 port,  	bool (*filter)(const union ib_gid *gid, const struct ib_gid_attr *,  		       void *),  	void *context) @@ -818,7 +818,7 @@ static void release_gid_table(struct ib_device *device,  	kfree(table);  } -static void cleanup_gid_table_port(struct ib_device *ib_dev, u8 port, +static void cleanup_gid_table_port(struct ib_device *ib_dev, u32 port,  				   struct ib_gid_table *table)  {  	int i; @@ -834,7 +834,7 @@ static void cleanup_gid_table_port(struct ib_device *ib_dev, u8 port,  	mutex_unlock(&table->lock);  } -void ib_cache_gid_set_default_gid(struct ib_device *ib_dev, u8 port, +void ib_cache_gid_set_default_gid(struct ib_device *ib_dev, u32 port,  				  struct net_device *ndev,  				  unsigned long gid_type_mask,  				  enum ib_cache_gid_default_mode mode) @@ -867,7 +867,7 @@ void ib_cache_gid_set_default_gid(struct ib_device *ib_dev, u8 port,  	}  } -static void gid_table_reserve_default(struct ib_device *ib_dev, u8 port, +static void gid_table_reserve_default(struct ib_device *ib_dev, u32 port,  				      struct ib_gid_table *table)  {  	unsigned int i; @@ -884,7 +884,7 @@ static void gid_table_reserve_default(struct ib_device *ib_dev, u8 port,  static void gid_table_release_one(struct ib_device *ib_dev)  { -	unsigned int p; +	u32 p;  	rdma_for_each_port (ib_dev, p) {  		release_gid_table(ib_dev, ib_dev->port_data[p].cache.gid); @@ -895,7 +895,7 @@ static void gid_table_release_one(struct ib_device *ib_dev)  static int _gid_table_setup_one(struct ib_device *ib_dev)  {  	struct ib_gid_table *table; -	unsigned int rdma_port; +	u32 rdma_port;  	rdma_for_each_port (ib_dev, rdma_port) {  		table = alloc_gid_table( @@ -915,7 +915,7 @@ rollback_table_setup:  static void gid_table_cleanup_one(struct ib_device *ib_dev)  { -	unsigned int p; +	u32 p;  	rdma_for_each_port (ib_dev, p)  		cleanup_gid_table_port(ib_dev, p, @@ -950,7 +950,7 @@ static int gid_table_setup_one(struct ib_device *ib_dev)   * Returns 0 on success or appropriate error code.   *   */ -int rdma_query_gid(struct ib_device *device, u8 port_num, +int rdma_query_gid(struct ib_device *device, u32 port_num,  		   int index, union ib_gid *gid)  {  	struct ib_gid_table *table; @@ -1014,7 +1014,7 @@ const struct ib_gid_attr *rdma_find_gid(struct ib_device *device,  	unsigned long mask = GID_ATTR_FIND_MASK_GID |  			     GID_ATTR_FIND_MASK_GID_TYPE;  	struct ib_gid_attr gid_attr_val = {.ndev = ndev, .gid_type = gid_type}; -	unsigned int p; +	u32 p;  	if (ndev)  		mask |= GID_ATTR_FIND_MASK_NETDEV; @@ -1043,7 +1043,7 @@ const struct ib_gid_attr *rdma_find_gid(struct ib_device *device,  EXPORT_SYMBOL(rdma_find_gid);  int ib_get_cached_pkey(struct ib_device *device, -		       u8                port_num, +		       u32               port_num,  		       int               index,  		       u16              *pkey)  { @@ -1069,9 +1069,8 @@ int ib_get_cached_pkey(struct ib_device *device,  }  EXPORT_SYMBOL(ib_get_cached_pkey); -int ib_get_cached_subnet_prefix(struct ib_device *device, -				u8                port_num, -				u64              *sn_pfx) +int ib_get_cached_subnet_prefix(struct ib_device *device, u32 port_num, +				u64 *sn_pfx)  {  	unsigned long flags; @@ -1086,10 +1085,8 @@ int ib_get_cached_subnet_prefix(struct ib_device *device,  }  EXPORT_SYMBOL(ib_get_cached_subnet_prefix); -int ib_find_cached_pkey(struct ib_device *device, -			u8                port_num, -			u16               pkey, -			u16              *index) +int ib_find_cached_pkey(struct ib_device *device, u32 port_num, +			u16 pkey, u16 *index)  {  	struct ib_pkey_cache *cache;  	unsigned long flags; @@ -1116,8 +1113,9 @@ int ib_find_cached_pkey(struct ib_device *device,  				*index = i;  				ret = 0;  				break; -			} else +			} else {  				partial_ix = i; +			}  		}  	if (ret && partial_ix >= 0) { @@ -1132,10 +1130,8 @@ err:  }  EXPORT_SYMBOL(ib_find_cached_pkey); -int ib_find_exact_cached_pkey(struct ib_device *device, -			      u8                port_num, -			      u16               pkey, -			      u16              *index) +int ib_find_exact_cached_pkey(struct ib_device *device, u32 port_num, +			      u16 pkey, u16 *index)  {  	struct ib_pkey_cache *cache;  	unsigned long flags; @@ -1169,9 +1165,7 @@ err:  }  EXPORT_SYMBOL(ib_find_exact_cached_pkey); -int ib_get_cached_lmc(struct ib_device *device, -		      u8                port_num, -		      u8                *lmc) +int ib_get_cached_lmc(struct ib_device *device, u32 port_num, u8 *lmc)  {  	unsigned long flags;  	int ret = 0; @@ -1187,8 +1181,7 @@ int ib_get_cached_lmc(struct ib_device *device,  }  EXPORT_SYMBOL(ib_get_cached_lmc); -int ib_get_cached_port_state(struct ib_device   *device, -			     u8                  port_num, +int ib_get_cached_port_state(struct ib_device *device, u32 port_num,  			     enum ib_port_state *port_state)  {  	unsigned long flags; @@ -1222,7 +1215,7 @@ EXPORT_SYMBOL(ib_get_cached_port_state);   * code.   */  const struct ib_gid_attr * -rdma_get_gid_attr(struct ib_device *device, u8 port_num, int index) +rdma_get_gid_attr(struct ib_device *device, u32 port_num, int index)  {  	const struct ib_gid_attr *attr = ERR_PTR(-ENODATA);  	struct ib_gid_table *table; @@ -1263,7 +1256,7 @@ ssize_t rdma_query_gid_table(struct ib_device *device,  	const struct ib_gid_attr *gid_attr;  	ssize_t num_entries = 0, ret;  	struct ib_gid_table *table; -	unsigned int port_num, i; +	u32 port_num, i;  	struct net_device *ndev;  	unsigned long flags; @@ -1361,7 +1354,7 @@ struct net_device *rdma_read_gid_attr_ndev_rcu(const struct ib_gid_attr *attr)  			container_of(attr, struct ib_gid_table_entry, attr);  	struct ib_device *device = entry->attr.device;  	struct net_device *ndev = ERR_PTR(-EINVAL); -	u8 port_num = entry->attr.port_num; +	u32 port_num = entry->attr.port_num;  	struct ib_gid_table *table;  	unsigned long flags;  	bool valid; @@ -1441,7 +1434,7 @@ int rdma_read_gid_l2_fields(const struct ib_gid_attr *attr,  EXPORT_SYMBOL(rdma_read_gid_l2_fields);  static int config_non_roce_gid_cache(struct ib_device *device, -				     u8 port, int gid_tbl_len) +				     u32 port, int gid_tbl_len)  {  	struct ib_gid_attr gid_attr = {};  	struct ib_gid_table *table; @@ -1472,7 +1465,7 @@ err:  }  static int -ib_cache_update(struct ib_device *device, u8 port, bool enforce_security) +ib_cache_update(struct ib_device *device, u32 port, bool enforce_security)  {  	struct ib_port_attr       *tprops = NULL;  	struct ib_pkey_cache      *pkey_cache = NULL, *old_pkey_cache; @@ -1621,7 +1614,7 @@ EXPORT_SYMBOL(ib_dispatch_event);  int ib_cache_setup_one(struct ib_device *device)  { -	unsigned int p; +	u32 p;  	int err;  	rwlock_init(&device->cache_lock); @@ -1641,7 +1634,7 @@ int ib_cache_setup_one(struct ib_device *device)  void ib_cache_release_one(struct ib_device *device)  { -	unsigned int p; +	u32 p;  	/*  	 * The release function frees all the cache elements. | 
