All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vladimir Oltean <olteanv@gmail.com>
To: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Mark Brown <broonie@kernel.org>,
	Marc Kleine-Budde <mkl@pengutronix.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vladimir Oltean <vladimir.oltean@nxp.com>,
	linux-spi <linux-spi@vger.kernel.org>,
	lkml <linux-kernel@vger.kernel.org>,
	Wolfram Sang <wsa@kernel.org>,
	stable@vger.kernel.org,
	Pengutronix Kernel Team <kernel@pengutronix.de>
Subject: Re: [PATCH v2 1/3] spi: spi-fsl-dspi: Fix external abort on interrupt in exit paths
Date: Mon, 15 Jun 2020 17:59:33 +0300	[thread overview]
Message-ID: <CA+h21hoQtsbLCZ9UNGYbuf5JN8WVvjSiVbo7qTnTNYQNswt=TA@mail.gmail.com> (raw)
In-Reply-To: <20200615145711.GA24927@kozik-lap>

On Mon, 15 Jun 2020 at 17:57, Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On Mon, Jun 15, 2020 at 05:23:28PM +0300, Vladimir Oltean wrote:
> > On Mon, 15 Jun 2020 at 16:41, Krzysztof Kozlowski <krzk@kernel.org> wrote:
> > >
> > > On Mon, Jun 15, 2020 at 04:12:28PM +0300, Vladimir Oltean wrote:
> > > > On Mon, 15 Jun 2020 at 16:10, Mark Brown <broonie@kernel.org> wrote:
> > > >
> > > > >
> > > > > It's a bit unusual to need to actually free the IRQ over suspend -
> > > > > what's driving that requirement here?
> > > >
> > > > clk_disable_unprepare(dspi->clk); is driving the requirement - same as
> > > > in dspi_remove case, the module will fault when its registers are
> > > > accessed without a clock.
> > >
> > > In few cases when I have shared interrupt in different drivers, they
> > > were just disabling it during suspend. Why it has to be freed?
> > >
> > > Best regards,
> > > Krzysztof
> > >
> >
> > Not saying it _has_ to be freed, just to be prevented from running
> > concurrently with us disabling the clock.
> > But if we can get away in dspi_suspend with just disable_irq, can't we
> > also get away in dspi_remove with just devm_free_irq?
>
> One reason why they have to be different could be following scenario:
> 1. Device could be unbound any time and disabling IRQ in remove() would
>    effectively disable the IRQ also for other devices using this shared
>    line. First disable_irq() really disables it, the latter just
>    increases the counter.
> 2. However during system suspend, it is expected that all drivers in
>    their suspend (and later resume) callbacks will do the same - disable
>    the shared IRQ line. And finally the system disables interrupts
>    globally so the line will be balanced.
>
> Freeing IRQ solves the case #1 without causing any imbalance between
> enables/disables or requests/frees.  Disabling IRQ solves the #2, also
> without any imbalance.
>
> Best regards,
> Krzysztof
>
>
>

So the answer to my question is 'yes', right?

  reply	other threads:[~2020-06-15 14:59 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-15  8:07 [PATCH v2 1/3] spi: spi-fsl-dspi: Fix external abort on interrupt in exit paths Krzysztof Kozlowski
2020-06-15  8:07 ` [PATCH v2 2/3] spi: spi-fsl-dspi: Initialize completion before possible interrupt Krzysztof Kozlowski
2020-06-15  8:07 ` [PATCH v2 3/3] genirq: Do not test disabled IRQs with DEBUG_SHIRQ Krzysztof Kozlowski
2020-06-15 12:08   ` Mark Brown
2020-06-16 10:11     ` Krzysztof Kozlowski
2020-06-16 10:39       ` Mark Brown
2020-06-17  9:30         ` Thomas Gleixner
2020-06-15  8:17 ` [PATCH v2 1/3] spi: spi-fsl-dspi: Fix external abort on interrupt in exit paths Marc Kleine-Budde
2020-06-15  9:23   ` Vladimir Oltean
2020-06-15 13:08     ` Krzysztof Kozlowski
2020-06-15 12:30   ` Mark Brown
2020-06-15 12:56     ` Vladimir Oltean
2020-06-15 13:10       ` Mark Brown
2020-06-15 13:12         ` Vladimir Oltean
2020-06-15 13:24           ` Mark Brown
2020-06-15 13:29             ` Vladimir Oltean
2020-06-15 13:36               ` Mark Brown
2020-06-15 13:41           ` Krzysztof Kozlowski
2020-06-15 14:23             ` Vladimir Oltean
2020-06-15 14:57               ` Krzysztof Kozlowski
2020-06-15 14:59                 ` Vladimir Oltean [this message]
2020-06-15 13:10       ` Krzysztof Kozlowski
2020-06-15 13:14         ` Vladimir Oltean
2020-06-15 13:28           ` Krzysztof Kozlowski
2020-06-15 13:33             ` Vladimir Oltean

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CA+h21hoQtsbLCZ9UNGYbuf5JN8WVvjSiVbo7qTnTNYQNswt=TA@mail.gmail.com' \
    --to=olteanv@gmail.com \
    --cc=broonie@kernel.org \
    --cc=kernel@pengutronix.de \
    --cc=krzk@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=mkl@pengutronix.de \
    --cc=stable@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=vladimir.oltean@nxp.com \
    --cc=wsa@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.