On Tue, Feb 27, 2024 at 05:59:40PM +0100, Stefan Wahren wrote: > Hi Chris, > > Am 27.02.24 um 16:32 schrieb Chris Morgan: > > I have a series of devices with GPIO controlled force feedback that > > this driver helps us control better. So I'm looking forward to this, > > thank you. > Thanks for testing. I didn't had much time recently and i was fighting > with hr timer resolution stuff. But will try to send the next version in > March. > > Note that when I set the resolution too low (I got confused and set > > the period to 255) my device locked up hard and only a forced > > power cycle could bring it back. > Unfortunately this is a general design issue by driving the GPIO by a > kernel driver and "expected" behavior. I didn't have a good solution for > it yet. When we reprogram the timer with hrtimer_forward(), we could check whether we have overrun - i.e. we are already beyond the expires time. This could be a hint that a) we cannot generate the pwm signal and b) this might be what causes the hang, because we are returning HRTIMER_RESTART yet no new expires has been programmed. Crashing the machine if the period is too short is not really good enough for mainline, I think. There is talk of pwm chardevs in the future. Sean