[Mesa-dev] [PATCH] R600/SI: radeonsi: Program RASTER_CONFIG for harvested GPUs v3

Alex Deucher alexdeucher at gmail.com
Wed Sep 10 06:51:35 PDT 2014


On Tue, Sep 9, 2014 at 11:38 PM, Michel Dänzer <michel at daenzer.net> wrote:
> On 10.09.2014 05:08, Tom Stellard wrote:
>>
>> v2:
>>    - Write RASTER_CONFIG for all SEs.
>>
>> v3:
>>    - Set GRBM_GFX_INDEX.INSTANCE_BROADCAST_WRITES bit.
>>    - Set GRBM_GFX_INFEX.SH_BROADCAST_WRITES bit when done setting
>>      PA_SC_RASTER_CONFIG.
>>    - Get num_se and num_sh_per_se from kernel.
>>
>> https://bugs.freedesktop.org/show_bug.cgi?id=60879
>>
>> CC: "10.3 10.2" <mesa-stable at lists.freedesktop.org>
>
>
> I think you should drop the 'R600/SI: ' prefix from the commit summary, as
> this change isn't in the LLVM backend.
>
>
>> diff --git a/src/gallium/drivers/radeonsi/si_state.c
>> b/src/gallium/drivers/radeonsi/si_state.c
>> index 1d6ae86..32b93d3 100644
>> --- a/src/gallium/drivers/radeonsi/si_state.c
>> +++ b/src/gallium/drivers/radeonsi/si_state.c
>> @@ -3060,24 +3071,97 @@ void si_init_config(struct si_context *sctx)
>>                         break;
>>                 }
>>         } else {
>> +               unsigned raster_config = 0;
>> +               unsigned sh_per_se =
>> MAX2(sctx->screen->b.info.max_sh_per_se, 1);
>> +               unsigned num_se = MAX2(sctx->screen->b.info.max_sh_per_se,
>> 1);
>
>
> I think num_se should use sctx->screen->b.info.max_se, not .max_sh_per_se?
>
> Maybe it's unnecessary anyway though:
>
>
>> +               for (i = 0; i < num_se; i++) {
>> +                       si_pm4_set_reg(pm4, GRBM_GFX_INDEX,
>> +                               SE_INDEX(i) |
>> +                               SH_BROADCAST_WRITES |
>> +                               INSTANCE_BROADCAST_WRITES);
>> +                       si_pm4_set_reg(pm4, R_028350_PA_SC_RASTER_CONFIG,
>> raster_config);
>> +               }
>
>
> Since this uses the same raster_config value for all SEs, couldn't it just
> use a single write with SE_BROADCAST_WRITES enabled in GRBM_GFX_INDEX?

Or just drop the write to GRBM_GFX_INDEX altogether and just write to
PA_SC_RASTER_CONFIG since the default is to broadcast.

Alex

>
>
> --
> Earthling Michel Dänzer            |                  http://www.amd.com
> Libre software enthusiast          |                Mesa and X developer
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list