Lines Matching refs:range
181 static inline bool hmm_range_wait_until_valid(struct hmm_range *range, in hmm_range_wait_until_valid() argument
184 return wait_event_timeout(range->hmm->wq, range->valid, in hmm_range_wait_until_valid()
193 static inline bool hmm_range_valid(struct hmm_range *range) in hmm_range_valid() argument
195 return range->valid; in hmm_range_valid()
207 static inline struct page *hmm_device_entry_to_page(const struct hmm_range *range, in hmm_device_entry_to_page() argument
210 if (entry == range->values[HMM_PFN_NONE]) in hmm_device_entry_to_page()
212 if (entry == range->values[HMM_PFN_ERROR]) in hmm_device_entry_to_page()
214 if (entry == range->values[HMM_PFN_SPECIAL]) in hmm_device_entry_to_page()
216 if (!(entry & range->flags[HMM_PFN_VALID])) in hmm_device_entry_to_page()
218 return pfn_to_page(entry >> range->pfn_shift); in hmm_device_entry_to_page()
228 hmm_device_entry_to_pfn(const struct hmm_range *range, uint64_t pfn) in hmm_device_entry_to_pfn() argument
230 if (pfn == range->values[HMM_PFN_NONE]) in hmm_device_entry_to_pfn()
232 if (pfn == range->values[HMM_PFN_ERROR]) in hmm_device_entry_to_pfn()
234 if (pfn == range->values[HMM_PFN_SPECIAL]) in hmm_device_entry_to_pfn()
236 if (!(pfn & range->flags[HMM_PFN_VALID])) in hmm_device_entry_to_pfn()
238 return (pfn >> range->pfn_shift); in hmm_device_entry_to_pfn()
247 static inline uint64_t hmm_device_entry_from_page(const struct hmm_range *range, in hmm_device_entry_from_page() argument
250 return (page_to_pfn(page) << range->pfn_shift) | in hmm_device_entry_from_page()
251 range->flags[HMM_PFN_VALID]; in hmm_device_entry_from_page()
260 static inline uint64_t hmm_device_entry_from_pfn(const struct hmm_range *range, in hmm_device_entry_from_pfn() argument
263 return (pfn << range->pfn_shift) | in hmm_device_entry_from_pfn()
264 range->flags[HMM_PFN_VALID]; in hmm_device_entry_from_pfn()
378 int hmm_range_register(struct hmm_range *range, struct hmm_mirror *mirror);
379 void hmm_range_unregister(struct hmm_range *range);
389 long hmm_range_fault(struct hmm_range *range, unsigned int flags);
391 long hmm_range_dma_map(struct hmm_range *range,
395 long hmm_range_dma_unmap(struct hmm_range *range,