[lkml]   [2014]   [Feb]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: your mail
On Mon, Feb 24, 2014 at 03:12:21PM +0000, srikanth TS wrote:
> Hi Will Deacon,


> Currently SMMU driver expecting all stream ID used by respective master
> should be defined in the DT.
> We want to know how to handle in the case of virtual functions dynamically
> created and destroyed.
> Is PCI driver responsible for creating stream ID respective BDand
> requesting SMMU to add to the mapping table[stream Id to context mapping
> table]?
> Or is there any right way of doing it?

Correct, the driver currently doesn't support dynamic mappings (mainly
because I didn't want to try and invent something that I couldn't test).

There are a couple of ways to solve this:

(1) Add a way for a PCI RC to dynamically allocate StreamIDs on an SMMU
within a fixed range. That would probably need some code in the bus
layer, so that a bus notifier can kick and call back to the relevant

(2) Describe the RID -> SID mapping in the device-tree. We probably want
to avoid an enormous table, so this would only work for simple `SID =
RID + offset' or 'SID = RID & mask' cases.

How do your IDs map to each other?


 \ /
  Last update: 2014-02-24 19:21    [W:0.024 / U:2.724 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site