Commit e1ef0919 authored by Federico Vaga's avatar Federico Vaga

export time offset information

parents b343b5bd d1040d67
...@@ -43,10 +43,11 @@ enum ft_zattr_in_idx { ...@@ -43,10 +43,11 @@ enum ft_zattr_in_idx {
FT_ATTR_TDC_COARSE, FT_ATTR_TDC_COARSE,
FT_ATTR_TDC_FRAC, FT_ATTR_TDC_FRAC,
FT_ATTR_TDC_TERMINATION, FT_ATTR_TDC_TERMINATION,
FT_ATTR_TDC_OFFSET, FT_ATTR_TDC_ZERO_OFFSET,
FT_ATTR_TDC_USER_OFFSET, FT_ATTR_TDC_USER_OFFSET,
FT_ATTR_TDC_DELAY_REF, FT_ATTR_TDC_DELAY_REF,
FT_ATTR_TDC_DELAY_REF_SEQ, FT_ATTR_TDC_DELAY_REF_SEQ,
FT_ATTR_TDC_WR_OFFSET,
FT_ATTR_TDC__LAST, FT_ATTR_TDC__LAST,
}; };
......
...@@ -122,7 +122,7 @@ int ft_read_sw_fifo(struct fmctdc_dev *ft, int channel, ...@@ -122,7 +122,7 @@ int ft_read_sw_fifo(struct fmctdc_dev *ft, int channel,
ctrl->seq_num = ts.seq_id--; ctrl->seq_num = ts.seq_id--;
v[FT_ATTR_DEV_SEQUENCE] = ts.gseq_id; v[FT_ATTR_DEV_SEQUENCE] = ts.gseq_id;
v[FT_ATTR_TDC_OFFSET] = ft->calib.zero_offset[channel - 1]; v[FT_ATTR_TDC_ZERO_OFFSET] = ft->calib.zero_offset[channel - 1];
v[FT_ATTR_TDC_USER_OFFSET] = st->user_offset; v[FT_ATTR_TDC_USER_OFFSET] = st->user_offset;
return 0; return 0;
......
...@@ -49,10 +49,11 @@ static struct zio_attribute ft_zattr_dev[] = { ...@@ -49,10 +49,11 @@ static struct zio_attribute ft_zattr_dev[] = {
/* Extended attributes for the TDC (== input) cset */ /* Extended attributes for the TDC (== input) cset */
static struct zio_attribute ft_zattr_input[] = { static struct zio_attribute ft_zattr_input[] = {
ZIO_ATTR_EXT("termination", ZIO_RW_PERM, FT_ATTR_TDC_TERMINATION, 0), ZIO_ATTR_EXT("termination", ZIO_RW_PERM, FT_ATTR_TDC_TERMINATION, 0),
ZIO_ATTR_EXT("offset", ZIO_RO_PERM, FT_ATTR_TDC_OFFSET, 0), ZIO_ATTR_EXT("zero-offset", ZIO_RO_PERM, FT_ATTR_TDC_ZERO_OFFSET, 0),
ZIO_ATTR_EXT("user-offset", ZIO_RW_PERM, FT_ATTR_TDC_USER_OFFSET, 0), ZIO_ATTR_EXT("user-offset", ZIO_RW_PERM, FT_ATTR_TDC_USER_OFFSET, 0),
ZIO_ATTR_EXT("diff-reference", ZIO_RW_PERM, FT_ATTR_TDC_DELAY_REF, 0), ZIO_ATTR_EXT("diff-reference", ZIO_RW_PERM, FT_ATTR_TDC_DELAY_REF, 0),
ZIO_ATTR_EXT("diff-reference-seq", ZIO_RO_PERM, FT_ATTR_TDC_DELAY_REF_SEQ, 0), ZIO_ATTR_EXT("diff-reference-seq", ZIO_RO_PERM, FT_ATTR_TDC_DELAY_REF_SEQ, 0),
ZIO_ATTR_EXT("wr-offset", ZIO_RO_PERM, FT_ATTR_TDC_WR_OFFSET, 0),
ZIO_PARAM_EXT("last_seconds", ZIO_RO_PERM, FT_ATTR_TDC_SECONDS, 0), ZIO_PARAM_EXT("last_seconds", ZIO_RO_PERM, FT_ATTR_TDC_SECONDS, 0),
ZIO_PARAM_EXT("last_coarse", ZIO_RO_PERM, FT_ATTR_TDC_COARSE, 0), ZIO_PARAM_EXT("last_coarse", ZIO_RO_PERM, FT_ATTR_TDC_COARSE, 0),
ZIO_PARAM_EXT("last_frac", ZIO_RO_PERM, FT_ATTR_TDC_FRAC, 0), ZIO_PARAM_EXT("last_frac", ZIO_RO_PERM, FT_ATTR_TDC_FRAC, 0),
...@@ -96,11 +97,12 @@ static int ft_zio_info_channel(struct device *dev, struct zio_attribute *zattr, ...@@ -96,11 +97,12 @@ static int ft_zio_info_channel(struct device *dev, struct zio_attribute *zattr,
case FT_ATTR_TDC_USER_OFFSET: case FT_ATTR_TDC_USER_OFFSET:
*usr_val = st->user_offset; *usr_val = st->user_offset;
break; break;
case FT_ATTR_TDC_ZERO_OFFSET:
case FT_ATTR_TDC_OFFSET:
*usr_val = ft->calib.zero_offset[cset->index]; *usr_val = ft->calib.zero_offset[cset->index];
break; break;
case FT_ATTR_TDC_WR_OFFSET:
*usr_val = ft->calib.wr_offset;
break;
case FT_ATTR_TDC_TERMINATION: case FT_ATTR_TDC_TERMINATION:
*usr_val = test_bit(FT_FLAG_CH_TERMINATED, &st->flags); *usr_val = test_bit(FT_FLAG_CH_TERMINATED, &st->flags);
break; break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment