GPU firmware naming and problems with loading
Jan Beich
jbeich at FreeBSD.org
Tue Apr 28 21:19:03 UTC 2020
Alexey Dokuchaev via freebsd-x11 <freebsd-x11 at freebsd.org> writes:
> On Fri, Apr 24, 2020 at 10:42:29PM +0700, Alexey Dokuchaev wrote:
>
>> On Thu, Apr 23, 2020 at 10:42:22PM +0200, Niclas Zeising wrote:
>> > On 2020-04-21 15:09, Alexey Dokuchaev wrote:
>> > > ...
>> > >Why is it trying to load TAHITI modules is another question.
>> >
>> > I don't know why it tries to load TAHITI, I'll try to figure more
>> > out, but in general, the firmware selection code is from the original
>> > source, so it should be the same elsewhere. Does TAHITI load with
>> > drm-legacy-kmod?
>>
>> Nope. This is for legacy (kldstat | grep radeon_):
>> 41 1 0xffffffff81b31000 2385 radeon_ARUBA_pfp_bin.ko
>> 42 1 0xffffffff81b34000 2383 radeon_ARUBA_me_bin.ko
>> 43 1 0xffffffff81b37000 1985 radeon_ARUBA_rlc_bin.ko
>>
>> This is for drm-{current,devel}-kmod (surprisingly, couple of my later
>> attempts to "kldload radeonkms" did not hang the laptop, but the very
>> latest still did):
>>
>> 48 1 0xffffffff819d3000 2385 radeon_ARUBA_pfp_bin.ko
>> 49 1 0xffffffff819d6000 2383 radeon_ARUBA_me_bin.ko
>> 50 1 0xffffffff819d9000 1985 radeon_ARUBA_rlc_bin.ko
>> 51 1 0xffffffff819db000 35ba7 radeon_TAHITI_uvd_bin.ko
>> 52 1 0xffffffff81a11000 beb7 radeon_TAHITI_vce_bin.ko
>>
>> Both drm-fbsd{11.2,12.0}-kmod still lock up the laptop, but the logs
>> show they do load TAHITI modules as well.
>
> Interestingly, Gentoo Wiki lists both ARUBA and TAHITI firmware as
> needed for NI/ARUBA:
>
> https://wiki.gentoo.org/wiki/Radeon
>
> Unfortunately, it's unclear if that requirement predates Linux 4.14 (or
> even some older version) or not. Maybe drm-legacy-kmod only needs
> and thus loads ARUBA files, while drm-{current,devel}-kmod need both.
TAHITI firmware on ARUBA is probably due to the following changes:
https://github.com/torvalds/linux/commit/a918efab631a # TAHITI_vce
https://github.com/torvalds/linux/commit/f2ba57b5eab8 # TAHITI_uvd
For example,
$ rg TAHITI_vce
drivers/gpu/drm/radeon/radeon_vce.c
41:#define FIRMWARE_TAHITI "radeon/TAHITI_vce.bin"
$ rg -B6 FIRMWARE_TAHITI
drivers/gpu/drm/radeon/radeon_vce.c
67- switch (rdev->family) {
68- case CHIP_TAHITI:
69- case CHIP_PITCAIRN:
70- case CHIP_VERDE:
71- case CHIP_OLAND:
72- case CHIP_ARUBA:
73: fw_name = FIRMWARE_TAHITI;
$ git blame drivers/gpu/drm/radeon/radeon_vce.c | fgrep 'case CHIP_ARUBA'
a918efab631a5 (Christian König 2015-05-11 22:01:53 +0200 72) case CHIP_ARUBA:
$ git log -1 -p a918efab631a5 | fgrep -A3 CHIP_ARUBA
+ case CHIP_ARUBA:
+ fw_name = FIRMWARE_TAHITI;
+ break;
+
More information about the freebsd-x11
mailing list