diff options
| author | Takahiro Shimizu <tshimizu818@gmail.com> | 2012-04-20 14:50:28 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2012-04-21 15:27:44 -0400 |
| commit | d50566c7274376f5d9325d675d4854d27798018f (patch) | |
| tree | 5143f70924a864c2f543fe76715768cc7a5bd7cd | |
| parent | 5f568e5afe35721f2f692bccab243ba87cd8f87a (diff) | |
pch_gbe: scale time stamps to nanoseconds
This patch fixes the helper functions that give the transmit and
receive time stamps to return nanoseconds, instead of arbitrary clock
ticks.
[ RC - Rebased Takahiro's changes and wrote a commit message
explaining the changes. ]
Signed-off-by: Takahiro Shimizu <tshimizu818@gmail.com>
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c | 4 | ||||
| -rw-r--r-- | drivers/ptp/ptp_pch.c | 2 |
2 files changed, 2 insertions, 4 deletions
diff --git a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c index 8035e5ff6e06..7c2dabb8cefc 100644 --- a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c +++ b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c | |||
| @@ -101,8 +101,6 @@ const char pch_driver_version[] = DRV_VERSION; | |||
| 101 | 101 | ||
| 102 | #ifdef CONFIG_PCH_PTP | 102 | #ifdef CONFIG_PCH_PTP |
| 103 | /* Macros for ieee1588 */ | 103 | /* Macros for ieee1588 */ |
| 104 | #define TICKS_NS_SHIFT 5 | ||
| 105 | |||
| 106 | /* 0x40 Time Synchronization Channel Control Register Bits */ | 104 | /* 0x40 Time Synchronization Channel Control Register Bits */ |
| 107 | #define MASTER_MODE (1<<0) | 105 | #define MASTER_MODE (1<<0) |
| 108 | #define SLAVE_MODE (0<<0) | 106 | #define SLAVE_MODE (0<<0) |
| @@ -183,7 +181,6 @@ static void pch_rx_timestamp( | |||
| 183 | goto out; | 181 | goto out; |
| 184 | 182 | ||
| 185 | ns = pch_rx_snap_read(pdev); | 183 | ns = pch_rx_snap_read(pdev); |
| 186 | ns <<= TICKS_NS_SHIFT; | ||
| 187 | 184 | ||
| 188 | shhwtstamps = skb_hwtstamps(skb); | 185 | shhwtstamps = skb_hwtstamps(skb); |
| 189 | memset(shhwtstamps, 0, sizeof(*shhwtstamps)); | 186 | memset(shhwtstamps, 0, sizeof(*shhwtstamps)); |
| @@ -226,7 +223,6 @@ static void pch_tx_timestamp( | |||
| 226 | } | 223 | } |
| 227 | 224 | ||
| 228 | ns = pch_tx_snap_read(pdev); | 225 | ns = pch_tx_snap_read(pdev); |
| 229 | ns <<= TICKS_NS_SHIFT; | ||
| 230 | 226 | ||
| 231 | memset(&shhwtstamps, 0, sizeof(shhwtstamps)); | 227 | memset(&shhwtstamps, 0, sizeof(shhwtstamps)); |
| 232 | shhwtstamps.hwtstamp = ns_to_ktime(ns); | 228 | shhwtstamps.hwtstamp = ns_to_ktime(ns); |
diff --git a/drivers/ptp/ptp_pch.c b/drivers/ptp/ptp_pch.c index 375eb04c16ea..847a3c3e31e4 100644 --- a/drivers/ptp/ptp_pch.c +++ b/drivers/ptp/ptp_pch.c | |||
| @@ -261,6 +261,7 @@ u64 pch_rx_snap_read(struct pci_dev *pdev) | |||
| 261 | 261 | ||
| 262 | ns = ((u64) hi) << 32; | 262 | ns = ((u64) hi) << 32; |
| 263 | ns |= lo; | 263 | ns |= lo; |
| 264 | ns <<= TICKS_NS_SHIFT; | ||
| 264 | 265 | ||
| 265 | return ns; | 266 | return ns; |
| 266 | } | 267 | } |
| @@ -277,6 +278,7 @@ u64 pch_tx_snap_read(struct pci_dev *pdev) | |||
| 277 | 278 | ||
| 278 | ns = ((u64) hi) << 32; | 279 | ns = ((u64) hi) << 32; |
| 279 | ns |= lo; | 280 | ns |= lo; |
| 281 | ns <<= TICKS_NS_SHIFT; | ||
| 280 | 282 | ||
| 281 | return ns; | 283 | return ns; |
| 282 | } | 284 | } |
