Re: [PATCH v5 03/18] cxl: Define process problem state area at attach time only

2016-03-02 Thread Ian Munsie
Thanks for addressing my comments on this one - looks good :)

Acked-by: Ian Munsie 

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH v5 03/18] cxl: Define process problem state area at attach time only

2016-02-23 Thread Manoj Kumar

Reviewed-by: Manoj Kumar 

---
Manoj Kumar


On 2/23/2016 10:21 AM, Frederic Barrat wrote:

CXL kernel API was defining the process problem state area during
context initialization, making it possible to map the problem state
area before attaching the context. This won't work on a powerVM
guest. So force the logical behavior, like in userspace: attach first,
then map the problem state area.
Remove calls to cxl_assign_psn_space during init. The function is
already called on the attach paths.

Co-authored-by: Christophe Lombard 
Signed-off-by: Frederic Barrat 
Signed-off-by: Christophe Lombard 
---
  drivers/misc/cxl/api.c | 11 ++-
  1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/drivers/misc/cxl/api.c b/drivers/misc/cxl/api.c
index ea3eeb7..b45d857 100644
--- a/drivers/misc/cxl/api.c
+++ b/drivers/misc/cxl/api.c
@@ -51,8 +51,6 @@ struct cxl_context *cxl_dev_context_init(struct pci_dev *dev)
if (rc)
goto err_mapping;

-   cxl_assign_psn_space(ctx);
-
return ctx;

  err_mapping:
@@ -207,7 +205,6 @@ EXPORT_SYMBOL_GPL(cxl_stop_context);
  void cxl_set_master(struct cxl_context *ctx)
  {
ctx->master = true;
-   cxl_assign_psn_space(ctx);
  }
  EXPORT_SYMBOL_GPL(cxl_set_master);

@@ -325,15 +322,11 @@ EXPORT_SYMBOL_GPL(cxl_start_work);

  void __iomem *cxl_psa_map(struct cxl_context *ctx)
  {
-   struct cxl_afu *afu = ctx->afu;
-   int rc;
-
-   rc = cxl_afu_check_and_enable(afu);
-   if (rc)
+   if (ctx->status != STARTED)
return NULL;

pr_devel("%s: psn_phys%llx size:%llx\n",
-__func__, afu->psn_phys, afu->adapter->ps_size);
+   __func__, ctx->psn_phys, ctx->psn_size);
return ioremap(ctx->psn_phys, ctx->psn_size);
  }
  EXPORT_SYMBOL_GPL(cxl_psa_map);



___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH v5 03/18] cxl: Define process problem state area at attach time only

2016-02-23 Thread Frederic Barrat
CXL kernel API was defining the process problem state area during
context initialization, making it possible to map the problem state
area before attaching the context. This won't work on a powerVM
guest. So force the logical behavior, like in userspace: attach first,
then map the problem state area.
Remove calls to cxl_assign_psn_space during init. The function is
already called on the attach paths.

Co-authored-by: Christophe Lombard 
Signed-off-by: Frederic Barrat 
Signed-off-by: Christophe Lombard 
---
 drivers/misc/cxl/api.c | 11 ++-
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/drivers/misc/cxl/api.c b/drivers/misc/cxl/api.c
index ea3eeb7..b45d857 100644
--- a/drivers/misc/cxl/api.c
+++ b/drivers/misc/cxl/api.c
@@ -51,8 +51,6 @@ struct cxl_context *cxl_dev_context_init(struct pci_dev *dev)
if (rc)
goto err_mapping;
 
-   cxl_assign_psn_space(ctx);
-
return ctx;
 
 err_mapping:
@@ -207,7 +205,6 @@ EXPORT_SYMBOL_GPL(cxl_stop_context);
 void cxl_set_master(struct cxl_context *ctx)
 {
ctx->master = true;
-   cxl_assign_psn_space(ctx);
 }
 EXPORT_SYMBOL_GPL(cxl_set_master);
 
@@ -325,15 +322,11 @@ EXPORT_SYMBOL_GPL(cxl_start_work);
 
 void __iomem *cxl_psa_map(struct cxl_context *ctx)
 {
-   struct cxl_afu *afu = ctx->afu;
-   int rc;
-
-   rc = cxl_afu_check_and_enable(afu);
-   if (rc)
+   if (ctx->status != STARTED)
return NULL;
 
pr_devel("%s: psn_phys%llx size:%llx\n",
-__func__, afu->psn_phys, afu->adapter->ps_size);
+   __func__, ctx->psn_phys, ctx->psn_size);
return ioremap(ctx->psn_phys, ctx->psn_size);
 }
 EXPORT_SYMBOL_GPL(cxl_psa_map);
-- 
1.9.1

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev