All of lore.kernel.org
 help / color / mirror / Atom feed
From: Madalin Bucur <madalin.bucur@nxp.com>
To: Patrick Havelange <patrick.havelange@essensium.com>,
	"David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: RE: [PATCH net 1/4] net: freescale/fman: Split the main resource region reservation
Date: Wed, 9 Dec 2020 09:10:54 +0000	[thread overview]
Message-ID: <AM6PR04MB3976F905489C0CB2ECD1A6FAECCC0@AM6PR04MB3976.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <e488ed95-3672-fdcb-d678-fdd4eb9a8b4b@essensium.com>

> -----Original Message-----
> From: Patrick Havelange <patrick.havelange@essensium.com>
> Sent: 08 December 2020 16:56
> To: Madalin Bucur <madalin.bucur@nxp.com>; David S. Miller
> <davem@davemloft.net>; Jakub Kicinski <kuba@kernel.org>;
> netdev@vger.kernel.org; linux-kernel@vger.kernel.org
> Subject: Re: [PATCH net 1/4] net: freescale/fman: Split the main resource
> region reservation
> 
> On 2020-12-03 16:47, Madalin Bucur wrote:
> >> -----Original Message-----
> >> From: Patrick Havelange <patrick.havelange@essensium.com>
> >> Sent: 03 December 2020 15:51
> >> To: Madalin Bucur <madalin.bucur@nxp.com>; David S. Miller
> >> <davem@davemloft.net>; Jakub Kicinski <kuba@kernel.org>;
> >> netdev@vger.kernel.org; linux-kernel@vger.kernel.org
> >> Cc: Patrick Havelange <patrick.havelange@essensium.com>
> >> Subject: [PATCH net 1/4] net: freescale/fman: Split the main resource
> >> region reservation
> >>
> >> The main fman driver is only using some parts of the fman memory
> >> region.
> >> Split the reservation of the main region in 2, so that the other
> >> regions that will be used by fman-port and fman-mac drivers can
> >> be reserved properly and not be in conflict with the main fman
> >> reservation.
> >>
> >> Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
> >
> > I think the problem you are trying to work on here is that the device
> > tree entry that describes the FMan IP allots to the parent FMan device
> the
> > whole memory-mapped registers area, as described in the device datasheet.
> > The smaller FMan building blocks (ports, MDIO controllers, etc.) are
> > each using a nested subset of this memory-mapped registers area.
> > While this hierarchical depiction of the hardware has not posed a
> problem
> > to date, it is possible to cause issues if both the FMan driver and any
> > of the sub-blocks drivers are trying to exclusively reserve the
> registers
> > area. I'm assuming this is the problem you are trying to address here,
> > besides the stack corruption issue.
> 
> Yes exactly.
> I did not add this behaviour (having a main region and subdrivers using
> subregions), I'm just trying to correct what is already there.
> For example: this is some content of /proc/iomem for one board I'm
> working with, with the current existing code:
> ffe400000-ffe4fdfff : fman
>    ffe4e0000-ffe4e0fff : mac
>    ffe4e2000-ffe4e2fff : mac
>    ffe4e4000-ffe4e4fff : mac
>    ffe4e6000-ffe4e6fff : mac
>    ffe4e8000-ffe4e8fff : mac
> 
> and now with my patches:
> ffe400000-ffe4fdfff : /soc@ffe000000/fman@400000
>    ffe400000-ffe480fff : fman
>    ffe488000-ffe488fff : fman-port
>    ffe489000-ffe489fff : fman-port
>    ffe48a000-ffe48afff : fman-port
>    ffe48b000-ffe48bfff : fman-port
>    ffe48c000-ffe48cfff : fman-port
>    ffe4a8000-ffe4a8fff : fman-port
>    ffe4a9000-ffe4a9fff : fman-port
>    ffe4aa000-ffe4aafff : fman-port
>    ffe4ab000-ffe4abfff : fman-port
>    ffe4ac000-ffe4acfff : fman-port
>    ffe4c0000-ffe4dffff : fman
>    ffe4e0000-ffe4e0fff : mac
>    ffe4e2000-ffe4e2fff : mac
>    ffe4e4000-ffe4e4fff : mac
>    ffe4e6000-ffe4e6fff : mac
>    ffe4e8000-ffe4e8fff : mac
> 
> > While for the latter I think we can
> > put together a quick fix, for the former I'd like to take a bit of time
> > to select the best fix, if one is really needed. So, please, let's split
> > the two problems and first address the incorrect stack memory use.
> 
> I have no idea how you can fix it without a (more correct this time)
> dummy region passed as parameter (and you don't want to use the first
> patch). But then it will be useless to do the call anyway, as it won't
> do any proper verification at all, so it could also be removed entirely,
> which begs the question, why do it at all in the first place (the
> devm_request_mem_region).
> 
> I'm not an expert in that part of the code so feel free to correct me if
> I missed something.
> 
> BR,
> 
> Patrick H.

Hi, Patrick,

the DPAA entities are described in the device tree. Adding some hardcoding in
the driver is not really the solution for this problem. And I'm not sure we have
a clear problem statement to start with. Can you help me on that part?

Madalin

  reply	other threads:[~2020-12-09  9:11 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-03 13:50 [PATCH net 0/4] freescale/fman: remove usage of __devm_request_region Patrick Havelange
2020-12-03 13:50 ` [PATCH net 1/4] net: freescale/fman: Split the main resource region reservation Patrick Havelange
2020-12-03 15:47   ` Madalin Bucur
2020-12-08 14:55     ` Patrick Havelange
2020-12-09  9:10       ` Madalin Bucur [this message]
2020-12-09 14:16         ` Patrick Havelange
2020-12-09 18:55           ` Madalin Bucur
2020-12-10  8:49             ` Patrick Havelange
2020-12-10  9:05               ` Madalin Bucur
2020-12-10 10:05                 ` Patrick Havelange
2020-12-10 10:46                   ` Madalin Bucur
2020-12-03 13:50 ` [PATCH net 2/4] net: freescale/fman-port: remove direct use of __devm_request_region Patrick Havelange
2020-12-03 13:50 ` [PATCH net 3/4] net: freescale/fman-mac: " Patrick Havelange
2020-12-03 13:50 ` [PATCH net 4/4] net: freescale/fman: remove fman_get_mem_region Patrick Havelange

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=AM6PR04MB3976F905489C0CB2ECD1A6FAECCC0@AM6PR04MB3976.eurprd04.prod.outlook.com \
    --to=madalin.bucur@nxp.com \
    --cc=davem@davemloft.net \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=patrick.havelange@essensium.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 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.