2016-02-04  Eran Ben Elisha  <eranbe@mellanox.com>

	Add support for standard atomic operations
	Enable post send for atomic operation codes in case it is supported by
	the hardware.

2016-02-04  Bodong Wang  <bodong@mellanox.com>

	Add support for RAW_ETH TX/RX checksum offload
	RX checksum verification status is reported through wc_flag when polling
	CQ. When IBV_WC_IP_CSUM_OK is set, that means both IPv4 header checksum
	and TCP/UDP checksum are OK.

	TX checksum offload will be enabled for TCP/UDP over IPv4 if user sets
	send_flag IBV_SEND_IP_CSUM.

	A new field, qp_cap_cache, is added to mlx5_qp in order to 'cache'
	the csum capabilities to minimize performance hit on poll_one
	function. The device and port capabilities are cached inside
	mlx5_init_context.

2016-02-03  Majd Dibbiny  <majd@mellanox.com>

	Add Raw Packet QP data-path functionality
	Raw Ethernet WQE is composed of the following segments:
	1. Control segment
	2. Eth segment
	3. Data segment

	The Eth segment contains packet headers and information for stateless
	offloading. When posting a Raw Ethernet WQE, the library should copy
	the L2 headers into the Eth segment, otherwise the packet is dropped
	in the TX. The Data segment should include all the payload except the
	headers that were copied to the Eth segment.

	Raw Packet QP is composed of RQ and SQ in the hardware. Once the QP's
	state is modified to INIT, the RQ is already in RDY state and thus
	can receive packets. To avoid this behavior that contradicts the IB
	spec, we don't update the doorbell record as long as the QP isn't in
	RTR state, and once the QP is modified to RTR, the doorbell record is
	update, which allows receiving packets.

	Reviewed-by: Yishai Hadas <yishaih@mellanox.com>

2016-02-03  Majd Dibbiny  <majd@mellanox.com>

	Allocate separate RQ and SQ buffers for Raw Packet QP
	In case of Raw Packet QP, the RQ and SQ aren't
	contiguous, therefore we need to allocate each one of them
	separately and pass the buffer address to the kernel.

	Reviewed-by: Yishai Hadas <yishaih@mellanox.com>

2016-02-03  Haggai Abramovsky  <hagaya@mellanox.com>

	Work with CQE version 1
	From now on, if the kernel supports CQE version 1, the library will
	choose to work with it.

	Reviewed-by: Yishai Hadas <yishaih@mellanox.com>

2016-02-03  Haggai Abramovsky  <hagaya@mellanox.com>

	Add QP and XSRQ create/destroy flow with user index
	When working with CQE version 1, the library allocates a user-index
	for each new QP/XSRQ, and this user-index is passed to the kernel.

	Also in the destruction of a QP/XSRQ, the library needs to free the
	user-index, so it can be reused.

	As part of enforcing the user-space to use the new CQE version:
	1. If both the device and the user-space support CQE version 1,
	then the kernel expects a valid user-index when creating QPs and
	XSRQs, otherwise the creation
	fails.
	2. If the user-space supports CQE version 1 (has the uidx field
	in the commands), but the device doesn't, then the user-space
	should pass 0xffffff to make sure that the user is aware of
	working with CQE version 0.

	In this stage, the library still doesn't work with CQE version 1,
	and therefore it passes user-index that equals to 0xffffff.

	Reviewed-by: Yishai Hadas <yishaih@mellanox.com>

2016-02-03  Haggai Abramovsky  <hagaya@mellanox.com>

	Add new poll_cq according to the new CQE format
	When working with CQE version 1, the CQE format is different,
	therefore we need a new poll_cq function that is compatible with
	the new CQE format.

	In the coming patches in this series, the library will decide
	on the cqe version when allocating the user-context and accordingly
	decide which poll_cq to use for this user-context.

	Reviewed-by: Yishai Hadas <yishaih@mellanox.com>

2016-02-03  Haggai Abramovsky  <hagaya@mellanox.com>

	Add resource tracking database
	Add new database that stores all the QPs and XSRQs context.
	Insertions and deletions to the database are done using the
	object's user-index.

	This database will allow us to retrieve the objects; QPs and
	XSRQs; by their user-index in the poll_one.

	Reviewed-by: Yishai Hadas <yishaih@mellanox.com>

2016-02-03  Haggai Abramovsky  <hagaya@mellanox.com>

	Add infrastructure for resource identification
	Add new struct member, mlx5_resource, for each tracked object,
	mlx5_srq and mlx5_qp, to allow retrieving the object in the
	poll_cq once we need it.

	Reviewed-by: Yishai Hadas <yishaih@mellanox.com>

2016-02-03  Maor Gottlieb  <maorg@mellanox.com>

	Add support for create/destroy flow
	Add a call to the extended version of ibv_create_flow and
	ibv_destroy_flow.

2015-12-27  Leon Romanovsky  <leonro@mellanox.com>

	Add gitignore file to the project
	Add gitignore file to the libmlx5 project.

2015-12-24  Eran Ben Elisha  <eranbe@mellanox.com>

	Fix use of uninitialized struct ibv_qp at struct mlx5_qp
	The current state was use of mlx5_qp->ibv_qp which
	was uninitialized.

2015-12-24  Eli Cohen  <eli@mellanox.com>

	Fix comment
	The comment refers to mlx4 and is fixed to refer to mlx5.

	Remove unsuded structs
	FMR related structs are not used in usersapce.

2015-11-03  Kovalyov Artemy  <artemyko@mellanox.com>

	libmlx5: Error recovery fix
	Context not allocated here and should not be released.

2015-11-03  Mike Dubman  <miked@mellanox.com>

	libmlx5: Fix "make distcheck"
	autogen.sh should exit with code != 0 on failure.

	Signed-Off-by: Mike Dubman <miked@mellanox.com>

2015-11-03  Eli Cohen  <eli@mellanox.com>

	Add support for extended query device

2015-01-08  Eli Cohen  <eli@mellanox.com>

	libmlx5: New version release
	Release version 1.0.2

	Add more supported device IDs
	Add support for ConnectX-4 devices and for virtual fucntions.

	Add XRC support
	Add standard XRC support.

	Update to conform to verbs extensions
	Update dependency on libibverbs >= 1.1.8 and modify code to support extended
	verbs.

	Rename configure.in -> configure.ac
	Rename configure.in -> configure.ac to accomodate newer GNU Autotools.
	(http://lists.gnu.org/archive/html/autotools-announce/2012-11/msg00000.html
	announced the intent to drop support for "configure.in" in future versions of
	Autoconf).
	Based on same commit to libmlx4 by Roland Dreier <roland@purestorage.com>

2014-01-29  Eli Cohen  <eli@mellanox.com>

	libmlx5: New version release
	Release version 1.0.1

	libmlx5: Add support for resize CQ
	Add support for mandatory resize CQ.

2014-01-29  Eli Cohen  <eli@mellanox.com>

	Fix micro UAR allocator
	The micro UAR (uuar) allocator had been broken since fast path uuars were
	introduced. This patch fixes this by defining iterators to aid in traversing
	the non fast path (e.g. those for regular use) uuars when attempting to
	allocate a uuar.

	In addition, change the logic in create_user_qp() so that if high class
	allocation fails (high class means lower latency), we revert to medium class
	and not to the low class.

2013-09-09  Eli Cohen  <eli@mellanox.com>

	libmlx5: First version of libmlx5
	This is the provider library for Connect-IB devices.
