• Ben Avison's avatar
    Make compatible with latest firmware · 6bd08e7e
    Ben Avison authored
    A documentation error and bug in BCMVideo combined with an incompatible change
    in the VCHIQ interface, resulting in blank video output.
    
    * In GenCmd_GetConfigInt, in the non-error case, Z is clear (not set) if the
      value read is nonzero. Many of the callers (correctly) only store the result
      if NE was returned, i.e. Z clear.
    * In the parse error case, where it constructs the return flags using an
      MSR, it wasn't setting Z, so the callers were storing the corrupted r0
      (actually a pointer to the query string) into the workspace in such cases.
    * The firmware has changed how it reports unknown values. It now responds
      "<name> is unknown" rather than "<name>=0", and this meant it was being
      considered as a parsing error, hence triggering the dormant bug above.
    * GenCmd_GetConfigInt has now gained special-case handling of " is unknown"
      results, and treats them the same as "=0".
    
    Tested on a Pi 4 with the latest firmware.
    6bd08e7e
GenCmd 8.91 KB