• Olof Johansson's avatar
    [POWERPC] pasemi: Implement MSI support · 38958dd9
    Olof Johansson authored
    Implement MSI support for PA Semi PWRficient platforms. MSI is done
    through a special range of sources on the openpic controller, and they're
    unfortunately breaking the usual concepts of how sources are programmed:
    
    * The source is calculated as 512 + the value written into the MSI
      register
    * The vector for this source is added to the source and reported
      through IACK
    
    This means that for simplicity, it makes much more sense to just set the
    vector to 0 for the source, since that's really the vector we expect to
    see from IACK.
    
    Also, the affinity/priority registers will affect 16 sources at a
    time. To avoid most (simple) users from being limited by this, allocate
    16 sources per device but use only one. This means that there's a total
    of 32 sources.
    
    If we get usage scenarions that need more sources, the allocator should
    probably be revised to take an alignment argument and size, not just do
    natural alignment.
    
    Finally, since I'm already touching the MPIC names on pasemi, rename
    the base one from the somewhat odd " PAS-OPIC  " to "PASEMI-OPIC".
    Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
    Acked-by: default avatarMichael Ellerman <michael@ellerman.id.au>
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    38958dd9
mpic_pasemi_msi.c 4.3 KB