indir             143 drivers/net/dsa/bcm_sf2.h 	u32 indir, dir;							\
indir             146 drivers/net/dsa/bcm_sf2.h 	indir = reg_readl(priv, REG_DIR_DATA_READ);			\
indir             148 drivers/net/dsa/bcm_sf2.h 	return (u64)indir << 32 | dir;					\
indir             639 drivers/net/ethernet/amazon/ena/ena_ethtool.c static int ena_indirection_table_get(struct ena_adapter *adapter, u32 *indir)
indir             644 drivers/net/ethernet/amazon/ena/ena_ethtool.c 	if (!indir)
indir             647 drivers/net/ethernet/amazon/ena/ena_ethtool.c 	rc = ena_com_indirect_table_get(ena_dev, indir);
indir             656 drivers/net/ethernet/amazon/ena/ena_ethtool.c 		indir[i] = ENA_IO_RXQ_IDX_TO_COMBINED_IDX(indir[i]);
indir             661 drivers/net/ethernet/amazon/ena/ena_ethtool.c static int ena_get_rxfh(struct net_device *netdev, u32 *indir, u8 *key,
indir             669 drivers/net/ethernet/amazon/ena/ena_ethtool.c 	rc = ena_indirection_table_get(adapter, indir);
indir             710 drivers/net/ethernet/amazon/ena/ena_ethtool.c static int ena_set_rxfh(struct net_device *netdev, const u32 *indir,
indir             718 drivers/net/ethernet/amazon/ena/ena_ethtool.c 	if (indir) {
indir             722 drivers/net/ethernet/amazon/ena/ena_ethtool.c 							       ENA_IO_RXQ_IDX(indir[i]));
indir             548 drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c static int xgbe_get_rxfh(struct net_device *netdev, u32 *indir, u8 *key,
indir             554 drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c 	if (indir) {
indir             556 drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c 			indir[i] = XGMAC_GET_BITS(pdata->rss_table[i],
indir             569 drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c static int xgbe_set_rxfh(struct net_device *netdev, const u32 *indir,
indir             581 drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c 	if (indir) {
indir             582 drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c 		ret = hw_if->set_rss_lookup_table(pdata, indir);
indir             183 drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c static int aq_ethtool_get_rss(struct net_device *ndev, u32 *indir, u8 *key,
indir             192 drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c 	if (indir) {
indir             194 drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c 			indir[i] = cfg->aq_rss.indirection_table[i];
indir             202 drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c static int aq_ethtool_set_rss(struct net_device *netdev, const u32 *indir,
indir             218 drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c 	if (indir)
indir             220 drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c 			cfg->aq_rss.indirection_table[i] = indir[i];
indir            3487 drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c static int bnx2x_get_rxfh(struct net_device *dev, u32 *indir, u8 *key,
indir            3496 drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c 	if (!indir)
indir            3512 drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c 		indir[i] = ind_table[i] - bp->fp->cl_id;
indir            3517 drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c static int bnx2x_set_rxfh(struct net_device *dev, const u32 *indir,
indir            3530 drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c 	if (!indir)
indir            3543 drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c 		bp->rss_conf_obj.ind_table[i] = indir[i] + bp->fp->cl_id;
indir            1208 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c static int bnxt_get_rxfh(struct net_device *dev, u32 *indir, u8 *key,
indir            1222 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c 	if (indir && vnic->rss_table) {
indir            1224 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c 			indir[i] = le16_to_cpu(vnic->rss_table[i]);
indir            12644 drivers/net/ethernet/broadcom/tg3.c static int tg3_get_rxfh(struct net_device *dev, u32 *indir, u8 *key, u8 *hfunc)
indir            12651 drivers/net/ethernet/broadcom/tg3.c 	if (!indir)
indir            12655 drivers/net/ethernet/broadcom/tg3.c 		indir[i] = tp->rss_ind_tbl[i];
indir            12660 drivers/net/ethernet/broadcom/tg3.c static int tg3_set_rxfh(struct net_device *dev, const u32 *indir, const u8 *key,
indir            12673 drivers/net/ethernet/broadcom/tg3.c 	if (!indir)
indir            12677 drivers/net/ethernet/broadcom/tg3.c 		tp->rss_ind_tbl[i] = indir[i];
indir             651 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c static int nicvf_get_rxfh(struct net_device *dev, u32 *indir, u8 *hkey,
indir             658 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	if (indir) {
indir             660 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 			indir[idx] = rss->ind_tbl[idx];
indir             672 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c static int nicvf_set_rxfh(struct net_device *dev, const u32 *indir,
indir             688 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	if (indir) {
indir             690 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 			rss->ind_tbl[idx] = indir[idx];
indir             599 drivers/net/ethernet/cisco/enic/enic_ethtool.c static int enic_get_rxfh(struct net_device *netdev, u32 *indir, u8 *hkey,
indir             613 drivers/net/ethernet/cisco/enic/enic_ethtool.c static int enic_set_rxfh(struct net_device *netdev, const u32 *indir,
indir             619 drivers/net/ethernet/cisco/enic/enic_ethtool.c 	    indir)
indir            1269 drivers/net/ethernet/emulex/benet/be_ethtool.c static int be_get_rxfh(struct net_device *netdev, u32 *indir, u8 *hkey,
indir            1276 drivers/net/ethernet/emulex/benet/be_ethtool.c 	if (indir) {
indir            1278 drivers/net/ethernet/emulex/benet/be_ethtool.c 			indir[i] = rss->rss_queue[i];
indir            1290 drivers/net/ethernet/emulex/benet/be_ethtool.c static int be_set_rxfh(struct net_device *netdev, const u32 *indir,
indir            1301 drivers/net/ethernet/emulex/benet/be_ethtool.c 	if (indir) {
indir            1305 drivers/net/ethernet/emulex/benet/be_ethtool.c 			j = indir[i];
indir             486 drivers/net/ethernet/freescale/enetc/enetc_ethtool.c static int enetc_get_rxfh(struct net_device *ndev, u32 *indir, u8 *key,
indir             503 drivers/net/ethernet/freescale/enetc/enetc_ethtool.c 	if (indir)
indir             504 drivers/net/ethernet/freescale/enetc/enetc_ethtool.c 		err = enetc_get_rss_table(priv->si, indir, priv->si->num_rss);
indir             517 drivers/net/ethernet/freescale/enetc/enetc_ethtool.c static int enetc_set_rxfh(struct net_device *ndev, const u32 *indir,
indir             529 drivers/net/ethernet/freescale/enetc/enetc_ethtool.c 	if (indir)
indir             530 drivers/net/ethernet/freescale/enetc/enetc_ethtool.c 		err = enetc_set_rss_table(priv->si, indir, priv->si->num_rss);
indir             530 drivers/net/ethernet/hisilicon/hns/hnae.h 	int	(*get_rss)(struct hnae_handle *handle, u32 *indir, u8 *key,
indir             532 drivers/net/ethernet/hisilicon/hns/hnae.h 	int	(*set_rss)(struct hnae_handle *handle, const u32 *indir,
indir             910 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c static int hns_ae_get_rss(struct hnae_handle *handle, u32 *indir, u8 *key,
indir             924 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c 	if (indir)
indir             925 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c 		memcpy(indir, ppe_cb->rss_indir_table,
indir             926 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c 		       HNS_PPEV2_RSS_IND_TBL_SIZE  * sizeof(*indir));
indir             931 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c static int hns_ae_set_rss(struct hnae_handle *handle, const u32 *indir,
indir             942 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c 	if (indir) {
indir             944 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c 		memcpy(ppe_cb->rss_indir_table, indir,
indir             945 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c 		       HNS_PPEV2_RSS_IND_TBL_SIZE  * sizeof(*indir));
indir            1207 drivers/net/ethernet/hisilicon/hns/hns_ethtool.c hns_get_rss(struct net_device *netdev, u32 *indir, u8 *key, u8 *hfunc)
indir            1220 drivers/net/ethernet/hisilicon/hns/hns_ethtool.c 	if (!indir)
indir            1223 drivers/net/ethernet/hisilicon/hns/hns_ethtool.c 	return ops->get_rss(priv->ae_handle, indir, key, hfunc);
indir            1227 drivers/net/ethernet/hisilicon/hns/hns_ethtool.c hns_set_rss(struct net_device *netdev, const u32 *indir, const u8 *key,
indir            1246 drivers/net/ethernet/hisilicon/hns/hns_ethtool.c 	return ops->set_rss(priv->ae_handle, indir, key, hfunc);
indir             457 drivers/net/ethernet/hisilicon/hns3/hnae3.h 	int (*get_rss)(struct hnae3_handle *handle, u32 *indir, u8 *key,
indir             459 drivers/net/ethernet/hisilicon/hns3/hnae3.h 	int (*set_rss)(struct hnae3_handle *handle, const u32 *indir,
indir             827 drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c static int hns3_get_rss(struct net_device *netdev, u32 *indir, u8 *key,
indir             835 drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c 	return h->ae_algo->ops->get_rss(h, indir, key, hfunc);
indir             838 drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c static int hns3_set_rss(struct net_device *netdev, const u32 *indir,
indir             853 drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c 	if (!indir) {
indir             859 drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c 	return h->ae_algo->ops->set_rss(h, indir, key, hfunc);
indir            4046 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c static int hclge_set_rss_indir_table(struct hclge_dev *hdev, const u8 *indir)
indir            4065 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 				indir[i * HCLGE_RSS_CFG_TBL_SIZE + j];
indir            4152 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c static int hclge_get_rss(struct hnae3_handle *handle, u32 *indir,
indir            4178 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	if (indir)
indir            4180 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 			indir[i] =  vport->rss_indirection_tbl[i];
indir            4185 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c static int hclge_set_rss(struct hnae3_handle *handle, const u32 *indir,
indir            4220 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 		vport->rss_indirection_tbl[i] = indir[i];
indir             601 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	const u8 *indir = hdev->rss_cfg.rss_indirection_tbl;
indir             616 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 				indir[i * HCLGEVF_RSS_CFG_TBL_SIZE + j];
indir             707 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c static int hclgevf_get_rss(struct hnae3_handle *handle, u32 *indir, u8 *key,
indir             746 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	if (indir)
indir             748 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 			indir[i] = rss_cfg->rss_indirection_tbl[i];
indir             753 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c static int hclgevf_set_rss(struct hnae3_handle *handle, const u32 *indir,
indir             791 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 		rss_cfg->rss_indirection_tbl[i] = indir[i];
indir             296 drivers/net/ethernet/huawei/hinic/hinic_ethtool.c 			  const u32 *indir, const u8 *key)
indir             301 drivers/net/ethernet/huawei/hinic/hinic_ethtool.c 	if (indir) {
indir             310 drivers/net/ethernet/huawei/hinic/hinic_ethtool.c 		memcpy(nic_dev->rss_indir_user, indir,
indir             314 drivers/net/ethernet/huawei/hinic/hinic_ethtool.c 					      nic_dev->rss_tmpl_idx, indir);
indir             378 drivers/net/ethernet/huawei/hinic/hinic_ethtool.c 			  u32 *indir, u8 *key, u8 *hfunc)
indir             397 drivers/net/ethernet/huawei/hinic/hinic_ethtool.c 	if (indir) {
indir             399 drivers/net/ethernet/huawei/hinic/hinic_ethtool.c 					      nic_dev->rss_tmpl_idx, indir);
indir             411 drivers/net/ethernet/huawei/hinic/hinic_ethtool.c static int hinic_set_rxfh(struct net_device *netdev, const u32 *indir,
indir             434 drivers/net/ethernet/huawei/hinic/hinic_ethtool.c 	err = __set_rss_rxfh(netdev, indir, key);
indir             672 drivers/net/ethernet/huawei/hinic/hinic_port.c 	hinic_be32_to_cpu(rss_cfg.indir, HINIC_RSS_INDIR_SIZE);
indir             674 drivers/net/ethernet/huawei/hinic/hinic_port.c 		indir_table[i] = rss_cfg.indir[i];
indir             305 drivers/net/ethernet/huawei/hinic/hinic_port.h 	u8      indir[HINIC_RSS_INDIR_SIZE];
indir             528 drivers/net/ethernet/intel/fm10k/fm10k.h void fm10k_write_reta(struct fm10k_intfc *interface, const u32 *indir);
indir             971 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c void fm10k_write_reta(struct fm10k_intfc *interface, const u32 *indir)
indir             984 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c 			if (indir)
indir             985 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c 				n = indir[4 * i + j];
indir            1006 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c static int fm10k_get_reta(struct net_device *netdev, u32 *indir)
indir            1011 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c 	if (!indir)
indir            1014 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c 	for (i = 0; i < FM10K_RETA_SIZE; i++, indir += 4) {
indir            1017 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c 		indir[0] = (reta << 24) >> 24;
indir            1018 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c 		indir[1] = (reta << 16) >> 24;
indir            1019 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c 		indir[2] = (reta <<  8) >> 24;
indir            1020 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c 		indir[3] = (reta) >> 24;
indir            1026 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c static int fm10k_set_reta(struct net_device *netdev, const u32 *indir)
indir            1032 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c 	if (!indir)
indir            1038 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c 		if (indir[i] < rss_i)
indir            1043 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c 	fm10k_write_reta(interface, indir);
indir            1053 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c static int fm10k_get_rssh(struct net_device *netdev, u32 *indir, u8 *key,
indir            1062 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c 	err = fm10k_get_reta(netdev, indir);
indir            1072 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c static int fm10k_set_rssh(struct net_device *netdev, const u32 *indir,
indir            1083 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c 	err = fm10k_set_reta(netdev, indir);
indir            4743 drivers/net/ethernet/intel/i40e/i40e_ethtool.c static int i40e_get_rxfh(struct net_device *netdev, u32 *indir, u8 *key,
indir            4755 drivers/net/ethernet/intel/i40e/i40e_ethtool.c 	if (!indir)
indir            4766 drivers/net/ethernet/intel/i40e/i40e_ethtool.c 		indir[i] = (u32)(lut[i]);
indir            4784 drivers/net/ethernet/intel/i40e/i40e_ethtool.c static int i40e_set_rxfh(struct net_device *netdev, const u32 *indir,
indir            4813 drivers/net/ethernet/intel/i40e/i40e_ethtool.c 	if (indir)
indir            4815 drivers/net/ethernet/intel/i40e/i40e_ethtool.c 			vsi->rss_lut_user[i] = (u8)(indir[i]);
indir             947 drivers/net/ethernet/intel/iavf/iavf_ethtool.c static int iavf_get_rxfh(struct net_device *netdev, u32 *indir, u8 *key,
indir             955 drivers/net/ethernet/intel/iavf/iavf_ethtool.c 	if (!indir)
indir             962 drivers/net/ethernet/intel/iavf/iavf_ethtool.c 		indir[i] = (u32)adapter->rss_lut[i];
indir             977 drivers/net/ethernet/intel/iavf/iavf_ethtool.c static int iavf_set_rxfh(struct net_device *netdev, const u32 *indir,
indir             987 drivers/net/ethernet/intel/iavf/iavf_ethtool.c 	if (!indir)
indir             995 drivers/net/ethernet/intel/iavf/iavf_ethtool.c 		adapter->rss_lut[i] = (u8)(indir[i]);
indir            2985 drivers/net/ethernet/intel/ice/ice_ethtool.c ice_get_rxfh(struct net_device *netdev, u32 *indir, u8 *key, u8 *hfunc)
indir            2996 drivers/net/ethernet/intel/ice/ice_ethtool.c 	if (!indir)
indir            3015 drivers/net/ethernet/intel/ice/ice_ethtool.c 		indir[i] = (u32)(lut[i]);
indir            3033 drivers/net/ethernet/intel/ice/ice_ethtool.c ice_set_rxfh(struct net_device *netdev, const u32 *indir, const u8 *key,
indir            3072 drivers/net/ethernet/intel/ice/ice_ethtool.c 	if (indir) {
indir            3076 drivers/net/ethernet/intel/ice/ice_ethtool.c 			vsi->rss_lut_user[i] = (u8)(indir[i]);
indir            3293 drivers/net/ethernet/intel/igb/igb_ethtool.c static int igb_get_rxfh(struct net_device *netdev, u32 *indir, u8 *key,
indir            3301 drivers/net/ethernet/intel/igb/igb_ethtool.c 	if (!indir)
indir            3304 drivers/net/ethernet/intel/igb/igb_ethtool.c 		indir[i] = adapter->rss_indir_tbl[i];
indir            3344 drivers/net/ethernet/intel/igb/igb_ethtool.c static int igb_set_rxfh(struct net_device *netdev, const u32 *indir,
indir            3356 drivers/net/ethernet/intel/igb/igb_ethtool.c 	if (!indir)
indir            3373 drivers/net/ethernet/intel/igb/igb_ethtool.c 		if (indir[i] >= num_queues)
indir            3378 drivers/net/ethernet/intel/igb/igb_ethtool.c 		adapter->rss_indir_tbl[i] = indir[i];
indir            1503 drivers/net/ethernet/intel/igc/igc_ethtool.c static int igc_get_rxfh(struct net_device *netdev, u32 *indir, u8 *key,
indir            1511 drivers/net/ethernet/intel/igc/igc_ethtool.c 	if (!indir)
indir            1514 drivers/net/ethernet/intel/igc/igc_ethtool.c 		indir[i] = adapter->rss_indir_tbl[i];
indir            1519 drivers/net/ethernet/intel/igc/igc_ethtool.c static int igc_set_rxfh(struct net_device *netdev, const u32 *indir,
indir            1530 drivers/net/ethernet/intel/igc/igc_ethtool.c 	if (!indir)
indir            1537 drivers/net/ethernet/intel/igc/igc_ethtool.c 		if (indir[i] >= num_queues)
indir            1541 drivers/net/ethernet/intel/igc/igc_ethtool.c 		adapter->rss_indir_tbl[i] = indir[i];
indir            2975 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c static void ixgbe_get_reta(struct ixgbe_adapter *adapter, u32 *indir)
indir            2984 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c 		indir[i] = adapter->rss_indir_tbl[i] & rss_m;
indir            2987 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c static int ixgbe_get_rxfh(struct net_device *netdev, u32 *indir, u8 *key,
indir            2995 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c 	if (indir)
indir            2996 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c 		ixgbe_get_reta(adapter, indir);
indir            3004 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c static int ixgbe_set_rxfh(struct net_device *netdev, const u32 *indir,
indir            3015 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c 	if (indir) {
indir            3026 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c 			if (indir[i] >= max_queues)
indir            3030 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c 			adapter->rss_indir_tbl[i] = indir[i];
indir             898 drivers/net/ethernet/intel/ixgbevf/ethtool.c static int ixgbevf_get_rxfh(struct net_device *netdev, u32 *indir, u8 *key,
indir             912 drivers/net/ethernet/intel/ixgbevf/ethtool.c 		if (indir) {
indir             916 drivers/net/ethernet/intel/ixgbevf/ethtool.c 				indir[i] = adapter->rss_indir_tbl[i];
indir             922 drivers/net/ethernet/intel/ixgbevf/ethtool.c 		if (!indir && !key)
indir             926 drivers/net/ethernet/intel/ixgbevf/ethtool.c 		if (indir)
indir             927 drivers/net/ethernet/intel/ixgbevf/ethtool.c 			err = ixgbevf_get_reta_locked(&adapter->hw, indir,
indir             456 drivers/net/ethernet/marvell/mvneta.c 	u32 indir[MVNETA_RSS_LU_TABLE_SIZE];
indir            4199 drivers/net/ethernet/marvell/mvneta.c 	pp->rxq_def = pp->indir[0];
indir            4230 drivers/net/ethernet/marvell/mvneta.c static int mvneta_ethtool_set_rxfh(struct net_device *dev, const u32 *indir,
indir            4246 drivers/net/ethernet/marvell/mvneta.c 	if (!indir)
indir            4249 drivers/net/ethernet/marvell/mvneta.c 	memcpy(pp->indir, indir, MVNETA_RSS_LU_TABLE_SIZE);
indir            4254 drivers/net/ethernet/marvell/mvneta.c static int mvneta_ethtool_get_rxfh(struct net_device *dev, u32 *indir, u8 *key,
indir            4266 drivers/net/ethernet/marvell/mvneta.c 	if (!indir)
indir            4269 drivers/net/ethernet/marvell/mvneta.c 	memcpy(indir, pp->indir, MVNETA_RSS_LU_TABLE_SIZE);
indir            4549 drivers/net/ethernet/marvell/mvneta.c 	pp->indir[0] = rxq_def;
indir             751 drivers/net/ethernet/marvell/mvpp2/mvpp2.h 	u32 indir[MVPP22_RSS_TABLE_ENTRIES];
indir            1476 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c 			    mvpp22_rxfh_indir(port, table->indir[i]));
indir            1586 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c 				  const u32 *indir)
indir            1595 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c 	memcpy(rss_table->indir, indir,
indir            1596 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c 	       MVPP22_RSS_TABLE_ENTRIES * sizeof(rss_table->indir[0]));
indir            1604 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c 				  u32 *indir)
indir            1613 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c 	memcpy(indir, rss_table->indir,
indir            1614 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c 	       MVPP22_RSS_TABLE_ENTRIES * sizeof(rss_table->indir[0]));
indir            1723 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c 		table->indir[i] = ethtool_rxfh_indir_default(i, port->nrxqs);
indir             271 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.h 				  const u32 *indir);
indir             273 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.h 				  u32 *indir);
indir            4275 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c static int mvpp2_ethtool_get_rxfh(struct net_device *dev, u32 *indir, u8 *key,
indir            4284 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c 	if (indir)
indir            4285 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c 		ret = mvpp22_port_rss_ctx_indir_get(port, 0, indir);
indir            4293 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c static int mvpp2_ethtool_set_rxfh(struct net_device *dev, const u32 *indir,
indir            4308 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c 	if (indir)
indir            4309 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c 		ret = mvpp22_port_rss_ctx_indir_set(port, 0, indir);
indir            4314 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c static int mvpp2_ethtool_get_rxfh_context(struct net_device *dev, u32 *indir,
indir            4328 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c 	if (indir)
indir            4329 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c 		ret = mvpp22_port_rss_ctx_indir_get(port, rss_context, indir);
indir            4335 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c 					  const u32 *indir, const u8 *key,
indir            4360 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c 	return mvpp22_port_rss_ctx_indir_set(port, *rss_context, indir);
indir            1136 drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c static int mlx5e_get_rxfh(struct net_device *netdev, u32 *indir, u8 *key,
indir            1142 drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c 	if (indir)
indir            1143 drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c 		memcpy(indir, rss->indirection_rqt,
indir            1156 drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c static int mlx5e_set_rxfh(struct net_device *dev, const u32 *indir,
indir            1181 drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c 	if (indir) {
indir            1182 drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c 		memcpy(rss->indirection_rqt, indir,
indir             575 drivers/net/ethernet/microchip/lan743x_ethtool.c 				    u32 *indir, u8 *key, u8 *hfunc)
indir             579 drivers/net/ethernet/microchip/lan743x_ethtool.c 	if (indir) {
indir             588 drivers/net/ethernet/microchip/lan743x_ethtool.c 			indir[byte_index + 0] =
indir             590 drivers/net/ethernet/microchip/lan743x_ethtool.c 			indir[byte_index + 1] =
indir             592 drivers/net/ethernet/microchip/lan743x_ethtool.c 			indir[byte_index + 2] =
indir             594 drivers/net/ethernet/microchip/lan743x_ethtool.c 			indir[byte_index + 3] =
indir             624 drivers/net/ethernet/microchip/lan743x_ethtool.c 				    const u32 *indir, const u8 *key,
indir             632 drivers/net/ethernet/microchip/lan743x_ethtool.c 	if (indir) {
indir             640 drivers/net/ethernet/microchip/lan743x_ethtool.c 				(((indir[byte_index + 0] & 0x000000FF) << 0) |
indir             641 drivers/net/ethernet/microchip/lan743x_ethtool.c 				((indir[byte_index + 1] & 0x000000FF) << 8) |
indir             642 drivers/net/ethernet/microchip/lan743x_ethtool.c 				((indir[byte_index + 2] & 0x000000FF) << 16) |
indir             643 drivers/net/ethernet/microchip/lan743x_ethtool.c 				((indir[byte_index + 3] & 0x000000FF) << 24));
indir              81 drivers/net/ethernet/netronome/nfp/bpf/jit.c 	   bool indir)
indir              93 drivers/net/ethernet/netronome/nfp/bpf/jit.c 		FIELD_PREP(OP_CMD_INDIR, indir) |
indir             101 drivers/net/ethernet/netronome/nfp/bpf/jit.c 	     swreg lreg, swreg rreg, u8 size, enum cmd_ctx_swap ctx, bool indir)
indir             123 drivers/net/ethernet/netronome/nfp/bpf/jit.c 		   indir);
indir            2737 drivers/net/ethernet/netronome/nfp/bpf/jit.c 	bool indir;
indir            2744 drivers/net/ethernet/netronome/nfp/bpf/jit.c 	indir = len > 8 * REG_WIDTH;
indir            2746 drivers/net/ethernet/netronome/nfp/bpf/jit.c 	if (indir)
indir            2752 drivers/net/ethernet/netronome/nfp/bpf/jit.c 		     off, xfer_num - 1, CMD_CTX_SWAP, indir);
indir             920 drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c static int nfp_net_get_rxfh(struct net_device *netdev, u32 *indir, u8 *key,
indir             929 drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c 	if (indir)
indir             931 drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c 			indir[i] = nn->rss_itbl[i];
indir             944 drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c 			    const u32 *indir, const u8 *key,
indir             954 drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c 	if (!key && !indir)
indir             961 drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c 	if (indir) {
indir             963 drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c 			nn->rss_itbl[i] = indir[i];
indir             588 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c static int ionic_get_rxfh(struct net_device *netdev, u32 *indir, u8 *key,
indir             594 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c 	if (indir) {
indir             597 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c 			indir[i] = lif->rss_ind_tbl[i];
indir             609 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c static int ionic_set_rxfh(struct net_device *netdev, const u32 *indir,
indir             618 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c 	err = ionic_lif_rss_config(lif, lif->rss_types, key, indir);
indir            1335 drivers/net/ethernet/pensando/ionic/ionic_lif.c 			 const u8 *key, const u32 *indir)
indir            1353 drivers/net/ethernet/pensando/ionic/ionic_lif.c 	if (indir) {
indir            1356 drivers/net/ethernet/pensando/ionic/ionic_lif.c 			lif->rss_ind_tbl[i] = indir[i];
indir             240 drivers/net/ethernet/pensando/ionic/ionic_lif.h 			 const u8 *key, const u32 *indir);
indir            1396 drivers/net/ethernet/qlogic/qede/qede_ethtool.c static int qede_get_rxfh(struct net_device *dev, u32 *indir, u8 *key, u8 *hfunc)
indir            1404 drivers/net/ethernet/qlogic/qede/qede_ethtool.c 	if (!indir)
indir            1408 drivers/net/ethernet/qlogic/qede/qede_ethtool.c 		indir[i] = edev->rss_ind_table[i];
indir            1416 drivers/net/ethernet/qlogic/qede/qede_ethtool.c static int qede_set_rxfh(struct net_device *dev, const u32 *indir,
indir            1432 drivers/net/ethernet/qlogic/qede/qede_ethtool.c 	if (!indir && !key)
indir            1435 drivers/net/ethernet/qlogic/qede/qede_ethtool.c 	if (indir) {
indir            1437 drivers/net/ethernet/qlogic/qede/qede_ethtool.c 			edev->rss_ind_table[i] = indir[i];
indir            1326 drivers/net/ethernet/sfc/ethtool.c static int efx_ethtool_get_rxfh(struct net_device *net_dev, u32 *indir, u8 *key,
indir            1338 drivers/net/ethernet/sfc/ethtool.c 	if (indir)
indir            1339 drivers/net/ethernet/sfc/ethtool.c 		memcpy(indir, efx->rss_context.rx_indir_table,
indir            1347 drivers/net/ethernet/sfc/ethtool.c static int efx_ethtool_set_rxfh(struct net_device *net_dev, const u32 *indir,
indir            1355 drivers/net/ethernet/sfc/ethtool.c 	if (!indir && !key)
indir            1360 drivers/net/ethernet/sfc/ethtool.c 	if (!indir)
indir            1361 drivers/net/ethernet/sfc/ethtool.c 		indir = efx->rss_context.rx_indir_table;
indir            1363 drivers/net/ethernet/sfc/ethtool.c 	return efx->type->rx_push_rss_config(efx, true, indir, key);
indir            1366 drivers/net/ethernet/sfc/ethtool.c static int efx_ethtool_get_rxfh_context(struct net_device *net_dev, u32 *indir,
indir            1388 drivers/net/ethernet/sfc/ethtool.c 	if (indir)
indir            1389 drivers/net/ethernet/sfc/ethtool.c 		memcpy(indir, ctx->rx_indir_table, sizeof(ctx->rx_indir_table));
indir            1398 drivers/net/ethernet/sfc/ethtool.c 					const u32 *indir, const u8 *key,
indir            1449 drivers/net/ethernet/sfc/ethtool.c 	if (!indir)
indir            1450 drivers/net/ethernet/sfc/ethtool.c 		indir = ctx->rx_indir_table;
indir            1452 drivers/net/ethernet/sfc/ethtool.c 	rc = efx->type->rx_push_rss_context_config(efx, ctx, indir, key);
indir            1253 drivers/net/ethernet/sfc/falcon/ethtool.c static int ef4_ethtool_get_rxfh(struct net_device *net_dev, u32 *indir, u8 *key,
indir            1260 drivers/net/ethernet/sfc/falcon/ethtool.c 	if (indir)
indir            1261 drivers/net/ethernet/sfc/falcon/ethtool.c 		memcpy(indir, efx->rx_indir_table, sizeof(efx->rx_indir_table));
indir            1265 drivers/net/ethernet/sfc/falcon/ethtool.c static int ef4_ethtool_set_rxfh(struct net_device *net_dev, const u32 *indir,
indir            1274 drivers/net/ethernet/sfc/falcon/ethtool.c 	if (!indir)
indir            1277 drivers/net/ethernet/sfc/falcon/ethtool.c 	return efx->type->rx_push_rss_config(efx, true, indir);
indir             804 drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c static int stmmac_get_rxfh(struct net_device *dev, u32 *indir, u8 *key,
indir             810 drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c 	if (indir) {
indir             812 drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c 			indir[i] = priv->rss.table[i];
indir             823 drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c static int stmmac_set_rxfh(struct net_device *dev, const u32 *indir,
indir             832 drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c 	if (indir) {
indir             834 drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c 			priv->rss.table[i] = indir[i];
indir            1645 drivers/net/hyperv/netvsc_drv.c static int netvsc_get_rxfh(struct net_device *dev, u32 *indir, u8 *key,
indir            1660 drivers/net/hyperv/netvsc_drv.c 	if (indir) {
indir            1662 drivers/net/hyperv/netvsc_drv.c 			indir[i] = ndc->rx_table[i];
indir            1671 drivers/net/hyperv/netvsc_drv.c static int netvsc_set_rxfh(struct net_device *dev, const u32 *indir,
indir            1686 drivers/net/hyperv/netvsc_drv.c 	if (indir) {
indir            1688 drivers/net/hyperv/netvsc_drv.c 			if (indir[i] >= ndev->num_chn)
indir            1692 drivers/net/hyperv/netvsc_drv.c 			ndc->rx_table[i] = indir[i];
indir            1696 drivers/net/hyperv/netvsc_drv.c 		if (!indir)
indir              89 fs/freevxfs/vxfs_bmap.c 		__fs32 *indir;
indir              96 fs/freevxfs/vxfs_bmap.c 		indir = (__fs32 *)buf->b_data;
indir              97 fs/freevxfs/vxfs_bmap.c 		bno = fs32_to_cpu(sbi, indir[(bn / indsize) % (indsize * bn)]) +
indir             131 fs/freevxfs/vxfs_bmap.c vxfs_bmap_indir(struct inode *ip, long indir, int size, long block)
indir             143 fs/freevxfs/vxfs_bmap.c 				indir + (i / VXFS_TYPED_PER_BLOCK(ip->i_sb)));
indir             367 include/linux/ethtool.h 	int	(*get_rxfh)(struct net_device *, u32 *indir, u8 *key,
indir             369 include/linux/ethtool.h 	int	(*set_rxfh)(struct net_device *, const u32 *indir,
indir             371 include/linux/ethtool.h 	int	(*get_rxfh_context)(struct net_device *, u32 *indir, u8 *key,
indir             373 include/linux/ethtool.h 	int	(*set_rxfh_context)(struct net_device *, const u32 *indir,
indir             975 net/core/ethtool.c static int ethtool_copy_validate_indir(u32 *indir, void __user *useraddr,
indir             981 net/core/ethtool.c 	if (copy_from_user(indir, useraddr, size * sizeof(indir[0])))
indir             986 net/core/ethtool.c 		if (indir[i] >= rx_rings->data)
indir            1005 net/core/ethtool.c 	u32 *indir;
indir            1015 net/core/ethtool.c 	indir = kcalloc(dev_size, sizeof(indir[0]), GFP_USER);
indir            1016 net/core/ethtool.c 	if (!indir)
indir            1019 net/core/ethtool.c 	ret = dev->ethtool_ops->get_rxfh(dev, indir, NULL, NULL);
indir            1024 net/core/ethtool.c 		current_max = max(current_max, indir[dev_size]);
indir            1029 net/core/ethtool.c 	kfree(indir);
indir            1037 net/core/ethtool.c 	u32 *indir;
indir            1063 net/core/ethtool.c 	indir = kcalloc(dev_size, sizeof(indir[0]), GFP_USER);
indir            1064 net/core/ethtool.c 	if (!indir)
indir            1067 net/core/ethtool.c 	ret = dev->ethtool_ops->get_rxfh(dev, indir, NULL, NULL);
indir            1073 net/core/ethtool.c 			 indir, dev_size * sizeof(indir[0])))
indir            1077 net/core/ethtool.c 	kfree(indir);
indir            1086 net/core/ethtool.c 	u32 *indir;
indir            1107 net/core/ethtool.c 	indir = kcalloc(dev_size, sizeof(indir[0]), GFP_USER);
indir            1108 net/core/ethtool.c 	if (!indir)
indir            1118 net/core/ethtool.c 			indir[i] = ethtool_rxfh_indir_default(i, rx_rings.data);
indir            1120 net/core/ethtool.c 		ret = ethtool_copy_validate_indir(indir,
indir            1128 net/core/ethtool.c 	ret = ops->set_rxfh(dev, indir, NULL, ETH_RSS_HASH_NO_CHANGE);
indir            1139 net/core/ethtool.c 	kfree(indir);
indir            1153 net/core/ethtool.c 	u32 *indir = NULL;
indir            1187 net/core/ethtool.c 	indir_bytes = user_indir_size * sizeof(indir[0]);
indir            1194 net/core/ethtool.c 		indir = (u32 *)rss_config;
indir            1200 net/core/ethtool.c 		ret = dev->ethtool_ops->get_rxfh_context(dev, indir, hkey,
indir            1204 net/core/ethtool.c 		ret = dev->ethtool_ops->get_rxfh(dev, indir, hkey, &dev_hfunc);
indir            1230 net/core/ethtool.c 	u32 *indir = NULL, indir_bytes = 0;
indir            1266 net/core/ethtool.c 		indir_bytes = dev_indir_size * sizeof(indir[0]);
indir            1283 net/core/ethtool.c 		indir = (u32 *)rss_config;
indir            1284 net/core/ethtool.c 		ret = ethtool_copy_validate_indir(indir,
indir            1292 net/core/ethtool.c 			indir = (u32 *)rss_config;
indir            1294 net/core/ethtool.c 				indir[i] = ethtool_rxfh_indir_default(i, rx_rings.data);
indir            1311 net/core/ethtool.c 		ret = ops->set_rxfh_context(dev, indir, hkey, rxfh.hfunc,
indir            1314 net/core/ethtool.c 		ret = ops->set_rxfh(dev, indir, hkey, rxfh.hfunc);