Uploaded image for project: 'Embedded Software & Tools'
  1. Embedded Software & Tools
  2. EXT_EP-11563

CSL: SPINLOCKLockStatusFree API implementation is wrong

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: High High
    • PDK
    • PDK-13312
    • PROCESSOR_SDK_09.00.00
    • PROCESSOR_SDK_09.01.00
    • Hide
      j721e-evm
      j7200-evm
      j721s2-evm
      j784s4-evm
      Show
      j721e-evm j7200-evm j721s2-evm j784s4-evm

      Description
      CPU acquires spinlock on reading the LOCK register, and releases the lock when 1 is written into the LOCK register.

      The current implementation of SPINLOCKLockStatusFree is doing a read-modify-write because of the CSL_REG32_FINS usage, which is performing a read and a write. The read will acquire the lock and then release it again. This function should simply be releasing a lock.

      Resolution
      The functionality only requires the lock to be released for which a write is performed using CSL_REG32_WR. Used CSL_REG32_WR instead of CSL_REG32_FINS for just releasing the lock.

      Rootcause
      CSL_REG32_FINS was performing an unintended read modify write leading to the lock was acquired and then released.

            syncuser TI User
            syncuser TI User
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: