Re: [PATCH 7/8] clocksource/drivers/fttmr010: Merge Moxa into FTTMR010

From: CÃdric Le Goater
Date: Fri May 19 2017 - 04:00:02 EST


On 05/18/2017 11:09 PM, CÃdric Le Goater wrote:
> On 05/18/2017 10:20 PM, Linus Walleij wrote:
>> On Thu, May 18, 2017 at 2:43 PM, Linus Walleij <linus.walleij@xxxxxxxxxx> wrote:
>>> On Thu, May 18, 2017 at 9:22 AM, Joel Stanley <joel@xxxxxxxxx> wrote:
>>>> On Wed, May 17, 2017 at 10:05 PM, Linus Walleij
>>>> <linus.walleij@xxxxxxxxxx> wrote:
>>>>> This merges the Moxa Art timer driver into the Faraday FTTMR010
>>>>> driver and replaces all Kconfig symbols to use the Faraday
>>>>> driver instead. We are now so similar that the drivers can
>>>>> be merged by just adding a few lines to the Faraday timer.
>>>>
>>>> Nice work!
>>>>
>>>> I gave this a spin on hardware and it didn't work :(
>>>
>>> How typical.
>>
>> I sent a v2 patch set.
>>
>> I couldn't get qemu to work because Fedora's QEMU is not
>> up-to-date and I didn't want to venture into compiling from source...
>>
>> I did the second best and tested Gemini with downward counting
>> timers, after just adding that as general code path in the driver
>> in the commit merging the two drivers.
>>
>> Please test it, and I hope I'm not wasting too much of your time :/
>>
>> If it still doesn't work I guess I have to try to get qemu going.
>>
>> The fttmr010 branch in my git is updated:
>> https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git/
>
> So a real AST2500 evb board boot fines with this branch but the timer
> model in QEMU crashes miserably :
>
> [ 0.000000] NR_IRQS:16 nr_irqs:16 16
> Floating point exception (core dumped)

This is because the FTTMR010 driver enables a timer before setting
its reload value. This is 'against' the specs but the HW works fine
as it only starts decrementing when a reload is set.

So, I changed the QEMU model.

Cheers,

C.