diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2013-05-16 01:25:03 +0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2013-08-31 00:30:26 +0400 |
commit | 61fb192a1cf87413e19f565495595c8c116d7c10 (patch) | |
tree | 7109a80a41a5e986964aefc4446212d65b183ad0 /drivers | |
parent | c4453e66130119d9f2947ee051d598aae6823d49 (diff) | |
download | linux-61fb192a1cf87413e19f565495595c8c116d7c10.tar.xz |
drm/radeon/dpm: add a helper to encode pcie lane setting
convert from number of lanes to register setting.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/radeon/r600_dpm.c | 10 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/r600_dpm.h | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/r600_dpm.c b/drivers/gpu/drm/radeon/r600_dpm.c index 34ea5d6ee4be..89c46c55f93d 100644 --- a/drivers/gpu/drm/radeon/r600_dpm.c +++ b/drivers/gpu/drm/radeon/r600_dpm.c @@ -1246,3 +1246,13 @@ u16 r600_get_pcie_lane_support(struct radeon_device *rdev, return 16; } } + +u8 r600_encode_pci_lane_width(u32 lanes) +{ + u8 encoded_lanes[] = { 0, 1, 2, 0, 3, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 6 }; + + if (lanes > 16) + return 0; + + return encoded_lanes[lanes]; +} diff --git a/drivers/gpu/drm/radeon/r600_dpm.h b/drivers/gpu/drm/radeon/r600_dpm.h index 71d5d93c371b..8dc1fbd9dbf1 100644 --- a/drivers/gpu/drm/radeon/r600_dpm.h +++ b/drivers/gpu/drm/radeon/r600_dpm.h @@ -227,5 +227,6 @@ enum radeon_pcie_gen r600_get_pcie_gen_support(struct radeon_device *rdev, u16 r600_get_pcie_lane_support(struct radeon_device *rdev, u16 asic_lanes, u16 default_lanes); +u8 r600_encode_pci_lane_width(u32 lanes); #endif |