On 17.06.2016 17:37, Alex Deucher wrote: > On Fri, Jun 17, 2016 at 11:31 AM, Nicolai Hähnle <nhaehnle at gmail.com> wrote: >> On 17.06.2016 16:20, Alex Deucher wrote: >>> >>> This was accidently broken for harvest cards when the >>> code was refactored for Polaris support. >>> >>> Signed-off-by: Alex Deucher <alexander.deucher at amd.com> >>> Cc: stable at vger.kernel.org >>> --- >>> drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c >>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c >>> index 9ab28ca..e5c22cd 100644 >>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c >>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c >>> @@ -459,7 +459,7 @@ static int amdgpu_info_ioctl(struct drm_device *dev, >>> void *data, struct drm_file >>> dev_info.max_memory_clock = adev->pm.default_mclk >>> * 10; >>> } >>> dev_info.enabled_rb_pipes_mask = >>> adev->gfx.config.backend_enable_mask; >>> - dev_info.num_rb_pipes = adev->gfx.config.num_rbs; >>> + dev_info.num_rb_pipes = >>> adev->gfx.config.max_backends_per_se; >> >> >> At a glance, that looks suspicious to me. num_rb_pipes becomes rb_pipes in >> libdrmm and then num_render_backends. We divide num_render_backends by the >> number of SEs * SHs in radeonsi. >> >> In a nutshell, radeonsi expects this to be the total number of RBs >> (including disabled/harvested ones). > > Right. that's what this patch does. > adev->gfx.config.max_backends_per_se is the total number of RBs per SE > available on the asic. adev->gfx.config.num_rbs is the total number of > enabled RBs (max - disabled). For non-harvest cards, they are the > same. But the total number of RBs is different from the total number of RBs per SE... Nicolai > > Alex > >> >> Nicolai >> >> >>> dev_info.num_hw_gfx_contexts = >>> adev->gfx.config.max_hw_contexts; >>> dev_info._pad = 0; >>> dev_info.ids_flags = 0; >>> >>