All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christian Costa <titan.costa-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Subject: Re: [PATCH envytools] Fix range end to the last value of timing table.
Date: Fri, 29 Aug 2014 04:25:04 +0200	[thread overview]
Message-ID: <53FFE480.4030003@gmail.com> (raw)
In-Reply-To: <53FEE808.3020807-GANU6spQydw@public.gmane.org>

Le 28/08/2014 10:27, Martin Peres a écrit :
> On 25/08/2014 21:00, Christian Costa wrote:
>> ---
>>   nva/set_timings.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/nva/set_timings.c b/nva/set_timings.c
>> index 7376486..985a707 100644
>> --- a/nva/set_timings.c
>> +++ b/nva/set_timings.c
>> @@ -506,7 +506,7 @@ shallow_dump(struct nvamemtiming_conf *conf)
>>       if (conf->range.start == (unsigned char) -1)
>>           conf->range.start = 0;
>>       if (conf->range.end == (unsigned char) -1)
>> -        conf->range.end = conf->vbios.timing_entry_length;
>> +        conf->range.end = conf->vbios.timing_entry_length-1;
>>         fprintf(stderr, "Shallow mode: Will iterate between %i and 
>> %i\n", conf->range.start, conf->range.end);
> Hey
>
> I don't like this patch because it would create an output difference 
> between the deep and the shallow test.
> Please check and propose another patch.
Hi Martin,

Yes. You're right. I didn't pay attention to deep_dump.
>
>
> What are you trying to fix by the way? You don't like that range.end 
> is not included?
>
I got confused with the message and tought there was an out of the bound 
access.
Looking more closely at the code says indeed that range.end is actually 
not included.
It doesn't seem straitforward. At least to me. I would change the code 
to make range.end included to avoid confusion. What do you think?

By the way, in deep_mode, crange.start and crange.end are calculated but 
not used at all. The loop iterates the whole entry:
for (i = 0; i < conf->vbios.timing_entry_length; i++)
Is it normal ?

While I am at it, I tried to understand what deep_mode does. Contrary to 
shallow_mode which tests the table value + 1, deep_mode tests
all values between values of 2 entries. The code is as follows:
     for (v = initial+1; v <= target; v++) {
         conf->vbios.data[conf->vbios.timing_entry_offset + index] = v;
         launch(conf, outf, index + 1 , COLOR);
     }
It works fine when initial value is lower than the target but does 
nothing in the other case. Looks like a bug, no?

Thanks
Christian

      parent reply	other threads:[~2014-08-29  2:25 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-25 19:00 [PATCH envytools] Fix range end to the last value of timing table Christian Costa
     [not found] ` <1408993207-19530-1-git-send-email-titan.costa-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-08-28  8:27   ` Martin Peres
     [not found]     ` <53FEE808.3020807-GANU6spQydw@public.gmane.org>
2014-08-29  2:25       ` Christian Costa [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53FFE480.4030003@gmail.com \
    --to=titan.costa-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.