[Mesa-dev] [PATCH v2 2/8] panfrost: Detect GPU version at runtime

Alyssa Rosenzweig alyssa at rosenzweig.io
Fri Mar 8 18:41:13 UTC 2019


> This doesn't work for t604 which has a special version of 0x6???. That
> helpfully also collides with bifrost versions. We could fix this up in
> the kernel to expose it as 0x0600. Then an 'is_bifrost' would be an
> easy (gpu_id & 0xf000).

I think there's a fundamental question here, do we want kernelspace to
process versions or just sort it out in userspace? (Knowing that we'll
have to _also_ sort it out in kernelspace for feature/issue detection
there too...) I think given it's between doing it on "kernel" or "kernel
*and* userspace", it makes sense to normalize in kernelspace, but still
maintaining the hardware scheme (to avoid passing around a second set of
arbitrary version #define's).

> Why isn't this 'is_t8xx' instead as you are touching it everywhere or
> this needs to be t8xx and bifrost? If not you could just do ((gpu_id &
> 0xff00) == 0x0800).

I think that's a reasonable +1 for normalizing in kernelspace. But we're
not actually sure what is_t8xx turns off/on; it's a catch-all for magic
values we know are different between a T6XX I tested on originally (with
values that work on T760 as well) and the T860 I've been using more
recently (with values that work on T820 as well, but not T760). We'll
_want_ to have much more fine-grained granularity, of course, but
userspace is kind of ignorant on what means what...

-Alyssa
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20190308/ed9e7296/attachment.sig>


More information about the mesa-dev mailing list