Re: [lvc-project] [PATCH v2] drm/mgag200: Apply upper limit for clock variable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 14/11/2024 19:05, Fedor Pchelkin wrote:
On Thu, 14. Nov 17:47, Jocelyn Falempe wrote:
On 11/11/2024 17:33, Murad Masimov wrote:
If the value of the clock variable is higher than 800000, the value of the
variable m, which is used as a divisor, will remain zero, because
(clock * testp) will be higher than vcomax in every loop iteration, which
leads to skipping every iteration and leaving variable m unmodified.

Clamp value of the clock variable between the lower and the upper limits.
It should be correct, since there is already a similar lower limit check.

I don't think it is correct.

If the clock asked is > 800000, then delta > premitteddelta, and it will
return -EINVAL.

In many cases when clock is > 800000, the check won't be reached as the
division by "m" variable containing a zero value will have occured just
before.

With your patch it will instead configure the clock to 800000 which is too
low for the mode asked and will result in corrupted output.

Worth moving the check just after the loop or e.g. explicitly denying
clocks > 800000 at the beginning of the function?


I think it's better to check just after the for loop, if m is still 0, just return -EINVAL.




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux