From: Andrew Lunn <andrew@lunn.ch>
To: Esben Haabendal <esben@geanix.com>
Cc: netdev@vger.kernel.org, "David S. Miller" <davem@davemloft.net>,
Michal Simek <michal.simek@xilinx.com>,
YueHaibing <yuehaibing@huawei.com>,
Yang Wei <yang.wei9@zte.com.cn>,
Luis Chamberlain <mcgrof@kernel.org>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 07/12] net: ll_temac: Support indirect_mutex share within TEMAC IP
Date: Fri, 26 Apr 2019 16:14:58 +0200 [thread overview]
Message-ID: <20190426141458.GH14432@lunn.ch> (raw)
In-Reply-To: <20190426073231.4008-8-esben@geanix.com>
On Fri, Apr 26, 2019 at 09:32:26AM +0200, Esben Haabendal wrote:
> @@ -1092,7 +1092,15 @@ static int temac_probe(struct platform_device *pdev)
> lp->dev = &pdev->dev;
> lp->options = XTE_OPTION_DEFAULTS;
> spin_lock_init(&lp->rx_lock);
> - mutex_init(&lp->indirect_mutex);
> +
> + /* Setup mutex for synchronization of indirect register access */
> + if (pdata && pdata->indirect_mutex) {
> + lp->indirect_mutex = pdata->indirect_mutex;
> + } else {
> + lp->indirect_mutex = devm_kmalloc(
> + &pdev->dev, sizeof(*lp->indirect_mutex), GFP_KERNEL);
> + mutex_init(lp->indirect_mutex);
> + }
Hi Esben
I would make the mutex mandatory, not optional. I think there will be
less hard to debug errors that way. You want the developer to actually
think about this mutex, should it be shared, or individual. Forcing
them to provide it means they are more likely to read the
documentation, and more likely to over share it than under share
it. That is maybe not so good for performance, but safer.
Andrew
next prev parent reply other threads:[~2019-04-26 14:15 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-26 7:32 [PATCH 00/12] net: ll_temac: x86_64 support Esben Haabendal
2019-04-26 7:32 ` [PATCH 01/12] net: ll_temac: Fix and simplify error handling by using devres functions Esben Haabendal
2019-04-26 7:32 ` [PATCH 02/12] net: ll_temac: Extend support to non-device-tree platforms Esben Haabendal
2019-04-26 13:58 ` Andrew Lunn
2019-04-26 7:32 ` [PATCH 03/12] net: ll_temac: Fix support for 64-bit platforms Esben Haabendal
2019-04-26 18:40 ` Jakub Kicinski
2019-04-26 20:59 ` Andrew Lunn
2019-04-26 21:08 ` Jakub Kicinski
2019-04-26 22:02 ` Andrew Lunn
2019-04-26 22:30 ` Jakub Kicinski
2019-04-27 8:49 ` Esben Haabendal
2019-04-26 7:32 ` [PATCH 04/12] net: ll_temac: Add support for non-native register endianness Esben Haabendal
2019-04-26 7:32 ` [PATCH 05/12] net: ll_temac: Fix support for little-endian platforms Esben Haabendal
2019-04-26 7:32 ` [PATCH 06/12] net: ll_temac: Allow use on x86 platforms Esben Haabendal
2019-04-26 14:05 ` Andrew Lunn
2019-04-26 7:32 ` [PATCH 07/12] net: ll_temac: Support indirect_mutex share within TEMAC IP Esben Haabendal
2019-04-26 14:14 ` Andrew Lunn [this message]
2019-04-26 7:32 ` [PATCH 08/12] net: ll_temac: Fix iommu/swiotlb leak Esben Haabendal
2019-04-26 14:21 ` Andrew Lunn
2019-04-26 14:43 ` Robin Murphy
2019-04-26 15:37 ` Andrew Lunn
2019-04-26 7:32 ` [PATCH 09/12] net: ll_temac: Fix bug causing buffer descriptor overrun Esben Haabendal
2019-04-26 7:32 ` [PATCH 10/12] net: ll_temac: Replace bad usage of msleep() with usleep_range() Esben Haabendal
2019-04-26 14:01 ` Andrew Lunn
2019-04-26 7:32 ` [PATCH 11/12] net: ll_temac: Allow configuration of IRQ coalescing Esben Haabendal
2019-04-26 7:32 ` [PATCH 12/12] net: ll_temac: Enable DMA when ready, not before Esben Haabendal
2019-04-29 8:34 ` [PATCH 00/12] net: ll_temac: x86_64 support Esben Haabendal
2019-04-29 8:34 ` [PATCH 01/12] net: ll_temac: Fix and simplify error handling by using devres functions Esben Haabendal
2019-04-29 8:34 ` [PATCH 02/12] net: ll_temac: Extend support to non-device-tree platforms Esben Haabendal
2019-04-29 8:34 ` [PATCH 03/12] net: ll_temac: Fix support for 64-bit platforms Esben Haabendal
2019-04-29 22:06 ` Andrew Lunn
2019-04-29 8:34 ` [PATCH 04/12] net: ll_temac: Add support for non-native register endianness Esben Haabendal
2019-04-29 8:34 ` [PATCH 05/12] net: ll_temac: Fix support for little-endian platforms Esben Haabendal
2019-04-29 8:34 ` [PATCH 06/12] net: ll_temac: Allow use on x86 platforms Esben Haabendal
2019-04-29 22:06 ` Andrew Lunn
2019-04-29 8:34 ` [PATCH 07/12] net: ll_temac: Support indirect_mutex share within TEMAC IP Esben Haabendal
2019-04-29 22:12 ` Andrew Lunn
2019-04-30 6:54 ` Esben Haabendal
2019-04-29 8:34 ` [PATCH 08/12] net: ll_temac: Fix iommu/swiotlb leak Esben Haabendal
2019-04-29 8:34 ` [PATCH 09/12] net: ll_temac: Fix bug causing buffer descriptor overrun Esben Haabendal
2019-04-29 8:34 ` [PATCH 10/12] net: ll_temac: Replace bad usage of msleep() with usleep_range() Esben Haabendal
2019-04-29 8:34 ` [PATCH 11/12] net: ll_temac: Allow configuration of IRQ coalescing Esben Haabendal
2019-04-29 8:34 ` [PATCH 12/12] net: ll_temac: Enable DMA when ready, not before Esben Haabendal
2019-04-30 7:17 ` [PATCH v3 00/12] net: ll_temac: x86_64 support Esben Haabendal
2019-04-30 7:17 ` [PATCH v3 01/12] net: ll_temac: Fix and simplify error handling by using devres functions Esben Haabendal
2019-04-30 7:17 ` [PATCH v3 02/12] net: ll_temac: Extend support to non-device-tree platforms Esben Haabendal
2019-04-30 7:17 ` [PATCH v3 03/12] net: ll_temac: Fix support for 64-bit platforms Esben Haabendal
2019-04-30 7:17 ` [PATCH v3 04/12] net: ll_temac: Add support for non-native register endianness Esben Haabendal
2019-04-30 7:17 ` [PATCH v3 05/12] net: ll_temac: Fix support for little-endian platforms Esben Haabendal
2019-04-30 7:17 ` [PATCH v3 06/12] net: ll_temac: Allow use on x86 platforms Esben Haabendal
2019-04-30 7:17 ` [PATCH v3 07/12] net: ll_temac: Support indirect_mutex share within TEMAC IP Esben Haabendal
2019-04-30 16:59 ` Andrew Lunn
2019-04-30 7:17 ` [PATCH v3 08/12] net: ll_temac: Fix iommu/swiotlb leak Esben Haabendal
2019-04-30 17:00 ` Andrew Lunn
2019-04-30 7:17 ` [PATCH v3 09/12] net: ll_temac: Fix bug causing buffer descriptor overrun Esben Haabendal
2019-04-30 7:17 ` [PATCH v3 10/12] net: ll_temac: Replace bad usage of msleep() with usleep_range() Esben Haabendal
2019-04-30 7:17 ` [PATCH v3 11/12] net: ll_temac: Allow configuration of IRQ coalescing Esben Haabendal
2019-04-30 7:17 ` [PATCH v3 12/12] net: ll_temac: Enable DMA when ready, not before Esben Haabendal
2019-05-01 18:33 ` [PATCH v3 00/12] net: ll_temac: x86_64 support David Miller
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=20190426141458.GH14432@lunn.ch \
--to=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=esben@geanix.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mcgrof@kernel.org \
--cc=michal.simek@xilinx.com \
--cc=netdev@vger.kernel.org \
--cc=yang.wei9@zte.com.cn \
--cc=yuehaibing@huawei.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).