1. 05 Nov, 2020 2 commits
    • Alex Elder's avatar
      net: ipa: record IPA version in GSI structure · 14dbf977
      Alex Elder authored
      Record the IPA version passed to gsi_init() in the GSI structure.
      This allows that value to be used directly where needed, rather than
      passing and storing certain flag arguments through the code.
      
      In particular, for all but one supported version of IPA, the command
      channel is programmed to only use an "escape buffer".  By storing
      the IPA version, we can do a simple version check in one location,
      and avoid storing a flag field in every channel (and passing a flag
      along while initializing channels to set that field properly).
      Signed-off-by: default avatarAlex Elder <elder@linaro.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      14dbf977
    • 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
  2. 04 Nov, 2020 38 commits