All of lore.kernel.org
 help / color / mirror / Atom feed
From: maxime.ripard@free-electrons.com (Maxime Ripard)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/6] clk: sunxi: Add support for sun9i a80 usb clocks and resets
Date: Wed, 5 Nov 2014 10:41:46 +0100	[thread overview]
Message-ID: <20141105094146.GB27686@lukather> (raw)
In-Reply-To: <20141104181219.GJ4042@n2100.arm.linux.org.uk>

Hi Russell,

On Tue, Nov 04, 2014 at 06:12:19PM +0000, Russell King - ARM Linux wrote:
> On Tue, Nov 04, 2014 at 12:07:14PM +0800, Chen-Yu Tsai wrote:
> > +	spin_lock_irqsave(data->lock, flags);
> > +
> > +	reg = readl(data->reg);
> > +	writel(reg & ~BIT(id), data->reg);
> > +
> > +	spin_unlock_irqrestore(data->lock, flags);
> 
> Don't we have generic support for atomic modification of register
> values?  Hmm, we have it for ARM only - atomic_io_modify() and
> atomic_io_modify_relaxed().
> 
> I guess we should push for those to become cross-arch if we end up
> with generic drivers shared between other architectures.

IIRC, the atomic MMIO accessors are doing exactly that, but with a
global lock for all MMIO accesses, while here we protect a single
register.

I'm not really sure that sharing this spinlock across the whole system
is worth it and scales that well.

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/20141105/85169585/attachment.sig>

WARNING: multiple messages have this Message-ID (diff)
From: Maxime Ripard <maxime.ripard@free-electrons.com>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: Chen-Yu Tsai <wens@csie.org>,
	Kishon Vijay Abraham I <kishon@ti.com>,
	Mike Turquette <mturquette@linaro.org>,
	Grant Likely <grant.likely@linaro.org>,
	Rob Herring <robh+dt@kernel.org>,
	Hans de Goede <hdegoede@redhat.com>,
	linux-sunxi@googlegroups.com, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 1/6] clk: sunxi: Add support for sun9i a80 usb clocks and resets
Date: Wed, 5 Nov 2014 10:41:46 +0100	[thread overview]
Message-ID: <20141105094146.GB27686@lukather> (raw)
In-Reply-To: <20141104181219.GJ4042@n2100.arm.linux.org.uk>

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

Hi Russell,

On Tue, Nov 04, 2014 at 06:12:19PM +0000, Russell King - ARM Linux wrote:
> On Tue, Nov 04, 2014 at 12:07:14PM +0800, Chen-Yu Tsai wrote:
> > +	spin_lock_irqsave(data->lock, flags);
> > +
> > +	reg = readl(data->reg);
> > +	writel(reg & ~BIT(id), data->reg);
> > +
> > +	spin_unlock_irqrestore(data->lock, flags);
> 
> Don't we have generic support for atomic modification of register
> values?  Hmm, we have it for ARM only - atomic_io_modify() and
> atomic_io_modify_relaxed().
> 
> I guess we should push for those to become cross-arch if we end up
> with generic drivers shared between other architectures.

IIRC, the atomic MMIO accessors are doing exactly that, but with a
global lock for all MMIO accesses, while here we protect a single
register.

I'm not really sure that sharing this spinlock across the whole system
is worth it and scales that well.

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 --]

  reply	other threads:[~2014-11-05  9:41 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-04  4:07 [PATCH 0/6] ARM: sun9i: Add USB host controller support for A80 Chen-Yu Tsai
2014-11-04  4:07 ` Chen-Yu Tsai
2014-11-04  4:07 ` [PATCH 1/6] clk: sunxi: Add support for sun9i a80 usb clocks and resets Chen-Yu Tsai
2014-11-04  4:07   ` Chen-Yu Tsai
2014-11-04 16:57   ` Maxime Ripard
2014-11-04 16:57     ` Maxime Ripard
2014-11-05 10:02     ` Chen-Yu Tsai
2014-11-05 10:02       ` Chen-Yu Tsai
2014-11-05 10:09       ` Maxime Ripard
2014-11-05 10:09         ` Maxime Ripard
2014-11-06  2:09         ` Chen-Yu Tsai
2014-11-06  2:09           ` Chen-Yu Tsai
2014-11-06  8:54           ` Maxime Ripard
2014-11-06  8:54             ` Maxime Ripard
2014-11-06  9:19             ` Chen-Yu Tsai
2014-11-06  9:19               ` Chen-Yu Tsai
2014-11-14  8:39               ` Maxime Ripard
2014-11-14  8:39                 ` Maxime Ripard
2014-11-14 19:58                 ` [linux-sunxi] " Chen-Yu Tsai
2014-11-14 19:58                   ` Chen-Yu Tsai
2014-11-04 18:12   ` Russell King - ARM Linux
2014-11-04 18:12     ` Russell King - ARM Linux
2014-11-05  9:41     ` Maxime Ripard [this message]
2014-11-05  9:41       ` Maxime Ripard
2014-11-04  4:07 ` [PATCH 2/6] ARM: dts: sun9i: Add usb clock nodes to a80 dtsi Chen-Yu Tsai
2014-11-04  4:07   ` Chen-Yu Tsai
2014-11-04  4:07 ` [PATCH 3/6] phy: Add driver to support individual USB PHYs on sun9i Chen-Yu Tsai
2014-11-04  4:07   ` Chen-Yu Tsai
2014-11-04  6:16   ` [linux-sunxi] " Priit Laes
2014-11-04  6:16     ` Priit Laes
2014-11-05  9:35     ` Chen-Yu Tsai
2014-11-05  9:35       ` Chen-Yu Tsai
2014-11-05  9:45     ` Maxime Ripard
2014-11-05  9:45       ` Maxime Ripard
     [not found]       ` <jwvr3xhu6p3.fsf-monnier+gmane.comp.hardware.netbook.arm.sunxi@gnu.org>
2014-11-05 13:40         ` [linux-sunxi] " Maxime Ripard
2014-11-05 13:40           ` Maxime Ripard
2014-11-04 17:03   ` Maxime Ripard
2014-11-04 17:03     ` Maxime Ripard
2014-11-05  9:31     ` Chen-Yu Tsai
2014-11-05  9:31       ` Chen-Yu Tsai
2014-11-04  4:07 ` [PATCH 4/6] ARM: dts: sun9i: Add usb phy nodes to a80 dtsi Chen-Yu Tsai
2014-11-04  4:07   ` Chen-Yu Tsai
2014-11-04  4:07 ` [PATCH 5/6] ARM: dts: sun9i: Add USB host controller " Chen-Yu Tsai
2014-11-04  4:07   ` Chen-Yu Tsai
2014-11-04  4:07 ` [PATCH 6/6] ARM: dts: sun9i: Enable USB support on A80 Optimus board Chen-Yu Tsai
2014-11-04  4:07   ` Chen-Yu Tsai

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=20141105094146.GB27686@lukather \
    --to=maxime.ripard@free-electrons.com \
    --cc=linux-arm-kernel@lists.infradead.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.