• John Stultz's avatar
    staging: ion: Fix ion_cma_heap allocations · f292b9b2
    John Stultz authored
    In trying to add support for drm_hwcomposer to HiKey,
    I've needed to utilize the ION CMA heap, and I've noticed
    problems with allocations on newer kernels failing.
    
    It seems back with 204f6722 ("ion: Use CMA APIs directly"),
    the ion_cma_heap code was modified to use the CMA API, but
    kept the arguments as buffer lengths rather then number of pages.
    
    This results in errors as we don't have enough pages in CMA to
    satisfy the exaggerated requests.
    
    This patch converts the ion_cma_heap CMA API usage to properly
    request pages.
    
    It also fixes a minor issue in the allocation where in the error
    path, the cma_release is called with the buffer->size value which
    hasn't yet been set.
    
    Cc: Laura Abbott <labbott@redhat.com>
    Cc: Sumit Semwal <sumit.semwal@linaro.org>
    Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org>
    Cc: Archit Taneja <architt@codeaurora.org>
    Cc: Greg KH <gregkh@linuxfoundation.org>
    Cc: Daniel Vetter <daniel@ffwll.ch>
    Cc: Dmitry Shmidt <dimitrysh@google.com>
    Cc: Todd Kjos <tkjos@google.com>
    Cc: Amit Pundir <amit.pundir@linaro.org>
    Fixes: 204f6722 ("staging: android: ion: Use CMA APIs directly")
    Acked-by: default avatarLaura Abbott <labbott@redhat.com>
    Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    f292b9b2
Kconfig 1.52 KB