[SRU,Cosmic/Bionic/OEM-B,1/1] drm/amd: Add missing fields in atom_integrated_system_info_v1_11

Message ID 1539062536-7929-2-git-send-email-hui.wang@canonical.com
State New
Headers show
Series
  • The machine of lenovo M715 with the AMD GPU (Radeon Vega 8 Mobile, rev ca, 1002:15dd) often hangs randomly
Related show

Commit Message

Hui Wang Oct. 9, 2018, 5:22 a.m.
From: Harry Wentland <harry.wentland@amd.com>

BugLink: https://bugs.launchpad.net/bugs/1796789

This structure needs to align with structure in atomfirmware table.
Update it.

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Dmytro Laktyushkin <dmytro.laktyushkin@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit d04cc604a66b07eff8fce824fb6c0fdc0875d2e3)
Signed-off-by: Hui Wang <hui.wang@canonical.com>
---
 drivers/gpu/drm/amd/include/atomfirmware.h | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

Comments

Stefan Bader Oct. 9, 2018, 7:17 a.m. | #1
On 09.10.2018 07:22, Hui Wang wrote:
> From: Harry Wentland <harry.wentland@amd.com>
> 
> BugLink: https://bugs.launchpad.net/bugs/1796789
> 
> This structure needs to align with structure in atomfirmware table.
> Update it.
> 
> Signed-off-by: Harry Wentland <harry.wentland@amd.com>
> Acked-by: Alex Deucher <alexander.deucher@amd.com>
> Reviewed-by: Dmytro Laktyushkin <dmytro.laktyushkin@amd.com>
> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
> (cherry picked from commit d04cc604a66b07eff8fce824fb6c0fdc0875d2e3)
> Signed-off-by: Hui Wang <hui.wang@canonical.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>
> ---
>  drivers/gpu/drm/amd/include/atomfirmware.h | 15 +++++++++++----
>  1 file changed, 11 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/include/atomfirmware.h b/drivers/gpu/drm/amd/include/atomfirmware.h
> index 7c92f47..53fcda5 100644
> --- a/drivers/gpu/drm/amd/include/atomfirmware.h
> +++ b/drivers/gpu/drm/amd/include/atomfirmware.h
> @@ -1048,7 +1048,7 @@ struct atom_integrated_system_info_v1_11
>    uint16_t  dpphy_override;                   // bit vector, enum of atom_sysinfo_dpphy_override_def
>    uint16_t  lvds_misc;                        // enum of atom_sys_info_lvds_misc_def
>    uint16_t  backlight_pwm_hz;                 // pwm frequency in hz
> -  uint8_t   memorytype;                       // enum of atom_sys_mem_type
> +  uint8_t   memorytype;                       // enum of atom_dmi_t17_mem_type_def, APU memory type indication.
>    uint8_t   umachannelnumber;                 // number of memory channels
>    uint8_t   pwr_on_digon_to_de;               /* all pwr sequence numbers below are in uint of 4ms */
>    uint8_t   pwr_on_de_to_vary_bl;
> @@ -1058,18 +1058,25 @@ struct atom_integrated_system_info_v1_11
>    uint8_t   pwr_on_vary_bl_to_blon;
>    uint8_t   pwr_down_bloff_to_vary_bloff;
>    uint8_t   min_allowed_bl_level;
> +  uint8_t   htc_hyst_limit;
> +  uint8_t   htc_tmp_limit;
> +  uint8_t   reserved1;
> +  uint8_t   reserved2;
>    struct atom_external_display_connection_info extdispconninfo;
>    struct atom_14nm_dpphy_dvihdmi_tuningset dvi_tuningset;
>    struct atom_14nm_dpphy_dvihdmi_tuningset hdmi_tuningset;
>    struct atom_14nm_dpphy_dvihdmi_tuningset hdmi6g_tuningset;
> -  struct atom_14nm_dpphy_dp_tuningset dp_tuningset;
> -  struct atom_14nm_dpphy_dp_tuningset dp_hbr3_tuningset;
> +  struct atom_14nm_dpphy_dp_tuningset dp_tuningset;        // rbr 1.62G dp tuning set
> +  struct atom_14nm_dpphy_dp_tuningset dp_hbr3_tuningset;   // HBR3 dp tuning set
>    struct atom_camera_data  camera_info;
>    struct atom_hdmi_retimer_redriver_set dp0_retimer_set;   //for DP0
>    struct atom_hdmi_retimer_redriver_set dp1_retimer_set;   //for DP1
>    struct atom_hdmi_retimer_redriver_set dp2_retimer_set;   //for DP2
>    struct atom_hdmi_retimer_redriver_set dp3_retimer_set;   //for DP3
> -  uint32_t  reserved[108];
> +  struct atom_14nm_dpphy_dp_tuningset dp_hbr_tuningset;    //hbr 2.7G dp tuning set
> +  struct atom_14nm_dpphy_dp_tuningset dp_hbr2_tuningset;   //hbr2 5.4G dp turnig set
> +  struct atom_14nm_dpphy_dp_tuningset edp_tuningset;       //edp tuning set
> +  uint32_t  reserved[66];
>  };
>  
>  
>
Khaled Elmously Oct. 9, 2018, 7:50 a.m. | #2
On 2018-10-09 13:22:16 , Hui Wang wrote:
> From: Harry Wentland <harry.wentland@amd.com>
> 
> BugLink: https://bugs.launchpad.net/bugs/1796789
> 
> This structure needs to align with structure in atomfirmware table.
> Update it.
> 
> Signed-off-by: Harry Wentland <harry.wentland@amd.com>
> Acked-by: Alex Deucher <alexander.deucher@amd.com>
> Reviewed-by: Dmytro Laktyushkin <dmytro.laktyushkin@amd.com>
> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
> (cherry picked from commit d04cc604a66b07eff8fce824fb6c0fdc0875d2e3)
> Signed-off-by: Hui Wang <hui.wang@canonical.com>
> ---
>  drivers/gpu/drm/amd/include/atomfirmware.h | 15 +++++++++++----
>  1 file changed, 11 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/include/atomfirmware.h b/drivers/gpu/drm/amd/include/atomfirmware.h
> index 7c92f47..53fcda5 100644
> --- a/drivers/gpu/drm/amd/include/atomfirmware.h
> +++ b/drivers/gpu/drm/amd/include/atomfirmware.h
> @@ -1048,7 +1048,7 @@ struct atom_integrated_system_info_v1_11
>    uint16_t  dpphy_override;                   // bit vector, enum of atom_sysinfo_dpphy_override_def
>    uint16_t  lvds_misc;                        // enum of atom_sys_info_lvds_misc_def
>    uint16_t  backlight_pwm_hz;                 // pwm frequency in hz
> -  uint8_t   memorytype;                       // enum of atom_sys_mem_type
> +  uint8_t   memorytype;                       // enum of atom_dmi_t17_mem_type_def, APU memory type indication.
>    uint8_t   umachannelnumber;                 // number of memory channels
>    uint8_t   pwr_on_digon_to_de;               /* all pwr sequence numbers below are in uint of 4ms */
>    uint8_t   pwr_on_de_to_vary_bl;
> @@ -1058,18 +1058,25 @@ struct atom_integrated_system_info_v1_11
>    uint8_t   pwr_on_vary_bl_to_blon;
>    uint8_t   pwr_down_bloff_to_vary_bloff;
>    uint8_t   min_allowed_bl_level;
> +  uint8_t   htc_hyst_limit;
> +  uint8_t   htc_tmp_limit;
> +  uint8_t   reserved1;
> +  uint8_t   reserved2;
>    struct atom_external_display_connection_info extdispconninfo;
>    struct atom_14nm_dpphy_dvihdmi_tuningset dvi_tuningset;
>    struct atom_14nm_dpphy_dvihdmi_tuningset hdmi_tuningset;
>    struct atom_14nm_dpphy_dvihdmi_tuningset hdmi6g_tuningset;
> -  struct atom_14nm_dpphy_dp_tuningset dp_tuningset;
> -  struct atom_14nm_dpphy_dp_tuningset dp_hbr3_tuningset;
> +  struct atom_14nm_dpphy_dp_tuningset dp_tuningset;        // rbr 1.62G dp tuning set
> +  struct atom_14nm_dpphy_dp_tuningset dp_hbr3_tuningset;   // HBR3 dp tuning set
>    struct atom_camera_data  camera_info;
>    struct atom_hdmi_retimer_redriver_set dp0_retimer_set;   //for DP0
>    struct atom_hdmi_retimer_redriver_set dp1_retimer_set;   //for DP1
>    struct atom_hdmi_retimer_redriver_set dp2_retimer_set;   //for DP2
>    struct atom_hdmi_retimer_redriver_set dp3_retimer_set;   //for DP3
> -  uint32_t  reserved[108];
> +  struct atom_14nm_dpphy_dp_tuningset dp_hbr_tuningset;    //hbr 2.7G dp tuning set
> +  struct atom_14nm_dpphy_dp_tuningset dp_hbr2_tuningset;   //hbr2 5.4G dp turnig set
> +  struct atom_14nm_dpphy_dp_tuningset edp_tuningset;       //edp tuning set
> +  uint32_t  reserved[66];
>  };
>  
>

Acked-by: Khalid Elmously <khalid.elmously@canonical.com>
Thadeu Lima de Souza Cascardo Oct. 10, 2018, 2:21 p.m. | #3
Applied to cosmic master-next branch.

Thanks.
Cascardo.

Patch

diff --git a/drivers/gpu/drm/amd/include/atomfirmware.h b/drivers/gpu/drm/amd/include/atomfirmware.h
index 7c92f47..53fcda5 100644
--- a/drivers/gpu/drm/amd/include/atomfirmware.h
+++ b/drivers/gpu/drm/amd/include/atomfirmware.h
@@ -1048,7 +1048,7 @@  struct atom_integrated_system_info_v1_11
   uint16_t  dpphy_override;                   // bit vector, enum of atom_sysinfo_dpphy_override_def
   uint16_t  lvds_misc;                        // enum of atom_sys_info_lvds_misc_def
   uint16_t  backlight_pwm_hz;                 // pwm frequency in hz
-  uint8_t   memorytype;                       // enum of atom_sys_mem_type
+  uint8_t   memorytype;                       // enum of atom_dmi_t17_mem_type_def, APU memory type indication.
   uint8_t   umachannelnumber;                 // number of memory channels
   uint8_t   pwr_on_digon_to_de;               /* all pwr sequence numbers below are in uint of 4ms */
   uint8_t   pwr_on_de_to_vary_bl;
@@ -1058,18 +1058,25 @@  struct atom_integrated_system_info_v1_11
   uint8_t   pwr_on_vary_bl_to_blon;
   uint8_t   pwr_down_bloff_to_vary_bloff;
   uint8_t   min_allowed_bl_level;
+  uint8_t   htc_hyst_limit;
+  uint8_t   htc_tmp_limit;
+  uint8_t   reserved1;
+  uint8_t   reserved2;
   struct atom_external_display_connection_info extdispconninfo;
   struct atom_14nm_dpphy_dvihdmi_tuningset dvi_tuningset;
   struct atom_14nm_dpphy_dvihdmi_tuningset hdmi_tuningset;
   struct atom_14nm_dpphy_dvihdmi_tuningset hdmi6g_tuningset;
-  struct atom_14nm_dpphy_dp_tuningset dp_tuningset;
-  struct atom_14nm_dpphy_dp_tuningset dp_hbr3_tuningset;
+  struct atom_14nm_dpphy_dp_tuningset dp_tuningset;        // rbr 1.62G dp tuning set
+  struct atom_14nm_dpphy_dp_tuningset dp_hbr3_tuningset;   // HBR3 dp tuning set
   struct atom_camera_data  camera_info;
   struct atom_hdmi_retimer_redriver_set dp0_retimer_set;   //for DP0
   struct atom_hdmi_retimer_redriver_set dp1_retimer_set;   //for DP1
   struct atom_hdmi_retimer_redriver_set dp2_retimer_set;   //for DP2
   struct atom_hdmi_retimer_redriver_set dp3_retimer_set;   //for DP3
-  uint32_t  reserved[108];
+  struct atom_14nm_dpphy_dp_tuningset dp_hbr_tuningset;    //hbr 2.7G dp tuning set
+  struct atom_14nm_dpphy_dp_tuningset dp_hbr2_tuningset;   //hbr2 5.4G dp turnig set
+  struct atom_14nm_dpphy_dp_tuningset edp_tuningset;       //edp tuning set
+  uint32_t  reserved[66];
 };