• FUJITA Tomonori's avatar
    powerpc: Remove IOMMU_VMERGE config option · 191aee58
    FUJITA Tomonori authored
    The description says:
    
     Cause IO segments sent to a device for DMA to be merged virtually
     by the IOMMU when they happen to have been allocated contiguously.
     This doesn't add pressure to the IOMMU allocator. However, some
     drivers don't support getting large merged segments coming back
     from *_map_sg().
    
     Most drivers don't have this problem; it is safe to say Y here.
    
    It's out of date. Long ago, drivers didn't have a way to tell IOMMUs
    about their segment length limit (that is, the maximum segment length
    that they can handle). So IOMMUs merged as many segments as possible
    and gave too large segments to drivers.
    
    dma_get_max_seg_size() was introduced to solve the above
    problem. Device drives can use the API to tell IOMMU about the maximum
    segment length that they can handle. In addition, the default limit
    (64K) should be safe for everyone.
    
    So this config option seems to be unnecessary.
    
    Note that this config option just enables users to disable the virtual
    merging by default. Users can still disable the virtual merging by the
    boot parameter.
    Signed-off-by: default avatarFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    191aee58
iommu.c 18 KB