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

Bug#503029: problem recognized



I have recognized the problem I think. The issue occurs when you have
cpu frequency scaling function activated. It appears when CPU was set
to different frequency while inserting analog driver and different
while reading joystick data (for example running a game).

I think the problem is located in analog kernel driver and is related
to usage of rdtscl() function to read time (in GET_TIME macro). This
function returns number of clock ticks, not real time. So when cpu
frequency changes the same difference (delta) of two reads is not the
same difference of time (one clock lasts different time period).  When
 the analog driver is loaded it computes some timing data that is used
further while reading joystick state. When CPU frequency change
occures it compares that timing data values with new timing reads
which are differently scaled.

A workaround (until the issue will be fixed) is to unload analog
driver, set you CPU do fixed frequency, load the driver again an run
you game.

Regards
Radek



Reply to: