• Jessica Zhang's avatar
    drm/msm/dpu: Add CRC support for DPU · 78d9b458
    Jessica Zhang authored
    Add CRC support to DPU, which is currently not supported by
    this driver. Only supports CRC for CRTC for now, but will extend support
    to other blocks later on.
    
    Changes in v2:
    - Added kfree() calls for return paths in dpu_crtc_get_crc()
    - Propogated error code for dpu_crtc_get_crc()
    - Renamed skip_count
    - Removed dpu_crtc_is_valid_crc_source()
    - Removed wait for commit in dpu_crtc_set_crc_source()
    - Moved crc_source from struct dpu_crtc to struct dpu_crtc_state
    - Moved CRC register constants from dpu_hw_util.h to dpu_hw_lm.c
    
    Validated with IGT kms_pipe_crc_basic, and kms_cursor_crc
    
    Test: kms_pipe_crc_basic
    Subtests Passed:
    - bad-source
    - read-crc-pipe-A
    - read-crc-pipe-A-frame-sequence
    - nonblocking-crc-pipe-A
    - nonblocking-crc-pipe-A-frame-sequence
    - disable-crc-after-crtc-pipe-A[1]
    - compare-crc-sanitycheck-pipe-A[1]
    Rest skipped
    
    Test: kms_cursor_crc
    Subtests Passed:
    - pipe-A-cursor-size-change
    - pipe-A-cursor-alpha-opaque
    - pipe-A-cursor-alpha-transparent
    Subtests Failed:
    - pipe-A-cursor-dpms
    - pipe-A-cursor-*-onscreen
    - pipe-A-cursor-*-offscreen
    Rest skipped
    
    Tested on Qualcomm RB3 (debian, sdm845), Qualcomm RB5 (debian, qrb5165)
    Reported-by: default avatarkernel test robot <lkp@intel.com>
    Signed-off-by: default avatarJessica Zhang <jesszhan@codeaurora.org>
    
    [1] Skipped on RB5 due to issue related to DPMS. Planning to upload a
    fix for this in the future.
    Link: https://lore.kernel.org/r/20211019224822.25940-1-jesszhan@codeaurora.orgSigned-off-by: default avatarRob Clark <robdclark@chromium.org>
    78d9b458
dpu_crtc.h 9.13 KB