	     Open Fabrics Enterprise Distribution (OFED)
		    mlx4 in OFED 1.2.c-10 Release Notes
			  
			   July 2007


===============================================================================
Table of Contents
===============================================================================
1. Overview
2. Supported Firmware Version
3. Tested ULPs
4. Fixed Bugs and Enhancements
5. Known Issues

===============================================================================
1. Overview
===============================================================================
mlx4 is the low level driver implementation for the ConnectX adapters designed
by Mellanox Technologies. The ConnectX can operate as an InfiniBand adapter,
as an Ethernet NIC, or as a Fibre Channel HBA. To accommodate the three flavors,
the driver is split into two modules:
    
- mlx4_core
	Handles low-level functions like device initialization and firmware
	commands processing. Also controls resource allocation so that the
	InfiniBand, Ethernet and FC functions can share a device without
	interfering with each other.
- mlx4_ib
	Handles InfiniBand-specific functions and plugs into the InfiniBand
	midlayer

mlx4 Available Parameters
--------------------------
In order to set mlx4 parameters, add the following line to /etc/modpobe.conf:
   options mlx4_core parameter=<value>

   mlx4_core parameters:
   - msi_x   	         attempt to use MSI-X if non-zero is supported by firmware
   - debug_level    	 enable debug tracing if > 0
   - ierr_reset_disable  disable reset on Internal Error event if nonzero 


===============================================================================
2. Supported Firmware Version
===============================================================================
This release must be used with firmware version 2.0.158 or later. If you use
older firmware, the driver will load will succeed (as only the device driver is
loaded), but ibv_devinfo will list the following message:
   # ibv_devinfo
   No IB devices found
Also, /var/log/messages will list a message such as the following:
   mlx4_core 0000:08:00.0: Installed FW version 2.0.157
   mlx4_core 0000:08:00.0: The Command i/f revision (1) of the installed FW
   mlx4_core 0000:08:00.0: is not supported by the installed driver.
   mlx4_core 0000:08:00.0: The driver supports Command i/f revision 2.

This release was tested with FW 2.1.000

===============================================================================
3. Tested ULPs
===============================================================================
The following ULPs are tested:
  o OpenSM
  o MPI (MVAPICH and Open MPI)
  o IPoIB UD and CM
  o SDP 
  o SRP was partially tested

===============================================================================
4. Fixed Bugs and Enhancements
===============================================================================
  o FMRs are now supported
    In addition:
    - MTT entries now written by driver directly (WRITE_MTT firmware command
      no longer used) -- avoids cache-line write race conditions due to FMRs
    - MPT table now allocated from coherent memory, to avoid race conditions
      between FMRs and firmware.
  o query_qp now returns the RQ capabilities to userspace.
  o Prevent possible data corruption when multiple gather segments are used.
    This fix requires to write s/g segments and the inline segment (for MSI/GSI)
    in reverse order into the WQE.
  o Eliminate double-kfree in mlx4_mr_alloc error flow.

===============================================================================
5. Known Issues
===============================================================================
- The following commands and/or features are not supported:
  o Resize CQ
  o APM
  o SQD

- ibstat does not present all entries. Use ibv_devinfo instead.

- To load the driver on machines with 64KB default page size UAR bar must be
  enlarged. 64KB page size is the default of PPC with RHEL5 and Itanium with
  64KB page size enabled.
  Perform the following three steps:
  1. Add the following line in the firmware configuration (INI) file under the
     [HCA] section:
       log2_uar_bar_megabytes = 5
  2. Burn a modified firmware image with the changed INI file
  3. Reboot the system
     
