dsi should implement dsi_mgr_bridge_atomic_check
We should calculate the required byte clock in atomic_check() and validate that dsi supports the needed rate. Noticed when debugging ./debug/tests/kms_bw --run-subtest linear-tiling-1-displays-3840x2160p
with extra WARN_ON()
to see the call trace:
[ 699.586108] [IGT] kms_bw: starting subtest linear-tiling-1-displays-3840x2160p
[ 699.587539] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.587563] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.587579] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.587588] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.587602] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.587610] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.587624] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.587632] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.587646] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.587654] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.587668] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.587676] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.587689] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.587697] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.587709] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.587717] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.587745] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_VERSION
[ 699.587760] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_VERSION
[ 699.587768] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_VERSION
[ 699.587776] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_VERSION
[ 699.587785] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_VERSION
[ 699.587794] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_VERSION
[ 699.587802] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_VERSION
[ 699.587810] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_VERSION
[ 699.587818] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_VERSION
[ 699.587826] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_VERSION
[ 699.587836] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_CREATE_DUMB
[ 699.587961] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_GET_CAP
[ 699.587970] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_GET_CAP
[ 699.587981] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_ADDFB2
[ 699.587990] [drm:dpu_get_dpu_format_ext] plane format modifier 0x0
[ 699.587995] [drm:dpu_get_dpu_format_ext] fmt XR24 mod 0x0 ubwc 0 yuv 0
[ 699.588010] [drm:drm_mode_addfb2] [FB:69]
[ 699.588056] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_VERSION
[ 699.588067] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_VERSION
[ 699.588076] [drm:drm_ioctl] invalid ioctl: comm="kms_bw", pid=1062, dev=0xe200, auth=1, cmd=0xc0106464, nr=0x64
[ 699.588080] [drm:drm_ioctl] comm="kms_bw", pid=1062, ret=-22
[ 699.588086] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_VERSION
[ 699.588095] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_VERSION
[ 699.588103] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_MAP_DUMB
[ 699.628179] [drm:_dpu_encoder_irq_control] enc31 enable:0
[ 699.629599] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_VERSION
[ 699.629707] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_DIRTYFB
[ 699.629719] [drm:drm_mode_object_put] OBJ ID: 69 (2)
[ 699.629751] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETRESOURCES
[ 699.629776] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETRESOURCES
[ 699.629925] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETCONNECTOR
[ 699.629943] [drm:drm_mode_object_put] OBJ ID: 32 (4)
[ 699.629950] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETCONNECTOR
[ 699.629969] [drm:drm_mode_object_put] OBJ ID: 32 (4)
[ 699.629977] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETENCODER
[ 699.629994] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETENCODER
[ 699.630010] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETCRTC
[ 699.630078] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_OBJ_GETPROPERTIES
[ 699.630097] [drm:drm_mode_object_put] OBJ ID: 32 (4)
[ 699.630106] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_OBJ_GETPROPERTIES
[ 699.630135] [drm:drm_mode_object_put] OBJ ID: 32 (4)
[ 699.630144] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.630153] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.630162] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.630171] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.630187] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.630195] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.630207] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.630215] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.630224] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.630232] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.630240] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.630248] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETPROPERTY
[ 699.630273] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_CREATEPROPBLOB
[ 699.630631] [drm:drm_ioctl] comm="kms_bw" pid=1062, dev=0xe200, auth=1, DRM_IOCTL_MODE_ATOMIC
[ 699.630658] msm_dpu ae01000.mdp: [drm:drm_atomic_state_init] Allocated atomic state ffffff809653c700
[ 699.630805] [drm:drm_mode_object_get] OBJ ID: 32 (4)
[ 699.630810] [drm:drm_mode_object_get] OBJ ID: 32 (5)
[ 699.630813] msm_dpu ae01000.mdp: [drm:drm_atomic_get_connector_state] Added [CONNECTOR:32:eDP-1] ffffff809653c100 state to ffffff809653c700
[ 699.630828] [drm:drm_mode_object_get] OBJ ID: 70 (1)
[ 699.630831] msm_dpu ae01000.mdp: [drm:drm_atomic_get_crtc_state] Added [CRTC:66:crtc-1] ffffff808e044a00 state to ffffff809653c700
[ 699.630839] [drm:drm_mode_object_put] OBJ ID: 32 (6)
[ 699.630845] [drm:drm_mode_object_put] OBJ ID: 32 (5)
[ 699.630848] msm_dpu ae01000.mdp: [drm:drm_atomic_state_default_clear] Clearing atomic state ffffff809653c700
[ 699.630857] [drm:drm_mode_object_put] OBJ ID: 32 (4)
[ 699.630860] [drm:dpu_crtc_destroy_state] crtc66
[ 699.630865] [drm:drm_mode_object_put] OBJ ID: 70 (2)
[ 699.630884] [drm:drm_mode_object_get] OBJ ID: 32 (4)
[ 699.630886] [drm:drm_mode_object_get] OBJ ID: 32 (5)
[ 699.630889] msm_dpu ae01000.mdp: [drm:drm_atomic_get_connector_state] Added [CONNECTOR:32:eDP-1] ffffff809653c100 state to ffffff809653c700
[ 699.630898] [drm:drm_mode_object_get] OBJ ID: 70 (1)
[ 699.630901] msm_dpu ae01000.mdp: [drm:drm_atomic_get_crtc_state] Added [CRTC:66:crtc-1] ffffff808e044a00 state to ffffff809653c700
[ 699.630907] [drm:drm_mode_object_put] OBJ ID: 32 (6)
[ 699.630916] msm_dpu ae01000.mdp: [drm:drm_atomic_get_crtc_state] Added [CRTC:65:crtc-0] ffffff808e043e00 state to ffffff809653c700
[ 699.630921] [drm:drm_mode_object_get] OBJ ID: 32 (5)
[ 699.630923] msm_dpu ae01000.mdp: [drm:drm_atomic_set_crtc_for_connector] Link [CONNECTOR:32:eDP-1] state ffffff809653c100 to [CRTC:65:crtc-0]
[ 699.630928] [drm:drm_mode_object_put] OBJ ID: 32 (6)
[ 699.630940] [drm:drm_mode_object_get] OBJ ID: 34 (2)
[ 699.630943] msm_dpu ae01000.mdp: [drm:drm_atomic_get_connector_state] Added [CONNECTOR:34:DP-1] ffffff809653f100 state to ffffff809653c700
[ 699.630949] [drm:drm_mode_object_put] OBJ ID: 34 (3)
[ 699.630963] [drm:dpu_plane_duplicate_state] plane41
[ 699.630967] msm_dpu ae01000.mdp: [drm:drm_atomic_get_plane_state] Added [PLANE:41:plane-0] ffffff809653c400 state to ffffff809653c700
[ 699.630986] msm_dpu ae01000.mdp: [drm:drm_atomic_set_fb_for_plane] Set [FB:69] for [PLANE:41:plane-0] state ffffff809653c400
[ 699.630990] [drm:drm_mode_object_get] OBJ ID: 69 (3)
[ 699.630993] [drm:drm_mode_object_put] OBJ ID: 69 (4)
[ 699.630995] [drm:drm_mode_object_put] OBJ ID: 69 (3)
[ 699.631003] msm_dpu ae01000.mdp: [drm:drm_atomic_set_crtc_for_plane] Link [PLANE:41:plane-0] state ffffff809653c400 to [CRTC:65:crtc-0]
[ 699.631092] msm_dpu ae01000.mdp: [drm:drm_atomic_state_default_clear] Clearing atomic state ffffff809653c700
[ 699.631097] [drm:drm_mode_object_put] OBJ ID: 32 (5)
[ 699.631103] [drm:drm_mode_object_put] OBJ ID: 32 (4)
[ 699.631108] [drm:drm_mode_object_put] OBJ ID: 34 (2)
[ 699.631111] [drm:dpu_crtc_destroy_state] crtc65
[ 699.631117] [drm:dpu_crtc_destroy_state] crtc66
[ 699.631120] [drm:drm_mode_object_put] OBJ ID: 70 (2)
[ 699.631125] [drm:drm_mode_object_put] OBJ ID: 69 (2)
[ 699.631144] [drm:drm_mode_object_get] OBJ ID: 32 (4)
[ 699.631147] [drm:drm_mode_object_get] OBJ ID: 32 (5)
[ 699.631150] msm_dpu ae01000.mdp: [drm:drm_atomic_get_connector_state] Added [CONNECTOR:32:eDP-1] ffffff809653c400 state to ffffff809653c700
[ 699.631160] [drm:drm_mode_object_get] OBJ ID: 70 (1)
[ 699.631163] msm_dpu ae01000.mdp: [drm:drm_atomic_get_crtc_state] Added [CRTC:66:crtc-1] ffffff808e044a00 state to ffffff809653c700
[ 699.631168] [drm:drm_mode_object_put] OBJ ID: 32 (6)
[ 699.631177] msm_dpu ae01000.mdp: [drm:drm_atomic_get_crtc_state] Added [CRTC:65:crtc-0] ffffff808e043e00 state to ffffff809653c700
[ 699.631181] [drm:drm_mode_object_get] OBJ ID: 32 (5)
[ 699.631183] msm_dpu ae01000.mdp: [drm:drm_atomic_set_crtc_for_connector] Link [CONNECTOR:32:eDP-1] state ffffff809653c400 to [CRTC:65:crtc-0]
[ 699.631187] [drm:drm_mode_object_put] OBJ ID: 32 (6)
[ 699.631199] [drm:drm_mode_object_get] OBJ ID: 34 (2)
[ 699.631202] msm_dpu ae01000.mdp: [drm:drm_atomic_get_connector_state] Added [CONNECTOR:34:DP-1] ffffff809653f100 state to ffffff809653c700
[ 699.631207] [drm:drm_mode_object_put] OBJ ID: 34 (3)
[ 699.631219] [drm:dpu_plane_duplicate_state] plane41
[ 699.631222] msm_dpu ae01000.mdp: [drm:drm_atomic_get_plane_state] Added [PLANE:41:plane-0] ffffff809653c100 state to ffffff809653c700
[ 699.631238] msm_dpu ae01000.mdp: [drm:drm_atomic_set_fb_for_plane] Set [FB:69] for [PLANE:41:plane-0] state ffffff809653c100
[ 699.631242] [drm:drm_mode_object_get] OBJ ID: 69 (3)
[ 699.631244] [drm:drm_mode_object_put] OBJ ID: 69 (4)
[ 699.631247] [drm:drm_mode_object_put] OBJ ID: 69 (3)
[ 699.631254] msm_dpu ae01000.mdp: [drm:drm_atomic_set_crtc_for_plane] Link [PLANE:41:plane-0] state ffffff809653c100 to [CRTC:65:crtc-0]
[ 699.631272] [drm:dpu_plane_duplicate_state] plane47
[ 699.631274] msm_dpu ae01000.mdp: [drm:drm_atomic_get_plane_state] Added [PLANE:47:plane-1] ffffff809653eb00 state to ffffff809653c700
[ 699.631290] msm_dpu ae01000.mdp: [drm:drm_atomic_set_fb_for_plane] Set [NOFB] for [PLANE:47:plane-1] state ffffff809653eb00
[ 699.631312] [drm:dpu_plane_duplicate_state] plane53
[ 699.631314] msm_dpu ae01000.mdp: [drm:drm_atomic_get_plane_state] Added [PLANE:53:plane-2] ffffff809653ee00 state to ffffff809653c700
[ 699.631330] msm_dpu ae01000.mdp: [drm:drm_atomic_set_fb_for_plane] Set [NOFB] for [PLANE:53:plane-2] state ffffff809653ee00
[ 699.631352] [drm:dpu_plane_duplicate_state] plane59
[ 699.631355] msm_dpu ae01000.mdp: [drm:drm_atomic_get_plane_state] Added [PLANE:59:plane-3] ffffff8081e0fd00 state to ffffff809653c700
[ 699.631370] msm_dpu ae01000.mdp: [drm:drm_atomic_set_fb_for_plane] Set [NOFB] for [PLANE:59:plane-3] state ffffff8081e0fd00
[ 699.631390] [drm:drm_mode_object_get] OBJ ID: 71 (3)
[ 699.631394] msm_dpu ae01000.mdp: [drm:drm_atomic_set_mode_prop_for_crtc] Set [MODE:3840x2160p] for [CRTC:65:crtc-0] state ffffff808e043e00
[ 699.631398] [drm:drm_mode_object_put] OBJ ID: 71 (4)
[ 699.631400] [drm:drm_mode_object_put] OBJ ID: 71 (3)
[ 699.631410] [drm:drm_mode_object_put] OBJ ID: 70 (2)
[ 699.631413] msm_dpu ae01000.mdp: [drm:drm_atomic_set_mode_prop_for_crtc] Set [NOMODE] for [CRTC:66:crtc-1] state ffffff808e044a00
[ 699.631419] msm_dpu ae01000.mdp: [drm:drm_atomic_check_only] checking ffffff809653c700
[ 699.631425] msm_dpu ae01000.mdp: [drm:drm_atomic_helper_check_modeset] [CRTC:65:crtc-0] mode changed
[ 699.631428] msm_dpu ae01000.mdp: [drm:drm_atomic_helper_check_modeset] [CRTC:65:crtc-0] enable changed
[ 699.631432] msm_dpu ae01000.mdp: [drm:drm_atomic_helper_check_modeset] [CRTC:65:crtc-0] active changed
[ 699.631436] msm_dpu ae01000.mdp: [drm:drm_atomic_helper_check_modeset] [CRTC:66:crtc-1] mode changed
[ 699.631439] msm_dpu ae01000.mdp: [drm:drm_atomic_helper_check_modeset] [CRTC:66:crtc-1] enable changed
[ 699.631442] msm_dpu ae01000.mdp: [drm:drm_atomic_helper_check_modeset] [CRTC:66:crtc-1] active changed
[ 699.631453] msm_dpu ae01000.mdp: [drm:drm_atomic_helper_check_modeset] Updating routing for [CONNECTOR:32:eDP-1]
[ 699.631457] msm_dpu ae01000.mdp: [drm:drm_atomic_helper_check_modeset] [CONNECTOR:32:eDP-1] keeps [ENCODER:31:DSI-31], now on [CRTC:65:crtc-0]
[ 699.631461] msm_dpu ae01000.mdp: [drm:drm_atomic_helper_check_modeset] Updating routing for [CONNECTOR:34:DP-1]
[ 699.631465] msm_dpu ae01000.mdp: [drm:drm_atomic_helper_check_modeset] Disabling [CONNECTOR:34:DP-1]
[ 699.631468] msm_dpu ae01000.mdp: [drm:drm_atomic_helper_check_modeset] [CRTC:65:crtc-0] needs all connectors, enable: y, active: y
[ 699.631472] msm_dpu ae01000.mdp: [drm:drm_atomic_add_affected_connectors] Adding all current connectors for [CRTC:65:crtc-0] to ffffff809653c700
[ 699.631482] msm_dpu ae01000.mdp: [drm:drm_atomic_add_affected_planes] Adding all current planes for [CRTC:65:crtc-0] to ffffff809653c700
[ 699.631486] msm_dpu ae01000.mdp: [drm:drm_atomic_helper_check_modeset] [CRTC:66:crtc-1] needs all connectors, enable: n, active: n
[ 699.631490] msm_dpu ae01000.mdp: [drm:drm_atomic_add_affected_connectors] Adding all current connectors for [CRTC:66:crtc-1] to ffffff809653c700
[ 699.631498] msm_dpu ae01000.mdp: [drm:drm_atomic_add_affected_planes] Adding all current planes for [CRTC:66:crtc-1] to ffffff809653c700
[ 699.631502] msm_dpu ae01000.mdp: [drm:drm_atomic_add_encoder_bridges] Adding all bridges for [encoder:31:DSI-31] to ffffff809653c700
[ 699.631523] msm_dpu ae01000.mdp: [drm:drm_atomic_get_private_obj_state] Added new private object ffffff8099d43880 state ffffff809db01280 to ffffff809653c700
[ 699.631527] msm_dpu ae01000.mdp: [drm:drm_atomic_add_encoder_bridges] Adding all bridges for [encoder:31:DSI-31] to ffffff809653c700
[ 699.631554] [drm:dpu_encoder_virt_atomic_check] enc31
[ 699.631568] msm_dpu ae01000.mdp: [drm:drm_atomic_get_private_obj_state] Added new private object ffffff8086b91b98 state ffffff8085ba1000 to ffffff809653c700
[ 699.631574] [drm:dpu_rm_reserve] reserving hw for enc 31 crtc 65
[ 699.631577] [drm:dpu_rm_reserve] num_lm: 1 num_enc: 0 num_intf: 1
[ 699.631582] [drm:dpu_rm_reserve] ctl 1 caps 0x4
[ 699.631584] [drm:dpu_rm_reserve] ctl 1 match
[ 699.631588] [drm:drm_atomic_normalize_zpos] [CRTC:65:crtc-0] calculating normalized zpos values
[ 699.631596] [drm:drm_atomic_normalize_zpos] [PLANE:41:plane-0] processing zpos value 0
[ 699.631599] [drm:drm_atomic_normalize_zpos] [PLANE:41:plane-0] normalized zpos value 0
[ 699.631618] [drm:dpu_crtc_atomic_check] crtc65: check
[ 699.631623] [drm:dpu_crtc_atomic_check] crtc65: zpos 0
[ 699.631627] [drm:dpu_core_perf_crtc_check] crtc=65 clk_rate=537546240 core_ib=1600000 core_ab=0
[ 699.631631] [drm:dpu_core_perf_crtc_check] calculated bandwidth=0k
[ 699.631634] [drm:dpu_core_perf_crtc_check] final threshold bw limit = 6800000
[ 699.631637] [drm:dpu_core_perf_crtc_check] crtc:66 bw:619315200 ctrl:0
[ 699.631640] [drm:dpu_core_perf_crtc_check] calculated bandwidth=619316k
[ 699.631643] [drm:dpu_core_perf_crtc_check] final threshold bw limit = 6800000
[ 699.631658] [drm:dpu_crtc_atomic_check] crtc66 -> enable 0, active 0, skip atomic_check
[ 699.631667] msm_dpu ae01000.mdp: [drm:drm_atomic_commit] committing ffffff809653c700
[ 699.631704] [drm:dpu_plane_prepare_fb] plane41 FB[69]
[ 699.631894] [drm:dpu_kms_wait_flush] [crtc:66] not enable
[ 699.631899] msm_dpu ae01000.mdp: [drm:drm_atomic_helper_commit_modeset_disables] disabling [ENCODER:31:DSI-31]
[ 699.633511] [drm:dsi_mgr_bridge_disable] id=0
[ 699.633518] [drm:dpu_encoder_virt_disable] enc31
[ 699.633523] [drm:dpu_encoder_wait_for_event] enc31
[ 699.633527] [drm:dpu_encoder_helper_wait_for_irq] id=31, callback=dpu_encoder_phys_vid_vblank_irq, irq=27, pp=0, pending_cnt=0
[ 699.633543] [drm:_dpu_encoder_irq_control] enc31 enable:1
[ 699.633562] [drm:dpu_encoder_helper_wait_for_irq] id=31, callback=dpu_encoder_phys_vid_vblank_irq, irq=27, pp=0, pending_cnt=1
[ 699.635608] [drm:_dpu_encoder_irq_control] enc31 enable:0
[ 699.635622] [drm:dpu_encoder_virt_disable] enc31 encoder disabled
[ 699.635625] [drm:dsi_mgr_bridge_post_disable] id=0
[ 699.635631] [drm:dsi_intr_ctrl] intr=aa21a802 enable=0
[ 699.657100] [drm:dsi_10nm_pll_save_state] DSI PLL0 outdiv 1 bit_clk_div 1 pix_clk_div 6 pll_mux 0
[ 699.657253] [drm:dsi_host_regulator_disable]
[ 699.657277] [drm:msm_dsi_host_power_off] -
[ 699.657281] [drm:dsi_10nm_phy_disable]
[ 699.657292] [drm:dsi_10nm_phy_disable] DSI0 PHY disabled
[ 699.657296] [drm:dsi_phy_regulator_disable]
[ 699.659054] msm_dpu ae01000.mdp: [drm:drm_atomic_helper_commit_modeset_disables] disabling [CRTC:66:crtc-1]
[ 699.659069] [drm:dpu_crtc_disable] crtc66
[ 699.659131] [drm:dpu_crtc_disable] no frames pending
[ 699.659137] [drm:dpu_core_perf_crtc_update] crtc:66 stop_req:1 core_clk:200000000
[ 699.659142] [drm:dpu_core_perf_crtc_update] crtc=66 disable
[ 699.659146] [drm:_dpu_core_perf_crtc_update_bus] crtc=66 bw=0 paths:1
[ 699.659374] [drm:dpu_core_perf_crtc_update] clk:19200000
[ 699.659438] [drm:dpu_core_perf_crtc_update] update clk rate = 19200000 HZ
[ 699.659457] msm_dpu ae01000.mdp: [drm:drm_calc_timestamping_constants] crtc 65: hwmode: htotal 4000, vtotal 2222, vdisplay 2160
[ 699.659463] msm_dpu ae01000.mdp: [drm:drm_calc_timestamping_constants] crtc 65: clock 533000 kHz framedur 16675422 linedur 7504
[ 699.659469] msm_dpu ae01000.mdp: [drm:drm_atomic_helper_commit_modeset_disables] modeset on [ENCODER:31:DSI-31]
[ 699.659473] [drm:dpu_encoder_virt_atomic_mode_set] enc31
[ 699.659481] [drm:dsi_mgr_bridge_mode_set] set mode: "3840x2160p": 60 533000 3840 3888 3920 4000 2160 2163 2168 2222 0x40 0x2
[ 699.659504] [drm:dsi_mgr_bridge_power_on] id=0
[ 699.659508] [drm:msm_dsi_host_reset_phy]
[ 699.660615] [drm:dsi_calc_pclk] pclk=533000000, bclk=399750000
[ 699.660628] [drm:msm_dsi_phy_enable]
[ 699.660879] [drm:dsi_10nm_phy_enable]
[ 699.660884] [drm:msm_dsi_dphy_timing_calc_v3] 73, 29, 1, 97, 28, 27, 62, 56, 26, 27, 20, 20, 0, 0, 0, 0
[ 699.660921] [drm:dsi_10nm_phy_enable] DSI PLL0
[ 699.660997] [drm:dsi_10nm_phy_enable] DSI0 PHY enabled
[ 699.661005] [drm:dsi_pll_10nm_vco_set_rate] DSI PLL0 rate=1774079882, parent's=19200000
[ 699.661009] [drm:dsi_pll_10nm_vco_set_rate] SSC not enabled
[ 699.661090] [drm:dsi_10nm_pll_restore_state] DSI PLL0
[ 699.661096] [drm:msm_dsi_host_power_on]
[ 699.661267] [drm:dsi_link_clk_set_rate_6g] Set clk rates: pclk=533000, byteclk=399750000
[ 699.661314] msm_dsi ae94000.dsi: dev_pm_opp_set_rate: failed to find OPP for freq 399750000 (-34)
[ 699.661331] ------------[ cut here ]------------
[ 699.661332] WARNING: CPU: 7 PID: 1062 at drivers/gpu/drm/msm/dsi/dsi_host.c:481 dsi_link_clk_set_rate_6g+0x84/0x100
[ 699.685970] Modules linked in: lzo_rle cros_ec_lid_angle cros_ec_sensors venus_dec venus_enc cros_ec_sensors_core videobuf2_dma_contig dm9601 cdc_ether usbnet uvcvideo mii videobuf2_vmalloc videobuf2_memops qcom_spmi_temp_alarm qcom_spmi_adc5 qcom_vadc_common cros_ec_sensorhub joydev hci_uart cros_ec_typec sx9310 btqca ath10k_snoc sx_common typec bluetooth ath10k_core industrialio_triggered_buffer ecdh_generic venus_core ath kfifo_buf v4l2_mem2mem panel_edp ecc mac80211 videobuf2_v4l2 videobuf2_common cfg80211 fuse zram zsmalloc
[ 699.734099] CPU: 7 PID: 1062 Comm: kms_bw Not tainted 5.19.0-rc2-debug+ #426
[ 699.741342] Hardware name: Google Lazor (rev1 - 2) with LTE (DT)
[ 699.747520] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 699.754675] pc : dsi_link_clk_set_rate_6g+0x84/0x100
[ 699.759788] lr : dsi_link_clk_set_rate_6g+0x4c/0x100
[ 699.764897] sp : ffffffc00f2d3770
[ 699.768312] x29: ffffffc00f2d3770 x28: ffffffd41fb87ac8 x27: ffffff80866f3880
[ 699.775649] x26: 0000000000000001 x25: ffffffd41fb87aa0 x24: ffffffd41fb87680
[ 699.782986] x23: 0000000000000001 x22: 0000000000000001 x21: ffffffd41ff3d08e
[ 699.790323] x20: ffffff80866f3880 x19: 00000000ffffffde x18: 000000000000002d
[ 699.797659] x17: 6365747962202c30 x16: 30303333353d6b6c x15: ffffffffffffffde
[ 699.804996] x14: 0000000000000001 x13: 0000000000000000 x12: 0000000000000000
[ 699.812331] x11: 0000000000000000 x10: 0000006973642e30 x9 : ffffffd41f75f904
[ 699.819667] x8 : 726f6674616c702b x7 : 0000000000000000 x6 : 0000000000000000
[ 699.827004] x5 : 00000000c0000000 x4 : 0000000000000000 x3 : 0000000000000003
[ 699.834340] x2 : 0000000000000000 x1 : 0000000000000000 x0 : 00000000ffffffde
[ 699.841677] Call trace:
[ 699.844207] dsi_link_clk_set_rate_6g+0x84/0x100
[ 699.848957] msm_dsi_host_power_on+0x138/0xa90
[ 699.853533] dsi_mgr_bridge_power_on+0xd8/0x20c
[ 699.858200] dsi_mgr_bridge_mode_set+0xf0/0x138
[ 699.862865] drm_bridge_chain_mode_set+0x74/0x84
[ 699.867612] drm_atomic_helper_commit_modeset_disables+0x414/0x438
[ 699.873965] msm_atomic_commit_tail+0x1f4/0x3e0
[ 699.878623] commit_tail+0x80/0x108
[ 699.882218] drm_atomic_helper_commit+0x154/0x158
[ 699.887059] drm_atomic_commit+0xb4/0xe0
[ 699.891095] drm_mode_atomic_ioctl+0x700/0x834
[ 699.895671] drm_ioctl_kernel+0xe8/0x16c
[ 699.899709] drm_ioctl+0x2b0/0x394
[ 699.903218] vfs_ioctl+0x34/0x54
[ 699.906543] __arm64_sys_ioctl+0x84/0xb8
[ 699.910581] invoke_syscall+0x8c/0x120
[ 699.914442] el0_svc_common.constprop.0+0x98/0x10c
[ 699.919367] do_el0_svc+0xd4/0xe0
[ 699.922778] el0_svc+0x58/0xd0
[ 699.925927] el0t_64_sync_handler+0xb4/0x168
[ 699.930326] el0t_64_sync+0x18c/0x190
[ 699.934100] irq event stamp: 215932
[ 699.937693] hardirqs last enabled at (215931): [<ffffffd41ef04e20>] vprintk_store+0x2a8/0x400
[ 699.946540] hardirqs last disabled at (215932): [<ffffffd41fa7bffc>] el1_dbg+0x24/0x80
[ 699.954673] softirqs last enabled at (215884): [<ffffffd41ee10454>] __do_softirq+0x234/0x4c8
[ 699.963431] softirqs last disabled at (215879): [<ffffffd41ee931b8>] __irq_exit_rcu+0x10c/0x168
[ 699.972364] ---[ end trace 0000000000000000 ]---
[ 699.977383] dsi_link_clk_set_rate_6g: dev_pm_opp_set_rate failed -34
[ 699.977393] msm_dsi_host_power_on: failed to enable link clocks. ret=-34
[ 699.977399] [drm:dsi_host_regulator_disable]
[ 699.977458] dsi_mgr_bridge_power_on: power on host 0 failed, -34
[ 699.977466] [drm:dsi_10nm_phy_disable]