Salut Christophe,

Since there's a respin, 2 details below.


diff --git a/drivers/misc/cxl/cxllib.c b/drivers/misc/cxl/cxllib.c
new file mode 100644
index 0000000..4f4c5ca
--- /dev/null
+++ b/drivers/misc/cxl/cxllib.c
@@ -0,0 +1,246 @@
+/*
+ * Copyright 2017 IBM Corp.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version
+ * 2 of the License, or (at your option) any later version.
+ */
+
+#include <asm/pnv-pci.h>
+#include <linux/hugetlb.h>
+#include <linux/sched/mm.h>
+#include <misc/cxllib.h>

Maybe somebody can comment on this, but I believe the usual order is the 'linux' headers first, then the 'asm'. Though I don't know if there's a valid reason behind it, or just tradition...


diff --git a/drivers/misc/cxl/fault.c b/drivers/misc/cxl/fault.c
index c79e39b..077370f 100644
--- a/drivers/misc/cxl/fault.c
+++ b/drivers/misc/cxl/fault.c

+static int cxl_handle_page_fault(struct cxl_context *ctx,
+                                struct mm_struct *mm,
+                                u64 dsisr, u64 dar)
+{
+       trace_cxl_pte_miss(ctx, dsisr, dar);
+
+       if (cxl_handle_mm_fault(mm, dsisr, dar)) {
+               cxl_ack_ae(ctx);
+       } else {
+               pr_devel("Page fault successfully handled for pe: %i!\n", 
ctx->pe);
+               cxl_ops->ack_irq(ctx, CXL_PSL_TFC_An_R, 0);
+       }
+
+       return IRQ_HANDLED;
  }

Why return IRQ_HANDLED? it's not called from an interrupt handler but from the bottom half (actually, I think it's coming from cxl_handle_segment_miss(), but it's wrong there as well).

  Fred

Reply via email to