All of lore.kernel.org
 help / color / mirror / Atom feed
From: Maxime Ripard <maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
To: Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	Chris Ball <chris-OsFVWbfNK3isTnJN9+BGXg@public.gmane.org>,
	Ulf Hansson <ulf.hansson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>,
	"John W. Linville"
	<linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>,
	Chen-Yu Tsai <wens-jdAy2FN1RRM@public.gmane.org>,
	"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
	"linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	linux-wireless
	<linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	devicetree <devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	linux-sunxi <linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
Subject: Re: [PATCH 03/11] pinctrl: sunxi: Move setting of mux to irq type from unmask to set_type
Date: Wed, 28 May 2014 11:36:53 +0200	[thread overview]
Message-ID: <20140528093653.GN4730@lukather> (raw)
In-Reply-To: <CACRpkdZcGJTXfcxN_sogm+hYHM56d_VxtuZqth0t-c2mgAJ0vA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 1576 bytes --]

On Tue, May 27, 2014 at 04:18:29PM +0200, Linus Walleij wrote:
> On Mon, May 26, 2014 at 9:47 AM, Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote:
> 
> > With level triggered interrupt mask / unmask will get called for each
> > interrupt, doing the somewhat expensive mux setting on each unmask thus is
> > not a good idea. Instead move it to the set_type callback, which is typically
> > done only once for each irq.
> >
> > Signed-off-by: Hans de Goede <hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
> 
> Yes move it out of mask/unmask but no, not into set_type().
> 
> Can you not use the irqchip startup()/shutdown() callbacks
> instead?

I think we can use irq_request_resources then
https://lkml.org/lkml/2014/3/12/307

We could even merge the gpio_to_irq code into it.

It's called in __setup_irq, so it's guaranteed to be called, and it
will bail out early without doing anything, since it's one of the
first thing __setup_irq does.

> And how come we have no clean separation between gpiochip
> and the pinmux parts here, why cant we just call
> pinctrl_request_gpio() and pinctrl_free_gpio() here instead?
> Or maybe pinctrl_gpio_direction_input() and have that set
> up the muxing in the pinctrl driver side?

Because the function it has to be muxed to is neither gpio_in or
gpio_out, and it's not even considered a gpio. It really is just
another muxing function, like i2c or mmc.

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Maxime Ripard <maxime.ripard@free-electrons.com>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: Hans de Goede <hdegoede@redhat.com>,
	Chris Ball <chris@printf.net>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Arend van Spriel <arend@broadcom.com>,
	"John W. Linville" <linville@tuxdriver.com>,
	Chen-Yu Tsai <wens@csie.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>,
	linux-wireless <linux-wireless@vger.kernel.org>,
	devicetree <devicetree@vger.kernel.org>,
	linux-sunxi <linux-sunxi@googlegroups.com>
Subject: Re: [PATCH 03/11] pinctrl: sunxi: Move setting of mux to irq type from unmask to set_type
Date: Wed, 28 May 2014 11:36:53 +0200	[thread overview]
Message-ID: <20140528093653.GN4730@lukather> (raw)
In-Reply-To: <CACRpkdZcGJTXfcxN_sogm+hYHM56d_VxtuZqth0t-c2mgAJ0vA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1518 bytes --]

On Tue, May 27, 2014 at 04:18:29PM +0200, Linus Walleij wrote:
> On Mon, May 26, 2014 at 9:47 AM, Hans de Goede <hdegoede@redhat.com> wrote:
> 
> > With level triggered interrupt mask / unmask will get called for each
> > interrupt, doing the somewhat expensive mux setting on each unmask thus is
> > not a good idea. Instead move it to the set_type callback, which is typically
> > done only once for each irq.
> >
> > Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> 
> Yes move it out of mask/unmask but no, not into set_type().
> 
> Can you not use the irqchip startup()/shutdown() callbacks
> instead?

I think we can use irq_request_resources then
https://lkml.org/lkml/2014/3/12/307

We could even merge the gpio_to_irq code into it.

It's called in __setup_irq, so it's guaranteed to be called, and it
will bail out early without doing anything, since it's one of the
first thing __setup_irq does.

> And how come we have no clean separation between gpiochip
> and the pinmux parts here, why cant we just call
> pinctrl_request_gpio() and pinctrl_free_gpio() here instead?
> Or maybe pinctrl_gpio_direction_input() and have that set
> up the muxing in the pinctrl driver side?

Because the function it has to be muxed to is neither gpio_in or
gpio_out, and it's not even considered a gpio. It really is just
another muxing function, like i2c or mmc.

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: maxime.ripard@free-electrons.com (Maxime Ripard)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 03/11] pinctrl: sunxi: Move setting of mux to irq type from unmask to set_type
Date: Wed, 28 May 2014 11:36:53 +0200	[thread overview]
Message-ID: <20140528093653.GN4730@lukather> (raw)
In-Reply-To: <CACRpkdZcGJTXfcxN_sogm+hYHM56d_VxtuZqth0t-c2mgAJ0vA@mail.gmail.com>

On Tue, May 27, 2014 at 04:18:29PM +0200, Linus Walleij wrote:
> On Mon, May 26, 2014 at 9:47 AM, Hans de Goede <hdegoede@redhat.com> wrote:
> 
> > With level triggered interrupt mask / unmask will get called for each
> > interrupt, doing the somewhat expensive mux setting on each unmask thus is
> > not a good idea. Instead move it to the set_type callback, which is typically
> > done only once for each irq.
> >
> > Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> 
> Yes move it out of mask/unmask but no, not into set_type().
> 
> Can you not use the irqchip startup()/shutdown() callbacks
> instead?

I think we can use irq_request_resources then
https://lkml.org/lkml/2014/3/12/307

We could even merge the gpio_to_irq code into it.

It's called in __setup_irq, so it's guaranteed to be called, and it
will bail out early without doing anything, since it's one of the
first thing __setup_irq does.

> And how come we have no clean separation between gpiochip
> and the pinmux parts here, why cant we just call
> pinctrl_request_gpio() and pinctrl_free_gpio() here instead?
> Or maybe pinctrl_gpio_direction_input() and have that set
> up the muxing in the pinctrl driver side?

Because the function it has to be muxed to is neither gpio_in or
gpio_out, and it's not even considered a gpio. It really is just
another muxing function, like i2c or mmc.

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140528/e08db759/attachment.sig>

  parent reply	other threads:[~2014-05-28  9:36 UTC|newest]

Thread overview: 117+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-26  7:47 [PATCH 00/11] sdio wifi oob irq support for sunxi Hans de Goede
2014-05-26  7:47 ` Hans de Goede
2014-05-26  7:47 ` Hans de Goede
     [not found] ` <1401090486-4414-1-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-05-26  7:47   ` [PATCH 01/11] pinctrl: sunxi: create irq/pin mapping during init Hans de Goede
2014-05-26  7:47     ` Hans de Goede
2014-05-26  7:47     ` Hans de Goede
     [not found]     ` <1401090486-4414-2-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-05-27  8:02       ` Maxime Ripard
2014-05-27  8:02         ` Maxime Ripard
2014-05-27  8:02         ` Maxime Ripard
2014-05-27  8:35         ` Chen-Yu Tsai
2014-05-27  8:35           ` [linux-sunxi] " Chen-Yu Tsai
2014-05-27  8:35           ` Chen-Yu Tsai
2014-05-27 14:11       ` Linus Walleij
2014-05-27 14:11         ` Linus Walleij
2014-05-27 14:11         ` Linus Walleij
     [not found]         ` <CACRpkdZpy2aT_kFp01bnrviVB3SOggiNUJB46wbWAY_bqW8=gg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-27 14:21           ` Chen-Yu Tsai
2014-05-27 14:21             ` [linux-sunxi] " Chen-Yu Tsai
2014-05-27 14:21             ` Chen-Yu Tsai
     [not found]             ` <CAGb2v65NW61+BV2hR3wn_xRvCyPo+AhcMU7hmFjQxKWj49G=Bw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-28  8:53               ` Linus Walleij
2014-05-28  8:53                 ` [linux-sunxi] " Linus Walleij
2014-05-28  8:53                 ` Linus Walleij
2014-05-26  7:47   ` [PATCH 02/11] pinctrl: sunxi: add IRQCHIP_SKIP_SET_WAKE flag for pinctrl irq chip Hans de Goede
2014-05-26  7:47     ` Hans de Goede
2014-05-26  7:47     ` Hans de Goede
     [not found]     ` <1401090486-4414-3-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-05-27  8:07       ` Maxime Ripard
2014-05-27  8:07         ` Maxime Ripard
2014-05-27  8:07         ` Maxime Ripard
2014-05-27  9:09         ` Hans de Goede
2014-05-27  9:09           ` Hans de Goede
2014-05-27  9:09           ` Hans de Goede
2014-05-27  9:52           ` Chen-Yu Tsai
2014-05-27  9:52             ` Chen-Yu Tsai
2014-05-27 16:14         ` Tomasz Figa
2014-05-27 16:14           ` Tomasz Figa
     [not found]           ` <5384B9E7.1070405-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-05-28 10:29             ` Maxime Ripard
2014-05-28 10:29               ` Maxime Ripard
2014-05-28 10:29               ` Maxime Ripard
2014-05-28 10:51               ` Tomasz Figa
2014-05-28 10:51                 ` Tomasz Figa
2014-05-28 10:51                 ` Tomasz Figa
2014-05-26  7:47   ` [PATCH 03/11] pinctrl: sunxi: Move setting of mux to irq type from unmask to set_type Hans de Goede
2014-05-26  7:47     ` Hans de Goede
2014-05-26  7:47     ` Hans de Goede
     [not found]     ` <1401090486-4414-4-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-05-27  8:09       ` Maxime Ripard
2014-05-27  8:09         ` Maxime Ripard
2014-05-27  8:09         ` Maxime Ripard
2014-05-27  9:01         ` Hans de Goede
2014-05-27  9:01           ` Hans de Goede
2014-05-27  9:01           ` Hans de Goede
     [not found]           ` <5384544F.6000806-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-05-28  9:39             ` Maxime Ripard
2014-05-28  9:39               ` Maxime Ripard
2014-05-28  9:39               ` Maxime Ripard
2014-05-27 14:18       ` Linus Walleij
2014-05-27 14:18         ` Linus Walleij
2014-05-27 14:18         ` Linus Walleij
     [not found]         ` <CACRpkdZcGJTXfcxN_sogm+hYHM56d_VxtuZqth0t-c2mgAJ0vA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-28  9:36           ` Maxime Ripard [this message]
2014-05-28  9:36             ` Maxime Ripard
2014-05-28  9:36             ` Maxime Ripard
2014-05-28  9:51             ` Hans de Goede
2014-05-28  9:51               ` Hans de Goede
2014-05-28  9:51               ` Hans de Goede
     [not found]               ` <5385B1B8.8070803-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-05-28 10:33                 ` Maxime Ripard
2014-05-28 10:33                   ` Maxime Ripard
2014-05-28 10:33                   ` Maxime Ripard
2014-05-31  9:13                   ` Hans de Goede
2014-05-31  9:13                     ` Hans de Goede
2014-05-31  9:13                     ` Hans de Goede
     [not found]                     ` <53899D21.3000008-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-06-02 10:33                       ` Maxime Ripard
2014-06-02 10:33                         ` Maxime Ripard
2014-06-02 10:33                         ` Maxime Ripard
2014-05-26  7:47   ` [PATCH 04/11] pinctrl: sunxi: Properly handle level triggered gpio interrupts Hans de Goede
2014-05-26  7:47     ` Hans de Goede
2014-05-26  7:47     ` Hans de Goede
     [not found]     ` <1401090486-4414-5-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-06-11  9:00       ` Linus Walleij
2014-06-11  9:00         ` Linus Walleij
2014-06-11  9:00         ` Linus Walleij
     [not found]         ` <CACRpkdZ5_21aFBSJBXDzgorcEKeR9Pv5fVgmeVrBw1zDawVptA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-06-11  9:13           ` Hans de Goede
2014-06-11  9:13             ` Hans de Goede
2014-06-11  9:13             ` Hans de Goede
2014-05-26  7:48   ` [PATCH 05/11] pinctrl: sunxi: Define enable / disable irq callbacks for level triggered irqs Hans de Goede
2014-05-26  7:48     ` Hans de Goede
2014-05-26  7:48     ` Hans de Goede
2014-05-26  7:48   ` [PATCH 06/11] mmc: Add SDIO function devicetree subnode parsing Hans de Goede
2014-05-26  7:48     ` Hans de Goede
2014-05-26  7:48     ` Hans de Goede
2014-05-26  7:48   ` [PATCH 07/11] dt: bindings: add bindings for Broadcom bcm43xx sdio devices Hans de Goede
2014-05-26  7:48     ` Hans de Goede
2014-05-26  7:48     ` Hans de Goede
2014-05-26  7:48   ` [PATCH 08/11] brcmfmac: add device tree support for SDIO devices Hans de Goede
2014-05-26  7:48     ` Hans de Goede
2014-05-26  7:48     ` Hans de Goede
2014-05-26  7:48   ` [PATCH 09/11] brcmfmac: Fix OOB interrupt not working for BCM43362 Hans de Goede
2014-05-26  7:48     ` Hans de Goede
2014-05-26  7:48     ` Hans de Goede
     [not found]     ` <1401090486-4414-10-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-05-26  9:20       ` Arend van Spriel
2014-05-26  9:20         ` Arend van Spriel
2014-05-26  9:20         ` Arend van Spriel
2014-05-27 17:03     ` Arend van Spriel
2014-05-27 17:03       ` Arend van Spriel
2014-05-27 17:03       ` Arend van Spriel
     [not found]       ` <5384C544.9000903-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2014-05-27 21:28         ` Hans de Goede
2014-05-27 21:28           ` Hans de Goede
2014-05-27 21:28           ` Hans de Goede
     [not found]           ` <53850399.9000708-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-05-28  9:07             ` Arend van Spriel
2014-05-28  9:07               ` Arend van Spriel
2014-05-28  9:07               ` Arend van Spriel
2014-05-26  7:48   ` [PATCH 10/11] ARM: dts: sun7i: Add #interrupt-cells to pinctrl node Hans de Goede
2014-05-26  7:48     ` Hans de Goede
2014-05-26  7:48     ` Hans de Goede
2014-05-26  7:48   ` [PATCH 11/11] ARM: dts: sun7i: Add OOB irq support to boards with broadcom sdio wifi Hans de Goede
2014-05-26  7:48     ` Hans de Goede
2014-05-26  7:48     ` Hans de Goede
2014-05-27 15:26 ` [PATCH 00/11] sdio wifi oob irq support for sunxi John W. Linville
2014-05-27 15:26   ` John W. Linville
     [not found]   ` <20140527152614.GB5694-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-05-27 16:50     ` Arend van Spriel
2014-05-27 16:50       ` Arend van Spriel
2014-05-27 16:50       ` Arend van Spriel

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=20140528093653.GN4730@lukather \
    --to=maxime.ripard-wi1+55scjutkeb57/3fjtnbpr1lh4cv8@public.gmane.org \
    --cc=arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org \
    --cc=chris-OsFVWbfNK3isTnJN9+BGXg@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
    --cc=linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org \
    --cc=ulf.hansson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=wens-jdAy2FN1RRM@public.gmane.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.