We fixed the problem by modifying davinci-pcm.c to not use edma_get_position. The modified code is attached. There are some unrelated changes also in this code, you can pick the relevant changes. (added a new variable offset in in struct davinci_runtime_data to keep track of dma position)
(Please visit the site to view this file)