[PATCH v2 01/10] Revert "cxl: Add kernel API to allow a context to operate with relocate disabled"

Andrew Donnellan andrew.donnellan at au1.ibm.com
Fri Jun 29 09:44:56 AEST 2018


On 28/06/18 20:05, Frederic Barrat wrote:
> From: Alastair D'Silva <alastair at d-silva.org>
> 
> 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 at d-silva.org>

Acked-by: Andrew Donnellan <andrew.donnellan at au1.ibm.com>

> ---
>   drivers/misc/cxl/api.c    | 19 -------------------
>   drivers/misc/cxl/cxl.h    |  1 -
>   drivers/misc/cxl/guest.c  |  3 ---
>   drivers/misc/cxl/native.c |  3 ++-
>   include/misc/cxl.h        |  8 --------
>   5 files changed, 2 insertions(+), 32 deletions(-)
> 
> diff --git a/drivers/misc/cxl/api.c b/drivers/misc/cxl/api.c
> index 753b1a698fc4..21d620e29fea 100644
> --- a/drivers/misc/cxl/api.c
> +++ b/drivers/misc/cxl/api.c
> @@ -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)
>   {
> diff --git a/drivers/misc/cxl/cxl.h b/drivers/misc/cxl/cxl.h
> index 918d4fb742d1..af8794719956 100644
> --- a/drivers/misc/cxl/cxl.h
> +++ b/drivers/misc/cxl/cxl.h
> @@ -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;
> diff --git a/drivers/misc/cxl/guest.c b/drivers/misc/cxl/guest.c
> index 4644f16606a3..f5dc740fcd13 100644
> --- a/drivers/misc/cxl/guest.c
> +++ b/drivers/misc/cxl/guest.c
> @@ -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);
> diff --git a/drivers/misc/cxl/native.c b/drivers/misc/cxl/native.c
> index 98f867fcef24..c9d5d82dce8e 100644
> --- a/drivers/misc/cxl/native.c
> +++ b/drivers/misc/cxl/native.c
> @@ -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());
>   }
>   
> diff --git a/include/misc/cxl.h b/include/misc/cxl.h
> index b712be544f8c..82cc6ffafe2d 100644
> --- a/include/misc/cxl.h
> +++ b/include/misc/cxl.h
> @@ -173,14 +173,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.
> 

-- 
Andrew Donnellan              OzLabs, ADL Canberra
andrew.donnellan at au1.ibm.com  IBM Australia Limited



More information about the Linuxppc-dev mailing list