ptp device strangeness
From: Tim Sander
Date: Fri Sep 01 2017 - 11:38:36 EST
Hi
I am currently using ptp on a Altera/Intel SOC with a dp8640 PHY.
PTP functionality seems to be right. But i am doing timestamping
with gpio0 and sometimes i loose the sync of the stamping and
the events. So i would like to read out all messages. Reading O_NONBLOCK
does not work so i tried polling from usermode with the below code:
np = poll(&ev, 1, 0);
ev.fd=ptpDev;
ev.events = POLLIN;
if (np>0) {
if (ev.revents>0) {
std::cout<<"discarded ptp event"<<std::endl;
read(ptpDev, &event, sizeof(event));
}
But as confirmed in the debugger np=1 and read blocks forever.
I don't think that this is correct behavior?
For pinning down this misbehavior I would like to know it this is a local
problem of my hardware or if this is a general problem with the ptp chardev
interface?
I am currently on 4.11.12. As this is the latest preempt rt release.
Best regards
Tim