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.

DM365 Resize issue

Other Parts Discussed in Thread: TVP5150, TVP5158

Dear all:

 We are using DM365 platform and dvsdk_2_10_01_18 , we find a problem as below:

our program to be blocked in  CSL_rszIntWait , because the resize module didn't not issue a hardware interrupt!!!

(function(){var src = document.getElementById('source');src.focus();src.select();src.style.boxSizing=src.style.WebkitBoxSizing=src.style.MozBoxSizing=src.style.MsBoxSizing='border-box';})();

Precisely , program to be blocked by wait_for_completion_interruptible in CSL_sysFlagWait ( csl_sysLinuxFlag.c  )

          (the driver and sdk from DM360 Evaluation Software  )

This phenomenon will continue until the re-plug the power !!??, and it will happen randomly

we can't understand WHY???

Does everybody know what wrong ????

 

Please help us

 

Thanks a lot

PS:

resize module :

     interrupt number : 2

     interrupt name : VPSS-INT2

 



  • liao albert,

    When H/W completes capture on a buffer, it issues a interrupt which will result in isr() call in capture driver/module. From the description you have provided looks to me input is not coming to resizer to resize the image and fill the capture buffer. So, no interrupt. Checking the 'input' and 'configuration of resizer' will help you in root-causing the problem.

    Also, if this issue is happening with in on-the-fly mode, is the capture happening fine without resizer?

    Hope this helps.

    -Nag

     

  • Dear Nagabhushana:

    Thanks you for your answer , ask a few question

    how do i determine if H/W complete capture on a buffer ??

    I have measure the signal input to DM365 from TVP5150 , but i'm not sure this can be rule the root casue "input" out

    I have check the code of av_capture from UDworks , it seems  "configuratioin of resizer" no problem because UDworks don't has the resizer issue

    can you give some suggestion???

    I'm very appreciate that

     

     

    Thanks a lot

  • Hi,

    Just want to confirm, DVR RDK for DM368 comes with TVP5158 as the capture driver. Have you modified it to work with TVP5150? Have you done the right settings for the capture and resizer? Can you please dump the resizer register values or the input parameters to the DRV_reszRun() function call?

     

    Regards,

    Anshuman

  • the register as below :

    the solution occurs when we reboot after software upgrade ( the upgrade doesn't  not change behavior of program)

    Hope these information that help to analyize and find out the root cause

    appreciate

    Best regard

    PS: boldface is difference

    normal runing:

          IPIPEIF (Image Pipe Input Interface)
          ENABLE     00000000  SYNCOFF Enabled   ENABLE Disabled
          CFG1       0000040D  INPSRC1 Parallel Port

                               CLKSEL  CLKDIV

                               AVGFILT Off
                               INPSRC2 SDRAM (YUV)
                               DECIM   No decimation
                               ONESHOT One shot
          PPLN       000002E8  PPLN    02E8
          LPFR       000001F0  LPFR    01F0
          HNUM       000002D8  HNUM    02D8
          VNUM       000001E0  VNUM    01E0
          ADDRU      0000042B  ADDRMSB 1                ADOFS9 0         ADDRMSB 002
          ADDRL      000082C2  ADDRL   82C2
          ADOFS      0000002E  ADOFS   002E

         RSZ (Resizer)
          SRC_EN          00000000  EN     Disabled
          SRC_MODE        00000001  WRT    Disabled OST  Enabled
          SRC_FMT0        00000001  BYPASS Disabled SRC  IPIPEIF
          SRC_FMT1        00000000  COL    Y        420  422      RAW  YcbCr
          SRC_VPS         00000000  VAL    0000
          SRC_VSZ         000001DF  VAL    01DF
          SRC_HPS         00000008  VAL    0008

          SRC_HSZ         000002CF  VAL    02CF
          DMA_RZA         00000008  VAL    08
          DMA_RZB         00000008  VAL    08
          DMA_STA         00000000  STATUS Low
          GCK_MMR         00000001  REG    Enabled
          GCK_SDR         00000001  CORE   Enabled
          IRQ_RZA         00001FFF  VAL    1FFF
          IRQ_RZB         00001FFF  VAL    1FFF
          YUV_Y_MIN       00000000  VAL    00
          YUV_Y_MAX       000000FF  VAL    FF
          YUV_C_MIN       00000000  VAL    00
          YUV_C_MAX       000000FF  VAL    FF
          YUV_PHS         00000000  POS    Same position
          SEQ             00000000  CRV    Disabled  VRVB Disabled  HRVB Disabled  V
                                    HRVA   Disabled

            Channel A
            RZA_EN          00000000  EN     Disabled
            RZA_MODE        00000001  OST    One shot
            RZA_420         00000003  CEN    Enabled     YEN  Enabled
            RZA_I_VPS       00000001  VAL    0001
            RZA_I_HPS       00000000  VAL    0000
            RZA_O_VSZ       000000EF  VAL    00EF
            RZA_O_HSZ       0000013F  VAL    013F
            RZA_V_PHS_Y     00000000  VAL    0000
            RZA_V_PHS_C     00000000  VAL    0000
            RZA_V_DIF       00000100  VAL    0100
            RZA_V_TYP       00000000  C      4-tap cubic convolution     Y 4-tap cub
            RZA_V_LPF       00000000  C      0                           Y 0
            RZA_H_PHS       00000000  VAL    0000
            RZA_H_PHS_ADJ   00000000  VAL    0000
            RZA_H_DIF       00000100  VAL    0100
            RZA_H_TYP       00000000  C      4-tap cubic convolution     Y 4-tap cub
            RZA_H_LPF       00000000  C      0                           Y 0
            RZA_DWN_EN      00000001  EN     Enabled
            RZA_DWN_AV      00000000  V      1/2    H    1/2
            RZA_RGB_EN      00000000  EN     YCbCr
            RZA_RGB_TYP     00000000  MSK1   Output MSK0 Output  TYP  32
            RZA_RGB_BLD     00000000  VAL    00
            RZA_SDR_Y_BAD_H 0000859B  VAL    859B
            RZA_SDR_Y_BAD_L 00009600  VAL    9600
            RZA_SDR_Y_SAD_H 0000859B  VAL    859B
            RZA_SDR_Y_SAD_L 00009600  VAL    9600
            RZA_SDR_Y_OFT   00000140  OFT    0140

            RZA_SDR_Y_PTR_S 00000000  VAL    0000
            RZA_SDR_Y_PTR_E 000000F0  VAL    00F0
            RZA_SDR_C_BAD_H 0000859C  VAL    859C
            RZA_SDR_C_BAD_L 0000C200  VAL    C200
            RZA_SDR_C_SAD_H 0000859C  VAL    859C
            RZA_SDR_C_SAD_L 0000C200  VAL    C200
            RZA_SDR_C_OFT   00000140  OFT    0140

            RZA_SDR_C_PTR_S 00000000  VAL    0000
            RZA_SDR_C_PTR_E 00000078  VAL    0078

            Channel B
            RZB_EN          00000000  EN     Disabled
            RZB_MODE        00000001  OST    One shot
            RZB_420         00000003  CEN    Enabled     YEN  Enabled
            RZB_I_VPS       00000001  VAL    0001
            RZB_I_HPS       00000000  VAL    0000
            RZB_O_VSZ       000000EF  VAL    00EF
            RZB_O_HSZ       000002BF  VAL    02BF
            RZB_V_PHS_Y     00000000  VAL    0000
            RZB_V_PHS_C     00000000  VAL    0000
            RZB_V_DIF       00000100  VAL    0100
            RZB_V_TYP       00000000  C      4-tap cubic convolution     Y 4-tap cub
            RZB_V_LPF       00000000  C      0                           Y 0
            RZB_H_PHS       00000000  VAL    0000
            RZB_H_PHS_ADJ   00000000  VAL    0000
            RZB_H_DIF       00000105  VAL    0105
            RZB_H_TYP       00000000  C      4-tap cubic convolution     Y 4-tap cub
            RZB_H_LPF       00000000  C      0                           Y 0
            RZB_DWN_EN      00000000  EN     Disabled
            RZB_DWN_AV      00000000  V      1/2    H    1/2
            RZB_RGB_EN      00000000  EN     YCbCr
            RZB_RGB_TYP     00000000  MSK1   Output MSK0 Output  TYP  32
            RZB_RGB_BLD     00000000  VAL    00
            RZB_SDR_Y_BAD_H 0000863F  VAL    863F
            RZB_SDR_Y_BAD_L 0000BEC0  VAL    BEC0
            RZB_SDR_Y_SAD_H 0000863F  VAL    863F
            RZB_SDR_Y_SAD_L 0000BEC0  VAL    BEC0

            RZB_SDR_Y_OFT   00000580  OFT    0580
            RZB_SDR_Y_PTR_S 00000000  VAL    0000
            RZB_SDR_Y_PTR_E 000000F0  VAL    00F0
            RZB_SDR_C_BAD_H 00008644  VAL    8644
            RZB_SDR_C_BAD_L 0000E6C0  VAL    E6C0
            RZB_SDR_C_SAD_H 00008644  VAL    8644
            RZB_SDR_C_SAD_L 0000E6C0  VAL    E6C0

            RZB_SDR_C_OFT   00000580  OFT    0580
            RZB_SDR_C_PTR_S 00000000  VAL    0000
            RZB_SDR_C_PTR_E 00000078  VAL    0078

    abnormal running:

          IPIPEIF (Image Pipe Input Interface)
          ENABLE     00000001  SYNCOFF Enabled   ENABLE Enabled
          CFG1       0000040D  INPSRC1 Parallel Port

                               CLKSEL  CLKDIV

                               AVGFILT Off
                               INPSRC2 SDRAM (YUV)
                               DECIM   No decimation
                               ONESHOT One shot
          PPLN       000002E0  PPLN    02E0
          LPFR       00000100  LPFR    0100
          HNUM       000002D0  HNUM    02D0
          VNUM       000000F0  VNUM    00F0
          ADDRU      0000042A  ADDRMSB 1                ADOFS9 0         ADDRMSB 002
          ADDRL      00008000  ADDRL   8000
          ADOFS      0000005C  ADOFS   005C

          RSZ (Resizer)
          SRC_EN          00000001  EN     Enabled
          SRC_MODE        00000001  WRT    Disabled OST  Enabled
          SRC_FMT0        00000001  BYPASS Disabled SRC  IPIPEIF
          SRC_FMT1        00000000  COL    Y        420  422      RAW  YcbCr
          SRC_VPS         00000000  VAL    0000
          SRC_VSZ         000000EF  VAL    00EF

          SRC_HPS         00000000  VAL    0000
          SRC_HSZ         000002CF  VAL    02CF
          DMA_RZA         00000008  VAL    08
          DMA_RZB         00000008  VAL    08
          DMA_STA         00000000  STATUS Low
          GCK_MMR         00000001  REG    Enabled
          GCK_SDR         00000001  CORE   Enabled
          IRQ_RZA         00001FFF  VAL    1FFF
          IRQ_RZB         00001FFF  VAL    1FFF
          YUV_Y_MIN       00000000  VAL    00
          YUV_Y_MAX       000000FF  VAL    FF
          YUV_C_MIN       00000000  VAL    00
          YUV_C_MAX       000000FF  VAL    FF
          YUV_PHS         00000000  POS    Same position
          SEQ             00000000  CRV    Disabled  VRVB Disabled  HRVB Disabled  V
                                    HRVA   Disabled

            Channel A
            RZA_EN          00000001  EN     Enabled
            RZA_MODE        00000001  OST    One shot
            RZA_420         00000003  CEN    Enabled     YEN  Enabled
            RZA_I_VPS       00000001  VAL    0001
            RZA_I_HPS       00000000  VAL    0000
            RZA_O_VSZ       000000EF  VAL    00EF
            RZA_O_HSZ       000002CF  VAL    02CF
            RZA_V_PHS_Y     00000000  VAL    0000
            RZA_V_PHS_C     00000000  VAL    0000
            RZA_V_DIF       00000100  VAL    0100
            RZA_V_TYP       00000000  C      4-tap cubic convolution     Y 4-tap cub
            RZA_V_LPF       00000000  C      0                           Y 0
            RZA_H_PHS       00000000  VAL    0000
            RZA_H_PHS_ADJ   00000000  VAL    0000
            RZA_H_DIF       00000100  VAL    0100
            RZA_H_TYP       00000000  C      4-tap cubic convolution     Y 4-tap cub
            RZA_H_LPF       00000000  C      0                           Y 0
            RZA_DWN_EN      00000000  EN     Disabled
            RZA_DWN_AV      00000000  V      1/2    H    1/2
            RZA_RGB_EN      00000000  EN     YCbCr
            RZA_RGB_TYP     00000000  MSK1   Output MSK0 Output  TYP  32
            RZA_RGB_BLD     00000000  VAL    00
            RZA_SDR_Y_BAD_H 000085C8  VAL    85C8
            RZA_SDR_Y_BAD_L 00006000  VAL    6000
            RZA_SDR_Y_SAD_H 000085C8  VAL    85C8
            RZA_SDR_Y_SAD_L 00006000  VAL    6000
            RZA_SDR_Y_OFT   000005C0  OFT    05C0

            RZA_SDR_Y_PTR_S 00000000  VAL    0000
            RZA_SDR_Y_PTR_E 000000F0  VAL    00F0
            RZA_SDR_C_BAD_H 000085CD  VAL    85CD
            RZA_SDR_C_BAD_L 0000C400  VAL    C400
            RZA_SDR_C_SAD_H 000085CD  VAL    85CD
            RZA_SDR_C_SAD_L 0000C400  VAL    C400
            RZA_SDR_C_OFT   000005C0  OFT    05C0

            RZA_SDR_C_PTR_S 00000000  VAL    0000
            RZA_SDR_C_PTR_E 00000078  VAL    0078

            Channel B
            RZB_EN          00000001  EN     Enabled
            RZB_MODE        00000001  OST    One shot
            RZB_420         00000003  CEN    Enabled     YEN  Enabled
            RZB_I_VPS       00000001  VAL    0001
            RZB_I_HPS       00000000  VAL    0000
            RZB_O_VSZ       000000EF  VAL    00EF
            RZB_O_HSZ       000002BF  VAL    02BF
            RZB_V_PHS_Y     00000000  VAL    0000
            RZB_V_PHS_C     00000000  VAL    0000
            RZB_V_DIF       00000100  VAL    0100
            RZB_V_TYP       00000000  C      4-tap cubic convolution     Y 4-tap cub
            RZB_V_LPF       00000000  C      0                           Y 0
            RZB_H_PHS       00000000  VAL    0000
            RZB_H_PHS_ADJ   00000000  VAL    0000
            RZB_H_DIF       00000105  VAL    0105
            RZB_H_TYP       00000000  C      4-tap cubic convolution     Y 4-tap cub
            RZB_H_LPF       00000000  C      0                           Y 0
            RZB_DWN_EN      00000000  EN     Disabled
            RZB_DWN_AV      00000000  V      1/2    H    1/2
            RZB_RGB_EN      00000000  EN     YCbCr
            RZB_RGB_TYP     00000000  MSK1   Output MSK0 Output  TYP  32
            RZB_RGB_BLD     00000000  VAL    00
            RZB_SDR_Y_BAD_H 00008638  VAL    8638
            RZB_SDR_Y_BAD_L 00000000  VAL    0000
            RZB_SDR_Y_SAD_H 00008638  VAL    8638
            RZB_SDR_Y_SAD_L 00000000  VAL    0000

            RZB_SDR_Y_OFT   00000580  OFT    0580
            RZB_SDR_Y_PTR_S 00000000  VAL    0000
            RZB_SDR_Y_PTR_E 000000F0  VAL    00F0
            RZB_SDR_C_BAD_H 0000863D  VAL    863D
            RZB_SDR_C_BAD_L 00002800  VAL    2800
            RZB_SDR_C_SAD_H 0000863D  VAL    863D
            RZB_SDR_C_SAD_L 00002800  VAL    2800

            RZB_SDR_C_OFT   00000580  OFT    0580
            RZB_SDR_C_PTR_S 00000000  VAL    0000
            RZB_SDR_C_PTR_E 00000078  VAL    0078

     

     

  • 3757.resizer_runing_replug_power.txt

    0844.resize_NG_aft_upgrade.txt

    I'm sorry , i make up a complete log file

     

    Hope this help

    Thanks a lot

    PS:

    resizer_runing_replug_power.txt is normal running

    resize_NG_aft_upgrade.txt is abnormal running

  • Dear all:

    I compare two log file.
    A obvious phenomenon as below:
       Resizer:  SRC_EN , RZA_EN , RZB_EN 
       IPIPEIF:  ENABLE
    Those four registers set to disable in normal
    Those four registers set to enable in abnormal


    I have a question about SRC_EN of resizer
        if SRC_EN is set to enable , Does it mean that the data is processing
        if SRC_EN is set to disable , Does it mean that data processing is completed

    I guess the processing speed of  resizer is too fast , so i always see the SRC_EN is disable in normal

    Is the views correct????

     

    Appreciate your help

    Best regard

  • Hi,

    You are right. If the enable bit is set in one-shot mode, then this means the module is still processing the data. This can happen only if the module is stuck and cannot get the data from the memory.

    A few suggestions that i would recommend:

    1. Try the continuous mode and ensure that you are not seeing this problem.

    2. Have you done VPSS Sync Reset as mentioned in the errata of DM36x?

    3. Increase PPLN and LPFR in the abnormal case.

    Regards,

    Anshuman

    PS: Please mark the post as verified, if you think it has answered your question. Thanks.

  • I'm appreciate your response , but i still have a few question as below

     

    1.Is it possible the resizer still can't get the data from memory when tvp5150 have the normal input to DM365.  Because I have tried that tvp5150 can't input to DM365 , even so it can't make SRC_EN of the Resizer to Enable. In my opinion , the resizer does have get the data but it can't process complete!!!. So the resizer to be stuck and can't issue the interrupt.

     

    There are my guess , if that can be happen . What kind of situation could lead to such problem???

     

    2.When this problem occurs , Unless I re-plug the power supply otherwise the situation can not be lifted

    I can't realize this situation. If the program cause this , why the situation can't be lifted after reboot.

    It may also be caused by hardware??

     

    3.Is it possible in this situation has a relationship with IPIPEIF?

     

    4.For you suggestion

    4.1: what difference between one-shot mode and continue mode

    4.2: "Have you done VPSS Sync Reset as mentioned in the errata of DM36x?" 

         I don't know what it means?

    4.3:Increase PPLN and LPFR in the abnormal case

          How can i do this?.

          what is PPLN and LPFR?

     

    I'm sorry my question a little more.

    I Still very much appreciate your help, then i will try your suggestion.

     

     

    Best regard

  • Albert,

    4.2: "Have you done VPSS Sync Reset as mentioned in the errata of DM36x?" 

    Please refer to DM365 Silicon Errata - Silicon Revision 1.1 and 1.2(sprz294d).pdf  Advisory 1.2.1 The Buffer Logic of VPSS is Not Reset by System Reset Pin. Sample code for this workaround is included in errata. But please check into your ubl, add this workaround if it is not already been added.

     

    4.3:Increase PPLN and LPFR in the abnormal case.

    Please try to increase below two register values to allow resizer have more time to complete processing.

    rsz_ss_config.input.ppln
    rsz_ss_config.input.lpfr

    I suggest you try above two hints first and see if it improves.

    Regards - Edward

  • Albert,

    I want a clarification. I assume you are able to do a proper capture and resize operation in the "normal operation mode" with TVP5150. Isnt it? This is really needed to understand that your TVP driver is fine. The so called "abnormal" operation occurs only sometimes for the same software. Isnt it?

    Assuming the above is true and based on the symptom of not able to recover from this condition even after reboot from linux prompt, it points me to the fact that you are not doing VPSS Sync reset. Please refer to the pointers provided by Edward and check if adding VPSS Sync reset helps.

    BTW, can you check if your UBL has VPSS Sync reset present in it?

    Regards,

    Anshuman

  • Dear Anshuman:

    1.  

    I have set the SRC_MODE of resizer and IPIPEIF to continus mode , This is correct??

    Because the isssue will be serious and frequent in continue mode

    2.

    I'm working on~~~
    3.
    According to the code of UDworks and appro , the setup program as below
    DRV_reszRun

    {
       gDRV_reszObj.ipipeifClk.pixelsPerLine = prm.inWidth + startX + 16;
       gDRV_reszObj.ipipeifClk.linesPerFrame = prm.inHeight + 16;
    }
    These setting is based on width  and height of image, then increase them.
    Does this setting has no upper limit or other restrictions (such as a multiple of 8, etc.), or a suggested value???

    Is it necessary to modify the PPLN and LPFR of ISIF , because it seem to a constant in default


    Best regard