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: Éric Piel <piel@delmic.com> Acked-By: Ian Abbott <abbotti@mev.co.uk> Cc: stable <stable@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
9349f8af28
commit
34b55d8c48
|
@ -963,7 +963,7 @@ static const struct ni_board_struct ni_boards[] = {
|
|||
.ao_range_table = &range_ni_M_625x_ao,
|
||||
.reg_type = ni_reg_625x,
|
||||
.ao_unipolar = 0,
|
||||
.ao_speed = 357,
|
||||
.ao_speed = 350,
|
||||
.num_p0_dio_channels = 8,
|
||||
.caldac = {caldac_none},
|
||||
.has_8255 = 0,
|
||||
|
@ -982,7 +982,7 @@ static const struct ni_board_struct ni_boards[] = {
|
|||
.ao_range_table = &range_ni_M_625x_ao,
|
||||
.reg_type = ni_reg_625x,
|
||||
.ao_unipolar = 0,
|
||||
.ao_speed = 357,
|
||||
.ao_speed = 350,
|
||||
.num_p0_dio_channels = 8,
|
||||
.caldac = {caldac_none},
|
||||
.has_8255 = 0,
|
||||
|
@ -1001,7 +1001,7 @@ static const struct ni_board_struct ni_boards[] = {
|
|||
.ao_range_table = &range_ni_M_625x_ao,
|
||||
.reg_type = ni_reg_625x,
|
||||
.ao_unipolar = 0,
|
||||
.ao_speed = 357,
|
||||
.ao_speed = 350,
|
||||
.num_p0_dio_channels = 8,
|
||||
.caldac = {caldac_none},
|
||||
.has_8255 = 0,
|
||||
|
@ -1037,7 +1037,7 @@ static const struct ni_board_struct ni_boards[] = {
|
|||
.ao_range_table = &range_ni_M_625x_ao,
|
||||
.reg_type = ni_reg_625x,
|
||||
.ao_unipolar = 0,
|
||||
.ao_speed = 357,
|
||||
.ao_speed = 350,
|
||||
.num_p0_dio_channels = 32,
|
||||
.caldac = {caldac_none},
|
||||
.has_8255 = 0,
|
||||
|
@ -1056,7 +1056,7 @@ static const struct ni_board_struct ni_boards[] = {
|
|||
.ao_range_table = &range_ni_M_625x_ao,
|
||||
.reg_type = ni_reg_625x,
|
||||
.ao_unipolar = 0,
|
||||
.ao_speed = 357,
|
||||
.ao_speed = 350,
|
||||
.num_p0_dio_channels = 32,
|
||||
.caldac = {caldac_none},
|
||||
.has_8255 = 0,
|
||||
|
@ -1092,7 +1092,7 @@ static const struct ni_board_struct ni_boards[] = {
|
|||
.ao_range_table = &range_ni_M_628x_ao,
|
||||
.reg_type = ni_reg_628x,
|
||||
.ao_unipolar = 1,
|
||||
.ao_speed = 357,
|
||||
.ao_speed = 350,
|
||||
.num_p0_dio_channels = 8,
|
||||
.caldac = {caldac_none},
|
||||
.has_8255 = 0,
|
||||
|
@ -1111,7 +1111,7 @@ static const struct ni_board_struct ni_boards[] = {
|
|||
.ao_range_table = &range_ni_M_628x_ao,
|
||||
.reg_type = ni_reg_628x,
|
||||
.ao_unipolar = 1,
|
||||
.ao_speed = 357,
|
||||
.ao_speed = 350,
|
||||
.num_p0_dio_channels = 8,
|
||||
.caldac = {caldac_none},
|
||||
.has_8255 = 0,
|
||||
|
@ -1147,7 +1147,7 @@ static const struct ni_board_struct ni_boards[] = {
|
|||
.ao_range_table = &range_ni_M_628x_ao,
|
||||
.reg_type = ni_reg_628x,
|
||||
.ao_unipolar = 1,
|
||||
.ao_speed = 357,
|
||||
.ao_speed = 350,
|
||||
.num_p0_dio_channels = 32,
|
||||
.caldac = {caldac_none},
|
||||
.has_8255 = 0,
|
||||
|
|
Loading…
Reference in New Issue