This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: DSS writeback issues

Part Number: TDA4VM

I want to occasionally capture 1 frame that is going out the edp port on the evm. When DSS0_WB_ATTRIBUTES[26:24] CAPTUREMODE is set to 1 it will capture a frame but I am not able to capture another frame. The only way I found to recover it is to set the WRITEBACKMODE to 1(m2m) and also set enable to 1. When it is enabled the monitor goes black until I disable it probably because I didn't setup a m2m channel. On j6 I had a similar workaround but I didn't have to set the enable bit so it didn't cause any problems.

I tried using CAPTUREMODE = 0 and disabling/reenabling but occasionally would see random memory corruption when enabling again. I reproduced this on lauterbach by just clicking on the DSS0_WB_ATTRIBUTES->ENABLE bit quckly but it might take minutes to reproduce. Running code that just enables/disables reproduces it within seconds. I also tried using CAPTUREMODE >1 and it still happens but takes a little longer. Guessing it might be a issue with disabling while at some stage of capturing.

Any ideas?

  • Hi Ryan Stark,

    Are you still seeing this issue? 

    Let us know if you require any help.

    Regards,

    Brijesh

  • Hi Ryan Stark,

    When we set CaptureMode to 1, as the description says, it will just capture only one frame and then stop. In order to capture another frame, i think, you need to restart the WriteBack path. 

    I think you should not set WRITEBACKMODE to 1, as this will make WB path operating in memory to memory mode and because of it, display can potentially go blank.

    Can you below sequence in order to capture one frame from WB path?

    - Set CaptureMode = 1

    - Enable WB Path

    - Wait for Vsync

    - Now it will start capturing frame into the buffer

    - you can now disable WB path anytime, as it is shadow register, it will take effect on the next vsync and will stop WB path.

    Regards,

    Brijesh

  • What you describe will work and capture only frame and after that I can't get it to capture anymore frames. How do I "restart the WriteBack path". Setting ENABLE bit0 to 0  and then back to 1 doesn't fix it. Did it work for you on when you tried it on a evm?

  • Hi Ryan Stark,

    This register is shadowed register, so we need to wait atleast a frame time to get the change effected. Could you please make sure that when you restart, wait for the next vsync and then expect the frame to start capturing? 

    Regards,

    Brijesh