Commit 34b55d8c authored by Éric Piel's avatar Éric Piel Committed by Greg Kroah-Hartman

staging: comedi: fix minimum AO period for NI 625x and NI 628x

The minimum period was set to 357 ns, while the divider for these boards is 50
ns. This prevented to output at maximum speed as ni_ao_cmdtest() would return
357 but would not accept it.

Not sure why it was set to 357 ns (this was done before the git history,
which starts 5 years ago). My guess is that it comes from reading the
specification stating a 2.8 MHz rate (~ 357 ns). The latest
specification states a 2.86 MHz rate (~ 350 ns), which makes a lot
more sense.

Tested on a pci-6251.
Signed-off-by: default avatarÉric Piel <piel@delmic.com>
Acked-By: default avatarIan Abbott <abbotti@mev.co.uk>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 9349f8af
...@@ -963,7 +963,7 @@ static const struct ni_board_struct ni_boards[] = { ...@@ -963,7 +963,7 @@ static const struct ni_board_struct ni_boards[] = {
.ao_range_table = &range_ni_M_625x_ao, .ao_range_table = &range_ni_M_625x_ao,
.reg_type = ni_reg_625x, .reg_type = ni_reg_625x,
.ao_unipolar = 0, .ao_unipolar = 0,
.ao_speed = 357, .ao_speed = 350,
.num_p0_dio_channels = 8, .num_p0_dio_channels = 8,
.caldac = {caldac_none}, .caldac = {caldac_none},
.has_8255 = 0, .has_8255 = 0,
...@@ -982,7 +982,7 @@ static const struct ni_board_struct ni_boards[] = { ...@@ -982,7 +982,7 @@ static const struct ni_board_struct ni_boards[] = {
.ao_range_table = &range_ni_M_625x_ao, .ao_range_table = &range_ni_M_625x_ao,
.reg_type = ni_reg_625x, .reg_type = ni_reg_625x,
.ao_unipolar = 0, .ao_unipolar = 0,
.ao_speed = 357, .ao_speed = 350,
.num_p0_dio_channels = 8, .num_p0_dio_channels = 8,
.caldac = {caldac_none}, .caldac = {caldac_none},
.has_8255 = 0, .has_8255 = 0,
...@@ -1001,7 +1001,7 @@ static const struct ni_board_struct ni_boards[] = { ...@@ -1001,7 +1001,7 @@ static const struct ni_board_struct ni_boards[] = {
.ao_range_table = &range_ni_M_625x_ao, .ao_range_table = &range_ni_M_625x_ao,
.reg_type = ni_reg_625x, .reg_type = ni_reg_625x,
.ao_unipolar = 0, .ao_unipolar = 0,
.ao_speed = 357, .ao_speed = 350,
.num_p0_dio_channels = 8, .num_p0_dio_channels = 8,
.caldac = {caldac_none}, .caldac = {caldac_none},
.has_8255 = 0, .has_8255 = 0,
...@@ -1037,7 +1037,7 @@ static const struct ni_board_struct ni_boards[] = { ...@@ -1037,7 +1037,7 @@ static const struct ni_board_struct ni_boards[] = {
.ao_range_table = &range_ni_M_625x_ao, .ao_range_table = &range_ni_M_625x_ao,
.reg_type = ni_reg_625x, .reg_type = ni_reg_625x,
.ao_unipolar = 0, .ao_unipolar = 0,
.ao_speed = 357, .ao_speed = 350,
.num_p0_dio_channels = 32, .num_p0_dio_channels = 32,
.caldac = {caldac_none}, .caldac = {caldac_none},
.has_8255 = 0, .has_8255 = 0,
...@@ -1056,7 +1056,7 @@ static const struct ni_board_struct ni_boards[] = { ...@@ -1056,7 +1056,7 @@ static const struct ni_board_struct ni_boards[] = {
.ao_range_table = &range_ni_M_625x_ao, .ao_range_table = &range_ni_M_625x_ao,
.reg_type = ni_reg_625x, .reg_type = ni_reg_625x,
.ao_unipolar = 0, .ao_unipolar = 0,
.ao_speed = 357, .ao_speed = 350,
.num_p0_dio_channels = 32, .num_p0_dio_channels = 32,
.caldac = {caldac_none}, .caldac = {caldac_none},
.has_8255 = 0, .has_8255 = 0,
...@@ -1092,7 +1092,7 @@ static const struct ni_board_struct ni_boards[] = { ...@@ -1092,7 +1092,7 @@ static const struct ni_board_struct ni_boards[] = {
.ao_range_table = &range_ni_M_628x_ao, .ao_range_table = &range_ni_M_628x_ao,
.reg_type = ni_reg_628x, .reg_type = ni_reg_628x,
.ao_unipolar = 1, .ao_unipolar = 1,
.ao_speed = 357, .ao_speed = 350,
.num_p0_dio_channels = 8, .num_p0_dio_channels = 8,
.caldac = {caldac_none}, .caldac = {caldac_none},
.has_8255 = 0, .has_8255 = 0,
...@@ -1111,7 +1111,7 @@ static const struct ni_board_struct ni_boards[] = { ...@@ -1111,7 +1111,7 @@ static const struct ni_board_struct ni_boards[] = {
.ao_range_table = &range_ni_M_628x_ao, .ao_range_table = &range_ni_M_628x_ao,
.reg_type = ni_reg_628x, .reg_type = ni_reg_628x,
.ao_unipolar = 1, .ao_unipolar = 1,
.ao_speed = 357, .ao_speed = 350,
.num_p0_dio_channels = 8, .num_p0_dio_channels = 8,
.caldac = {caldac_none}, .caldac = {caldac_none},
.has_8255 = 0, .has_8255 = 0,
...@@ -1147,7 +1147,7 @@ static const struct ni_board_struct ni_boards[] = { ...@@ -1147,7 +1147,7 @@ static const struct ni_board_struct ni_boards[] = {
.ao_range_table = &range_ni_M_628x_ao, .ao_range_table = &range_ni_M_628x_ao,
.reg_type = ni_reg_628x, .reg_type = ni_reg_628x,
.ao_unipolar = 1, .ao_unipolar = 1,
.ao_speed = 357, .ao_speed = 350,
.num_p0_dio_channels = 32, .num_p0_dio_channels = 32,
.caldac = {caldac_none}, .caldac = {caldac_none},
.has_8255 = 0, .has_8255 = 0,
......
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