On Fri, Jul 07, 2017 at 12:39:57PM +0530, Srinath Mannam wrote: > These patches implements optional DT properties to generate > smaller sideband data from RID which can be further mapped > to MSI Device ID or Stream ID > > On some of the systems, sideband data is smaller than RID > (16bits). For such system, sideband data has to be generated > by dropping some of the RID bits > > the process of sideband data extracted from RID can be expressed > using optional DT property {iommu/msi}-map-drop-mask. > > Example: If drop-mask is 0xFF09 then sideband data is > 8 bits bus number followed by 1 bit of device number and > 1 bit function number. This means drop-mask=0xFF09 will > convert RID=0x1a10 (16bits) to sideband data 0x6a (10bits). So IIUC, here's you're using this not only to mask bits out, but also to determine a *shift* to apply to the value, implicitly provided by the (contiguous) low bits of the mask. That's really not obvious from the name. Mark. > > Srinath Mannam (2): > dt-bindings: pci: Add drop mask property for MSI and IOMMU > pcie: sideband data by dropping RID bits > > .../devicetree/bindings/pci/pci-iommu.txt | 31 ++++++++++++++ > Documentation/devicetree/bindings/pci/pci-msi.txt | 33 +++++++++++++++ > drivers/iommu/of_iommu.c | 4 +- > drivers/of/irq.c | 3 +- > drivers/of/of_pci.c | 48 ++++++++++++++++++++-- > include/linux/of_pci.h | 6 ++- > 6 files changed, 117 insertions(+), 8 deletions(-) > > -- > 2.7.4 > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html