• Alex Elder's avatar
    net: ipa: expose IPA version to the GSI layer · 1d0c09de
    Alex Elder authored
    Although GSI is integral to IPA, it is a separate hardware component
    and the IPA code supporting it has been structured to avoid explicit
    dependence on IPA details.  An example of this is that gsi_init() is
    passed a number of Boolean flags to indicate special behaviors,
    whose values are dependent on the IPA hardware version.  Looking
    ahead, newer hardware versions would require even more such special
    behaviors.
    
    For any given version of IPA hardware (like 3.5.1 or 4.2), the GSI
    hardware version is fixed (in this case, 1.3 and 2.2, respectively).
    So the IPA version *implies* the GSI version, and the IPA version
    can be used as effectively the equivalent of the GSI hardware version.
    
    Rather than proliferating new special behavior flags, just provide
    the IPA version to the GSI layer when it is initialized.  The GSI
    code can then use that directly to determine whether special
    behaviors are required.  The IPA version enumerated type is already
    isolated to its own header file, so the exposure of this IPA detail
    is very limited.
    
    For now, just change gsi_init() to pass the version rather than the
    Boolean flags, and set the flag values internal to that function.
    Signed-off-by: default avatarAlex Elder <elder@linaro.org>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    1d0c09de
gsi.h 8.05 KB