[Nouveau] Is it necessary to parse the VBIOS init table when executable is false?
Ilia Mirkin
imirkin at alum.mit.edu
Wed Nov 19 11:52:55 PST 2014
On Wed, Nov 19, 2014 at 2:42 PM, Ben Skeggs <skeggsb at gmail.com> wrote:
> On 20 Nov 2014 01:31, "李金华" <goodqt at outlook.com> wrote:
>>
>> Hello everyone,
>>
>> The code is at /core/subdev/bios/init.c.
>> When the executable is 0,these functions that parse the VBIOS init table
>> seems to do nothing except the parsing.
> Correct. We do not handle every opcode, only the ones that have been
> observed so far. The purpose is to be able to test whether we will be able
> to fully execute the table, to avoid failing in a critical path (such as
> resume from suspend) where we can't recover.
It also serves as a nice litmus test as to whether we have the right
VBIOS, since we also execute various bits during output configuration,
reclocking, and probably other things I'm not thinking of.
Most of the time, especially with older cards, the reason this would
be failing is because it's reading the VBIOS from the wrong place
(like PCIROM) and it contains the wrong data.
-ilia
More information about the Nouveau
mailing list