• Robert Jennings's avatar
    ibmveth: enable driver for CMO · 1096d63d
    Robert Jennings authored
    Enable ibmveth for Cooperative Memory Overcommitment (CMO).  For this driver
    it means calculating a desired amount of IO memory based on the current MTU
    and updating this value with the bus when MTU changes occur.  Because DMA
    mappings can fail, we have added a bounce buffer for temporary cases where
    the driver can not map IO memory for the buffer pool.
    
    The following changes are made to enable the driver for CMO:
     * DMA mapping errors will not result in error messages if entitlement has
       been exceeded and resources were not available.
     * DMA mapping errors are handled gracefully, ibmveth_replenish_buffer_pool()
       is corrected to check the return from dma_map_single and fail gracefully.
     * The driver will have a get_desired_dma function defined to function
       in a CMO environment.
     * When the MTU is changed, the driver will update the device IO entitlement
    Signed-off-by: default avatarRobert Jennings <rcj@linux.vnet.ibm.com>
    Signed-off-by: default avatarBrian King <brking@linux.vnet.ibm.com>
    Signed-off-by: default avatarSantiago Leon <santil@us.ibm.com>
    Acked-by: default avatarPaul Mackerras <paulus@samba.org>
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    1096d63d
ibmveth.c 46.7 KB