- 21 Mar, 2018 1 commit
-
-
Kalderon, Michal authored
QPs that were configured with ack timeout value lower than 1 msec will not implement re-transmission timeout. This means that if a packet / ACK were dropped, the QP will not retransmit this packet. This can lead to an application hang. Fixes: cecbcddf ("qedr: Add support for QP verbs") Signed-off-by:
Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by:
Ariel Elior <Ariel.Elior@cavium.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
- 07 Mar, 2018 4 commits
-
-
Kalderon, Michal authored
iWARP does not support RDMA WRITE or SEND with immediate data. Driver should check this before submitting to FW and return an immediate error Signed-off-by:
Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by:
Ariel Elior <Ariel.Elior@cavium.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Kalderon, Michal authored
Race in qedr_poll_cq, lastest_cqe wasn't protected by lock, leading to a case where two context's accessing poll_cq at the same time lead to one of them having a pointer to an old latest_cqe and reading an invalid cqe element Signed-off-by:
Amit Radzi <Amit.Radzi@cavium.com> Signed-off-by:
Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by:
Ariel Elior <Ariel.Elior@cavium.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Kalderon, Michal authored
Fix iWARP connect and listen to use the mapped port for ipv4 and ipv6. Without this fixed, running on a server that has iwpmd enabled will not use the correct port Signed-off-by:
Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by:
Ariel Elior <Ariel.Elior@cavium.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
Kalderon, Michal authored
The wrong parameter was passed to dst_neigh_lookup Signed-off-by:
Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by:
Ariel Elior <Ariel.Elior@cavium.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
- 25 Jan, 2018 1 commit
-
-
Kalderon, Michal authored
There are races where can still get flush on CQEs before the QP enters error state. This is not an error and should be treated as debug information. Signed-off-by:
Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by:
Ariel Elior <Ariel.Elior@cavium.com> Signed-off-by:
Doug Ledford <dledford@redhat.com>
-
- 24 Jan, 2018 1 commit
-
-
Felix Kuehling authored
Use PCI core interface pci_enable_atomic_ops_to_root() to enable atomic capability. Signed-off-by:
Felix Kuehling <Felix.Kuehling@amd.com> Signed-off-by:
Bjorn Helgaas <bhelgaas@google.com> Acked-by:
Michal Kalderon <michal.kalderon@cavium.com> CC: Ram Amrani <Ram.Amrani@cavium.com> CC: Doug Ledford <dledford@redhat.com>
-
- 15 Jan, 2018 1 commit
-
-
Jason Gunthorpe authored
The double swap matches what user space rdma-core does to imm_data. wc->imm_data is not used in the kernel so this change has no practical impact. Acked-by:
Michal Kalderon <michal.kalderon@cavium.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
- 02 Jan, 2018 4 commits
-
-
Tomer Tayar authored
Advance the qed* drivers to use firmware 8.33.1.0: Modify core driver (qed) to utilize the new FW and initialize the device with it. This is the lion's share of the patch, and includes changes to FW interface files, device initialization flows, FW interaction flows, and debug collection flows. Modify Ethernet driver (qede) to make use of new FW in fastpath. Modify RoCE/iWARP driver (qedr) to make use of new FW in fastpath. Modify FCoE driver (qedf) to make use of new FW in fastpath. Modify iSCSI driver (qedi) to make use of new FW in fastpath. Signed-off-by:
Ariel Elior <Ariel.Elior@cavium.com> Signed-off-by:
Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by:
Yuval Bason <Yuval.Bason@cavium.com> Signed-off-by:
Ram Amrani <Ram.Amrani@cavium.com> Signed-off-by:
Manish Chopra <Manish.Chopra@cavium.com> Signed-off-by:
Chad Dupuis <Chad.Dupuis@cavium.com> Signed-off-by:
Manish Rangankar <Manish.Rangankar@cavium.com> Signed-off-by:
Tomer Tayar <Tomer.Tayar@cavium.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Tomer Tayar authored
This patch renames defines and structures in the FW HSI files to allow a distinction between different types of HW. Signed-off-by:
Ariel Elior <Ariel.Elior@cavium.com> Signed-off-by:
Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by:
Chad Dupuis <Chad.Dupuis@cavium.com> Signed-off-by:
Manish Rangankar <Manish.Rangankar@cavium.com> Signed-off-by:
Tomer Tayar <Tomer.Tayar@cavium.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Tomer Tayar authored
This patch refactors and reorders the FW API files in preparation of upgrading the code to support new FW. - Make use of the BIT macro in appropriate places. - Whitespace changes to align values and code blocks. - Comments are updated (spelling mistakes, removed if not clear). - Group together code blocks which are related or deal with similar matters. Signed-off-by:
Ariel Elior <Ariel.Elior@cavium.com> Signed-off-by:
Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by:
Tomer Tayar <Tomer.Tayar@cavium.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Himanshu Jha authored
Use dma_zalloc_coherent for allocating zeroed memory and remove unnecessary memset function. Done using Coccinelle. Generated-by: scripts/coccinelle/api/alloc/kzalloc-simple.cocci 0-day tested with no failures. Suggested-by:
Luis R. Rodriguez <mcgrof@kernel.org> Signed-off-by:
Himanshu Jha <himanshujha199640@gmail.com> Acked-by:
Ram Amrani <Ram.Amrani@cavium.com> Signed-off-by:
Jason Gunthorpe <jgg@mellanox.com>
-
- 19 Oct, 2017 1 commit
-
-
Michal Kalderon authored
Out of order flow is not working for iWARP. This patch got cut out from initial series that added out of order support for iWARP. Make out of order code common for iWARP and iSCSI. Add new configuration option CONFIG_QED_OOO. Set by qedr and qedi Kconfigs. Fixes: d1abfd0b ("qed: Add iWARP out of order support") Signed-off-by:
Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by:
Manish Rangankar <Manish.Rangankar@cavium.com> Signed-off-by:
Ariel Elior <Ariel.Elior@cavium.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 15 Oct, 2017 4 commits
-
-
Bart Van Assche authored
Signed-off-by:
Bart Van Assche <bart.vanassche@wdc.com> Cc: Ram Amrani <Ram.Amrani@cavium.com> Cc: Michal Kalderon <Michal.Kalderon@cavium.com> Cc: Ariel Elior <Ariel.Elior@cavium.com> Signed-off-by:
Doug Ledford <dledford@redhat.com>
-
Bart Van Assche authored
Signed-off-by:
Bart Van Assche <bart.vanassche@wdc.com> Cc: Ram Amrani <Ram.Amrani@cavium.com> Cc: Michal Kalderon <Michal.Kalderon@cavium.com> Cc: Ariel Elior <Ariel.Elior@cavium.com> Signed-off-by:
Doug Ledford <dledford@redhat.com>
-
Bart Van Assche authored
Signed-off-by:
Bart Van Assche <bart.vanassche@wdc.com> Cc: Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by:
Doug Ledford <dledford@redhat.com>
-
Bart Van Assche authored
Signed-off-by:
Bart Van Assche <bart.vanassche@wdc.com> Cc: Ram Amrani <Ram.Amrani@cavium.com> Cc: Michal Kalderon <Michal.Kalderon@cavium.com> Cc: Ariel Elior <Ariel.Elior@cavium.com> Signed-off-by:
Doug Ledford <dledford@redhat.com>
-
- 04 Oct, 2017 2 commits
-
-
Amrani, Ram authored
Parse the vlan priority from the vlan tag and configure it to the WC's sl field. Fixes: abd49676 ("qed: Add RoCE ll2 & GSI support") Signed-off-by:
Ram Amrani <Ram.Amrani@cavium.com> Signed-off-by:
Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by:
Doug Ledford <dledford@redhat.com>
-
Amrani, Ram authored
Rename vlan_id field name to vlan as it contains more than the vlan_id. Mask out non vlan id fields from vlan tag of the QED LL2 RX GSI vlan output. As it is expected to be vlan id only. Ignore vlan_id with value of zero. Fixes: abd49676 ("qed: Add RoCE ll2 & GSI support") Signed-off-by:
Ram Amrani <Ram.Amrani@cavium.com> Signed-off-by:
Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by:
Doug Ledford <dledford@redhat.com>
-
- 29 Sep, 2017 1 commit
-
-
Kalderon, Michal authored
Initialize the rdma_type (iWARP or RoCE) which is set according to device configuration in qed. Fixes: e6a38c54 ("RDMA/qedr: Add support for registering an iWARP device") Signed-off-by:
Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by:
Ariel Elior <Ariel.Elior@cavium.com> Signed-off-by:
Doug Ledford <dledford@redhat.com>
-
- 27 Sep, 2017 1 commit
-
-
Yuval Shaia authored
No reason to have dependency on PCI for the entire infiniband stack so move it to KConfig of only the drivers that actually using PCI. Signed-off-by:
Yuval Shaia <yuval.shaia@oracle.com> Signed-off-by:
Doug Ledford <dledford@redhat.com>
-
- 22 Sep, 2017 1 commit
-
-
Arnd Bergmann authored
When CONFIG_IPV6 disabled, we run into a link error: drivers/infiniband/hw/qedr/qedr_iw_cm.o: In function `qedr_addr6_resolve.isra.3': qedr_iw_cm.c:(.text+0x4e0): undefined reference to `ip6_route_output_flags' The ipv6 handling code is obviously not needed here, so this adds a compile-time check for the Kconfig symbol in all three places in the code that decide between ipv4 and ipv6. We don't have to worry about a link error wtih QEDR=y/IPV6=m, as that configuration is already prohibited by CONFIG_INFINIBAND depending on "m || IPV6 != m". Fixes: e411e058 ("RDMA/qedr: Add iWARP connection management functions") Signed-off-by:
Arnd Bergmann <arnd@arndb.de> Acked-by:
Michal Kalderon <michal.kalderon@cavium.com> Signed-off-by:
Doug Ledford <dledford@redhat.com>
-
- 29 Aug, 2017 1 commit
-
-
Dan Carpenter authored
We should return -ENOMEM if the kzalloc() fails. We currently return success. Fixes: 69ad0e7f ("RDMA/qedr: Add support for iWARP in user space") Signed-off-by:
Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by:
Doug Ledford <dledford@redhat.com>
-
- 24 Aug, 2017 1 commit
-
-
Colin Ian King authored
Trivial fix to spelling mistake in DP_ERR error message Signed-off-by:
Colin Ian King <colin.king@canonical.com> Reviewed-by:
Leon Romanovsky <leonro@mellanox.com> Reviewed-by:
Ram Amrani <Ram.Amrani@cavium.com> Signed-off-by:
Doug Ledford <dledford@redhat.com>
-
- 18 Aug, 2017 7 commits
-
-
Kalderon, Michal authored
Pass the second doorbell offset to userspace in create_qp response. Pbl allocation is different for RoCE and iWARP and requires different handling. RoCE allocated the pbl and passes the pointer to qed, where-as in iWARP, qed allocates the pbl and qedr populates it after it returns Signed-off-by:
Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by:
Ram Amrani <Ram.Amrani@cavium.com> Signed-off-by:
Ariel Elior <Ariel.Elior@cavium.com> Signed-off-by:
Doug Ledford <dledford@redhat.com>
-
Kalderon, Michal authored
Implements the iWARP connection management functions: connect, accept, create listener and destroy listener Signed-off-by:
Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by:
Ram Amrani <Ram.Amrani@cavium.com> Signed-off-by:
Ariel Elior <Ariel.Elior@cavium.com> Signed-off-by:
Doug Ledford <dledford@redhat.com>
-
Kalderon, Michal authored
This patch implements the following iWARP callbacks: qp_add_ref qp_rem_ref get_qp Signed-off-by:
Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by:
Ram Amrani <Ram.Amrani@cavium.com> Signed-off-by:
Ariel Elior <Ariel.Elior@cavium.com> Signed-off-by:
Doug Ledford <dledford@redhat.com>
-
Kalderon, Michal authored
iWARP supports read with invalidate. There is an assumption that read with invalidate will only be called on an iWARP device Signed-off-by:
Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by:
Ram Amrani <Ram.Amrani@cavium.com> Signed-off-by:
Ariel Elior <Ariel.Elior@cavium.com> Signed-off-by:
Doug Ledford <dledford@redhat.com>
-
Kalderon, Michal authored
Make slight modifications to common RoCE/iWARP code. Add additional doorbell for iWARP post_send. iWARP QP pbl is allocated in qed and not in qedr. Signed-off-by:
Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by:
Ram Amrani <Ram.Amrani@cavium.com> Signed-off-by:
Ariel Elior <Ariel.Elior@cavium.com> Signed-off-by:
Doug Ledford <dledford@redhat.com>
-
Kalderon, Michal authored
There are slight differences between iWARP and RoCE in the ibdev registration. This patch handles the changes. Signed-off-by:
Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by:
Ram Amrani <Ram.Amrani@cavium.com> Signed-off-by:
Ariel Elior <Ariel.Elior@cavium.com> Signed-off-by:
Doug Ledford <dledford@redhat.com>
-
Kalderon, Michal authored
The main differences between iWARP and RoCE lay in the communication management functions. These will be placed in separate files. Signed-off-by:
Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by:
Ram Amrani <Ram.Amrani@cavium.com> Signed-off-by:
Ariel Elior <Ariel.Elior@cavium.com> Signed-off-by:
Doug Ledford <dledford@redhat.com>
-
- 10 Aug, 2017 1 commit
-
-
Leon Romanovsky authored
There is a need to forward FW version to user space application through RDMA netlink. In order to make it safe, there is need to declare nla_policy and limit the size of FW string. The new define IB_FW_VERSION_NAME_MAX will limit the size of FW version string. That define was chosen to be equal to ETHTOOL_FWVERS_LEN, because many drivers anyway are limited by that value indirectly. The introduction of this define allows us to remove the string size from get_fw_str function signature. Signed-off-by:
Leon Romanovsky <leonro@mellanox.com>
-
- 27 Jul, 2017 2 commits
-
-
Amrani, Ram authored
The number of supported WIDs, if they are supported at all, can be limited due to resources. Notifying the user space application the number of available WIDs allows it to utilize them correctly. Signed-off-by:
Ram Amrani <Ram.Amrani@cavium.com> Signed-off-by:
Doug Ledford <dledford@redhat.com>
-
Amrani, Ram authored
Direct Packet Mode support may be disabled, e.g, due to limited resources. Notifying the user application prevents wasting cycles on attempting to send these kind of packets. Signed-off-by:
Ram Amrani <Ram.Amrani@cavium.com> Signed-off-by:
Doug Ledford <dledford@redhat.com>
-
- 24 Jul, 2017 1 commit
-
-
Leon Romanovsky authored
All modules in drivers/infiniband defined and used MODULE_VERSION, which was pointless because the kernel version describes their state more accurate then those arbitrary numbers. Signed-off-by:
Leon Romanovsky <leon@kernel.org> Acked-by:
Sagi Grimbrg <sagi@grimberg.me> Reviewed-by:
Sagi Grimberg <sagi@grimbeg.me> Acked-by:
Dennis Dalessandro <dennis.dalessandro@intel.com> Reviewed-by:
Dennis Dalessandro <dennis.dalessandro@intel.com> Acked-by:
Selvin Xavier <selvin.xavier@broadcom.com> Acked-by:
Ram Amrani <Ram.Amrani@cavium.com> Reviewed-by:
Johannes Thumshirn <jthumshirn@suse.de> Acked-by:
Adit Ranadive <aditr@vmware.com> Signed-off-by:
Doug Ledford <dledford@redhat.com>
-
- 20 Jul, 2017 1 commit
-
-
Amrani, Ram authored
Wrap ib_copy_to_udata with a function that ensures that the data being copied over to user space isn't longer than the allowed. Fixes: cecbcddf ("qedr: Add support for QP verbs") Fixes: a7efd777 ("qedr: Add support for PD,PKEY and CQ verbs") Fixes: ac1b36e5 ("qedr: Add support for user context verbs") Signed-off-by:
Ram Amrani <Ram.Amrani@cavium.com> Signed-off-by:
Doug Ledford <dledford@redhat.com>
-
- 21 Jun, 2017 1 commit
-
-
Kalderon, Michal authored
Rename the qed_roce_if file to qed_rdma_if as it represents a common interface for RoCE and iWARP. this commit affects RDMA/qedr as well. Signed-off-by:
Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by:
Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 20 Jun, 2017 3 commits
-
-
Michal Kalderon authored
Rename the functions common to both iWARP and RoCE to have a prefix of _rdma_ instead of _roce_. Signed-off-by:
Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by:
Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Michal Kalderon authored
Once we have iWARP support, the qede portion of the qedr<->qede would serve all the RDMA protocols - so rename the file to be appropriate to its function. While we're at it, we're also moving a couple of inclusions to it into .h files and adding includes to make sure it contains all type definitions it requires. Signed-off-by:
Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by:
Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Mintz, Yuval authored
iWARP would require the chains to allocate/free their PBL memory independently, so add the infrastructure to provide it externally. Signed-off-by:
Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-