• Robert Jennings's avatar
    powerpc/pseries: iommu enablement for CMO · 6490c490
    Robert Jennings authored
    To support Cooperative Memory Overcommitment (CMO), we need to check
    for failure from some of the tce hcalls.
    
    These changes for the pseries platform affect the powerpc architecture;
    patches for the other affected platforms are included in this patch.
    
    pSeries platform IOMMU code changes:
     * platform TCE functions must handle H_NOT_ENOUGH_RESOURCES errors and
       return an error.
    
    Architecture IOMMU code changes:
     * Calls to ppc_md.tce_build need to check return values and return
       DMA_MAPPING_ERROR for transient errors.
    
    Architecture changes:
     * struct machdep_calls for tce_build*_pSeriesLP functions need to change
       to indicate failure.
     * all other platforms will need updates to iommu functions to match the new
       calling semantics; they will return 0 on success.  The other platforms
       default configs have been built, but no further testing was performed.
    Signed-off-by: default avatarRobert Jennings <rcj@linux.vnet.ibm.com>
    Acked-by: default avatarOlof Johansson <olof@lixom.net>
    Acked-by: default avatarPaul Mackerras <paulus@samba.org>
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    6490c490
iommu.c 34.6 KB