Re: [PATCH v3 3/3] pinctrl: qcom: Clear possible pending irq when remuxing GPIOs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Thu, Dec 10, 2020 at 1:56 PM Stephen Boyd <swboyd@xxxxxxxxxxxx> wrote:
>
> Quoting Douglas Anderson (2020-12-09 16:41:03)
> > Conceptually, we can envision the input on Qualcomm SoCs to pass
> > through a bunch of blocks between coming into the chip and becoming a
> > GPIO interrupt.  From guessing and running a handful of tests, I
> > believe that we can represent the state of the world with a drawing
> > that looks something like this:
> >
> >  +-----------------+       +-----------------+       +-----------------+
> >  |      INPUT      |  -->  |      PINMUX     |       |    IS_INPUT     |
> >  +-----------------+       |                 |  -->  |                 |
> >                            | output bogus (?)|       | output bogus (?)|
> >                            | if not muxed    |       | if input disab. |
> >                            +-----------------+       +-----------------+
> >                                                               |
> >           +---------------------------------------------------+--> to PDC
> >           |
> >           V
> >  +-----------------+       +-----------------+       +-----------------+
> >  | INTR RAW ENABLE |       | DETECTION LOGIC |       | STATUS REGISTER |
> >  |                 |       |                 |       |                 |
> >  | output bogus (?)|  -->  | maybe handles   |       | latches inputs  |
> >  | if disabled     |       | polarity diffs  |  -->  | that are high   |
> >  +-----------------+       |                 |       |                 |
> >                            | maybe debounces |       | write 1 to clr  |
> >                            | level irqs      |       +-----------------+
> >                            +-----------------+                |
> >                                                               |
> >           +---------------------------------------------------+
> >           |
> >           V
> >  +-----------------+
> >  |      ENABLE     |
> >  |                 |       +-----------------+
> >  | nothing passes  |  -->  |   SUMMARY IRQ   |
> >  | through if      |       +-----------------+
> >  | disabled        |
> >  +-----------------+
>
> This diagram doesn't make sense to me.

I've gutted most of this code for v4 after Maulik pointed out why my
testing was flawed.  Hopefully v4 looks saner...

-Doug



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux