Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-10 Thread Andrew Donnellan
On 10/03/16 12:18, Ian Munsie wrote: On a related matter, we should send a patch to remove some of the leftover config options that were added to smooth the merging of cxlflash in the first place (CXL_KERNEL_API, CXL_EEH). I'm happy to do that after this series is merged. -- Andrew Donnellan

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-10 Thread Andrew Donnellan
On 10/03/16 12:18, Ian Munsie wrote: On a related matter, we should send a patch to remove some of the leftover config options that were added to smooth the merging of cxlflash in the first place (CXL_KERNEL_API, CXL_EEH). I'm happy to do that after this series is merged. -- Andrew Donnellan

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-10 Thread Vaibhav Jain
Ian Munsie writes: > No, the kconfig option is there so that cxlflash can add support for > this and not have to worry about breaking any builds if their code is > merged into the scsi tree that doesn't have our code yet. > > There is nothing optional about this within our

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-10 Thread Vaibhav Jain
Ian Munsie writes: > No, the kconfig option is there so that cxlflash can add support for > this and not have to worry about breaking any builds if their code is > merged into the scsi tree that doesn't have our code yet. > > There is nothing optional about this within our driver, which is why >

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-10 Thread Vaibhav Jain
Michael Neuling writes: > These are here to enable the feature in other drivers. So the cxlflash > (or whoever) can put their code in via the linux-scsi tree but that new > piece is only enabled when CXL_AFU_DRIVER_OPS is present (ie. when > merged upstream). But if it's

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-10 Thread Vaibhav Jain
Michael Neuling writes: > These are here to enable the feature in other drivers. So the cxlflash > (or whoever) can put their code in via the linux-scsi tree but that new > piece is only enabled when CXL_AFU_DRIVER_OPS is present (ie. when > merged upstream). But if it's not, their code can

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-10 Thread Vaibhav Jain
Frederic Barrat writes: > Hi Vaibhav, > > Le 09/03/2016 15:37, Vaibhav Jain a écrit : > >> I would propose these two apis. >> >> /* >> * fetches an event from the driver event queue. NULL means that queue >> * is empty. Can sleep if needed. The memory for cxl_event

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-10 Thread Vaibhav Jain
Frederic Barrat writes: > Hi Vaibhav, > > Le 09/03/2016 15:37, Vaibhav Jain a écrit : > >> I would propose these two apis. >> >> /* >> * fetches an event from the driver event queue. NULL means that queue >> * is empty. Can sleep if needed. The memory for cxl_event is allocated >> * by module

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-09 Thread Michael Neuling
On Wed, 2016-03-09 at 20:07 +0530, Vaibhav Jain wrote: > Hi Ian, > > Sorry for getting into this discussion late. I have few suggestions. > > Ian Munsie writes: > > > > diff --git a/drivers/misc/cxl/Kconfig b/drivers/misc/cxl/Kconfig > > index 8756d06..560412c 100644 > >

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-09 Thread Michael Neuling
On Wed, 2016-03-09 at 20:07 +0530, Vaibhav Jain wrote: > Hi Ian, > > Sorry for getting into this discussion late. I have few suggestions. > > Ian Munsie writes: > > > > diff --git a/drivers/misc/cxl/Kconfig b/drivers/misc/cxl/Kconfig > > index 8756d06..560412c 100644 > > ---

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-09 Thread Ian Munsie
Excerpts from Frederic Barrat's message of 2016-03-09 20:27:20 +1100: > It would also avoid entering > WARN(1, "afu_read must be buggy\n"); > if the driver changes its mind between the 2 calls :-) Honestly, it had better not - that would be a gross violation of the poll & read semantics

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-09 Thread Ian Munsie
Excerpts from Frederic Barrat's message of 2016-03-09 20:27:20 +1100: > It would also avoid entering > WARN(1, "afu_read must be buggy\n"); > if the driver changes its mind between the 2 calls :-) Honestly, it had better not - that would be a gross violation of the poll & read semantics

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-09 Thread Ian Munsie
Excerpts from Vaibhav Jain's message of 2016-03-10 01:37:56 +1100: > > +select CXL_AFU_DRIVER_OPS > I suggest wrapping the driver_ops struct definition and other related > functions inside a #ifdef CONFIG_CXL_AFU_DRIVER_OPS. No, the kconfig option is there so that cxlflash can add support for

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-09 Thread Ian Munsie
Excerpts from Vaibhav Jain's message of 2016-03-10 01:37:56 +1100: > > +select CXL_AFU_DRIVER_OPS > I suggest wrapping the driver_ops struct definition and other related > functions inside a #ifdef CONFIG_CXL_AFU_DRIVER_OPS. No, the kconfig option is there so that cxlflash can add support for

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-09 Thread Ian Munsie
Excerpts from Frederic Barrat's message of 2016-03-09 20:27:20 +1100: > So on afu_read(), we may call afu_driver_ops->event_pending() twice > before calling afu_driver_ops->deliver_event(). Actually, in the > (likely) scenario where there's only an afu_driver event pending, we > *will* call

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-09 Thread Ian Munsie
Excerpts from Frederic Barrat's message of 2016-03-09 20:27:20 +1100: > So on afu_read(), we may call afu_driver_ops->event_pending() twice > before calling afu_driver_ops->deliver_event(). Actually, in the > (likely) scenario where there's only an afu_driver event pending, we > *will* call

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-09 Thread Frederic Barrat
Hi Vaibhav, Le 09/03/2016 15:37, Vaibhav Jain a écrit : I would propose these two apis. /* * fetches an event from the driver event queue. NULL means that queue * is empty. Can sleep if needed. The memory for cxl_event is allocated * by module being called. Hence it can be potentially be

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-09 Thread Frederic Barrat
Hi Vaibhav, Le 09/03/2016 15:37, Vaibhav Jain a écrit : I would propose these two apis. /* * fetches an event from the driver event queue. NULL means that queue * is empty. Can sleep if needed. The memory for cxl_event is allocated * by module being called. Hence it can be potentially be

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-09 Thread Matt Ochs
> On Mar 9, 2016, at 8:37 AM, Vaibhav Jain wrote: >> +/* >> + * AFU driver ops allows an AFU driver to create their own events to pass to >> + * userspace through the file descriptor as a simpler alternative to >> overriding >> + * the read() and poll() calls that

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-09 Thread Matt Ochs
> On Mar 9, 2016, at 8:37 AM, Vaibhav Jain wrote: >> +/* >> + * AFU driver ops allows an AFU driver to create their own events to pass to >> + * userspace through the file descriptor as a simpler alternative to >> overriding >> + * the read() and poll() calls that works with the generic cxl

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-09 Thread Vaibhav Jain
Hi Ian, Sorry for getting into this discussion late. I have few suggestions. Ian Munsie writes: > > diff --git a/drivers/misc/cxl/Kconfig b/drivers/misc/cxl/Kconfig > index 8756d06..560412c 100644 > --- a/drivers/misc/cxl/Kconfig > +++ b/drivers/misc/cxl/Kconfig > @@ -15,12

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-09 Thread Vaibhav Jain
Hi Ian, Sorry for getting into this discussion late. I have few suggestions. Ian Munsie writes: > > diff --git a/drivers/misc/cxl/Kconfig b/drivers/misc/cxl/Kconfig > index 8756d06..560412c 100644 > --- a/drivers/misc/cxl/Kconfig > +++ b/drivers/misc/cxl/Kconfig > @@ -15,12 +15,17 @@ config

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-09 Thread Frederic Barrat
Hi Ian, Le 08/03/2016 02:48, Ian Munsie a écrit : diff --git a/drivers/misc/cxl/file.c b/drivers/misc/cxl/file.c ... +static inline bool ctx_event_pending(struct cxl_context *ctx) +{ + if (ctx->pending_irq || ctx->pending_fault || ctx->pending_afu_err) + return true; + +

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-09 Thread Frederic Barrat
Hi Ian, Le 08/03/2016 02:48, Ian Munsie a écrit : diff --git a/drivers/misc/cxl/file.c b/drivers/misc/cxl/file.c ... +static inline bool ctx_event_pending(struct cxl_context *ctx) +{ + if (ctx->pending_irq || ctx->pending_fault || ctx->pending_afu_err) + return true; + +

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-08 Thread Andrew Donnellan
On 08/03/16 12:48, Ian Munsie wrote: From: Ian Munsie This adds an afu_driver_ops structure with event_pending and deliver_event callbacks. An AFU driver such as cxlflash can fill these out and associate it with a context to enable passing custom AFU specific events to

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-08 Thread Andrew Donnellan
On 08/03/16 12:48, Ian Munsie wrote: From: Ian Munsie This adds an afu_driver_ops structure with event_pending and deliver_event callbacks. An AFU driver such as cxlflash can fill these out and associate it with a context to enable passing custom AFU specific events to userspace. The cxl

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-07 Thread Matt Ochs
> On Mar 7, 2016, at 7:48 PM, Ian Munsie wrote: > > From: Ian Munsie > > This adds an afu_driver_ops structure with event_pending and > deliver_event callbacks. An AFU driver such as cxlflash can fill these > out and associate it with a context to

Re: [PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-07 Thread Matt Ochs
> On Mar 7, 2016, at 7:48 PM, Ian Munsie wrote: > > From: Ian Munsie > > This adds an afu_driver_ops structure with event_pending and > deliver_event callbacks. An AFU driver such as cxlflash can fill these > out and associate it with a context to enable passing custom AFU > specific events to

[PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-07 Thread Ian Munsie
From: Ian Munsie This adds an afu_driver_ops structure with event_pending and deliver_event callbacks. An AFU driver such as cxlflash can fill these out and associate it with a context to enable passing custom AFU specific events to userspace. The cxl driver will call

[PATCH v3 1/2] cxl: Add mechanism for delivering AFU driver specific events

2016-03-07 Thread Ian Munsie
From: Ian Munsie This adds an afu_driver_ops structure with event_pending and deliver_event callbacks. An AFU driver such as cxlflash can fill these out and associate it with a context to enable passing custom AFU specific events to userspace. The cxl driver will call event_pending() during