crypto: msm:  Fix failure to process large packets

When performing a crypto operation of packet size larger
than 32KB -1 Bytes (max supported by BAM HW), the operation hangs.

The root casue was identified to be in one of the accumulators of
NDP_BAM not being given enough time to clear prior to when the EOT is
seen from the crypto core.

The workaround to the above issue in NDP_BAM is to precess the data
descriptors in in the producer PIPE in 2 steps.
- Enable INT for the second last descriptor prior to sending the last
  results dump data descriptor to BAM
- Once the interrupt is fired,  then only issue the result dump data
  descriptor to be process by BAM

The above changes results in allowing enough time for the accumulators
to clear before the last results dump data descriptor is processed by
BAM.

Change-Id: I46be19857fc22bae7aec2b2798ca487ee49fafd1
Signed-off-by: Mona Hossain <mhossain@codeaurora.org>
1 file changed