mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 17:13:52 +02:00
idpf: read lower clock bits inside the time sandwich
PCIe reads need to be done inside the time sandwich because PCIe
writes may get buffered in the PCIe fabric and posted to the device
after the _postts completes. Doing the PCIe read inside the time
sandwich guarantees that the write gets flushed before the _postts
timestamp is taken.
Cc: lrizzo@google.com
Cc: namangulati@google.com
Cc: willemb@google.com
Cc: intel-wired-lan@lists.osuosl.org
Cc: milena.olech@intel.com
Cc: jacob.e.keller@intel.com
Fixes: 5cb8805d23 ("idpf: negotiate PTP capabilities and get PTP clock")
Suggested-by: Shachar Raindel <shacharr@google.com>
Signed-off-by: Mina Almasry <almasrymina@google.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Tested-by: Samuel Salin <Samuel.salin@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
This commit is contained in:
parent
d3f867e7a0
commit
bdfc7b55ad
|
|
@ -108,11 +108,11 @@ static u64 idpf_ptp_read_src_clk_reg_direct(struct idpf_adapter *adapter,
|
|||
ptp_read_system_prets(sts);
|
||||
|
||||
idpf_ptp_enable_shtime(adapter);
|
||||
lo = readl(ptp->dev_clk_regs.dev_clk_ns_l);
|
||||
|
||||
/* Read the system timestamp post PHC read */
|
||||
ptp_read_system_postts(sts);
|
||||
|
||||
lo = readl(ptp->dev_clk_regs.dev_clk_ns_l);
|
||||
hi = readl(ptp->dev_clk_regs.dev_clk_ns_h);
|
||||
|
||||
spin_unlock(&ptp->read_dev_clk_lock);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user