drm/amd/display: Fix uninitialized variables in DM
authorjsg <jsg@openbsd.org>
Fri, 12 Jul 2024 03:59:54 +0000 (03:59 +0000)
committerjsg <jsg@openbsd.org>
Fri, 12 Jul 2024 03:59:54 +0000 (03:59 +0000)
From Alex Hung
8e5cbc820ab4a0029e0765b47cb2b38354b02527 in linux-6.6.y/6.6.39
f95bcb041f213a5da3da5fcaf73269bd13dba945 in mainline linux

sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c

index ab5cdb0..4aeaaa5 100644 (file)
@@ -264,7 +264,7 @@ static u32 dm_vblank_get_counter(struct amdgpu_device *adev, int crtc)
 static int dm_crtc_get_scanoutpos(struct amdgpu_device *adev, int crtc,
                                  u32 *vbl, u32 *position)
 {
-       u32 v_blank_start, v_blank_end, h_position, v_position;
+       u32 v_blank_start = 0, v_blank_end = 0, h_position = 0, v_position = 0;
        struct amdgpu_crtc *acrtc = NULL;
 
        if ((crtc < 0) || (crtc >= adev->mode_info.num_crtc))
@@ -801,7 +801,7 @@ static void dm_handle_hpd_work(struct work_struct *work)
  */
 static void dm_dmub_outbox1_low_irq(void *interrupt_params)
 {
-       struct dmub_notification notify;
+       struct dmub_notification notify = {0};
        struct common_irq_params *irq_params = interrupt_params;
        struct amdgpu_device *adev = irq_params->adev;
        struct amdgpu_display_manager *dm = &adev->dm;
@@ -6899,7 +6899,7 @@ static int dm_update_mst_vcpi_slots_for_dsc(struct drm_atomic_state *state,
        struct amdgpu_dm_connector *aconnector;
        struct dm_connector_state *dm_conn_state;
        int i, j, ret;
-       int vcpi, pbn_div, pbn, slot_num = 0;
+       int vcpi, pbn_div, pbn = 0, slot_num = 0;
 
        for_each_new_connector_in_state(state, connector, new_con_state, i) {
 
@@ -10070,7 +10070,7 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev,
        struct dm_crtc_state *dm_old_crtc_state, *dm_new_crtc_state;
        struct drm_dp_mst_topology_mgr *mgr;
        struct drm_dp_mst_topology_state *mst_state;
-       struct dsc_mst_fairness_vars vars[MAX_PIPES];
+       struct dsc_mst_fairness_vars vars[MAX_PIPES] = {0};
 
        trace_amdgpu_dm_atomic_check_begin(state);
 
index c92b4bc..ab33a26 100644 (file)
@@ -1219,7 +1219,7 @@ static ssize_t dp_sdp_message_debugfs_write(struct file *f, const char __user *b
                                 size_t size, loff_t *pos)
 {
        int r;
-       uint8_t data[36];
+       uint8_t data[36] = {0};
        struct amdgpu_dm_connector *connector = file_inode(f)->i_private;
        struct dm_crtc_state *acrtc_state;
        uint32_t write_size = 36;
@@ -2929,7 +2929,7 @@ static int psr_read_residency(void *data, u64 *val)
 {
        struct amdgpu_dm_connector *connector = data;
        struct dc_link *link = connector->dc_link;
-       u32 residency;
+       u32 residency = 0;
 
        link->dc->link_srv->edp_get_psr_residency(link, &residency);