> >
> > I don't believe this is correct - let me explain the rational why we had two
> properties in the QMan portal to begin with.
> >
> > The two properties in question are cell-index and fsl,qman-channel-id.
> >
> > The cell-index property is used in u-boot as an index for the software 
> > portal
> ID when adding the fsl,liodn from the U-boot table into the device tree.
> 
> The device tree is not supposed to contain arbitrary software identifiers.

I agree - this is why the original device tree bindings removed cell-index as 
it can be calculated.
Unfortunately u-boot relied on this value being present so to be backward 
compatible we don't have a way to remove it.  I'm not sure on what the 
procedure is to change things u-boot relies on, I personal have always been 
very uncomfortable with the coupling between u-boot and Linux for things like 
this. 

> 
> > The  fsl,qman-channel-id property is used in Linux and corresponds to
> > a hardware value that indicates which channel is dedicated to the
> > software portal.
> >
> > While I'm not aware of a current SoC where the channel ID for a
> > software portal does not match the index (i.e. SWP 0 uses channel 0,
> > etc.)
> 
> Thus there's no backward compatibility issue with redefining cell-index to
> mean the channel ID.

Channel IDs do change and are defined when the SoC is created (look at checks 
for QMan versions and adjustments for Pool Channel IDs in the driver).  If the 
channel ID for portal 0 ever becomes non zero we just end up having to make a 
mess in the code or reintroduce this field.

> 
> > it is possible that future SoCs could stray from this model, there is
> > no reason for portal index to equal channel ID at all times.
> 
> How can future SoCs dictate how we assign a software-defined identifier?
> If software wants it to be the same as the channel id, then it will be.
> 
> If there is some aspect of the hardware itself (not the documentation) that
> cell-index currently corresponds to, other than the channel id, please make
> that clear.

Channel ID is defined in the SoC RTL - it is not controlled by software and it 
is not a software assigned identifier.  It is not possible for SW to set these 
values.

Roy
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to