Revert "cxl: Add kernel API to allow a context to operate with relocate disabled"
authorAlastair D'Silva <alastair@d-silva.org>
Thu, 28 Jun 2018 10:05:00 +0000 (12:05 +0200)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 2 Jul 2018 13:54:30 +0000 (23:54 +1000)
Remove abandonned capi support for the Mellanox CX4.
The symbol 'cxl_set_translation_mode' is never called, so
ctx->real_mode is always false.

This reverts commit 7a0d85d313c2066712e530e668bc02bb741a685c.

Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
Acked-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
drivers/misc/cxl/api.c
drivers/misc/cxl/cxl.h
drivers/misc/cxl/guest.c
drivers/misc/cxl/native.c
include/misc/cxl.h

index 753b1a6..21d620e 100644 (file)
@@ -324,7 +324,6 @@ int cxl_start_context(struct cxl_context *ctx, u64 wed,
        if (task) {
                ctx->pid = get_task_pid(task, PIDTYPE_PID);
                kernel = false;
-               ctx->real_mode = false;
 
                /* acquire a reference to the task's mm */
                ctx->mm = get_task_mm(current);
@@ -388,24 +387,6 @@ void cxl_set_master(struct cxl_context *ctx)
 }
 EXPORT_SYMBOL_GPL(cxl_set_master);
 
-int cxl_set_translation_mode(struct cxl_context *ctx, bool real_mode)
-{
-       if (ctx->status == STARTED) {
-               /*
-                * We could potentially update the PE and issue an update LLCMD
-                * to support this, but it doesn't seem to have a good use case
-                * since it's trivial to just create a second kernel context
-                * with different translation modes, so until someone convinces
-                * me otherwise:
-                */
-               return -EBUSY;
-       }
-
-       ctx->real_mode = real_mode;
-       return 0;
-}
-EXPORT_SYMBOL_GPL(cxl_set_translation_mode);
-
 /* wrappers around afu_* file ops which are EXPORTED */
 int cxl_fd_open(struct inode *inode, struct file *file)
 {
index 918d4fb..af87947 100644 (file)
@@ -613,7 +613,6 @@ struct cxl_context {
        bool pe_inserted;
        bool master;
        bool kernel;
-       bool real_mode;
        bool pending_irq;
        bool pending_fault;
        bool pending_afu_err;
index 4644f16..f5dc740 100644 (file)
@@ -623,9 +623,6 @@ static int guest_attach_process(struct cxl_context *ctx, bool kernel, u64 wed, u
 {
        pr_devel("in %s\n", __func__);
 
-       if (ctx->real_mode)
-               return -EPERM;
-
        ctx->kernel = kernel;
        if (ctx->afu->current_mode == CXL_MODE_DIRECTED)
                return attach_afu_directed(ctx, wed, amr);
index 98f867f..c9d5d82 100644 (file)
@@ -605,6 +605,7 @@ u64 cxl_calculate_sr(bool master, bool kernel, bool real_mode, bool p9)
                sr |= CXL_PSL_SR_An_MP;
        if (mfspr(SPRN_LPCR) & LPCR_TC)
                sr |= CXL_PSL_SR_An_TC;
+
        if (kernel) {
                if (!real_mode)
                        sr |= CXL_PSL_SR_An_R;
@@ -629,7 +630,7 @@ u64 cxl_calculate_sr(bool master, bool kernel, bool real_mode, bool p9)
 
 static u64 calculate_sr(struct cxl_context *ctx)
 {
-       return cxl_calculate_sr(ctx->master, ctx->kernel, ctx->real_mode,
+       return cxl_calculate_sr(ctx->master, ctx->kernel, false,
                                cxl_is_power9());
 }
 
index b712be5..82cc6ff 100644 (file)
@@ -174,14 +174,6 @@ int cxl_afu_reset(struct cxl_context *ctx);
 void cxl_set_master(struct cxl_context *ctx);
 
 /*
- * Sets the context to use real mode memory accesses to operate with
- * translation disabled. Note that this only makes sense for kernel contexts
- * under bare metal, and will not work with virtualisation. May only be
- * performed on stopped contexts.
- */
-int cxl_set_translation_mode(struct cxl_context *ctx, bool real_mode);
-
-/*
  * Map and unmap the AFU Problem Space area. The amount and location mapped
  * depends on if this context is a master or slave.
  */