linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: loic.pallardy@st.com (loic pallardy)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 6/9] remoteproc: core: Add function to append a new resource table entry
Date: Fri, 12 Aug 2016 13:54:25 +0200	[thread overview]
Message-ID: <57ADB8F1.8070103@st.com> (raw)
In-Reply-To: <20160811202036.GC26240@tuxbot>



On 08/11/2016 10:20 PM, Bjorn Andersson wrote:
> On Thu 11 Aug 00:51 PDT 2016, loic pallardy wrote:
>
>> Hi Lee,
>>
>
> Loic, please don't top-post.

Hi Bjorn,

Thanks for the advice, I'll.

>
>> I just tested your series and found issue with append mechanism.
>> There is no problem to add resources when working on Linux side, but the
>> resource table is growing and when copying it at loaded location (ie
>> overwriting existing prebuilt resource table of firmware), you have an
>> overflow corrupting part of firmware code.
>>
>
> Suman brought up the same concern. For one it shows that we must check
> the size of the .resource_table to know if we can fit an expanded table
> before installing it.
>
Yes I saw Suman's reply just after my answer.

>> Moreover firmware code is in general tuned to a feature set. Resource table
>> is created according to supported features. In most of the cases, new
>> resource won't be handled by firmware.
>>
>
> For the case behind this implementation, where you have resource
> information from e.g. DT and build up a resource table (to be installed)
> from that, how would you deal with this? Would you build your firmware
> with room for some amount of resources?
>
In general host is filling existing resources defined in firmware 
resource table (using DT information).
Resource table is built according to firmware capabilities. No room with 
current firmware (current status on ST side).

>
>
> As my (not the maintainer-me) need for this is purely on the Linux side
> I originally envisioned something where we during firmware load parse
> the resource_table into some Linux side data structures; we would allow
> for these to be merged with additional data or new ones added and Linux
> would handle these.
>
Yes agree, working on this point to differentiate:
- resource we want to modify in firmware resource table,
- resource we want to handle on Linux side,
- resource we want to append is possible to existing resource table

> At the end we would have modified the referenced resource_table (through
> references as it isn't the primary data structure) and could copy this.

Copy is an issue if not spare bytes are reserved on firmware side.
Moreover firmware should be able to handle new resources on it side.
In general, resource table fits firmware capabilities. If a resource is 
not present, that means firmware won't be able to handle it.
(I'm speaking about basic firmware with limited feature set)

>
> Or alternatively, in the case you described with an empty start and
> resources only from DT, we could have a resource-table-installer that
> would make up a resource table from these Linux-side lists of resources.
>
I had long discussion with Lee about firmware resource table extension. 
Indeed we can create some "free" resource slots that host can 
dynamically fill, or a new resource type (like RSV_SPARE) providing 
information about spare bytes which can be used by host to append 
resource table.
Lee should work on a proposal...

Regards,
Loic
>
> This path would solve the case that we would not automatically grow the
> table with new resources, but for the case where we generate a resource
> table at the end we would still have the same issues to conclude on.
>
> Regards,
> Bjorn
>

  reply	other threads:[~2016-08-12 11:54 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-04  9:21 [PATCH 0/9] remoteproc: Allow platform-specific drivers to request resources Lee Jones
2016-08-04  9:21 ` [PATCH 1/9] remoteproc: core: Ensure error message is clear Lee Jones
2016-08-09 17:28   ` Bjorn Andersson
2016-08-09 18:12     ` Lee Jones
2016-08-10 20:11       ` Suman Anna
2016-08-11  7:36         ` Lee Jones
2016-08-11 19:19           ` Bjorn Andersson
2016-08-11 20:09             ` Suman Anna
2016-08-04  9:21 ` [PATCH 2/9] remoteproc: core: Trivial: Improve error checking, spelling and debug prints Lee Jones
2016-08-09 17:32   ` Bjorn Andersson
2016-08-09 18:12     ` Lee Jones
2016-08-04  9:21 ` [PATCH 3/9] remoteproc: core: Remove pointless OOM print Lee Jones
2016-08-09 17:36   ` Bjorn Andersson
2016-08-09 18:10     ` Lee Jones
2016-08-10 17:47       ` Bjorn Andersson
2016-08-04  9:21 ` [PATCH 4/9] remoteproc: core: New API to add new resources to the resource table Lee Jones
2016-08-04 14:00   ` Lee Jones
2016-08-08 13:41   ` loic pallardy
2016-08-09 12:48     ` Lee Jones
2016-08-04  9:21 ` [PATCH 5/9] remoteproc: core: Add function to amend an existing resource table entry Lee Jones
2016-08-04  9:21 ` [PATCH 6/9] remoteproc: core: Add function to append a new " Lee Jones
2016-08-11  7:51   ` loic pallardy
2016-08-11 20:20     ` Bjorn Andersson
2016-08-12 11:54       ` loic pallardy [this message]
2016-08-04  9:21 ` [PATCH 7/9] remoteproc: core: Add function to over-ride current resource table Lee Jones
2016-08-08 13:47   ` loic pallardy
2016-08-09 12:46     ` Lee Jones
2016-08-04  9:21 ` [PATCH 8/9] remoteproc: core: Skip resource table integrity checks if there are amendments Lee Jones
2016-08-09 17:40   ` Bjorn Andersson
2016-08-04  9:21 ` [PATCH 9/9] remoteproc: core: Support empty resource tables Lee Jones
2016-08-05  7:38   ` Lee Jones

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=57ADB8F1.8070103@st.com \
    --to=loic.pallardy@st.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 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).