On Tue, Feb 27, 2018 at 10:39 AM, Tony Lindgren <[email protected]> wrote: > * Tim Harvey <[email protected]> [180227 16:07]: >> When acking irqs we need to take into account the ack-invert case. Without >> this chips that require 0's to ACK interrupts will never clear the interrupt. >> >> I am working on an mfd driver that will use ack-invert and discovered >> this issue. The only user of ack_invert currently appears to be the >> motorola-cpcap driver. I'm not clear why that driver doesn't appear affected >> so I'm cc'ing those involved with that driver for review and testing. > > I gave this a quick try and it fails with cpcap. So yeah, you're right, > it seems we still have the cpcap config wrong. >
Tony, So you would agree with my findings/patch right? I certainly don't want to break regmap-irq in general :) Adding Guo Zeng and Barry Song to the thread as they were the authors of the ack_invert feature (a650fdd9427f1f5236f83d2d8137bea9b452fa53) and I'm not clear what happened to the chip they were needing it for. > Things do work with the following patch and your patch for cpcap. So > they should both be applied together as a single patch. > > Care to fold in the following change and then repost your patch? > > Otherwise we might end up breaking things easily for booting or > bisect or stable. Or else the patch below needs to be applied first > to avoid breaking things. > So cpcap needs to write 1's to clear irq's not 0's right? Yes, I can certainly roll in the fix for cpcap if everyone agrees that's the right move. I'll wait for some feedback from Mark Brown as well. Regards, Tim

