lkml.org 
[lkml]   [2019]   [Aug]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 15/15] amdgpu: remove CONFIG_DRM_AMDGPU_USERPTR
    Date
    The option is just used to select HMM mirror support and has a very
    confusing help text. Just pull in the HMM mirror code by default
    instead.

    Signed-off-by: Christoph Hellwig <hch@lst.de>
    ---
    drivers/gpu/drm/Kconfig | 2 ++
    drivers/gpu/drm/amd/amdgpu/Kconfig | 10 ----------
    drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 6 ------
    drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h | 12 ------------
    4 files changed, 2 insertions(+), 28 deletions(-)

    diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
    index 1d80222587ad..319c1da2e74e 100644
    --- a/drivers/gpu/drm/Kconfig
    +++ b/drivers/gpu/drm/Kconfig
    @@ -226,9 +226,11 @@ config DRM_AMDGPU
    select DRM_SCHED
    select DRM_TTM
    select POWER_SUPPLY
    + select HMM_MIRROR
    select HWMON
    select BACKLIGHT_CLASS_DEVICE
    select INTERVAL_TREE
    + select MMU_NOTIFIER
    select CHASH
    help
    Choose this option if you have a recent AMD Radeon graphics card.
    diff --git a/drivers/gpu/drm/amd/amdgpu/Kconfig b/drivers/gpu/drm/amd/amdgpu/Kconfig
    index 2e98c016cb47..c5c963164f5e 100644
    --- a/drivers/gpu/drm/amd/amdgpu/Kconfig
    +++ b/drivers/gpu/drm/amd/amdgpu/Kconfig
    @@ -24,16 +24,6 @@ config DRM_AMDGPU_CIK

    radeon.cik_support=0 amdgpu.cik_support=1

    -config DRM_AMDGPU_USERPTR
    - bool "Always enable userptr write support"
    - depends on DRM_AMDGPU
    - depends on MMU
    - select HMM_MIRROR
    - select MMU_NOTIFIER
    - help
    - This option selects CONFIG_HMM and CONFIG_HMM_MIRROR if it
    - isn't already selected to enabled full userptr support.
    -
    config DRM_AMDGPU_GART_DEBUGFS
    bool "Allow GART access through debugfs"
    depends on DRM_AMDGPU
    diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
    index 8bf79288c4e2..00b74adbd790 100644
    --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
    +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
    @@ -751,9 +751,7 @@ struct amdgpu_ttm_tt {
    uint64_t userptr;
    struct task_struct *usertask;
    uint32_t userflags;
    -#if IS_ENABLED(CONFIG_DRM_AMDGPU_USERPTR)
    struct hmm_range *range;
    -#endif
    };

    /**
    @@ -763,7 +761,6 @@ struct amdgpu_ttm_tt {
    * Calling function must call amdgpu_ttm_tt_userptr_range_done() once and only
    * once afterwards to stop HMM tracking
    */
    -#if IS_ENABLED(CONFIG_DRM_AMDGPU_USERPTR)

    #define MAX_RETRY_HMM_RANGE_FAULT 16

    @@ -892,7 +889,6 @@ bool amdgpu_ttm_tt_get_user_pages_done(struct ttm_tt *ttm)

    return r;
    }
    -#endif

    /**
    * amdgpu_ttm_tt_set_user_pages - Copy pages in, putting old pages as necessary.
    @@ -970,12 +966,10 @@ static void amdgpu_ttm_tt_unpin_userptr(struct ttm_tt *ttm)

    sg_free_table(ttm->sg);

    -#if IS_ENABLED(CONFIG_DRM_AMDGPU_USERPTR)
    if (gtt->range &&
    ttm->pages[0] == hmm_device_entry_to_page(gtt->range,
    gtt->range->pfns[0]))
    WARN_ONCE(1, "Missing get_user_page_done\n");
    -#endif
    }

    int amdgpu_ttm_gart_bind(struct amdgpu_device *adev,
    diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h
    index caa76c693700..406b1c5e6dd4 100644
    --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h
    +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h
    @@ -101,20 +101,8 @@ int amdgpu_mmap(struct file *filp, struct vm_area_struct *vma);
    int amdgpu_ttm_alloc_gart(struct ttm_buffer_object *bo);
    int amdgpu_ttm_recover_gart(struct ttm_buffer_object *tbo);

    -#if IS_ENABLED(CONFIG_DRM_AMDGPU_USERPTR)
    int amdgpu_ttm_tt_get_user_pages(struct amdgpu_bo *bo, struct page **pages);
    bool amdgpu_ttm_tt_get_user_pages_done(struct ttm_tt *ttm);
    -#else
    -static inline int amdgpu_ttm_tt_get_user_pages(struct amdgpu_bo *bo,
    - struct page **pages)
    -{
    - return -EPERM;
    -}
    -static inline bool amdgpu_ttm_tt_get_user_pages_done(struct ttm_tt *ttm)
    -{
    - return false;
    -}
    -#endif

    void amdgpu_ttm_tt_set_user_pages(struct ttm_tt *ttm, struct page **pages);
    int amdgpu_ttm_tt_set_userptr(struct ttm_tt *ttm, uint64_t addr,
    --
    2.20.1
    \
     
     \ /
      Last update: 2019-08-06 18:25    [W:3.199 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site