[Intel-gfx] [PATCH] drm/i915: Drop platform_mask
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Fri Mar 15 07:13:49 UTC 2019
On 15/03/2019 06:56, Tvrtko Ursulin wrote:
>
> On 15/03/2019 00:52, Chris Wilson wrote:
>> Quoting José Roberto de Souza (2019-03-15 00:42:35)
>>> We don't have any platform that is composed by 2 or more platforms so
>>> we don't need a mask, lets drop it and remove the actual limit of 32
>>> platforms.
>
> Platform mask was a nifty trick to compile tests like IS_SKYLAKE ||
> IS_BROADWELL etc into a single conditional.
>
>> gcc doesn't entirely agree, this is a net loss here (i.e. code size
>> increases).
>
> Perhaps the size re-gain of dropping the platform mask could be checked
> against the size gain of making the mask 64 bit.
One possible alternative could be splitting the 64-bit platform mask
into two 32-bit dwords. Like:
u32 platform_mask[2];
#define IS_PLATFORM(p) (platform_mask[p / 32] & BIT(p % 32))
And a bit of jigging the enum space so that we don't end up with
something often tested together on the dword boundary.
In fact I had a prototype many months ago which went a step further and
interleaved platform with gen mask, in some sized chunks, so even
IS_PLATFORM || IS_GEN checks could be merged. This included the
sub-platform thing as well with the ULT/ULX/LP stuff I think.. maybe I
need to dig this out to see how it worked.
Regards,
Tvrtko
More information about the Intel-gfx
mailing list