From: gregory.clement@free-electrons.com (Gregory CLEMENT)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 00/13] mvneta Buffer Management and enhancements
Date: Wed, 02 Dec 2015 17:21:39 +0100 [thread overview]
Message-ID: <87two0254c.fsf@free-electrons.com> (raw)
In-Reply-To: <87si3l2kx5.fsf@free-electrons.com> (Gregory CLEMENT's message of "Wed, 02 Dec 2015 11:40:22 +0100")
Hi,
On mer., d?c. 02 2015, Gregory CLEMENT <gregory.clement@free-electrons.com> wrote:
>>
>> So far the issue may have been not noticed, because in every IO driver
>> using mvebu_mbus_dram_info for configuring MBUS windows, there's
>> following substraction:
>> (cs->size - 1) & 0xfffff000
>>
>> I think there are two options:
>> 1. Change size type to u64.
>
> If we switch to u64 we really must pay attention to be sure that it
> won't be used to be written in a register, but the regsiter remains
> 32bits.
>
>> 2. Change condition in mvebu_mbus_get_dram_win_info to:
>> if (cs->base <= phyaddr && phyaddr <= (cs->base + cs->size -1))
>
> I think it would be the best solution.
So I applied the following patch:
--- a/drivers/bus/mvebu-mbus.c
+++ b/drivers/bus/mvebu-mbus.c
@@ -964,7 +964,7 @@ int mvebu_mbus_get_dram_win_info(phys_addr_t phyaddr, u8 *target, u8 *attr)
for (i = 0; i < dram->num_cs; i++) {
const struct mbus_dram_window *cs = dram->cs + i;
- if (cs->base <= phyaddr && phyaddr <= (cs->base + cs->size)) {
+ if (cs->base <= phyaddr && phyaddr <= (cs->base + cs->size - 1)) {
*target = dram->mbus_dram_target_id;
*attr = cs->mbus_attr;
return 0;
I didn't get any errors during boot related to the BM. However I did not
manage to use an ethernet interface. The udhcpc never managed to get an
IP and if I set the IP manually I could not ping.
But on Armada 388 GP I didn't have any issue.
Do you have some idea about waht I could check?
Gregory
--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
WARNING: multiple messages have this Message-ID (diff)
From: Gregory CLEMENT <gregory.clement@free-electrons.com>
To: Marcin Wojtas <mw@semihalf.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
Andrew Lunn <andrew@lunn.ch>,
Russell King - ARM Linux <linux@arm.linux.org.uk>,
Jason Cooper <jason@lakedaemon.net>,
Yair Mahalalel <myair@marvell.com>,
netdev@vger.kernel.org, Simon Guinot <simon.guinot@sequanux.org>,
linux-kernel@vger.kernel.org, Evan Wang <xswang@marvell.com>,
Tomasz Nowicki <tn@semihalf.com>,
nadavh@marvell.com, Lior Amsalem <alior@marvell.com>,
Grzegorz Jaszczyk <jaz@semihalf.com>,
nitroshift@yahoo.com, "David S. Miller" <davem@davemloft.net>,
"linux-arm-kernel\@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Subject: Re: [PATCH 00/13] mvneta Buffer Management and enhancements
Date: Wed, 02 Dec 2015 17:21:39 +0100 [thread overview]
Message-ID: <87two0254c.fsf@free-electrons.com> (raw)
In-Reply-To: <87si3l2kx5.fsf@free-electrons.com> (Gregory CLEMENT's message of "Wed, 02 Dec 2015 11:40:22 +0100")
Hi,
On mer., déc. 02 2015, Gregory CLEMENT <gregory.clement@free-electrons.com> wrote:
>>
>> So far the issue may have been not noticed, because in every IO driver
>> using mvebu_mbus_dram_info for configuring MBUS windows, there's
>> following substraction:
>> (cs->size - 1) & 0xfffff000
>>
>> I think there are two options:
>> 1. Change size type to u64.
>
> If we switch to u64 we really must pay attention to be sure that it
> won't be used to be written in a register, but the regsiter remains
> 32bits.
>
>> 2. Change condition in mvebu_mbus_get_dram_win_info to:
>> if (cs->base <= phyaddr && phyaddr <= (cs->base + cs->size -1))
>
> I think it would be the best solution.
So I applied the following patch:
--- a/drivers/bus/mvebu-mbus.c
+++ b/drivers/bus/mvebu-mbus.c
@@ -964,7 +964,7 @@ int mvebu_mbus_get_dram_win_info(phys_addr_t phyaddr, u8 *target, u8 *attr)
for (i = 0; i < dram->num_cs; i++) {
const struct mbus_dram_window *cs = dram->cs + i;
- if (cs->base <= phyaddr && phyaddr <= (cs->base + cs->size)) {
+ if (cs->base <= phyaddr && phyaddr <= (cs->base + cs->size - 1)) {
*target = dram->mbus_dram_target_id;
*attr = cs->mbus_attr;
return 0;
I didn't get any errors during boot related to the BM. However I did not
manage to use an ethernet interface. The udhcpc never managed to get an
IP and if I set the IP manually I could not ping.
But on Armada 388 GP I didn't have any issue.
Do you have some idea about waht I could check?
Gregory
--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
next prev parent reply other threads:[~2015-12-02 16:21 UTC|newest]
Thread overview: 112+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-22 7:53 [PATCH 00/13] mvneta Buffer Management and enhancements Marcin Wojtas
2015-11-22 7:53 ` Marcin Wojtas
2015-11-22 7:53 ` [PATCH 01/13] net: mvneta: add configuration for MBUS windows access protection Marcin Wojtas
2015-11-22 7:53 ` Marcin Wojtas
2015-11-22 7:53 ` Marcin Wojtas
2015-11-25 18:19 ` Gregory CLEMENT
2015-11-25 18:19 ` Gregory CLEMENT
2015-11-22 7:53 ` [PATCH 02/13] net: mvneta: enable IP checksum with jumbo frames for Armada 38x on Port0 Marcin Wojtas
2015-11-22 7:53 ` Marcin Wojtas
2015-11-22 20:00 ` Arnd Bergmann
2015-11-22 20:00 ` Arnd Bergmann
2015-11-22 21:04 ` Marcin Wojtas
2015-11-22 21:04 ` Marcin Wojtas
2015-11-22 21:04 ` Marcin Wojtas
2015-11-22 21:32 ` Arnd Bergmann
2015-11-22 21:32 ` Arnd Bergmann
2015-11-22 21:55 ` Marcin Wojtas
2015-11-22 21:55 ` Marcin Wojtas
2015-11-22 7:53 ` [PATCH 03/13] net: mvneta: fix bit assignment in MVNETA_RXQ_CONFIG_REG Marcin Wojtas
2015-11-22 7:53 ` Marcin Wojtas
2015-11-25 18:25 ` Gregory CLEMENT
2015-11-25 18:25 ` Gregory CLEMENT
2015-11-22 7:53 ` [PATCH 04/13] net: mvneta: enable suspend/resume support Marcin Wojtas
2015-11-22 7:53 ` Marcin Wojtas
2015-11-22 7:53 ` Marcin Wojtas
2015-11-25 18:35 ` Gregory CLEMENT
2015-11-25 18:35 ` Gregory CLEMENT
2015-11-25 18:35 ` Gregory CLEMENT
2015-11-26 17:39 ` Marcin Wojtas
2015-11-26 17:39 ` Marcin Wojtas
2015-11-22 7:53 ` [PATCH 05/13] net: mvneta: add xmit_more support Marcin Wojtas
2015-11-22 7:53 ` Marcin Wojtas
2015-11-22 7:53 ` [PATCH 06/13] net: mvneta: enable mixed egress processing using HR timer Marcin Wojtas
2015-11-22 7:53 ` Marcin Wojtas
2015-11-26 16:45 ` Simon Guinot
2015-11-26 16:45 ` Simon Guinot
2015-11-30 15:57 ` Marcin Wojtas
2015-11-30 15:57 ` Marcin Wojtas
2015-12-02 10:03 ` Marcin Wojtas
2015-12-02 10:03 ` Marcin Wojtas
2015-11-22 7:53 ` [PATCH 07/13] bus: mvebu-mbus: provide api for obtaining IO and DRAM window information Marcin Wojtas
2015-11-22 7:53 ` Marcin Wojtas
2015-11-22 7:53 ` Marcin Wojtas
2015-11-22 20:02 ` Arnd Bergmann
2015-11-22 20:02 ` Arnd Bergmann
2015-11-22 21:24 ` Marcin Wojtas
2015-11-22 21:24 ` Marcin Wojtas
2015-11-23 16:58 ` Arnd Bergmann
2015-11-23 16:58 ` Arnd Bergmann
2015-11-22 7:53 ` [PATCH 08/13] ARM: mvebu: enable SRAM support in mvebu_v7_defconfig Marcin Wojtas
2015-11-22 7:53 ` Marcin Wojtas
2016-02-16 10:51 ` Gregory CLEMENT
2016-02-16 10:51 ` Gregory CLEMENT
2015-11-22 7:53 ` [PATCH 09/13] net: mvneta: bm: add support for hardware buffer management Marcin Wojtas
2015-11-22 7:53 ` Marcin Wojtas
2015-11-22 7:53 ` [PATCH 10/13] ARM: mvebu: add buffer manager nodes to armada-38x.dtsi Marcin Wojtas
2015-11-22 7:53 ` Marcin Wojtas
2015-11-22 9:41 ` Sergei Shtylyov
2015-11-22 9:41 ` Sergei Shtylyov
2015-11-22 9:41 ` Sergei Shtylyov
2015-11-22 7:53 ` [PATCH 11/13] ARM: mvebu: enable buffer manager support on Armada 38x boards Marcin Wojtas
2015-11-22 7:53 ` Marcin Wojtas
2015-11-22 7:53 ` [PATCH 12/13] ARM: mvebu: add buffer manager nodes to armada-xp.dtsi Marcin Wojtas
2015-11-22 7:53 ` Marcin Wojtas
2015-11-22 7:53 ` [PATCH 13/13] ARM: mvebu: enable buffer manager support on Armada XP boards Marcin Wojtas
2015-11-22 7:53 ` Marcin Wojtas
2015-11-22 20:06 ` [PATCH 00/13] mvneta Buffer Management and enhancements Arnd Bergmann
2015-11-22 20:06 ` Arnd Bergmann
2015-11-22 21:37 ` Marcin Wojtas
2015-11-22 21:37 ` Marcin Wojtas
2015-11-24 16:22 ` David Miller
2015-11-24 16:22 ` David Miller
2015-11-24 16:47 ` Marcin Wojtas
2015-11-24 16:47 ` Marcin Wojtas
2015-11-25 18:34 ` Florian Fainelli
2015-11-25 18:34 ` Florian Fainelli
2015-11-25 18:34 ` Florian Fainelli
2015-11-29 13:21 ` Marcin Wojtas
2015-11-29 13:21 ` Marcin Wojtas
2015-11-30 2:02 ` David Miller
2015-11-30 2:02 ` David Miller
2015-11-30 14:13 ` Marcin Wojtas
2015-11-30 14:13 ` Marcin Wojtas
2015-11-30 16:25 ` David Miller
2015-11-30 16:25 ` David Miller
2015-12-02 8:26 ` Marcin Wojtas
2015-12-02 8:26 ` Marcin Wojtas
2015-12-04 20:15 ` Florian Fainelli
2015-12-04 20:15 ` Florian Fainelli
2015-12-08 10:56 ` Marcin Wojtas
2015-12-08 10:56 ` Marcin Wojtas
2015-12-08 16:57 ` David Miller
2015-12-08 16:57 ` David Miller
2015-11-30 17:16 ` Gregory CLEMENT
2015-11-30 17:16 ` Gregory CLEMENT
2015-11-30 19:53 ` Marcin Wojtas
2015-11-30 19:53 ` Marcin Wojtas
2015-12-01 13:12 ` Gregory CLEMENT
2015-12-01 13:12 ` Gregory CLEMENT
2015-12-01 21:40 ` Marcin Wojtas
2015-12-01 21:40 ` Marcin Wojtas
2015-12-01 23:34 ` Marcin Wojtas
2015-12-01 23:34 ` Marcin Wojtas
2015-12-01 23:34 ` Marcin Wojtas
2015-12-02 10:40 ` Gregory CLEMENT
2015-12-02 10:40 ` Gregory CLEMENT
2015-12-02 16:21 ` Gregory CLEMENT [this message]
2015-12-02 16:21 ` Gregory CLEMENT
2015-12-02 22:15 ` Marcin Wojtas
2015-12-02 22:15 ` Marcin Wojtas
2015-12-02 22:56 ` Gregory CLEMENT
2015-12-02 22:56 ` Gregory CLEMENT
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=87two0254c.fsf@free-electrons.com \
--to=gregory.clement@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.