ptp_ocp.c (9f492c4cb2351c43e5ea64285e729a21392950df) | ptp_ocp.c (2f23f486cf626a9a2ea70da0dac93c63e89f6595) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-only 2/* Copyright (c) 2020 Facebook */ 3 4#include <linux/err.h> 5#include <linux/kernel.h> 6#include <linux/module.h> 7#include <linux/debugfs.h> 8#include <linux/init.h> --- 38 unchanged lines hidden (view full) --- 47 u32 __pad2[2]; 48 u32 drift_ns; 49 u32 drift_window_ns; 50 u32 __pad3[6]; 51 u32 servo_offset_p; 52 u32 servo_offset_i; 53 u32 servo_drift_p; 54 u32 servo_drift_i; | 1// SPDX-License-Identifier: GPL-2.0-only 2/* Copyright (c) 2020 Facebook */ 3 4#include <linux/err.h> 5#include <linux/kernel.h> 6#include <linux/module.h> 7#include <linux/debugfs.h> 8#include <linux/init.h> --- 38 unchanged lines hidden (view full) --- 47 u32 __pad2[2]; 48 u32 drift_ns; 49 u32 drift_window_ns; 50 u32 __pad3[6]; 51 u32 servo_offset_p; 52 u32 servo_offset_i; 53 u32 servo_drift_p; 54 u32 servo_drift_i; |
55 u32 status_offset; 56 u32 status_drift; |
|
55}; 56 57#define OCP_CTRL_ENABLE BIT(0) 58#define OCP_CTRL_ADJUST_TIME BIT(1) 59#define OCP_CTRL_ADJUST_OFFSET BIT(2) 60#define OCP_CTRL_ADJUST_DRIFT BIT(3) 61#define OCP_CTRL_ADJUST_SERVO BIT(8) 62#define OCP_CTRL_READ_TIME_REQ BIT(30) --- 1867 unchanged lines hidden (view full) --- 1930static ssize_t 1931available_clock_sources_show(struct device *dev, 1932 struct device_attribute *attr, char *buf) 1933{ 1934 return ptp_ocp_select_table_show(ptp_ocp_clock, buf); 1935} 1936static DEVICE_ATTR_RO(available_clock_sources); 1937 | 57}; 58 59#define OCP_CTRL_ENABLE BIT(0) 60#define OCP_CTRL_ADJUST_TIME BIT(1) 61#define OCP_CTRL_ADJUST_OFFSET BIT(2) 62#define OCP_CTRL_ADJUST_DRIFT BIT(3) 63#define OCP_CTRL_ADJUST_SERVO BIT(8) 64#define OCP_CTRL_READ_TIME_REQ BIT(30) --- 1867 unchanged lines hidden (view full) --- 1932static ssize_t 1933available_clock_sources_show(struct device *dev, 1934 struct device_attribute *attr, char *buf) 1935{ 1936 return ptp_ocp_select_table_show(ptp_ocp_clock, buf); 1937} 1938static DEVICE_ATTR_RO(available_clock_sources); 1939 |
1940static ssize_t 1941clock_status_drift_show(struct device *dev, 1942 struct device_attribute *attr, char *buf) 1943{ 1944 struct ptp_ocp *bp = dev_get_drvdata(dev); 1945 u32 val; 1946 int res; 1947 1948 val = ioread32(&bp->reg->status_drift); 1949 res = (val & ~INT_MAX) ? -1 : 1; 1950 res *= (val & INT_MAX); 1951 return sysfs_emit(buf, "%d\n", res); 1952} 1953static DEVICE_ATTR_RO(clock_status_drift); 1954 1955static ssize_t 1956clock_status_offset_show(struct device *dev, 1957 struct device_attribute *attr, char *buf) 1958{ 1959 struct ptp_ocp *bp = dev_get_drvdata(dev); 1960 u32 val; 1961 int res; 1962 1963 val = ioread32(&bp->reg->status_offset); 1964 res = (val & ~INT_MAX) ? -1 : 1; 1965 res *= (val & INT_MAX); 1966 return sysfs_emit(buf, "%d\n", res); 1967} 1968static DEVICE_ATTR_RO(clock_status_offset); 1969 |
|
1938static struct attribute *timecard_attrs[] = { 1939 &dev_attr_serialnum.attr, 1940 &dev_attr_gnss_sync.attr, 1941 &dev_attr_clock_source.attr, 1942 &dev_attr_available_clock_sources.attr, 1943 &dev_attr_sma1.attr, 1944 &dev_attr_sma2.attr, 1945 &dev_attr_sma3.attr, 1946 &dev_attr_sma4.attr, 1947 &dev_attr_available_sma_inputs.attr, 1948 &dev_attr_available_sma_outputs.attr, | 1970static struct attribute *timecard_attrs[] = { 1971 &dev_attr_serialnum.attr, 1972 &dev_attr_gnss_sync.attr, 1973 &dev_attr_clock_source.attr, 1974 &dev_attr_available_clock_sources.attr, 1975 &dev_attr_sma1.attr, 1976 &dev_attr_sma2.attr, 1977 &dev_attr_sma3.attr, 1978 &dev_attr_sma4.attr, 1979 &dev_attr_available_sma_inputs.attr, 1980 &dev_attr_available_sma_outputs.attr, |
1981 &dev_attr_clock_status_drift.attr, 1982 &dev_attr_clock_status_offset.attr, |
|
1949 &dev_attr_irig_b_mode.attr, 1950 &dev_attr_utc_tai_offset.attr, 1951 &dev_attr_ts_window_adjust.attr, 1952 NULL, 1953}; 1954ATTRIBUTE_GROUPS(timecard); 1955 1956static const char * --- 700 unchanged lines hidden --- | 1983 &dev_attr_irig_b_mode.attr, 1984 &dev_attr_utc_tai_offset.attr, 1985 &dev_attr_ts_window_adjust.attr, 1986 NULL, 1987}; 1988ATTRIBUTE_GROUPS(timecard); 1989 1990static const char * --- 700 unchanged lines hidden --- |