brintos

brintos / linux-shallow public Read only

0
0
Text · 2.1 KiB · 64da5d3 Raw
51 lines · c
1/*2 * Copyright 2018 Red Hat Inc.3 *4 * Permission is hereby granted, free of charge, to any person obtaining a5 * copy of this software and associated documentation files (the "Software"),6 * to deal in the Software without restriction, including without limitation7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,8 * and/or sell copies of the Software, and to permit persons to whom the9 * Software is furnished to do so, subject to the following conditions:10 *11 * The above copyright notice and this permission notice shall be included in12 * all copies or substantial portions of the Software.13 *14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL17 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR18 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR20 * OTHER DEALINGS IN THE SOFTWARE.21 */22#ifndef __NOUVEAU_DMEM_H__23#define __NOUVEAU_DMEM_H__24#include <nvif/os.h>25struct drm_device;26struct drm_file;27struct nouveau_drm;28struct nouveau_svmm;29struct hmm_range;30 31#if IS_ENABLED(CONFIG_DRM_NOUVEAU_SVM)32void nouveau_dmem_init(struct nouveau_drm *);33void nouveau_dmem_fini(struct nouveau_drm *);34void nouveau_dmem_suspend(struct nouveau_drm *);35void nouveau_dmem_resume(struct nouveau_drm *);36 37int nouveau_dmem_migrate_vma(struct nouveau_drm *drm,38			     struct nouveau_svmm *svmm,39			     struct vm_area_struct *vma,40			     unsigned long start,41			     unsigned long end);42unsigned long nouveau_dmem_page_addr(struct page *page);43 44#else /* IS_ENABLED(CONFIG_DRM_NOUVEAU_SVM) */45static inline void nouveau_dmem_init(struct nouveau_drm *drm) {}46static inline void nouveau_dmem_fini(struct nouveau_drm *drm) {}47static inline void nouveau_dmem_suspend(struct nouveau_drm *drm) {}48static inline void nouveau_dmem_resume(struct nouveau_drm *drm) {}49#endif /* IS_ENABLED(CONFIG_DRM_NOUVEAU_SVM) */50#endif51