On 15-Dec-25 3:49 PM, Lazar, Lijo wrote:


On 15-Dec-25 3:27 PM, Yang Wang wrote:
the PMFW didn't initialize the PCIe DPM parameters
and requires the KMD to actively provide these parameters.


If this needs to be provided always, shouldn't this also revert the if check introduced by

1a18607c07bb ("drm/amd/pm: override pcie dpm parameters only if it is necessary")


This check to be specific - https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c#L2458

From the patch description, it sounds like this should be removed also so that pcie params are always provided by KMD.

Thanks,
Lijo

Thanks,
Lijo

Signed-off-by: Yang Wang <[email protected]>
---
  .../gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c    | 18 +++++++++---------
  1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c b/ drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c
index 0c26fe6fb949..96dbb7a9d9fb 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c
@@ -2215,16 +2215,16 @@ static int navi10_update_pcie_parameters(struct smu_context *smu,
              dpm_context->dpm_tables.pcie_table.pcie_lane[i] =
                                      pptable->PcieLaneCount[i] > pcie_width_cap ?                                       pcie_width_cap : pptable- >PcieLaneCount[i];
-            smu_pcie_arg = i << 16;
-            smu_pcie_arg |= dpm_context- >dpm_tables.pcie_table.pcie_gen[i] << 8; -            smu_pcie_arg |= dpm_context- >dpm_tables.pcie_table.pcie_lane[i];
-            ret = smu_cmn_send_smc_msg_with_param(smu,
-                            SMU_MSG_OverridePcieParameters,
-                            smu_pcie_arg,
-                            NULL);
-            if (ret)
-                break;
          }
+        smu_pcie_arg = i << 16;
+        smu_pcie_arg |= dpm_context- >dpm_tables.pcie_table.pcie_gen[i] << 8;
+        smu_pcie_arg |= dpm_context->dpm_tables.pcie_table.pcie_lane[i];
+        ret = smu_cmn_send_smc_msg_with_param(smu,
+                              SMU_MSG_OverridePcieParameters,
+                              smu_pcie_arg,
+                              NULL);
+        if (ret)
+            return ret;
      }
      return ret;


Reply via email to