Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1228164
| From | Robert Jarzmik <robert.jarzmik@free.fr> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH v2 1/3] net: irda: pxaficp_ir: use sched_clock() for time management |
| Date | 2015-09-18 18:50 +0200 |
| Message-ID | <qa71f-8fE-3@gated-at.bofh.it> (permalink) |
| References | <q7S6l-oH-3@gated-at.bofh.it> <q9894-40S-3@gated-at.bofh.it> <q9hm4-uy-35@gated-at.bofh.it> <q9PnH-85q-7@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
David Miller <davem@davemloft.net> writes:
>> My understanding is that the flow will be :
>> sched_clock()
>> rd->read_sched_clock() (cyc_to_ns() transformed for return)
>> pxa_read_sched_clock()
>> readl_relaxed(OSCR)
>>
>> I didn't see any timings issue, as the flow looks equivalent to the readl(OSCR),
>> but I might have overlooked something.
>
> Of course it's different, because sched_clock() converts the value read
> from OSCR into nanoseconds, which is obviously different from using the
> OSCR register value directly.
>
> You're therefore feeding different values into this IRDA code.
Ah yes, I see it.
Which brings me to wonder which is the more correct :
(a) replace to reproduce the same calculation
Previously mtt was compared to a difference of 76ns steps (as 307ns / 4 =
76ns):
while ((sched_clock() - si->last_clk) * 76 < mtt)
(b) change the calculation assuming mtt is in microseconds :
while ((sched_clock() - si->last_clk) * 1000 < mtt)
I have no IRDA protocol knowledge so unless someone points me to the correct
calculation I'll try my luck with (b).
Cheers.
--
Robert
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH v2 1/3] net: irda: pxaficp_ir: use sched_clock() for time management Robert Jarzmik <robert.jarzmik@free.fr> - 2015-09-12 14:30 +0200
[PATCH v2 3/3] net: irda: pxaficp_ir: dmaengine conversion Robert Jarzmik <robert.jarzmik@free.fr> - 2015-09-12 14:30 +0200
Re: [PATCH v2 1/3] net: irda: pxaficp_ir: use sched_clock() for time management David Miller <davem@davemloft.net> - 2015-09-16 01:50 +0200
Re: [PATCH v2 1/3] net: irda: pxaficp_ir: use sched_clock() for time management Robert Jarzmik <robert.jarzmik@free.fr> - 2015-09-16 11:40 +0200
Re: [PATCH v2 1/3] net: irda: pxaficp_ir: use sched_clock() for time management David Miller <davem@davemloft.net> - 2015-09-18 00:00 +0200
Re: [PATCH v2 1/3] net: irda: pxaficp_ir: use sched_clock() for time management Robert Jarzmik <robert.jarzmik@free.fr> - 2015-09-18 18:50 +0200
Re: [PATCH v2 1/3] net: irda: pxaficp_ir: use sched_clock() for time management David Miller <davem@davemloft.net> - 2015-09-22 01:20 +0200
csiph-web