On 1/17/22 11:15 PM, Jason Gunthorpe wrote:
On Mon, Jan 17, 2022 at 04:48:24PM +0800, Cheng Xu wrote:
+ entry = to_emmap(rdma_entry);
+
+ switch (entry->mmap_flag) {
+ case ERDMA_MMAP_IO_NC:
+ /* map doorbell. */
+ vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
This should be pgprot_device()
Will fix.
+ err = io_remap_pfn_range(vma, vma->vm_start, PFN_DOWN(entry->address),
+ PAGE_SIZE, vma->vm_page_prot);
+ break;
+ default:
+ pr_err("mmap failed, mmap_flag = %d\n", entry->mmap_flag);
Audit this whole driver for prints:
1) Do not ever print on user spcae triggered paths, like this
2) Always use ibdev_dbg/err/etc
I will check for this.
+void erdma_disassociate_ucontext(struct ib_ucontext *ibcontext)
+{
+}
Does the driver really fully support device disassociation, including
support to recover from itin rdma-core? Don't define this function otherwise.
Jason
OK, will remove it.
Thanks,
Cheng Xu,