Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
---
 drivers/gpu/drm/radeon/r600_dpm.c | 23 +++++++++++++++++++++++
 drivers/gpu/drm/radeon/r600_dpm.h |  4 ++++
 2 files changed, 27 insertions(+)

diff --git a/drivers/gpu/drm/radeon/r600_dpm.c 
b/drivers/gpu/drm/radeon/r600_dpm.c
index bf851ac..34ea5d6 100644
--- a/drivers/gpu/drm/radeon/r600_dpm.c
+++ b/drivers/gpu/drm/radeon/r600_dpm.c
@@ -1223,3 +1223,26 @@ enum radeon_pcie_gen r600_get_pcie_gen_support(struct 
radeon_device *rdev,
        }
        return RADEON_PCIE_GEN1;
 }
+
+u16 r600_get_pcie_lane_support(struct radeon_device *rdev,
+                              u16 asic_lanes,
+                              u16 default_lanes)
+{
+       switch (asic_lanes) {
+       case 0:
+       default:
+               return default_lanes;
+       case 1:
+               return 1;
+       case 2:
+               return 2;
+       case 4:
+               return 4;
+       case 8:
+               return 8;
+       case 12:
+               return 12;
+       case 16:
+               return 16;
+       }
+}
diff --git a/drivers/gpu/drm/radeon/r600_dpm.h 
b/drivers/gpu/drm/radeon/r600_dpm.h
index 7c822d9..71d5d93 100644
--- a/drivers/gpu/drm/radeon/r600_dpm.h
+++ b/drivers/gpu/drm/radeon/r600_dpm.h
@@ -224,4 +224,8 @@ enum radeon_pcie_gen r600_get_pcie_gen_support(struct 
radeon_device *rdev,
                                               enum radeon_pcie_gen asic_gen,
                                               enum radeon_pcie_gen 
default_gen);

+u16 r600_get_pcie_lane_support(struct radeon_device *rdev,
+                              u16 asic_lanes,
+                              u16 default_lanes);
+
 #endif
-- 
1.8.3.1

Reply via email to