• Florian Fainelli's avatar
    swiotlb: Return consistent SWIOTLB segments/nr_tbl · 4aa095ea
    Florian Fainelli authored
    With a specifically contrived memory layout where there is no physical
    memory available to the kernel below the 4GB boundary, we will fail to
    perform the initial swiotlb_init() call and set no_iotlb_memory to true.
    
    There are drivers out there that call into swiotlb_nr_tbl() to determine
    whether they can use the SWIOTLB. With the right DMA_BIT_MASK() value
    for these drivers (say 64-bit), they won't ever need to hit
    swiotlb_tbl_map_single() so this can go unoticed and we would be
    possibly lying about those drivers.
    Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    4aa095ea
swiotlb.c 18.6 KB