CC: kbuild-...@lists.01.org
CC: linux-ker...@vger.kernel.org
TO: Leon Romanovsky <leo...@mellanox.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   581cb3a26baf846ee9636214afaa5333919875b1
commit: 4835709176e8ccf6561abc9f5c405293e008095f RDMA/mlx5: Don't fake udata 
for kernel path
date:   8 months ago
:::::: branch date: 14 hours ago
:::::: commit date: 8 months ago
config: powerpc-randconfig-m031-20200911 (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>
Reported-by: Dan Carpenter <dan.carpen...@oracle.com>

New smatch warnings:
drivers/infiniband/hw/mlx5/main.c:1189 mlx5_ib_query_device() error: we 
previously assumed 'uhw' could be null (see line 837)

Old smatch warnings:
drivers/infiniband/hw/mlx5/main.c:614 set_roce_addr() error: we previously 
assumed 'gid' could be null (see line 590)
drivers/infiniband/hw/mlx5/main.c:1939 mlx5_ib_alloc_ucontext() error: 
uninitialized symbol 'dump_fill_mkey'.

# 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4835709176e8ccf6561abc9f5c405293e008095f
git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 4835709176e8ccf6561abc9f5c405293e008095f
vim +/uhw +1189 drivers/infiniband/hw/mlx5/main.c

1b5daf11b01512 Majd Dibbiny     2015-06-04   813  
e126ba97dba9ed Eli Cohen        2013-07-07   814  static int 
mlx5_ib_query_device(struct ib_device *ibdev,
2528e33e680921 Matan Barak      2015-06-11   815                                
struct ib_device_attr *props,
2528e33e680921 Matan Barak      2015-06-11   816                                
struct ib_udata *uhw)
e126ba97dba9ed Eli Cohen        2013-07-07   817  {
4835709176e8cc Leon Romanovsky  2020-01-15   818        size_t uhw_outlen = 
(uhw) ? uhw->outlen : 0;
e126ba97dba9ed Eli Cohen        2013-07-07   819        struct mlx5_ib_dev *dev 
= to_mdev(ibdev);
938fe83c8dcbbf Saeed Mahameed   2015-05-28   820        struct mlx5_core_dev 
*mdev = dev->mdev;
e126ba97dba9ed Eli Cohen        2013-07-07   821        int err = -ENOMEM;
288c01b746aab4 Eli Cohen        2016-10-27   822        int max_sq_desc;
e126ba97dba9ed Eli Cohen        2013-07-07   823        int max_rq_sg;
e126ba97dba9ed Eli Cohen        2013-07-07   824        int max_sq_sg;
e0238a6a369eaa Sagi Grimberg    2015-07-21   825        u64 min_page_size = 
1ull << MLX5_CAP_GEN(mdev, log_pg_sz);
85c7c01499a9eb Daniel Jurgens   2018-01-04   826        bool raw_support = 
!mlx5_core_mp_enabled(mdev);
402ca53644ff19 Bodong Wang      2016-06-17   827        struct 
mlx5_ib_query_device_resp resp = {};
402ca53644ff19 Bodong Wang      2016-06-17   828        size_t resp_len;
402ca53644ff19 Bodong Wang      2016-06-17   829        u64 max_tso;
e126ba97dba9ed Eli Cohen        2013-07-07   830  
402ca53644ff19 Bodong Wang      2016-06-17   831        resp_len = 
sizeof(resp.comp_mask) + sizeof(resp.response_length);
4835709176e8cc Leon Romanovsky  2020-01-15   832        if (uhw_outlen && 
uhw_outlen < resp_len)
402ca53644ff19 Bodong Wang      2016-06-17   833                return -EINVAL;
6f26b2ac699cc5 Erez Alfasi      2019-10-02   834  
402ca53644ff19 Bodong Wang      2016-06-17   835        resp.response_length = 
resp_len;
402ca53644ff19 Bodong Wang      2016-06-17   836  
4835709176e8cc Leon Romanovsky  2020-01-15   837        if (uhw && uhw->inlen 
&& !ib_is_udata_cleared(uhw, 0, uhw->inlen))
2528e33e680921 Matan Barak      2015-06-11   838                return -EINVAL;
2528e33e680921 Matan Barak      2015-06-11   839  
1b5daf11b01512 Majd Dibbiny     2015-06-04   840        memset(props, 0, 
sizeof(*props));
1b5daf11b01512 Majd Dibbiny     2015-06-04   841        err = 
mlx5_query_system_image_guid(ibdev,
1b5daf11b01512 Majd Dibbiny     2015-06-04   842                                
           &props->sys_image_guid);
1b5daf11b01512 Majd Dibbiny     2015-06-04   843        if (err)
1b5daf11b01512 Majd Dibbiny     2015-06-04   844                return err;
e126ba97dba9ed Eli Cohen        2013-07-07   845  
1b5daf11b01512 Majd Dibbiny     2015-06-04   846        err = 
mlx5_query_max_pkeys(ibdev, &props->max_pkeys);
e126ba97dba9ed Eli Cohen        2013-07-07   847        if (err)
1b5daf11b01512 Majd Dibbiny     2015-06-04   848                return err;
e126ba97dba9ed Eli Cohen        2013-07-07   849  
1b5daf11b01512 Majd Dibbiny     2015-06-04   850        err = 
mlx5_query_vendor_id(ibdev, &props->vendor_id);
1b5daf11b01512 Majd Dibbiny     2015-06-04   851        if (err)
1b5daf11b01512 Majd Dibbiny     2015-06-04   852                return err;
e126ba97dba9ed Eli Cohen        2013-07-07   853  
9603b61de1eee9 Jack Morgenstein 2014-07-28   854        props->fw_ver = 
((u64)fw_rev_maj(dev->mdev) << 32) |
9603b61de1eee9 Jack Morgenstein 2014-07-28   855                
(fw_rev_min(dev->mdev) << 16) |
9603b61de1eee9 Jack Morgenstein 2014-07-28   856                
fw_rev_sub(dev->mdev);
e126ba97dba9ed Eli Cohen        2013-07-07   857        props->device_cap_flags 
   = IB_DEVICE_CHANGE_PHY_PORT |
e126ba97dba9ed Eli Cohen        2013-07-07   858                
IB_DEVICE_PORT_ACTIVE_EVENT             |
e126ba97dba9ed Eli Cohen        2013-07-07   859                
IB_DEVICE_SYS_IMAGE_GUID                |
1a4c3a3dc5fdee Eli Cohen        2014-02-06   860                
IB_DEVICE_RC_RNR_NAK_GEN;
938fe83c8dcbbf Saeed Mahameed   2015-05-28   861  
938fe83c8dcbbf Saeed Mahameed   2015-05-28   862        if (MLX5_CAP_GEN(mdev, 
pkv))
e126ba97dba9ed Eli Cohen        2013-07-07   863                
props->device_cap_flags |= IB_DEVICE_BAD_PKEY_CNTR;
938fe83c8dcbbf Saeed Mahameed   2015-05-28   864        if (MLX5_CAP_GEN(mdev, 
qkv))
e126ba97dba9ed Eli Cohen        2013-07-07   865                
props->device_cap_flags |= IB_DEVICE_BAD_QKEY_CNTR;
938fe83c8dcbbf Saeed Mahameed   2015-05-28   866        if (MLX5_CAP_GEN(mdev, 
apm))
e126ba97dba9ed Eli Cohen        2013-07-07   867                
props->device_cap_flags |= IB_DEVICE_AUTO_PATH_MIG;
938fe83c8dcbbf Saeed Mahameed   2015-05-28   868        if (MLX5_CAP_GEN(mdev, 
xrc))
e126ba97dba9ed Eli Cohen        2013-07-07   869                
props->device_cap_flags |= IB_DEVICE_XRC;
d2370e0a573e5c Matan Barak      2016-02-29   870        if (MLX5_CAP_GEN(mdev, 
imaicl)) {
d2370e0a573e5c Matan Barak      2016-02-29   871                
props->device_cap_flags |= IB_DEVICE_MEM_WINDOW |
d2370e0a573e5c Matan Barak      2016-02-29   872                                
           IB_DEVICE_MEM_WINDOW_TYPE_2B;
d2370e0a573e5c Matan Barak      2016-02-29   873                props->max_mw = 
1 << MLX5_CAP_GEN(mdev, log_max_mkey);
b005d316471374 Sagi Grimberg    2016-02-29   874                /* We support 
'Gappy' memory registration too */
b005d316471374 Sagi Grimberg    2016-02-29   875                
props->device_cap_flags |= IB_DEVICE_SG_GAPS_REG;
d2370e0a573e5c Matan Barak      2016-02-29   876        }
e126ba97dba9ed Eli Cohen        2013-07-07   877        props->device_cap_flags 
|= IB_DEVICE_MEM_MGT_EXTENSIONS;
938fe83c8dcbbf Saeed Mahameed   2015-05-28   878        if (MLX5_CAP_GEN(mdev, 
sho)) {
c0a6cbb9cbccff Israel Rukshin   2019-06-11   879                
props->device_cap_flags |= IB_DEVICE_INTEGRITY_HANDOVER;
2dea909444c294 Sagi Grimberg    2014-02-23   880                /* At this 
stage no support for signature handover */
2dea909444c294 Sagi Grimberg    2014-02-23   881                
props->sig_prot_cap = IB_PROT_T10DIF_TYPE_1 |
2dea909444c294 Sagi Grimberg    2014-02-23   882                                
      IB_PROT_T10DIF_TYPE_2 |
2dea909444c294 Sagi Grimberg    2014-02-23   883                                
      IB_PROT_T10DIF_TYPE_3;
2dea909444c294 Sagi Grimberg    2014-02-23   884                
props->sig_guard_cap = IB_GUARD_T10DIF_CRC |
2dea909444c294 Sagi Grimberg    2014-02-23   885                                
       IB_GUARD_T10DIF_CSUM;
2dea909444c294 Sagi Grimberg    2014-02-23   886        }
938fe83c8dcbbf Saeed Mahameed   2015-05-28   887        if (MLX5_CAP_GEN(mdev, 
block_lb_mc))
f360d88a2efddf Eli Cohen        2014-04-02   888                
props->device_cap_flags |= IB_DEVICE_BLOCK_MULTICAST_LOOPBACK;
e126ba97dba9ed Eli Cohen        2013-07-07   889  
85c7c01499a9eb Daniel Jurgens   2018-01-04   890        if 
(MLX5_CAP_GEN(dev->mdev, eth_net_offloads) && raw_support) {
e8161334403ed3 Noa Osherovich   2017-01-18   891                if 
(MLX5_CAP_ETH(mdev, csum_cap)) {
e8161334403ed3 Noa Osherovich   2017-01-18   892                        /* 
Legacy bit to support old userspace libraries */
88115fe7a0e45a Bodong Wang      2015-12-18   893                        
props->device_cap_flags |= IB_DEVICE_RAW_IP_CSUM;
e8161334403ed3 Noa Osherovich   2017-01-18   894                        
props->raw_packet_caps |= IB_RAW_PACKET_CAP_IP_CSUM;
e8161334403ed3 Noa Osherovich   2017-01-18   895                }
e8161334403ed3 Noa Osherovich   2017-01-18   896  
e8161334403ed3 Noa Osherovich   2017-01-18   897                if 
(MLX5_CAP_ETH(dev->mdev, vlan_cap))
e8161334403ed3 Noa Osherovich   2017-01-18   898                        
props->raw_packet_caps |=
e8161334403ed3 Noa Osherovich   2017-01-18   899                                
IB_RAW_PACKET_CAP_CVLAN_STRIPPING;
88115fe7a0e45a Bodong Wang      2015-12-18   900  
4835709176e8cc Leon Romanovsky  2020-01-15   901                if 
(field_avail(typeof(resp), tso_caps, uhw_outlen)) {
402ca53644ff19 Bodong Wang      2016-06-17   902                        max_tso 
= MLX5_CAP_ETH(mdev, max_lso_cap);
402ca53644ff19 Bodong Wang      2016-06-17   903                        if 
(max_tso) {
402ca53644ff19 Bodong Wang      2016-06-17   904                                
resp.tso_caps.max_tso = 1 << max_tso;
402ca53644ff19 Bodong Wang      2016-06-17   905                                
resp.tso_caps.supported_qpts |=
402ca53644ff19 Bodong Wang      2016-06-17   906                                
        1 << IB_QPT_RAW_PACKET;
402ca53644ff19 Bodong Wang      2016-06-17   907                                
resp.response_length += sizeof(resp.tso_caps);
402ca53644ff19 Bodong Wang      2016-06-17   908                        }
402ca53644ff19 Bodong Wang      2016-06-17   909                }
31f69a82b456e3 Yishai Hadas     2016-08-28   910  
4835709176e8cc Leon Romanovsky  2020-01-15   911                if 
(field_avail(typeof(resp), rss_caps, uhw_outlen)) {
31f69a82b456e3 Yishai Hadas     2016-08-28   912                        
resp.rss_caps.rx_hash_function =
31f69a82b456e3 Yishai Hadas     2016-08-28   913                                
                MLX5_RX_HASH_FUNC_TOEPLITZ;
31f69a82b456e3 Yishai Hadas     2016-08-28   914                        
resp.rss_caps.rx_hash_fields_mask =
31f69a82b456e3 Yishai Hadas     2016-08-28   915                                
                MLX5_RX_HASH_SRC_IPV4 |
31f69a82b456e3 Yishai Hadas     2016-08-28   916                                
                MLX5_RX_HASH_DST_IPV4 |
31f69a82b456e3 Yishai Hadas     2016-08-28   917                                
                MLX5_RX_HASH_SRC_IPV6 |
31f69a82b456e3 Yishai Hadas     2016-08-28   918                                
                MLX5_RX_HASH_DST_IPV6 |
31f69a82b456e3 Yishai Hadas     2016-08-28   919                                
                MLX5_RX_HASH_SRC_PORT_TCP |
31f69a82b456e3 Yishai Hadas     2016-08-28   920                                
                MLX5_RX_HASH_DST_PORT_TCP |
31f69a82b456e3 Yishai Hadas     2016-08-28   921                                
                MLX5_RX_HASH_SRC_PORT_UDP |
4e2b53a5cb5a82 Maor Gottlieb    2017-12-24   922                                
                MLX5_RX_HASH_DST_PORT_UDP |
4e2b53a5cb5a82 Maor Gottlieb    2017-12-24   923                                
                MLX5_RX_HASH_INNER;
2d93fc856959bb Matan Barak      2018-03-28   924                        if 
(mlx5_accel_ipsec_device_caps(dev->mdev) &
2d93fc856959bb Matan Barak      2018-03-28   925                            
MLX5_ACCEL_IPSEC_CAP_DEVICE)
2d93fc856959bb Matan Barak      2018-03-28   926                                
resp.rss_caps.rx_hash_fields_mask |=
2d93fc856959bb Matan Barak      2018-03-28   927                                
        MLX5_RX_HASH_IPSEC_SPI;
31f69a82b456e3 Yishai Hadas     2016-08-28   928                        
resp.response_length += sizeof(resp.rss_caps);
31f69a82b456e3 Yishai Hadas     2016-08-28   929                }
31f69a82b456e3 Yishai Hadas     2016-08-28   930        } else {
4835709176e8cc Leon Romanovsky  2020-01-15   931                if 
(field_avail(typeof(resp), tso_caps, uhw_outlen))
31f69a82b456e3 Yishai Hadas     2016-08-28   932                        
resp.response_length += sizeof(resp.tso_caps);
4835709176e8cc Leon Romanovsky  2020-01-15   933                if 
(field_avail(typeof(resp), rss_caps, uhw_outlen))
31f69a82b456e3 Yishai Hadas     2016-08-28   934                        
resp.response_length += sizeof(resp.rss_caps);
402ca53644ff19 Bodong Wang      2016-06-17   935        }
402ca53644ff19 Bodong Wang      2016-06-17   936  
f031396531fe2b Erez Shitrit     2016-02-21   937        if (MLX5_CAP_GEN(mdev, 
ipoib_basic_offloads)) {
f031396531fe2b Erez Shitrit     2016-02-21   938                
props->device_cap_flags |= IB_DEVICE_UD_IP_CSUM;
f031396531fe2b Erez Shitrit     2016-02-21   939                
props->device_cap_flags |= IB_DEVICE_UD_TSO;
f031396531fe2b Erez Shitrit     2016-02-21   940        }
f031396531fe2b Erez Shitrit     2016-02-21   941  
03404e8ae652e0 Maor Gottlieb    2017-05-30   942        if 
(MLX5_CAP_GEN(dev->mdev, rq_delay_drop) &&
85c7c01499a9eb Daniel Jurgens   2018-01-04   943            
MLX5_CAP_GEN(dev->mdev, general_notification_event) &&
85c7c01499a9eb Daniel Jurgens   2018-01-04   944            raw_support)
03404e8ae652e0 Maor Gottlieb    2017-05-30   945                
props->raw_packet_caps |= IB_RAW_PACKET_CAP_DELAY_DROP;
03404e8ae652e0 Maor Gottlieb    2017-05-30   946  
1d54f89094e2d2 Yishai Hadas     2017-06-08   947        if (MLX5_CAP_GEN(mdev, 
ipoib_enhanced_offloads) &&
1d54f89094e2d2 Yishai Hadas     2017-06-08   948            
MLX5_CAP_IPOIB_ENHANCED(mdev, csum_cap))
1d54f89094e2d2 Yishai Hadas     2017-06-08   949                
props->device_cap_flags |= IB_DEVICE_UD_IP_CSUM;
1d54f89094e2d2 Yishai Hadas     2017-06-08   950  
cff5a0f3a3cda0 Majd Dibbiny     2016-04-17   951        if 
(MLX5_CAP_GEN(dev->mdev, eth_net_offloads) &&
85c7c01499a9eb Daniel Jurgens   2018-01-04   952            
MLX5_CAP_ETH(dev->mdev, scatter_fcs) &&
85c7c01499a9eb Daniel Jurgens   2018-01-04   953            raw_support) {
e8161334403ed3 Noa Osherovich   2017-01-18   954                /* Legacy bit 
to support old userspace libraries */
cff5a0f3a3cda0 Majd Dibbiny     2016-04-17   955                
props->device_cap_flags |= IB_DEVICE_RAW_SCATTER_FCS;
e8161334403ed3 Noa Osherovich   2017-01-18   956                
props->raw_packet_caps |= IB_RAW_PACKET_CAP_SCATTER_FCS;
e8161334403ed3 Noa Osherovich   2017-01-18   957        }
cff5a0f3a3cda0 Majd Dibbiny     2016-04-17   958  
24da00164f7a9c Ariel Levkovich  2018-04-05   959        if 
(MLX5_CAP_DEV_MEM(mdev, memic)) {
24da00164f7a9c Ariel Levkovich  2018-04-05   960                
props->max_dm_size =
24da00164f7a9c Ariel Levkovich  2018-04-05   961                        
MLX5_CAP_DEV_MEM(mdev, max_memic_size);
24da00164f7a9c Ariel Levkovich  2018-04-05   962        }
24da00164f7a9c Ariel Levkovich  2018-04-05   963  
da6d6ba3c6f085 Maor Gottlieb    2016-06-04   964        if 
(mlx5_get_flow_namespace(dev->mdev, MLX5_FLOW_NAMESPACE_BYPASS))
da6d6ba3c6f085 Maor Gottlieb    2016-06-04   965                
props->device_cap_flags |= IB_DEVICE_MANAGED_FLOW_STEERING;
da6d6ba3c6f085 Maor Gottlieb    2016-06-04   966  
b1383aa6412177 Noa Osherovich   2017-10-29   967        if (MLX5_CAP_GEN(mdev, 
end_pad))
b1383aa6412177 Noa Osherovich   2017-10-29   968                
props->device_cap_flags |= IB_DEVICE_PCI_WRITE_END_PADDING;
b1383aa6412177 Noa Osherovich   2017-10-29   969  
1b5daf11b01512 Majd Dibbiny     2015-06-04   970        props->vendor_part_id   
   = mdev->pdev->device;
1b5daf11b01512 Majd Dibbiny     2015-06-04   971        props->hw_ver           
   = mdev->pdev->revision;
e126ba97dba9ed Eli Cohen        2013-07-07   972  
e126ba97dba9ed Eli Cohen        2013-07-07   973        props->max_mr_size      
   = ~0ull;
e0238a6a369eaa Sagi Grimberg    2015-07-21   974        props->page_size_cap    
   = ~(min_page_size - 1);
938fe83c8dcbbf Saeed Mahameed   2015-05-28   975        props->max_qp           
   = 1 << MLX5_CAP_GEN(mdev, log_max_qp);
938fe83c8dcbbf Saeed Mahameed   2015-05-28   976        props->max_qp_wr        
   = 1 << MLX5_CAP_GEN(mdev, log_max_qp_sz);
938fe83c8dcbbf Saeed Mahameed   2015-05-28   977        max_rq_sg =  
MLX5_CAP_GEN(mdev, max_wqe_sz_rq) /
938fe83c8dcbbf Saeed Mahameed   2015-05-28   978                     
sizeof(struct mlx5_wqe_data_seg);
288c01b746aab4 Eli Cohen        2016-10-27   979        max_sq_desc = 
min_t(int, MLX5_CAP_GEN(mdev, max_wqe_sz_sq), 512);
288c01b746aab4 Eli Cohen        2016-10-27   980        max_sq_sg = 
(max_sq_desc - sizeof(struct mlx5_wqe_ctrl_seg) -
288c01b746aab4 Eli Cohen        2016-10-27   981                     
sizeof(struct mlx5_wqe_raddr_seg)) /
e126ba97dba9ed Eli Cohen        2013-07-07   982                sizeof(struct 
mlx5_wqe_data_seg);
33023fb85a42b5 Steve Wise       2018-06-18   983        props->max_send_sge = 
max_sq_sg;
33023fb85a42b5 Steve Wise       2018-06-18   984        props->max_recv_sge = 
max_rq_sg;
986ef95ecdd3eb Sagi Grimberg    2016-03-31   985        props->max_sge_rd       
   = MLX5_MAX_SGE_RD;
938fe83c8dcbbf Saeed Mahameed   2015-05-28   986        props->max_cq           
   = 1 << MLX5_CAP_GEN(mdev, log_max_cq);
9f17768611ebf8 Leon Romanovsky  2016-01-14   987        props->max_cqe = (1 << 
MLX5_CAP_GEN(mdev, log_max_cq_sz)) - 1;
938fe83c8dcbbf Saeed Mahameed   2015-05-28   988        props->max_mr           
   = 1 << MLX5_CAP_GEN(mdev, log_max_mkey);
938fe83c8dcbbf Saeed Mahameed   2015-05-28   989        props->max_pd           
   = 1 << MLX5_CAP_GEN(mdev, log_max_pd);
938fe83c8dcbbf Saeed Mahameed   2015-05-28   990        props->max_qp_rd_atom   
   = 1 << MLX5_CAP_GEN(mdev, log_max_ra_req_qp);
938fe83c8dcbbf Saeed Mahameed   2015-05-28   991        
props->max_qp_init_rd_atom = 1 << MLX5_CAP_GEN(mdev, log_max_ra_res_qp);
938fe83c8dcbbf Saeed Mahameed   2015-05-28   992        props->max_srq          
   = 1 << MLX5_CAP_GEN(mdev, log_max_srq);
938fe83c8dcbbf Saeed Mahameed   2015-05-28   993        props->max_srq_wr = (1 
<< MLX5_CAP_GEN(mdev, log_max_srq_sz)) - 1;
938fe83c8dcbbf Saeed Mahameed   2015-05-28   994        
props->local_ca_ack_delay  = MLX5_CAP_GEN(mdev, local_ca_ack_delay);
e126ba97dba9ed Eli Cohen        2013-07-07   995        props->max_res_rd_atom  
   = props->max_qp_rd_atom * props->max_qp;
e126ba97dba9ed Eli Cohen        2013-07-07   996        props->max_srq_sge      
   = max_rq_sg - 1;
911f4331bc87f4 Sagi Grimberg    2016-03-03   997        
props->max_fast_reg_page_list_len =
911f4331bc87f4 Sagi Grimberg    2016-03-03   998                1 << 
MLX5_CAP_GEN(mdev, log_max_klm_list_size);
62e3c379d4d713 Max Gurtovoy     2019-06-11   999        
props->max_pi_fast_reg_page_list_len =
62e3c379d4d713 Max Gurtovoy     2019-06-11  1000                
props->max_fast_reg_page_list_len / 2;
366090564b8124 Yamin Friedman   2019-10-07  1001        props->max_sgl_rd =
366090564b8124 Yamin Friedman   2019-10-07  1002                
MLX5_CAP_GEN(mdev, max_sgl_for_optimized_performance);
776a3906b69296 Moni Shoua       2018-01-02  1003        get_atomic_caps_qp(dev, 
props);
81bea28ffdaad0 Eli Cohen        2013-09-11  1004        
props->masked_atomic_cap   = IB_ATOMIC_NONE;
938fe83c8dcbbf Saeed Mahameed   2015-05-28  1005        props->max_mcast_grp    
   = 1 << MLX5_CAP_GEN(mdev, log_max_mcg);
938fe83c8dcbbf Saeed Mahameed   2015-05-28  1006        
props->max_mcast_qp_attach = MLX5_CAP_GEN(mdev, max_qp_mcg);
e126ba97dba9ed Eli Cohen        2013-07-07  1007        
props->max_total_mcast_qp_attach = props->max_mcast_qp_attach *
e126ba97dba9ed Eli Cohen        2013-07-07  1008                                
           props->max_mcast_grp;
e126ba97dba9ed Eli Cohen        2013-07-07  1009        props->max_map_per_fmr 
= INT_MAX; /* no limit in ConnectIB */
86695a6582e3b1 Maor Gottlieb    2016-10-27  1010        props->max_ah = INT_MAX;
7c60bcbb68122b Matan Barak      2015-12-15  1011        props->hca_core_clock = 
MLX5_CAP_GEN(mdev, device_frequency_khz);
7c60bcbb68122b Matan Barak      2015-12-15  1012        props->timestamp_mask = 
0x7FFFFFFFFFFFFFFFULL;
e126ba97dba9ed Eli Cohen        2013-07-07  1013  
e502b8b011294c Leon Romanovsky  2019-01-08  1014        if 
(IS_ENABLED(CONFIG_INFINIBAND_ON_DEMAND_PAGING)) {
008157528ac565 Moni Shoua       2019-08-15  1015                if 
(dev->odp_caps.general_caps & IB_ODP_SUPPORT)
8cdd312cfed706 Haggai Eran      2014-12-11  1016                        
props->device_cap_flags |= IB_DEVICE_ON_DEMAND_PAGING;
8cdd312cfed706 Haggai Eran      2014-12-11  1017                props->odp_caps 
= dev->odp_caps;
e502b8b011294c Leon Romanovsky  2019-01-08  1018        }
8cdd312cfed706 Haggai Eran      2014-12-11  1019  
051f263098a90d Leon Romanovsky  2015-12-20  1020        if (MLX5_CAP_GEN(mdev, 
cd))
051f263098a90d Leon Romanovsky  2015-12-20  1021                
props->device_cap_flags |= IB_DEVICE_CROSS_CHANNEL;
051f263098a90d Leon Romanovsky  2015-12-20  1022  
e53a9d26cf8056 Parav Pandit     2019-10-28  1023        if 
(mlx5_core_is_vf(mdev))
eff901d30e6ceb Eli Cohen        2016-03-11  1024                
props->device_cap_flags |= IB_DEVICE_VIRTUAL_FUNCTION;
eff901d30e6ceb Eli Cohen        2016-03-11  1025  
31f69a82b456e3 Yishai Hadas     2016-08-28  1026        if 
(mlx5_ib_port_link_layer(ibdev, 1) ==
85c7c01499a9eb Daniel Jurgens   2018-01-04  1027            
IB_LINK_LAYER_ETHERNET && raw_support) {
31f69a82b456e3 Yishai Hadas     2016-08-28  1028                
props->rss_caps.max_rwq_indirection_tables =
31f69a82b456e3 Yishai Hadas     2016-08-28  1029                        1 << 
MLX5_CAP_GEN(dev->mdev, log_max_rqt);
31f69a82b456e3 Yishai Hadas     2016-08-28  1030                
props->rss_caps.max_rwq_indirection_table_size =
31f69a82b456e3 Yishai Hadas     2016-08-28  1031                        1 << 
MLX5_CAP_GEN(dev->mdev, log_max_rqt_size);
31f69a82b456e3 Yishai Hadas     2016-08-28  1032                
props->rss_caps.supported_qpts = 1 << IB_QPT_RAW_PACKET;
31f69a82b456e3 Yishai Hadas     2016-08-28  1033                
props->max_wq_type_rq =
31f69a82b456e3 Yishai Hadas     2016-08-28  1034                        1 << 
MLX5_CAP_GEN(dev->mdev, log_max_rq);
31f69a82b456e3 Yishai Hadas     2016-08-28  1035        }
31f69a82b456e3 Yishai Hadas     2016-08-28  1036  
eb761894351d03 Artemy Kovalyov  2017-08-17  1037        if (MLX5_CAP_GEN(mdev, 
tag_matching)) {
78b1beb0998437 Leon Romanovsky  2017-09-24  1038                
props->tm_caps.max_num_tags =
eb761894351d03 Artemy Kovalyov  2017-08-17  1039                        (1 << 
MLX5_CAP_GEN(mdev, log_tag_matching_list_sz)) - 1;
78b1beb0998437 Leon Romanovsky  2017-09-24  1040                
props->tm_caps.max_ops =
eb761894351d03 Artemy Kovalyov  2017-08-17  1041                        1 << 
MLX5_CAP_GEN(mdev, log_max_qp_sz);
78b1beb0998437 Leon Romanovsky  2017-09-24  1042                
props->tm_caps.max_sge = MLX5_TM_MAX_SGE;
eb761894351d03 Artemy Kovalyov  2017-08-17  1043        }
eb761894351d03 Artemy Kovalyov  2017-08-17  1044  
89705e92700170 Danit Goldberg   2019-07-05  1045        if (MLX5_CAP_GEN(mdev, 
tag_matching) &&
89705e92700170 Danit Goldberg   2019-07-05  1046            MLX5_CAP_GEN(mdev, 
rndv_offload_rc)) {
89705e92700170 Danit Goldberg   2019-07-05  1047                
props->tm_caps.flags = IB_TM_CAP_RNDV_RC;
89705e92700170 Danit Goldberg   2019-07-05  1048                
props->tm_caps.max_rndv_hdr_size = MLX5_TM_MAX_RNDV_MSG_SIZE;
89705e92700170 Danit Goldberg   2019-07-05  1049        }
89705e92700170 Danit Goldberg   2019-07-05  1050  
87ab3f524efd17 Yonatan Cohen    2017-11-13  1051        if 
(MLX5_CAP_GEN(dev->mdev, cq_moderation)) {
87ab3f524efd17 Yonatan Cohen    2017-11-13  1052                
props->cq_caps.max_cq_moderation_count =
87ab3f524efd17 Yonatan Cohen    2017-11-13  1053                                
                MLX5_MAX_CQ_COUNT;
87ab3f524efd17 Yonatan Cohen    2017-11-13  1054                
props->cq_caps.max_cq_moderation_period =
87ab3f524efd17 Yonatan Cohen    2017-11-13  1055                                
                MLX5_MAX_CQ_PERIOD;
87ab3f524efd17 Yonatan Cohen    2017-11-13  1056        }
87ab3f524efd17 Yonatan Cohen    2017-11-13  1057  
4835709176e8cc Leon Romanovsky  2020-01-15  1058        if 
(field_avail(typeof(resp), cqe_comp_caps, uhw_outlen)) {
572f46bf947c3e Yonatan Cohen    2018-05-27  1059                
resp.response_length += sizeof(resp.cqe_comp_caps);
572f46bf947c3e Yonatan Cohen    2018-05-27  1060  
572f46bf947c3e Yonatan Cohen    2018-05-27  1061                if 
(MLX5_CAP_GEN(dev->mdev, cqe_compression)) {
7e43a2a5bae39f Bodong Wang      2016-10-31  1062                        
resp.cqe_comp_caps.max_num =
572f46bf947c3e Yonatan Cohen    2018-05-27  1063                                
MLX5_CAP_GEN(dev->mdev,
572f46bf947c3e Yonatan Cohen    2018-05-27  1064                                
             cqe_compression_max_num);
572f46bf947c3e Yonatan Cohen    2018-05-27  1065  
7e43a2a5bae39f Bodong Wang      2016-10-31  1066                        
resp.cqe_comp_caps.supported_format =
7e43a2a5bae39f Bodong Wang      2016-10-31  1067                                
MLX5_IB_CQE_RES_FORMAT_HASH |
7e43a2a5bae39f Bodong Wang      2016-10-31  1068                                
MLX5_IB_CQE_RES_FORMAT_CSUM;
6f1006a43869ff Yonatan Cohen    2018-05-27  1069  
6f1006a43869ff Yonatan Cohen    2018-05-27  1070                        if 
(MLX5_CAP_GEN(dev->mdev, mini_cqe_resp_stride_index))
6f1006a43869ff Yonatan Cohen    2018-05-27  1071                                
resp.cqe_comp_caps.supported_format |=
6f1006a43869ff Yonatan Cohen    2018-05-27  1072                                
        MLX5_IB_CQE_RES_FORMAT_CSUM_STRIDX;
572f46bf947c3e Yonatan Cohen    2018-05-27  1073                }
7e43a2a5bae39f Bodong Wang      2016-10-31  1074        }
7e43a2a5bae39f Bodong Wang      2016-10-31  1075  
4835709176e8cc Leon Romanovsky  2020-01-15  1076        if 
(field_avail(typeof(resp), packet_pacing_caps, uhw_outlen) &&
85c7c01499a9eb Daniel Jurgens   2018-01-04  1077            raw_support) {
d949167d68b304 Bodong Wang      2016-12-01  1078                if 
(MLX5_CAP_QOS(mdev, packet_pacing) &&
d949167d68b304 Bodong Wang      2016-12-01  1079                    
MLX5_CAP_GEN(mdev, qos)) {
d949167d68b304 Bodong Wang      2016-12-01  1080                        
resp.packet_pacing_caps.qp_rate_limit_max =
d949167d68b304 Bodong Wang      2016-12-01  1081                                
MLX5_CAP_QOS(mdev, packet_pacing_max_rate);
d949167d68b304 Bodong Wang      2016-12-01  1082                        
resp.packet_pacing_caps.qp_rate_limit_min =
d949167d68b304 Bodong Wang      2016-12-01  1083                                
MLX5_CAP_QOS(mdev, packet_pacing_min_rate);
d949167d68b304 Bodong Wang      2016-12-01  1084                        
resp.packet_pacing_caps.supported_qpts |=
d949167d68b304 Bodong Wang      2016-12-01  1085                                
1 << IB_QPT_RAW_PACKET;
61147f391a8b3b Bodong Wang      2018-03-19  1086                        if 
(MLX5_CAP_QOS(mdev, packet_pacing_burst_bound) &&
61147f391a8b3b Bodong Wang      2018-03-19  1087                            
MLX5_CAP_QOS(mdev, packet_pacing_typical_size))
61147f391a8b3b Bodong Wang      2018-03-19  1088                                
resp.packet_pacing_caps.cap_flags |=
61147f391a8b3b Bodong Wang      2018-03-19  1089                                
        MLX5_IB_PP_SUPPORT_BURST;
d949167d68b304 Bodong Wang      2016-12-01  1090                }
d949167d68b304 Bodong Wang      2016-12-01  1091                
resp.response_length += sizeof(resp.packet_pacing_caps);
d949167d68b304 Bodong Wang      2016-12-01  1092        }
d949167d68b304 Bodong Wang      2016-12-01  1093  
9f885201f27407 Leon Romanovsky  2017-01-02  1094        if 
(field_avail(typeof(resp), mlx5_ib_support_multi_pkt_send_wqes,
4835709176e8cc Leon Romanovsky  2020-01-15  1095                        
uhw_outlen)) {
795b609c8b59f8 Bodong Wang      2017-08-17  1096                if 
(MLX5_CAP_ETH(mdev, multi_pkt_send_wqe))
9f885201f27407 Leon Romanovsky  2017-01-02  1097                        
resp.mlx5_ib_support_multi_pkt_send_wqes =
795b609c8b59f8 Bodong Wang      2017-08-17  1098                                
MLX5_IB_ALLOW_MPW;
050da902adde8f Bodong Wang      2017-08-17  1099  
050da902adde8f Bodong Wang      2017-08-17  1100                if 
(MLX5_CAP_ETH(mdev, enhanced_multi_pkt_send_wqe))
050da902adde8f Bodong Wang      2017-08-17  1101                        
resp.mlx5_ib_support_multi_pkt_send_wqes |=
050da902adde8f Bodong Wang      2017-08-17  1102                                
MLX5_IB_SUPPORT_EMPW;
050da902adde8f Bodong Wang      2017-08-17  1103  
9f885201f27407 Leon Romanovsky  2017-01-02  1104                
resp.response_length +=
9f885201f27407 Leon Romanovsky  2017-01-02  1105                        
sizeof(resp.mlx5_ib_support_multi_pkt_send_wqes);
9f885201f27407 Leon Romanovsky  2017-01-02  1106        }
9f885201f27407 Leon Romanovsky  2017-01-02  1107  
4835709176e8cc Leon Romanovsky  2020-01-15  1108        if 
(field_avail(typeof(resp), flags, uhw_outlen)) {
de57f2ad06d5bf Guy Levi         2017-10-19  1109                
resp.response_length += sizeof(resp.flags);
7a0c8f4244e9ec Guy Levi         2017-10-19  1110  
de57f2ad06d5bf Guy Levi         2017-10-19  1111                if 
(MLX5_CAP_GEN(mdev, cqe_compression_128))
de57f2ad06d5bf Guy Levi         2017-10-19  1112                        
resp.flags |=
de57f2ad06d5bf Guy Levi         2017-10-19  1113                                
MLX5_IB_QUERY_DEV_RESP_FLAGS_CQE_128B_COMP;
7a0c8f4244e9ec Guy Levi         2017-10-19  1114  
7a0c8f4244e9ec Guy Levi         2017-10-19  1115                if 
(MLX5_CAP_GEN(mdev, cqe_128_always))
7a0c8f4244e9ec Guy Levi         2017-10-19  1116                        
resp.flags |= MLX5_IB_QUERY_DEV_RESP_FLAGS_CQE_128B_PAD;
7e11b911b520de Danit Goldberg   2018-11-30  1117                if 
(MLX5_CAP_GEN(mdev, qp_packet_based))
7e11b911b520de Danit Goldberg   2018-11-30  1118                        
resp.flags |=
7e11b911b520de Danit Goldberg   2018-11-30  1119                                
MLX5_IB_QUERY_DEV_RESP_PACKET_BASED_CREDIT_MODE;
7249c8ea227a58 Guy Levi         2019-04-10  1120  
7249c8ea227a58 Guy Levi         2019-04-10  1121                resp.flags |= 
MLX5_IB_QUERY_DEV_RESP_FLAGS_SCAT2CQE_DCT;
de57f2ad06d5bf Guy Levi         2017-10-19  1122        }
9f885201f27407 Leon Romanovsky  2017-01-02  1123  
4835709176e8cc Leon Romanovsky  2020-01-15  1124        if 
(field_avail(typeof(resp), sw_parsing_caps, uhw_outlen)) {
96dc3fc5f1d66b Noa Osherovich   2017-08-17  1125                
resp.response_length += sizeof(resp.sw_parsing_caps);
96dc3fc5f1d66b Noa Osherovich   2017-08-17  1126                if 
(MLX5_CAP_ETH(mdev, swp)) {
96dc3fc5f1d66b Noa Osherovich   2017-08-17  1127                        
resp.sw_parsing_caps.sw_parsing_offloads |=
96dc3fc5f1d66b Noa Osherovich   2017-08-17  1128                                
MLX5_IB_SW_PARSING;
96dc3fc5f1d66b Noa Osherovich   2017-08-17  1129  
96dc3fc5f1d66b Noa Osherovich   2017-08-17  1130                        if 
(MLX5_CAP_ETH(mdev, swp_csum))
96dc3fc5f1d66b Noa Osherovich   2017-08-17  1131                                
resp.sw_parsing_caps.sw_parsing_offloads |=
96dc3fc5f1d66b Noa Osherovich   2017-08-17  1132                                
        MLX5_IB_SW_PARSING_CSUM;
96dc3fc5f1d66b Noa Osherovich   2017-08-17  1133  
96dc3fc5f1d66b Noa Osherovich   2017-08-17  1134                        if 
(MLX5_CAP_ETH(mdev, swp_lso))
96dc3fc5f1d66b Noa Osherovich   2017-08-17  1135                                
resp.sw_parsing_caps.sw_parsing_offloads |=
96dc3fc5f1d66b Noa Osherovich   2017-08-17  1136                                
        MLX5_IB_SW_PARSING_LSO;
96dc3fc5f1d66b Noa Osherovich   2017-08-17  1137  
96dc3fc5f1d66b Noa Osherovich   2017-08-17  1138                        if 
(resp.sw_parsing_caps.sw_parsing_offloads)
96dc3fc5f1d66b Noa Osherovich   2017-08-17  1139                                
resp.sw_parsing_caps.supported_qpts =
96dc3fc5f1d66b Noa Osherovich   2017-08-17  1140                                
        BIT(IB_QPT_RAW_PACKET);
96dc3fc5f1d66b Noa Osherovich   2017-08-17  1141                }
96dc3fc5f1d66b Noa Osherovich   2017-08-17  1142        }
96dc3fc5f1d66b Noa Osherovich   2017-08-17  1143  
4835709176e8cc Leon Romanovsky  2020-01-15  1144        if 
(field_avail(typeof(resp), striding_rq_caps, uhw_outlen) &&
85c7c01499a9eb Daniel Jurgens   2018-01-04  1145            raw_support) {
b4f34597a5ce14 Noa Osherovich   2017-10-17  1146                
resp.response_length += sizeof(resp.striding_rq_caps);
b4f34597a5ce14 Noa Osherovich   2017-10-17  1147                if 
(MLX5_CAP_GEN(mdev, striding_rq)) {
b4f34597a5ce14 Noa Osherovich   2017-10-17  1148                        
resp.striding_rq_caps.min_single_stride_log_num_of_bytes =
b4f34597a5ce14 Noa Osherovich   2017-10-17  1149                                
MLX5_MIN_SINGLE_STRIDE_LOG_NUM_BYTES;
b4f34597a5ce14 Noa Osherovich   2017-10-17  1150                        
resp.striding_rq_caps.max_single_stride_log_num_of_bytes =
b4f34597a5ce14 Noa Osherovich   2017-10-17  1151                                
MLX5_MAX_SINGLE_STRIDE_LOG_NUM_BYTES;
c16339b69c0d58 Mark Zhang       2019-11-15  1152                        if 
(MLX5_CAP_GEN(dev->mdev, ext_stride_num_range))
c16339b69c0d58 Mark Zhang       2019-11-15  1153                                
resp.striding_rq_caps
c16339b69c0d58 Mark Zhang       2019-11-15  1154                                
        .min_single_wqe_log_num_of_strides =
c16339b69c0d58 Mark Zhang       2019-11-15  1155                                
        MLX5_EXT_MIN_SINGLE_WQE_LOG_NUM_STRIDES;
c16339b69c0d58 Mark Zhang       2019-11-15  1156                        else
c16339b69c0d58 Mark Zhang       2019-11-15  1157                                
resp.striding_rq_caps
c16339b69c0d58 Mark Zhang       2019-11-15  1158                                
        .min_single_wqe_log_num_of_strides =
b4f34597a5ce14 Noa Osherovich   2017-10-17  1159                                
        MLX5_MIN_SINGLE_WQE_LOG_NUM_STRIDES;
b4f34597a5ce14 Noa Osherovich   2017-10-17  1160                        
resp.striding_rq_caps.max_single_wqe_log_num_of_strides =
b4f34597a5ce14 Noa Osherovich   2017-10-17  1161                                
MLX5_MAX_SINGLE_WQE_LOG_NUM_STRIDES;
b4f34597a5ce14 Noa Osherovich   2017-10-17  1162                        
resp.striding_rq_caps.supported_qpts =
b4f34597a5ce14 Noa Osherovich   2017-10-17  1163                                
BIT(IB_QPT_RAW_PACKET);
b4f34597a5ce14 Noa Osherovich   2017-10-17  1164                }
b4f34597a5ce14 Noa Osherovich   2017-10-17  1165        }
b4f34597a5ce14 Noa Osherovich   2017-10-17  1166  
4835709176e8cc Leon Romanovsky  2020-01-15  1167        if 
(field_avail(typeof(resp), tunnel_offloads_caps, uhw_outlen)) {
f95ef6cbae61fa Maor Gottlieb    2017-10-19  1168                
resp.response_length += sizeof(resp.tunnel_offloads_caps);
f95ef6cbae61fa Maor Gottlieb    2017-10-19  1169                if 
(MLX5_CAP_ETH(mdev, tunnel_stateless_vxlan))
f95ef6cbae61fa Maor Gottlieb    2017-10-19  1170                        
resp.tunnel_offloads_caps |=
f95ef6cbae61fa Maor Gottlieb    2017-10-19  1171                                
MLX5_IB_TUNNELED_OFFLOADS_VXLAN;
f95ef6cbae61fa Maor Gottlieb    2017-10-19  1172                if 
(MLX5_CAP_ETH(mdev, tunnel_stateless_geneve_rx))
f95ef6cbae61fa Maor Gottlieb    2017-10-19  1173                        
resp.tunnel_offloads_caps |=
f95ef6cbae61fa Maor Gottlieb    2017-10-19  1174                                
MLX5_IB_TUNNELED_OFFLOADS_GENEVE;
f95ef6cbae61fa Maor Gottlieb    2017-10-19  1175                if 
(MLX5_CAP_ETH(mdev, tunnel_stateless_gre))
f95ef6cbae61fa Maor Gottlieb    2017-10-19  1176                        
resp.tunnel_offloads_caps |=
f95ef6cbae61fa Maor Gottlieb    2017-10-19  1177                                
MLX5_IB_TUNNELED_OFFLOADS_GRE;
e818e255a58d64 Ariel Levkovich  2018-05-13  1178                if 
(MLX5_CAP_GEN(mdev, flex_parser_protocols) &
e818e255a58d64 Ariel Levkovich  2018-05-13  1179                    
MLX5_FLEX_PROTO_CW_MPLS_GRE)
e818e255a58d64 Ariel Levkovich  2018-05-13  1180                        
resp.tunnel_offloads_caps |=
e818e255a58d64 Ariel Levkovich  2018-05-13  1181                                
MLX5_IB_TUNNELED_OFFLOADS_MPLS_GRE;
e818e255a58d64 Ariel Levkovich  2018-05-13  1182                if 
(MLX5_CAP_GEN(mdev, flex_parser_protocols) &
e818e255a58d64 Ariel Levkovich  2018-05-13  1183                    
MLX5_FLEX_PROTO_CW_MPLS_UDP)
e818e255a58d64 Ariel Levkovich  2018-05-13  1184                        
resp.tunnel_offloads_caps |=
e818e255a58d64 Ariel Levkovich  2018-05-13  1185                                
MLX5_IB_TUNNELED_OFFLOADS_MPLS_UDP;
f95ef6cbae61fa Maor Gottlieb    2017-10-19  1186        }
f95ef6cbae61fa Maor Gottlieb    2017-10-19  1187  
4835709176e8cc Leon Romanovsky  2020-01-15  1188        if (uhw_outlen) {
402ca53644ff19 Bodong Wang      2016-06-17 @1189                err = 
ib_copy_to_udata(uhw, &resp, resp.response_length);
402ca53644ff19 Bodong Wang      2016-06-17  1190  
402ca53644ff19 Bodong Wang      2016-06-17  1191                if (err)
402ca53644ff19 Bodong Wang      2016-06-17  1192                        return 
err;
402ca53644ff19 Bodong Wang      2016-06-17  1193        }
402ca53644ff19 Bodong Wang      2016-06-17  1194  
1b5daf11b01512 Majd Dibbiny     2015-06-04  1195        return 0;
e126ba97dba9ed Eli Cohen        2013-07-07  1196  }
e126ba97dba9ed Eli Cohen        2013-07-07  1197  

:::::: The code at line 1189 was first introduced by commit
:::::: 402ca53644ff1928f2ea68cce6fe41b2b5f38510 IB/mlx5: Report mlx5 TSO 
capabilities when querying device

:::::: TO: Bodong Wang <bod...@mellanox.com>
:::::: CC: Doug Ledford <dledf...@redhat.com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-le...@lists.01.org

Reply via email to