Message ID | 1466750827-3062-1-git-send-email-felix@linux.vnet.ibm.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On 24/06/16 16:47, Philippe Bergheaud wrote: > From: Michael Neuling <mikey@neuling.org> > > This provides AFU drivers a means to associate private data with a cxl > context. This is particularly intended for make the new callbacks for > driver specific events easier for AFU drivers to use, as they can easily > get back to any private data structures they may use. > > Signed-off-by: Michael Neuling <mikey@neuling.org> > Signed-off-by: Ian Munsie <imunsie@au1.ibm.com> > Signed-off-by: Philippe Bergheaud <felix@linux.vnet.ibm.com > Reviewed-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com> As per v3: Reviewed-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
On Fri, 2016-24-06 at 06:47:07 UTC, Philippe Bergheaud wrote: > From: Michael Neuling <mikey@neuling.org> > > This provides AFU drivers a means to associate private data with a cxl > context. This is particularly intended for make the new callbacks for > driver specific events easier for AFU drivers to use, as they can easily > get back to any private data structures they may use. > > Signed-off-by: Michael Neuling <mikey@neuling.org> > Signed-off-by: Ian Munsie <imunsie@au1.ibm.com> > Signed-off-by: Philippe Bergheaud <felix@linux.vnet.ibm.com > Reviewed-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com> > Reviewed-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com> > --- > No changes since v1. Added Matt Ochs reviewed-by tag. I'm not sure why this is RESEND ? Does this pair with [v7 1/2] ? https://patchwork.ozlabs.org/patch/639644/ It's a lot simpler if you just resend the whole series each time there is an update to any patch. cheers
Michael Ellerman wrote: > On Fri, 2016-24-06 at 06:47:07 UTC, Philippe Bergheaud wrote: > >>From: Michael Neuling <mikey@neuling.org> >> >>This provides AFU drivers a means to associate private data with a cxl >>context. This is particularly intended for make the new callbacks for >>driver specific events easier for AFU drivers to use, as they can easily >>get back to any private data structures they may use. >> >>Signed-off-by: Michael Neuling <mikey@neuling.org> >>Signed-off-by: Ian Munsie <imunsie@au1.ibm.com> >>Signed-off-by: Philippe Bergheaud <felix@linux.vnet.ibm.com >>Reviewed-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com> >>Reviewed-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com> >>--- >>No changes since v1. Added Matt Ochs reviewed-by tag. > > > I'm not sure why this is RESEND ? > Sorry. That was because I made a typo in the title (I typed v6 instead of v7). > Does this pair with [v7 1/2] ? > Yes it does. > https://patchwork.ozlabs.org/patch/639644/ > > It's a lot simpler if you just resend the whole series each time there is an > update to any patch. > Got it, thank you. Philippe
On Fri, 2016-24-06 at 06:47:07 UTC, Philippe Bergheaud wrote: > From: Michael Neuling <mikey@neuling.org> > > This provides AFU drivers a means to associate private data with a cxl > context. This is particularly intended for make the new callbacks for > driver specific events easier for AFU drivers to use, as they can easily > get back to any private data structures they may use. > > Signed-off-by: Michael Neuling <mikey@neuling.org> > Signed-off-by: Ian Munsie <imunsie@au1.ibm.com> > Signed-off-by: Philippe Bergheaud <felix@linux.vnet.ibm.com > Reviewed-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com> > Reviewed-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com> Applied to powerpc next, thanks. https://git.kernel.org/powerpc/c/ad42de859ff14c079e966e61cb cheers
diff --git a/drivers/misc/cxl/api.c b/drivers/misc/cxl/api.c index dd1988e..271bf77 100644 --- a/drivers/misc/cxl/api.c +++ b/drivers/misc/cxl/api.c @@ -94,6 +94,27 @@ static irq_hw_number_t cxl_find_afu_irq(struct cxl_context *ctx, int num) return 0; } + +int cxl_set_priv(struct cxl_context *ctx, void *priv) +{ + if (!ctx) + return -EINVAL; + + ctx->priv = priv; + + return 0; +} +EXPORT_SYMBOL_GPL(cxl_set_priv); + +void *cxl_get_priv(struct cxl_context *ctx) +{ + if (!ctx) + return ERR_PTR(-EINVAL); + + return ctx->priv; +} +EXPORT_SYMBOL_GPL(cxl_get_priv); + int cxl_allocate_afu_irqs(struct cxl_context *ctx, int num) { int res; diff --git a/drivers/misc/cxl/cxl.h b/drivers/misc/cxl/cxl.h index b0027e6..1e56304 100644 --- a/drivers/misc/cxl/cxl.h +++ b/drivers/misc/cxl/cxl.h @@ -478,6 +478,9 @@ struct cxl_context { /* Only used in PR mode */ u64 process_token; + /* driver private data */ + void *priv; + unsigned long *irq_bitmap; /* Accessed from IRQ context */ struct cxl_irq_ranges irqs; struct list_head irq_names; diff --git a/include/misc/cxl.h b/include/misc/cxl.h index 17419f6..b6d040f 100644 --- a/include/misc/cxl.h +++ b/include/misc/cxl.h @@ -86,6 +86,13 @@ struct cxl_context *cxl_dev_context_init(struct pci_dev *dev); int cxl_release_context(struct cxl_context *ctx); /* + * Set and get private data associated with a context. Allows drivers to have a + * back pointer to some useful structure. + */ +int cxl_set_priv(struct cxl_context *ctx, void *priv); +void *cxl_get_priv(struct cxl_context *ctx); + +/* * Allocate AFU interrupts for this context. num=0 will allocate the default * for this AFU as given in the AFU descriptor. This number doesn't include the * interrupt 0 (CAIA defines AFU IRQ 0 for page faults). Each interrupt to be