switch (b_ConfigType) {
case APCI1710_PWM_INIT:
- i_ReturnValue = i_APCI1710_InitPWM(dev, (unsigned char) CR_AREF(insn->chanspec), // b_ModulNbr
- (unsigned char) data[0], //b_PWM
- (unsigned char) data[1], // b_ClockSelection
- (unsigned char) data[2], // b_TimingUnit
- (unsigned int) data[3], //ul_LowTiming
- (unsigned int) data[4], //ul_HighTiming
- (unsigned int *) & data[0], //pul_RealLowTiming
- (unsigned int *) & data[1] //pul_RealHighTiming
+ i_ReturnValue = i_APCI1710_InitPWM(dev, (unsigned char) CR_AREF(insn->chanspec), /* b_ModulNbr */
+ (unsigned char) data[0], /* b_PWM */
+ (unsigned char) data[1], /* b_ClockSelection */
+ (unsigned char) data[2], /* b_TimingUnit */
+ (unsigned int) data[3], /* ul_LowTiming */
+ (unsigned int) data[4], /* ul_HighTiming */
+ (unsigned int *) & data[0], /* pul_RealLowTiming */
+ (unsigned int *) & data[1] /* pul_RealHighTiming */
);
break;
case APCI1710_PWM_GETINITDATA:
- i_ReturnValue = i_APCI1710_GetPWMInitialisation(dev, (unsigned char) CR_AREF(insn->chanspec), // b_ModulNbr
- (unsigned char) data[0], //b_PWM
- (unsigned char *) & data[0], //pb_TimingUnit
- (unsigned int *) & data[1], //pul_LowTiming
- (unsigned int *) & data[2], //pul_HighTiming
- (unsigned char *) & data[3], // pb_StartLevel
- (unsigned char *) & data[4], // pb_StopMode
- (unsigned char *) & data[5], // pb_StopLevel
- (unsigned char *) & data[6], // pb_ExternGate
- (unsigned char *) & data[7], // pb_InterruptEnable
- (unsigned char *) & data[8] // pb_Enable
+ i_ReturnValue = i_APCI1710_GetPWMInitialisation(dev, (unsigned char) CR_AREF(insn->chanspec), /* b_ModulNbr */
+ (unsigned char) data[0], /* b_PWM */
+ (unsigned char *) & data[0], /* pb_TimingUnit */
+ (unsigned int *) & data[1], /* pul_LowTiming */
+ (unsigned int *) & data[2], /* pul_HighTiming */
+ (unsigned char *) & data[3], /* pb_StartLevel */
+ (unsigned char *) & data[4], /* pb_StopMode */
+ (unsigned char *) & data[5], /* pb_StopLevel */
+ (unsigned char *) & data[6], /* pb_ExternGate */
+ (unsigned char *) & data[7], /* pb_InterruptEnable */
+ (unsigned char *) & data[8] /* pb_Enable */
);
break;
/**************************/
if (b_ModulNbr < 4) {
- /***************/
+ /***************/
/* Test if PWM */
- /***************/
+ /***************/
if ((devpriv->s_BoardInfos.
dw_MolduleConfiguration[b_ModulNbr] &
0xFFFF0000UL) == APCI1710_PWM) {
- /**************************/
+ /**************************/
/* Test the PWM selection */
- /**************************/
+ /**************************/
if (b_PWM <= 1) {
- /******************/
+ /******************/
/* Test the clock */
- /******************/
+ /******************/
if ((b_ClockSelection == APCI1710_30MHZ) ||
(b_ClockSelection == APCI1710_33MHZ) ||
(b_ClockSelection == APCI1710_40MHZ)) {
- /************************/
+ /************************/
/* Test the timing unit */
- /************************/
+ /************************/
if (b_TimingUnit <= 4) {
- /*********************************/
+ /*********************************/
/* Test the low timing selection */
- /*********************************/
+ /*********************************/
if (((b_ClockSelection ==
APCI1710_30MHZ)
&& (ul_LowTiming
<=
7UL))) {
- /**********************************/
+ /**********************************/
/* Test the High timing selection */
- /**********************************/
+ /**********************************/
if (((b_ClockSelection == APCI1710_30MHZ) && (b_TimingUnit == 0) && (ul_HighTiming >= 266) && (ul_HighTiming <= 0xFFFFFFFFUL)) || ((b_ClockSelection == APCI1710_30MHZ) && (b_TimingUnit == 1) && (ul_HighTiming >= 1) && (ul_HighTiming <= 571230650UL)) || ((b_ClockSelection == APCI1710_30MHZ) && (b_TimingUnit == 2) && (ul_HighTiming >= 1) && (ul_HighTiming <= 571230UL)) || ((b_ClockSelection == APCI1710_30MHZ) && (b_TimingUnit == 3) && (ul_HighTiming >= 1) && (ul_HighTiming <= 571UL)) || ((b_ClockSelection == APCI1710_30MHZ) && (b_TimingUnit == 4) && (ul_HighTiming >= 1) && (ul_HighTiming <= 9UL)) || ((b_ClockSelection == APCI1710_33MHZ) && (b_TimingUnit == 0) && (ul_HighTiming >= 242) && (ul_HighTiming <= 0xFFFFFFFFUL)) || ((b_ClockSelection == APCI1710_33MHZ) && (b_TimingUnit == 1) && (ul_HighTiming >= 1) && (ul_HighTiming <= 519691043UL)) || ((b_ClockSelection == APCI1710_33MHZ) && (b_TimingUnit == 2) && (ul_HighTiming >= 1) && (ul_HighTiming <= 519691UL)) || ((b_ClockSelection == APCI1710_33MHZ) && (b_TimingUnit == 3) && (ul_HighTiming >= 1) && (ul_HighTiming <= 520UL)) || ((b_ClockSelection == APCI1710_33MHZ) && (b_TimingUnit == 4) && (ul_HighTiming >= 1) && (ul_HighTiming <= 8UL)) || ((b_ClockSelection == APCI1710_40MHZ) && (b_TimingUnit == 0) && (ul_HighTiming >= 200) && (ul_HighTiming <= 0xFFFFFFFFUL)) || ((b_ClockSelection == APCI1710_40MHZ) && (b_TimingUnit == 1) && (ul_HighTiming >= 1) && (ul_HighTiming <= 429496729UL)) || ((b_ClockSelection == APCI1710_40MHZ) && (b_TimingUnit == 2) && (ul_HighTiming >= 1) && (ul_HighTiming <= 429496UL)) || ((b_ClockSelection == APCI1710_40MHZ) && (b_TimingUnit == 3) && (ul_HighTiming >= 1) && (ul_HighTiming <= 429UL)) || ((b_ClockSelection == APCI1710_40MHZ) && (b_TimingUnit == 4) && (ul_HighTiming >= 1) && (ul_HighTiming <= 7UL))) {
- /**************************/
+ /**************************/
/* Test the board version */
- /**************************/
+ /**************************/
if (((b_ClockSelection == APCI1710_40MHZ) && (devpriv->s_BoardInfos.b_BoardVersion > 0)) || (b_ClockSelection != APCI1710_40MHZ)) {
- /************************************/
+ /************************************/
/* Calculate the low division fator */
- /************************************/
+ /************************************/
fpu_begin
();
switch (b_TimingUnit) {
- /******/
+ /******/
/* ns */
- /******/
+ /******/
case 0:
- /******************/
+ /******************/
/* Timer 0 factor */
- /******************/
+ /******************/
ul_LowTimerValue
=
*
(0.00025 * b_ClockSelection));
- /*******************/
+ /*******************/
/* Round the value */
- /*******************/
+ /*******************/
if ((double)((double)ul_LowTiming * (0.00025 * (double)b_ClockSelection)) >= ((double)((double)ul_LowTimerValue + 0.5))) {
ul_LowTimerValue
1;
}
- /*****************************/
+ /*****************************/
/* Calculate the real timing */
- /*****************************/
+ /*****************************/
*pul_RealLowTiming
=
break;
- /******/
+ /******/
/* æs */
- /******/
+ /******/
case 1:
- /******************/
+ /******************/
/* Timer 0 factor */
- /******************/
+ /******************/
ul_LowTimerValue
=
*
(0.25 * b_ClockSelection));
- /*******************/
+ /*******************/
/* Round the value */
- /*******************/
+ /*******************/
if ((double)((double)ul_LowTiming * (0.25 * (double)b_ClockSelection)) >= ((double)((double)ul_LowTimerValue + 0.5))) {
ul_LowTimerValue
1;
}
- /*****************************/
+ /*****************************/
/* Calculate the real timing */
- /*****************************/
+ /*****************************/
*pul_RealLowTiming
=
break;
- /******/
+ /******/
/* ms */
- /******/
+ /******/
case 2:
- /******************/
+ /******************/
/* Timer 0 factor */
- /******************/
+ /******************/
ul_LowTimerValue
=
*
b_ClockSelection);
- /*******************/
+ /*******************/
/* Round the value */
- /*******************/
+ /*******************/
if ((double)((double)ul_LowTiming * (250.0 * (double)b_ClockSelection)) >= ((double)((double)ul_LowTimerValue + 0.5))) {
ul_LowTimerValue
1;
}
- /*****************************/
+ /*****************************/
/* Calculate the real timing */
- /*****************************/
+ /*****************************/
*pul_RealLowTiming
=
break;
- /*****/
+ /*****/
/* s */
- /*****/
+ /*****/
case 3:
- /******************/
+ /******************/
/* Timer 0 factor */
- /******************/
+ /******************/
ul_LowTimerValue
=
*
b_ClockSelection));
- /*******************/
+ /*******************/
/* Round the value */
- /*******************/
+ /*******************/
if ((double)((double)ul_LowTiming * (250000.0 * (double)b_ClockSelection)) >= ((double)((double)ul_LowTimerValue + 0.5))) {
ul_LowTimerValue
1;
}
- /*****************************/
+ /*****************************/
/* Calculate the real timing */
- /*****************************/
+ /*****************************/
*pul_RealLowTiming
=
break;
- /******/
+ /******/
/* mn */
- /******/
+ /******/
case 4:
- /******************/
+ /******************/
/* Timer 0 factor */
- /******************/
+ /******************/
ul_LowTimerValue
=
*
b_ClockSelection));
- /*******************/
+ /*******************/
/* Round the value */
- /*******************/
+ /*******************/
if ((double)((double)(ul_LowTiming * 60.0) * (250000.0 * (double)b_ClockSelection)) >= ((double)((double)ul_LowTimerValue + 0.5))) {
ul_LowTimerValue
1;
}
- /*****************************/
+ /*****************************/
/* Calculate the real timing */
- /*****************************/
+ /*****************************/
*pul_RealLowTiming
=
break;
}
- /*************************************/
+ /*************************************/
/* Calculate the high division fator */
- /*************************************/
+ /*************************************/
switch (b_TimingUnit) {
- /******/
+ /******/
/* ns */
- /******/
+ /******/
case 0:
- /******************/
+ /******************/
/* Timer 0 factor */
- /******************/
+ /******************/
ul_HighTimerValue
=
*
(0.00025 * b_ClockSelection));
- /*******************/
+ /*******************/
/* Round the value */
- /*******************/
+ /*******************/
if ((double)((double)ul_HighTiming * (0.00025 * (double)b_ClockSelection)) >= ((double)((double)ul_HighTimerValue + 0.5))) {
ul_HighTimerValue
1;
}
- /*****************************/
+ /*****************************/
/* Calculate the real timing */
- /*****************************/
+ /*****************************/
*pul_RealHighTiming
=
break;
- /******/
+ /******/
/* æs */
- /******/
+ /******/
case 1:
- /******************/
+ /******************/
/* Timer 0 factor */
- /******************/
+ /******************/
ul_HighTimerValue
=
*
(0.25 * b_ClockSelection));
- /*******************/
+ /*******************/
/* Round the value */
- /*******************/
+ /*******************/
if ((double)((double)ul_HighTiming * (0.25 * (double)b_ClockSelection)) >= ((double)((double)ul_HighTimerValue + 0.5))) {
ul_HighTimerValue
1;
}
- /*****************************/
+ /*****************************/
/* Calculate the real timing */
- /*****************************/
+ /*****************************/
*pul_RealHighTiming
=
break;
- /******/
+ /******/
/* ms */
- /******/
+ /******/
case 2:
- /******************/
+ /******************/
/* Timer 0 factor */
- /******************/
+ /******************/
ul_HighTimerValue
=
*
b_ClockSelection);
- /*******************/
+ /*******************/
/* Round the value */
- /*******************/
+ /*******************/
if ((double)((double)ul_HighTiming * (250.0 * (double)b_ClockSelection)) >= ((double)((double)ul_HighTimerValue + 0.5))) {
ul_HighTimerValue
1;
}
- /*****************************/
+ /*****************************/
/* Calculate the real timing */
- /*****************************/
+ /*****************************/
*pul_RealHighTiming
=
break;
- /*****/
+ /*****/
/* s */
- /*****/
+ /*****/
case 3:
- /******************/
+ /******************/
/* Timer 0 factor */
- /******************/
+ /******************/
ul_HighTimerValue
=
*
b_ClockSelection));
- /*******************/
+ /*******************/
/* Round the value */
- /*******************/
+ /*******************/
if ((double)((double)ul_HighTiming * (250000.0 * (double)b_ClockSelection)) >= ((double)((double)ul_HighTimerValue + 0.5))) {
ul_HighTimerValue
1;
}
- /*****************************/
+ /*****************************/
/* Calculate the real timing */
- /*****************************/
+ /*****************************/
*pul_RealHighTiming
=
break;
- /******/
+ /******/
/* mn */
- /******/
+ /******/
case 4:
- /******************/
+ /******************/
/* Timer 0 factor */
- /******************/
+ /******************/
ul_HighTimerValue
=
*
b_ClockSelection));
- /*******************/
+ /*******************/
/* Round the value */
- /*******************/
+ /*******************/
if ((double)((double)(ul_HighTiming * 60.0) * (250000.0 * (double)b_ClockSelection)) >= ((double)((double)ul_HighTimerValue + 0.5))) {
ul_HighTimerValue
1;
}
- /*****************************/
+ /*****************************/
/* Calculate the real timing */
- /*****************************/
+ /*****************************/
*pul_RealHighTiming
=
}
fpu_end();
- /****************************/
+ /****************************/
/* Save the clock selection */
- /****************************/
+ /****************************/
devpriv->
s_ModuleInfo
=
b_ClockSelection;
- /************************/
+ /************************/
/* Save the timing unit */
- /************************/
+ /************************/
devpriv->
s_ModuleInfo
=
b_TimingUnit;
- /****************************/
+ /****************************/
/* Save the low base timing */
- /****************************/
+ /****************************/
devpriv->
s_ModuleInfo
=
*pul_RealLowTiming;
- /****************************/
+ /****************************/
/* Save the high base timing */
- /****************************/
+ /****************************/
devpriv->
s_ModuleInfo
=
*pul_RealHighTiming;
- /************************/
+ /************************/
/* Write the low timing */
- /************************/
+ /************************/
outl(ul_LowTimerValue, devpriv->s_BoardInfos.ui_Address + 0 + (20 * b_PWM) + (64 * b_ModulNbr));
- /*************************/
+ /*************************/
/* Write the high timing */
- /*************************/
+ /*************************/
outl(ul_HighTimerValue, devpriv->s_BoardInfos.ui_Address + 4 + (20 * b_PWM) + (64 * b_ModulNbr));
- /***************************/
+ /***************************/
/* Set the clock selection */
- /***************************/
+ /***************************/
dw_Command
=
0x80;
}
- /***************************/
+ /***************************/
/* Set the clock selection */
- /***************************/
+ /***************************/
outl(dw_Command, devpriv->s_BoardInfos.ui_Address + 8 + (20 * b_PWM) + (64 * b_ModulNbr));
- /*************/
+ /*************/
/* PWM init. */
- /*************/
+ /*************/
devpriv->
s_ModuleInfo
[b_ModulNbr].
=
1;
} else {
- /***************************************************/
+ /***************************************************/
/* You can not used the 40MHz clock selection with */
/* this board */
- /***************************************************/
+ /***************************************************/
DPRINTK("You can not used the 40MHz clock selection with this board\n");
i_ReturnValue
=
-9;
}
} else {
- /***************************************/
+ /***************************************/
/* High base timing selection is wrong */
- /***************************************/
+ /***************************************/
DPRINTK("High base timing selection is wrong\n");
i_ReturnValue =
-8;
}
} else {
- /**************************************/
+ /**************************************/
/* Low base timing selection is wrong */
- /**************************************/
+ /**************************************/
DPRINTK("Low base timing selection is wrong\n");
i_ReturnValue = -7;
}
- } // if ((b_TimingUnit >= 0) && (b_TimingUnit <= 4))
+ } /* if ((b_TimingUnit >= 0) && (b_TimingUnit <= 4)) */
else {
- /**********************************/
+ /**********************************/
/* Timing unit selection is wrong */
- /**********************************/
+ /**********************************/
DPRINTK("Timing unit selection is wrong\n");
i_ReturnValue = -6;
- } // if ((b_TimingUnit >= 0) && (b_TimingUnit <= 4))
- } // if ((b_ClockSelection == APCI1710_30MHZ) || (b_ClockSelection == APCI1710_33MHZ) || (b_ClockSelection == APCI1710_40MHZ))
+ } /* if ((b_TimingUnit >= 0) && (b_TimingUnit <= 4)) */
+ } /* if ((b_ClockSelection == APCI1710_30MHZ) || (b_ClockSelection == APCI1710_33MHZ) || (b_ClockSelection == APCI1710_40MHZ)) */
else {
- /*******************************/
+ /*******************************/
/* The selected clock is wrong */
- /*******************************/
+ /*******************************/
DPRINTK("The selected clock is wrong\n");
i_ReturnValue = -5;
- } // if ((b_ClockSelection == APCI1710_30MHZ) || (b_ClockSelection == APCI1710_33MHZ) || (b_ClockSelection == APCI1710_40MHZ))
- } // if (b_PWM >= 0 && b_PWM <= 1)
+ } /* if ((b_ClockSelection == APCI1710_30MHZ) || (b_ClockSelection == APCI1710_33MHZ) || (b_ClockSelection == APCI1710_40MHZ)) */
+ } /* if (b_PWM >= 0 && b_PWM <= 1) */
else {
- /******************************/
+ /******************************/
/* Tor PWM selection is wrong */
- /******************************/
+ /******************************/
DPRINTK("Tor PWM selection is wrong\n");
i_ReturnValue = -4;
- } // if (b_PWM >= 0 && b_PWM <= 1)
+ } /* if (b_PWM >= 0 && b_PWM <= 1) */
} else {
- /**********************************/
+ /**********************************/
/* The module is not a PWM module */
- /**********************************/
+ /**********************************/
DPRINTK("The module is not a PWM module\n");
i_ReturnValue = -3;
}
} else {
- /***********************/
+ /***********************/
/* Module number error */
- /***********************/
+ /***********************/
DPRINTK("Module number error\n");
i_ReturnValue = -2;
}
/**************************/
if (b_ModulNbr < 4) {
- /***************/
+ /***************/
/* Test if PWM */
- /***************/
+ /***************/
if ((devpriv->s_BoardInfos.
dw_MolduleConfiguration[b_ModulNbr] &
0xFFFF0000UL) == APCI1710_PWM) {
- /**************************/
+ /**************************/
/* Test the PWM selection */
- /**************************/
+ /**************************/
if (b_PWM <= 1) {
- /***************************/
+ /***************************/
/* Test if PWM initialised */
- /***************************/
+ /***************************/
dw_Status = inl(devpriv->s_BoardInfos.
ui_Address + 12 + (20 * b_PWM) +
(64 * b_ModulNbr));
if (dw_Status & 0x10) {
- /***********************/
+ /***********************/
/* Read the low timing */
- /***********************/
+ /***********************/
*pul_LowTiming =
inl(devpriv->s_BoardInfos.
ui_Address + 0 + (20 * b_PWM) +
(64 * b_ModulNbr));
- /************************/
+ /************************/
/* Read the high timing */
- /************************/
+ /************************/
*pul_HighTiming =
inl(devpriv->s_BoardInfos.
ui_Address + 4 + (20 * b_PWM) +
(64 * b_ModulNbr));
- /********************/
+ /********************/
/* Read the command */
- /********************/
+ /********************/
dw_Command = inl(devpriv->s_BoardInfos.
ui_Address + 8 + (20 * b_PWM) +
2) & 1);
}
- /********************/
+ /********************/
/* Read the command */
- /********************/
+ /********************/
dw_Command = inl(devpriv->s_BoardInfos.
ui_Address + 8 + (20 * b_PWM) +
s_ModuleInfo[b_ModulNbr].
s_PWMModuleInfo.
s_PWMInfo[b_PWM].b_TimingUnit;
- } // if (dw_Status & 0x10)
+ } /* if (dw_Status & 0x10) */
else {
- /***********************/
+ /***********************/
/* PWM not initialised */
- /***********************/
+ /***********************/
DPRINTK("PWM not initialised\n");
i_ReturnValue = -5;
- } // if (dw_Status & 0x10)
- } // if (b_PWM >= 0 && b_PWM <= 1)
+ } /* if (dw_Status & 0x10) */
+ } /* if (b_PWM >= 0 && b_PWM <= 1) */
else {
- /******************************/
+ /******************************/
/* Tor PWM selection is wrong */
- /******************************/
+ /******************************/
DPRINTK("Tor PWM selection is wrong\n");
i_ReturnValue = -4;
- } // if (b_PWM >= 0 && b_PWM <= 1)
+ } /* if (b_PWM >= 0 && b_PWM <= 1) */
} else {
- /**********************************/
+ /**********************************/
/* The module is not a PWM module */
- /**********************************/
+ /**********************************/
DPRINTK("The module is not a PWM module\n");
i_ReturnValue = -3;
}
} else {
- /***********************/
+ /***********************/
/* Module number error */
- /***********************/
+ /***********************/
DPRINTK("Module number error\n");
i_ReturnValue = -2;
}
unsigned int dw_Status;
unsigned int dw_Command;
- devpriv->tsk_Current = current; // Save the current process task structure
+ devpriv->tsk_Current = current; /* Save the current process task structure */
/**************************/
/* Test the module number */
/**************************/
if (b_ModulNbr < 4) {
- /***************/
+ /***************/
/* Test if PWM */
- /***************/
+ /***************/
if ((devpriv->s_BoardInfos.
dw_MolduleConfiguration[b_ModulNbr] &
0xFFFF0000UL) == APCI1710_PWM) {
- /**************************/
+ /**************************/
/* Test the PWM selection */
- /**************************/
+ /**************************/
if (b_PWM <= 1) {
- /***************************/
+ /***************************/
/* Test if PWM initialised */
- /***************************/
+ /***************************/
dw_Status = inl(devpriv->s_BoardInfos.
ui_Address + 12 + (20 * b_PWM) +
(64 * b_ModulNbr));
if (dw_Status & 0x10) {
- /**********************************/
+ /**********************************/
/* Test the start level selection */
- /**********************************/
+ /**********************************/
if (b_StartLevel <= 1) {
- /**********************/
+ /**********************/
/* Test the stop mode */
- /**********************/
+ /**********************/
if (b_StopMode <= 1) {
- /***********************/
+ /***********************/
/* Test the stop level */
- /***********************/
+ /***********************/
if (b_StopLevel <= 2) {
- /*****************************/
+ /*****************************/
/* Test the extern gate mode */
- /*****************************/
+ /*****************************/
if (b_ExternGate
<= 1) {
- /*****************************/
+ /*****************************/
/* Test the interrupt action */
- /*****************************/
+ /*****************************/
if (b_InterruptEnable == APCI1710_ENABLE || b_InterruptEnable == APCI1710_DISABLE) {
- /******************************************/
+ /******************************************/
/* Test if interrupt function initialised */
- /******************************************/
+ /******************************************/
- /********************/
+ /********************/
/* Read the command */
- /********************/
+ /********************/
dw_Command
=
&
0x80;
- /********************/
+ /********************/
/* Make the command */
- /********************/
+ /********************/
dw_Command
=
=
b_InterruptEnable;
- /*******************/
+ /*******************/
/* Set the command */
- /*******************/
+ /*******************/
outl(dw_Command, devpriv->s_BoardInfos.ui_Address + 8 + (20 * b_PWM) + (64 * b_ModulNbr));
- /******************/
+ /******************/
/* Enable the PWM */
- /******************/
+ /******************/
outl(1, devpriv->s_BoardInfos.ui_Address + 12 + (20 * b_PWM) + (64 * b_ModulNbr));
- } // if (b_InterruptEnable == APCI1710_ENABLE || b_InterruptEnable == APCI1710_DISABLE)
+ } /* if (b_InterruptEnable == APCI1710_ENABLE || b_InterruptEnable == APCI1710_DISABLE) */
else {
- /********************************/
+ /********************************/
/* Interrupt parameter is wrong */
- /********************************/
+ /********************************/
DPRINTK("Interrupt parameter is wrong\n");
i_ReturnValue
=
-10;
- } // if (b_InterruptEnable == APCI1710_ENABLE || b_InterruptEnable == APCI1710_DISABLE)
- } // if (b_ExternGate >= 0 && b_ExternGate <= 1)
+ } /* if (b_InterruptEnable == APCI1710_ENABLE || b_InterruptEnable == APCI1710_DISABLE) */
+ } /* if (b_ExternGate >= 0 && b_ExternGate <= 1) */
else {
- /*****************************************/
+ /*****************************************/
/* Extern gate signal selection is wrong */
- /*****************************************/
+ /*****************************************/
DPRINTK("Extern gate signal selection is wrong\n");
i_ReturnValue
=
-9;
- } // if (b_ExternGate >= 0 && b_ExternGate <= 1)
- } // if (b_StopLevel >= 0 && b_StopLevel <= 2)
+ } /* if (b_ExternGate >= 0 && b_ExternGate <= 1) */
+ } /* if (b_StopLevel >= 0 && b_StopLevel <= 2) */
else {
- /*************************************/
+ /*************************************/
/* PWM stop level selection is wrong */
- /*************************************/
+ /*************************************/
DPRINTK("PWM stop level selection is wrong\n");
i_ReturnValue =
-8;
- } // if (b_StopLevel >= 0 && b_StopLevel <= 2)
- } // if (b_StopMode >= 0 && b_StopMode <= 1)
+ } /* if (b_StopLevel >= 0 && b_StopLevel <= 2) */
+ } /* if (b_StopMode >= 0 && b_StopMode <= 1) */
else {
- /************************************/
+ /************************************/
/* PWM stop mode selection is wrong */
- /************************************/
+ /************************************/
DPRINTK("PWM stop mode selection is wrong\n");
i_ReturnValue = -7;
- } // if (b_StopMode >= 0 && b_StopMode <= 1)
- } // if (b_StartLevel >= 0 && b_StartLevel <= 1)
+ } /* if (b_StopMode >= 0 && b_StopMode <= 1) */
+ } /* if (b_StartLevel >= 0 && b_StartLevel <= 1) */
else {
- /**************************************/
+ /**************************************/
/* PWM start level selection is wrong */
- /**************************************/
+ /**************************************/
DPRINTK("PWM start level selection is wrong\n");
i_ReturnValue = -6;
- } // if (b_StartLevel >= 0 && b_StartLevel <= 1)
- } // if (dw_Status & 0x10)
+ } /* if (b_StartLevel >= 0 && b_StartLevel <= 1) */
+ } /* if (dw_Status & 0x10) */
else {
- /***********************/
+ /***********************/
/* PWM not initialised */
- /***********************/
+ /***********************/
DPRINTK("PWM not initialised\n");
i_ReturnValue = -5;
- } // if (dw_Status & 0x10)
- } // if (b_PWM >= 0 && b_PWM <= 1)
+ } /* if (dw_Status & 0x10) */
+ } /* if (b_PWM >= 0 && b_PWM <= 1) */
else {
- /******************************/
+ /******************************/
/* Tor PWM selection is wrong */
- /******************************/
+ /******************************/
DPRINTK("Tor PWM selection is wrong\n");
i_ReturnValue = -4;
- } // if (b_PWM >= 0 && b_PWM <= 1)
+ } /* if (b_PWM >= 0 && b_PWM <= 1) */
} else {
- /**********************************/
+ /**********************************/
/* The module is not a PWM module */
- /**********************************/
+ /**********************************/
DPRINTK("The module is not a PWM module\n");
i_ReturnValue = -3;
}
} else {
- /***********************/
+ /***********************/
/* Module number error */
- /***********************/
+ /***********************/
DPRINTK("Module number error\n");
i_ReturnValue = -2;
}
/**************************/
if (b_ModulNbr < 4) {
- /***************/
+ /***************/
/* Test if PWM */
- /***************/
+ /***************/
if ((devpriv->s_BoardInfos.
dw_MolduleConfiguration[b_ModulNbr] &
0xFFFF0000UL) == APCI1710_PWM) {
- /**************************/
+ /**************************/
/* Test the PWM selection */
- /**************************/
+ /**************************/
if (b_PWM <= 1) {
- /***************************/
+ /***************************/
/* Test if PWM initialised */
- /***************************/
+ /***************************/
dw_Status = inl(devpriv->s_BoardInfos.
ui_Address + 12 + (20 * b_PWM) +
(64 * b_ModulNbr));
if (dw_Status & 0x10) {
- /***********************/
+ /***********************/
/* Test if PWM enabled */
- /***********************/
+ /***********************/
if (dw_Status & 0x1) {
- /*******************/
+ /*******************/
/* Disable the PWM */
- /*******************/
+ /*******************/
outl(0, devpriv->s_BoardInfos.
ui_Address + 12 +
(20 * b_PWM) +
(64 * b_ModulNbr));
- } // if (dw_Status & 0x1)
+ } /* if (dw_Status & 0x1) */
else {
- /*******************/
+ /*******************/
/* PWM not enabled */
- /*******************/
+ /*******************/
DPRINTK("PWM not enabled\n");
i_ReturnValue = -6;
- } // if (dw_Status & 0x1)
- } // if (dw_Status & 0x10)
+ } /* if (dw_Status & 0x1) */
+ } /* if (dw_Status & 0x10) */
else {
- /***********************/
+ /***********************/
/* PWM not initialised */
- /***********************/
+ /***********************/
DPRINTK(" PWM not initialised\n");
i_ReturnValue = -5;
- } // if (dw_Status & 0x10)
- } // if (b_PWM >= 0 && b_PWM <= 1)
+ } /* if (dw_Status & 0x10) */
+ } /* if (b_PWM >= 0 && b_PWM <= 1) */
else {
- /******************************/
+ /******************************/
/* Tor PWM selection is wrong */
- /******************************/
+ /******************************/
DPRINTK("Tor PWM selection is wrong\n");
i_ReturnValue = -4;
- } // if (b_PWM >= 0 && b_PWM <= 1)
+ } /* if (b_PWM >= 0 && b_PWM <= 1) */
} else {
- /**********************************/
+ /**********************************/
/* The module is not a PWM module */
- /**********************************/
+ /**********************************/
DPRINTK("The module is not a PWM module\n");
i_ReturnValue = -3;
}
} else {
- /***********************/
+ /***********************/
/* Module number error */
- /***********************/
+ /***********************/
DPRINTK("Module number error\n");
i_ReturnValue = -2;
}
/**************************/
if (b_ModulNbr < 4) {
- /***************/
+ /***************/
/* Test if PWM */
- /***************/
+ /***************/
if ((devpriv->s_BoardInfos.
dw_MolduleConfiguration[b_ModulNbr] &
0xFFFF0000UL) == APCI1710_PWM) {
- /**************************/
+ /**************************/
/* Test the PWM selection */
- /**************************/
+ /**************************/
if (b_PWM <= 1) {
- /***************************/
+ /***************************/
/* Test if PWM initialised */
- /***************************/
+ /***************************/
dw_Status = inl(devpriv->s_BoardInfos.
ui_Address + 12 + (20 * b_PWM) +
s_PWMModuleInfo.
b_ClockSelection;
- /************************/
+ /************************/
/* Test the timing unit */
- /************************/
+ /************************/
if (b_TimingUnit <= 4) {
- /*********************************/
+ /*********************************/
/* Test the low timing selection */
- /*********************************/
+ /*********************************/
if (((b_ClockSelection ==
APCI1710_30MHZ)
&& (ul_LowTiming
<=
7UL))) {
- /**********************************/
+ /**********************************/
/* Test the High timing selection */
- /**********************************/
+ /**********************************/
if (((b_ClockSelection == APCI1710_30MHZ) && (b_TimingUnit == 0) && (ul_HighTiming >= 266) && (ul_HighTiming <= 0xFFFFFFFFUL)) || ((b_ClockSelection == APCI1710_30MHZ) && (b_TimingUnit == 1) && (ul_HighTiming >= 1) && (ul_HighTiming <= 571230650UL)) || ((b_ClockSelection == APCI1710_30MHZ) && (b_TimingUnit == 2) && (ul_HighTiming >= 1) && (ul_HighTiming <= 571230UL)) || ((b_ClockSelection == APCI1710_30MHZ) && (b_TimingUnit == 3) && (ul_HighTiming >= 1) && (ul_HighTiming <= 571UL)) || ((b_ClockSelection == APCI1710_30MHZ) && (b_TimingUnit == 4) && (ul_HighTiming >= 1) && (ul_HighTiming <= 9UL)) || ((b_ClockSelection == APCI1710_33MHZ) && (b_TimingUnit == 0) && (ul_HighTiming >= 242) && (ul_HighTiming <= 0xFFFFFFFFUL)) || ((b_ClockSelection == APCI1710_33MHZ) && (b_TimingUnit == 1) && (ul_HighTiming >= 1) && (ul_HighTiming <= 519691043UL)) || ((b_ClockSelection == APCI1710_33MHZ) && (b_TimingUnit == 2) && (ul_HighTiming >= 1) && (ul_HighTiming <= 519691UL)) || ((b_ClockSelection == APCI1710_33MHZ) && (b_TimingUnit == 3) && (ul_HighTiming >= 1) && (ul_HighTiming <= 520UL)) || ((b_ClockSelection == APCI1710_33MHZ) && (b_TimingUnit == 4) && (ul_HighTiming >= 1) && (ul_HighTiming <= 8UL)) || ((b_ClockSelection == APCI1710_40MHZ) && (b_TimingUnit == 0) && (ul_HighTiming >= 200) && (ul_HighTiming <= 0xFFFFFFFFUL)) || ((b_ClockSelection == APCI1710_40MHZ) && (b_TimingUnit == 1) && (ul_HighTiming >= 1) && (ul_HighTiming <= 429496729UL)) || ((b_ClockSelection == APCI1710_40MHZ) && (b_TimingUnit == 2) && (ul_HighTiming >= 1) && (ul_HighTiming <= 429496UL)) || ((b_ClockSelection == APCI1710_40MHZ) && (b_TimingUnit == 3) && (ul_HighTiming >= 1) && (ul_HighTiming <= 429UL)) || ((b_ClockSelection == APCI1710_40MHZ) && (b_TimingUnit == 4) && (ul_HighTiming >= 1) && (ul_HighTiming <= 7UL))) {
- /************************************/
+ /************************************/
/* Calculate the low division fator */
- /************************************/
+ /************************************/
fpu_begin();
switch (b_TimingUnit) {
- /******/
+ /******/
/* ns */
- /******/
+ /******/
case 0:
- /******************/
+ /******************/
/* Timer 0 factor */
- /******************/
+ /******************/
ul_LowTimerValue
=
*
(0.00025 * b_ClockSelection));
- /*******************/
+ /*******************/
/* Round the value */
- /*******************/
+ /*******************/
if ((double)((double)ul_LowTiming * (0.00025 * (double)b_ClockSelection)) >= ((double)((double)ul_LowTimerValue + 0.5))) {
ul_LowTimerValue
1;
}
- /*****************************/
+ /*****************************/
/* Calculate the real timing */
- /*****************************/
+ /*****************************/
ul_RealLowTiming
=
break;
- /******/
+ /******/
/* æs */
- /******/
+ /******/
case 1:
- /******************/
+ /******************/
/* Timer 0 factor */
- /******************/
+ /******************/
ul_LowTimerValue
=
*
(0.25 * b_ClockSelection));
- /*******************/
+ /*******************/
/* Round the value */
- /*******************/
+ /*******************/
if ((double)((double)ul_LowTiming * (0.25 * (double)b_ClockSelection)) >= ((double)((double)ul_LowTimerValue + 0.5))) {
ul_LowTimerValue
1;
}
- /*****************************/
+ /*****************************/
/* Calculate the real timing */
- /*****************************/
+ /*****************************/
ul_RealLowTiming
=
break;
- /******/
+ /******/
/* ms */
- /******/
+ /******/
case 2:
- /******************/
+ /******************/
/* Timer 0 factor */
- /******************/
+ /******************/
ul_LowTimerValue
=
*
b_ClockSelection);
- /*******************/
+ /*******************/
/* Round the value */
- /*******************/
+ /*******************/
if ((double)((double)ul_LowTiming * (250.0 * (double)b_ClockSelection)) >= ((double)((double)ul_LowTimerValue + 0.5))) {
ul_LowTimerValue
1;
}
- /*****************************/
+ /*****************************/
/* Calculate the real timing */
- /*****************************/
+ /*****************************/
ul_RealLowTiming
=
break;
- /*****/
+ /*****/
/* s */
- /*****/
+ /*****/
case 3:
- /******************/
+ /******************/
/* Timer 0 factor */
- /******************/
+ /******************/
ul_LowTimerValue
=
*
b_ClockSelection));
- /*******************/
+ /*******************/
/* Round the value */
- /*******************/
+ /*******************/
if ((double)((double)ul_LowTiming * (250000.0 * (double)b_ClockSelection)) >= ((double)((double)ul_LowTimerValue + 0.5))) {
ul_LowTimerValue
1;
}
- /*****************************/
+ /*****************************/
/* Calculate the real timing */
- /*****************************/
+ /*****************************/
ul_RealLowTiming
=
break;
- /******/
+ /******/
/* mn */
- /******/
+ /******/
case 4:
- /******************/
+ /******************/
/* Timer 0 factor */
- /******************/
+ /******************/
ul_LowTimerValue
=
*
b_ClockSelection));
- /*******************/
+ /*******************/
/* Round the value */
- /*******************/
+ /*******************/
if ((double)((double)(ul_LowTiming * 60.0) * (250000.0 * (double)b_ClockSelection)) >= ((double)((double)ul_LowTimerValue + 0.5))) {
ul_LowTimerValue
1;
}
- /*****************************/
+ /*****************************/
/* Calculate the real timing */
- /*****************************/
+ /*****************************/
ul_RealLowTiming
=
break;
}
- /*************************************/
+ /*************************************/
/* Calculate the high division fator */
- /*************************************/
+ /*************************************/
switch (b_TimingUnit) {
- /******/
+ /******/
/* ns */
- /******/
+ /******/
case 0:
- /******************/
+ /******************/
/* Timer 0 factor */
- /******************/
+ /******************/
ul_HighTimerValue
=
*
(0.00025 * b_ClockSelection));
- /*******************/
+ /*******************/
/* Round the value */
- /*******************/
+ /*******************/
if ((double)((double)ul_HighTiming * (0.00025 * (double)b_ClockSelection)) >= ((double)((double)ul_HighTimerValue + 0.5))) {
ul_HighTimerValue
1;
}
- /*****************************/
+ /*****************************/
/* Calculate the real timing */
- /*****************************/
+ /*****************************/
ul_RealHighTiming
=
break;
- /******/
+ /******/
/* æs */
- /******/
+ /******/
case 1:
- /******************/
+ /******************/
/* Timer 0 factor */
- /******************/
+ /******************/
ul_HighTimerValue
=
*
(0.25 * b_ClockSelection));
- /*******************/
+ /*******************/
/* Round the value */
- /*******************/
+ /*******************/
if ((double)((double)ul_HighTiming * (0.25 * (double)b_ClockSelection)) >= ((double)((double)ul_HighTimerValue + 0.5))) {
ul_HighTimerValue
1;
}
- /*****************************/
+ /*****************************/
/* Calculate the real timing */
- /*****************************/
+ /*****************************/
ul_RealHighTiming
=
break;
- /******/
+ /******/
/* ms */
- /******/
+ /******/
case 2:
- /******************/
+ /******************/
/* Timer 0 factor */
- /******************/
+ /******************/
ul_HighTimerValue
=
*
b_ClockSelection);
- /*******************/
+ /*******************/
/* Round the value */
- /*******************/
+ /*******************/
if ((double)((double)ul_HighTiming * (250.0 * (double)b_ClockSelection)) >= ((double)((double)ul_HighTimerValue + 0.5))) {
ul_HighTimerValue
1;
}
- /*****************************/
+ /*****************************/
/* Calculate the real timing */
- /*****************************/
+ /*****************************/
ul_RealHighTiming
=
break;
- /*****/
+ /*****/
/* s */
- /*****/
+ /*****/
case 3:
- /******************/
+ /******************/
/* Timer 0 factor */
- /******************/
+ /******************/
ul_HighTimerValue
=
*
b_ClockSelection));
- /*******************/
+ /*******************/
/* Round the value */
- /*******************/
+ /*******************/
if ((double)((double)ul_HighTiming * (250000.0 * (double)b_ClockSelection)) >= ((double)((double)ul_HighTimerValue + 0.5))) {
ul_HighTimerValue
1;
}
- /*****************************/
+ /*****************************/
/* Calculate the real timing */
- /*****************************/
+ /*****************************/
ul_RealHighTiming
=
break;
- /******/
+ /******/
/* mn */
- /******/
+ /******/
case 4:
- /******************/
+ /******************/
/* Timer 0 factor */
- /******************/
+ /******************/
ul_HighTimerValue
=
*
b_ClockSelection));
- /*******************/
+ /*******************/
/* Round the value */
- /*******************/
+ /*******************/
if ((double)((double)(ul_HighTiming * 60.0) * (250000.0 * (double)b_ClockSelection)) >= ((double)((double)ul_HighTimerValue + 0.5))) {
ul_HighTimerValue
1;
}
- /*****************************/
+ /*****************************/
/* Calculate the real timing */
- /*****************************/
+ /*****************************/
ul_RealHighTiming
=
fpu_end();
- /************************/
+ /************************/
/* Save the timing unit */
- /************************/
+ /************************/
devpriv->
s_ModuleInfo
=
b_TimingUnit;
- /****************************/
+ /****************************/
/* Save the low base timing */
- /****************************/
+ /****************************/
devpriv->
s_ModuleInfo
=
ul_RealLowTiming;
- /****************************/
+ /****************************/
/* Save the high base timing */
- /****************************/
+ /****************************/
devpriv->
s_ModuleInfo
=
ul_RealHighTiming;
- /************************/
+ /************************/
/* Write the low timing */
- /************************/
+ /************************/
outl(ul_LowTimerValue, devpriv->s_BoardInfos.ui_Address + 0 + (20 * b_PWM) + (64 * b_ModulNbr));
- /*************************/
+ /*************************/
/* Write the high timing */
- /*************************/
+ /*************************/
outl(ul_HighTimerValue, devpriv->s_BoardInfos.ui_Address + 4 + (20 * b_PWM) + (64 * b_ModulNbr));
- /***************************/
+ /***************************/
/* Set the clock selection */
- /***************************/
+ /***************************/
dw_Command =
inl
0x80;
}
- /***************************/
+ /***************************/
/* Set the clock selection */
- /***************************/
+ /***************************/
outl(dw_Command,
devpriv->
+ 8 +
(20 * b_PWM) + (64 * b_ModulNbr));
} else {
- /***************************************/
+ /***************************************/
/* High base timing selection is wrong */
- /***************************************/
+ /***************************************/
DPRINTK("High base timing selection is wrong\n");
i_ReturnValue =
-8;
}
} else {
- /**************************************/
+ /**************************************/
/* Low base timing selection is wrong */
- /**************************************/
+ /**************************************/
DPRINTK("Low base timing selection is wrong\n");
i_ReturnValue = -7;
}
- } // if ((b_TimingUnit >= 0) && (b_TimingUnit <= 4))
+ } /* if ((b_TimingUnit >= 0) && (b_TimingUnit <= 4)) */
else {
- /**********************************/
+ /**********************************/
/* Timing unit selection is wrong */
- /**********************************/
+ /**********************************/
DPRINTK("Timing unit selection is wrong\n");
i_ReturnValue = -6;
- } // if ((b_TimingUnit >= 0) && (b_TimingUnit <= 4))
- } // if (dw_Status & 0x10)
+ } /* if ((b_TimingUnit >= 0) && (b_TimingUnit <= 4)) */
+ } /* if (dw_Status & 0x10) */
else {
- /***********************/
+ /***********************/
/* PWM not initialised */
- /***********************/
+ /***********************/
DPRINTK("PWM not initialised\n");
i_ReturnValue = -5;
- } // if (dw_Status & 0x10)
- } // if (b_PWM >= 0 && b_PWM <= 1)
+ } /* if (dw_Status & 0x10) */
+ } /* if (b_PWM >= 0 && b_PWM <= 1) */
else {
- /******************************/
+ /******************************/
/* Tor PWM selection is wrong */
- /******************************/
+ /******************************/
DPRINTK("Tor PWM selection is wrong\n");
i_ReturnValue = -4;
- } // if (b_PWM >= 0 && b_PWM <= 1)
+ } /* if (b_PWM >= 0 && b_PWM <= 1) */
} else {
- /**********************************/
+ /**********************************/
/* The module is not a PWM module */
- /**********************************/
+ /**********************************/
DPRINTK("The module is not a PWM module\n");
i_ReturnValue = -3;
}
} else {
- /***********************/
+ /***********************/
/* Module number error */
- /***********************/
+ /***********************/
DPRINTK("Module number error\n");
i_ReturnValue = -2;
}
/**************************/
if (b_ModulNbr < 4) {
- /***************/
+ /***************/
/* Test if PWM */
- /***************/
+ /***************/
if ((devpriv->s_BoardInfos.
dw_MolduleConfiguration[b_ModulNbr] &
0xFFFF0000UL) == APCI1710_PWM) {
- /**************************/
+ /**************************/
/* Test the PWM selection */
- /**************************/
+ /**************************/
if (b_PWM <= 1) {
- /***************************/
+ /***************************/
/* Test if PWM initialised */
- /***************************/
+ /***************************/
dw_Status = inl(devpriv->s_BoardInfos.
ui_Address + 12 + (20 * b_PWM) +
(64 * b_ModulNbr));
if (dw_Status & 0x10) {
- /***********************/
+ /***********************/
/* Test if PWM enabled */
- /***********************/
+ /***********************/
if (dw_Status & 0x1) {
*pb_PWMOutputStatus =
*pb_ExternGateStatus =
(unsigned char) ((dw_Status >> 6)
& 1);
- } // if (dw_Status & 0x1)
+ } /* if (dw_Status & 0x1) */
else {
- /*******************/
+ /*******************/
/* PWM not enabled */
- /*******************/
+ /*******************/
DPRINTK("PWM not enabled \n");
i_ReturnValue = -6;
- } // if (dw_Status & 0x1)
- } // if (dw_Status & 0x10)
+ } /* if (dw_Status & 0x1) */
+ } /* if (dw_Status & 0x10) */
else {
- /***********************/
+ /***********************/
/* PWM not initialised */
- /***********************/
+ /***********************/
DPRINTK("PWM not initialised\n");
i_ReturnValue = -5;
- } // if (dw_Status & 0x10)
- } // if (b_PWM >= 0 && b_PWM <= 1)
+ } /* if (dw_Status & 0x10) */
+ } /* if (b_PWM >= 0 && b_PWM <= 1) */
else {
- /******************************/
+ /******************************/
/* Tor PWM selection is wrong */
- /******************************/
+ /******************************/
DPRINTK("Tor PWM selection is wrong\n");
i_ReturnValue = -4;
- } // if (b_PWM >= 0 && b_PWM <= 1)
+ } /* if (b_PWM >= 0 && b_PWM <= 1) */
} else {
- /**********************************/
+ /**********************************/
/* The module is not a PWM module */
- /**********************************/
+ /**********************************/
DPRINTK("The module is not a PWM module\n");
i_ReturnValue = -3;
}
} else {
- /***********************/
+ /***********************/
/* Module number error */
- /***********************/
+ /***********************/
DPRINTK("Module number error\n");
i_ReturnValue = -2;
s_FIFOInterruptParameters[devpriv->
s_InterruptParameters.ui_Read].ul_OldCounterLatchValue;
- /**************************/
+ /**************************/
/* Increment the read FIFO */
- /***************************/
+ /***************************/
devpriv->
s_InterruptParameters.