Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1526563 > unrolled thread

Re: [PATCH v5 6/6] i2c: use an IRQ to report Host Notify events, not alert

Started byBenjamin Tissoires <benjamin.tissoires@redhat.com>
First post2016-11-21 12:00 +0100
Last post2016-11-24 16:20 +0100
Articles 4 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH v5 6/6] i2c: use an IRQ to report Host Notify events, not  alert Benjamin Tissoires <benjamin.tissoires@redhat.com> - 2016-11-21 12:00 +0100
    Re: [PATCH v5 6/6] i2c: use an IRQ to report Host Notify events, not  alert Wolfram Sang <wsa-dev@sang-engineering.com> - 2016-11-22 12:50 +0100
      Re: [PATCH v5 6/6] i2c: use an IRQ to report Host Notify events, not  alert Wolfram Sang <wsa-dev@sang-engineering.com> - 2016-11-24 16:10 +0100
        Re: [PATCH v5 6/6] i2c: use an IRQ to report Host Notify events, not  alert Benjamin Tissoires <benjamin.tissoires@redhat.com> - 2016-11-24 16:20 +0100

#1526563 — Re: [PATCH v5 6/6] i2c: use an IRQ to report Host Notify events, not alert

FromBenjamin Tissoires <benjamin.tissoires@redhat.com>
Date2016-11-21 12:00 +0100
SubjectRe: [PATCH v5 6/6] i2c: use an IRQ to report Host Notify events, not alert
Message-ID<sFUul-7g-3@gated-at.bofh.it>
Hi Wolfram,

On Nov 07 2016 or thereabouts, Wolfram Sang wrote:
> On Thu, Oct 13, 2016 at 02:10:40PM +0200, Benjamin Tissoires wrote:
> > The current SMBus Host Notify implementation relies on .alert() to
> > relay its notifications. However, the use cases where SMBus Host
> > Notify is needed currently is to signal data ready on touchpads.
> > 
> > This is closer to an IRQ than a custom API through .alert().
> > Given that the 2 touchpad manufacturers (Synaptics and Elan) that
> > use SMBus Host Notify don't put any data in the SMBus payload, the
> > concept actually matches one to one.
> 
> I see the advantages. The only question I have: What if we encounter
> devices in the future which do put data in the payload? Can this
> mechanism be extended to handle that?

I guess I haven't convinced you with my answer. Is there anything I can
do to get this series in v4.10 or do you prefer waiting for v4.11?

Cheers,
Benjamin

> 
> > 
> > Benefits are multiple:
> > - simpler code and API: the client will just have an IRQ, and
> >   nothing needs to be added in the adapter beside internally
> >   enabling it.
> > - no more specific workqueue, the threading is handled by IRQ core
> >   directly (when required)
> > - no more races when removing the device (the drivers are already
> >   required to disable irq on remove)
> > - simpler handling for drivers: use plain regular IRQs
> > - no more dependency on i2c-smbus for i2c-i801 (and any other adapter)
> > - the IRQ domain is created automatically when the adapter exports
> >   the Host Notify capability
> > - the IRQ are assign only if ACPI, OF and the caller did not assign
> >   one already
> > - the domain is automatically destroyed on remove
> > - fewer lines of code (minus 20, yeah!)
> > 
> > Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
> 
> Thanks for keeping at it!
> 

[toc] | [next] | [standalone]


#1527437

FromWolfram Sang <wsa-dev@sang-engineering.com>
Date2016-11-22 12:50 +0100
Message-ID<sGhKh-6Ac-1@gated-at.bofh.it>
In reply to#1526563

[Multipart message — attachments visible in raw view] — view raw

On Mon, Nov 21, 2016 at 11:52:48AM +0100, Benjamin Tissoires wrote:
> Hi Wolfram,
> 
> On Nov 07 2016 or thereabouts, Wolfram Sang wrote:
> > On Thu, Oct 13, 2016 at 02:10:40PM +0200, Benjamin Tissoires wrote:
> > > The current SMBus Host Notify implementation relies on .alert() to
> > > relay its notifications. However, the use cases where SMBus Host
> > > Notify is needed currently is to signal data ready on touchpads.
> > > 
> > > This is closer to an IRQ than a custom API through .alert().
> > > Given that the 2 touchpad manufacturers (Synaptics and Elan) that
> > > use SMBus Host Notify don't put any data in the SMBus payload, the
> > > concept actually matches one to one.
> > 
> > I see the advantages. The only question I have: What if we encounter
> > devices in the future which do put data in the payload? Can this
> > mechanism be extended to handle that?
> 
> I guess I haven't convinced you with my answer. Is there anything I can
> do to get this series in v4.10 or do you prefer waiting for v4.11?

I consider this v4.10 material. I was thinking a little about how to not
lose data with consecutive interrupts but then -EBUSY came along.
Nonetheless, it looks to me like the proper path to follow...

Thanks,

   Wolfram

[toc] | [prev] | [next] | [standalone]


#1529393

FromWolfram Sang <wsa-dev@sang-engineering.com>
Date2016-11-24 16:10 +0100
Message-ID<sH3OX-4pu-41@gated-at.bofh.it>
In reply to#1527437

[Multipart message — attachments visible in raw view] — view raw

On Tue, Nov 22, 2016 at 12:49:22PM +0100, Wolfram Sang wrote:
> On Mon, Nov 21, 2016 at 11:52:48AM +0100, Benjamin Tissoires wrote:
> > Hi Wolfram,
> > 
> > On Nov 07 2016 or thereabouts, Wolfram Sang wrote:
> > > On Thu, Oct 13, 2016 at 02:10:40PM +0200, Benjamin Tissoires wrote:
> > > > The current SMBus Host Notify implementation relies on .alert() to
> > > > relay its notifications. However, the use cases where SMBus Host
> > > > Notify is needed currently is to signal data ready on touchpads.
> > > > 
> > > > This is closer to an IRQ than a custom API through .alert().
> > > > Given that the 2 touchpad manufacturers (Synaptics and Elan) that
> > > > use SMBus Host Notify don't put any data in the SMBus payload, the
> > > > concept actually matches one to one.
> > > 
> > > I see the advantages. The only question I have: What if we encounter
> > > devices in the future which do put data in the payload? Can this
> > > mechanism be extended to handle that?
> > 
> > I guess I haven't convinced you with my answer. Is there anything I can
> > do to get this series in v4.10 or do you prefer waiting for v4.11?
> 
> I consider this v4.10 material. I was thinking a little about how to not
> lose data with consecutive interrupts but then -EBUSY came along.
> Nonetheless, it looks to me like the proper path to follow...

Applied to for-next, thanks!

Fixed the following checkpatch warning for you:

WARNING: struct irq_domain_ops should normally be const
#250: FILE: drivers/i2c/i2c-core.c:1838:
+static struct irq_domain_ops i2c_host_notify_irq_ops = {

[toc] | [prev] | [next] | [standalone]


#1529422

FromBenjamin Tissoires <benjamin.tissoires@redhat.com>
Date2016-11-24 16:20 +0100
Message-ID<sH3YC-4sR-45@gated-at.bofh.it>
In reply to#1529393
On Nov 24 2016 or thereabouts, Wolfram Sang wrote:
> On Tue, Nov 22, 2016 at 12:49:22PM +0100, Wolfram Sang wrote:
> > On Mon, Nov 21, 2016 at 11:52:48AM +0100, Benjamin Tissoires wrote:
> > > Hi Wolfram,
> > > 
> > > On Nov 07 2016 or thereabouts, Wolfram Sang wrote:
> > > > On Thu, Oct 13, 2016 at 02:10:40PM +0200, Benjamin Tissoires wrote:
> > > > > The current SMBus Host Notify implementation relies on .alert() to
> > > > > relay its notifications. However, the use cases where SMBus Host
> > > > > Notify is needed currently is to signal data ready on touchpads.
> > > > > 
> > > > > This is closer to an IRQ than a custom API through .alert().
> > > > > Given that the 2 touchpad manufacturers (Synaptics and Elan) that
> > > > > use SMBus Host Notify don't put any data in the SMBus payload, the
> > > > > concept actually matches one to one.
> > > > 
> > > > I see the advantages. The only question I have: What if we encounter
> > > > devices in the future which do put data in the payload? Can this
> > > > mechanism be extended to handle that?
> > > 
> > > I guess I haven't convinced you with my answer. Is there anything I can
> > > do to get this series in v4.10 or do you prefer waiting for v4.11?
> > 
> > I consider this v4.10 material. I was thinking a little about how to not
> > lose data with consecutive interrupts but then -EBUSY came along.
> > Nonetheless, it looks to me like the proper path to follow...
> 
> Applied to for-next, thanks!

Thanks!

> 
> Fixed the following checkpatch warning for you:
> 
> WARNING: struct irq_domain_ops should normally be const
> #250: FILE: drivers/i2c/i2c-core.c:1838:
> +static struct irq_domain_ops i2c_host_notify_irq_ops = {
> 

Thanks again :)

Cheers,
Benjamin

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web