aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2017-06-21 12:31:41 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-07-14 11:05:44 -0400
commit7611750784664db46d0db95631e322aeb263dde7 (patch)
treee5b475ae2d1ff470a7478643ad8bb05506553898 /drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
parent6419ec78c6726aa54ff103aceffbf19d546d3d1b (diff)
drm/amdgpu: use kernel is_power_of_2 rather than local version
Use the kernel provided version. Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_device.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_device.c19
1 files changed, 3 insertions, 16 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 2fe1e0a20c17..f3811f6197e0 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -1031,19 +1031,6 @@ static unsigned int amdgpu_vga_set_decode(void *cookie, bool state)
1031 return VGA_RSRC_NORMAL_IO | VGA_RSRC_NORMAL_MEM; 1031 return VGA_RSRC_NORMAL_IO | VGA_RSRC_NORMAL_MEM;
1032} 1032}
1033 1033
1034/**
1035 * amdgpu_check_pot_argument - check that argument is a power of two
1036 *
1037 * @arg: value to check
1038 *
1039 * Validates that a certain argument is a power of two (all asics).
1040 * Returns true if argument is valid.
1041 */
1042static bool amdgpu_check_pot_argument(int arg)
1043{
1044 return (arg & (arg - 1)) == 0;
1045}
1046
1047static void amdgpu_check_block_size(struct amdgpu_device *adev) 1034static void amdgpu_check_block_size(struct amdgpu_device *adev)
1048{ 1035{
1049 /* defines number of bits in page table versus page directory, 1036 /* defines number of bits in page table versus page directory,
@@ -1077,7 +1064,7 @@ static void amdgpu_check_vm_size(struct amdgpu_device *adev)
1077 if (amdgpu_vm_size == -1) 1064 if (amdgpu_vm_size == -1)
1078 return; 1065 return;
1079 1066
1080 if (!amdgpu_check_pot_argument(amdgpu_vm_size)) { 1067 if (!is_power_of_2(amdgpu_vm_size)) {
1081 dev_warn(adev->dev, "VM size (%d) must be a power of 2\n", 1068 dev_warn(adev->dev, "VM size (%d) must be a power of 2\n",
1082 amdgpu_vm_size); 1069 amdgpu_vm_size);
1083 goto def_value; 1070 goto def_value;
@@ -1118,7 +1105,7 @@ static void amdgpu_check_arguments(struct amdgpu_device *adev)
1118 dev_warn(adev->dev, "sched jobs (%d) must be at least 4\n", 1105 dev_warn(adev->dev, "sched jobs (%d) must be at least 4\n",
1119 amdgpu_sched_jobs); 1106 amdgpu_sched_jobs);
1120 amdgpu_sched_jobs = 4; 1107 amdgpu_sched_jobs = 4;
1121 } else if (!amdgpu_check_pot_argument(amdgpu_sched_jobs)){ 1108 } else if (!is_power_of_2(amdgpu_sched_jobs)){
1122 dev_warn(adev->dev, "sched jobs (%d) must be a power of 2\n", 1109 dev_warn(adev->dev, "sched jobs (%d) must be a power of 2\n",
1123 amdgpu_sched_jobs); 1110 amdgpu_sched_jobs);
1124 amdgpu_sched_jobs = roundup_pow_of_two(amdgpu_sched_jobs); 1111 amdgpu_sched_jobs = roundup_pow_of_two(amdgpu_sched_jobs);
@@ -1138,7 +1125,7 @@ static void amdgpu_check_arguments(struct amdgpu_device *adev)
1138 amdgpu_check_block_size(adev); 1125 amdgpu_check_block_size(adev);
1139 1126
1140 if (amdgpu_vram_page_split != -1 && (amdgpu_vram_page_split < 16 || 1127 if (amdgpu_vram_page_split != -1 && (amdgpu_vram_page_split < 16 ||
1141 !amdgpu_check_pot_argument(amdgpu_vram_page_split))) { 1128 !is_power_of_2(amdgpu_vram_page_split))) {
1142 dev_warn(adev->dev, "invalid VRAM page split (%d)\n", 1129 dev_warn(adev->dev, "invalid VRAM page split (%d)\n",
1143 amdgpu_vram_page_split); 1130 amdgpu_vram_page_split);
1144 amdgpu_vram_page_split = 1024; 1131 amdgpu_vram_page_split = 1024;