Lines Matching refs:intr

229 			/* The below is only used for intr subdevices */
260 } intr;
485 subpriv->dio.intr.asic = -1;
486 subpriv->dio.intr.first_chan = -1;
487 subpriv->dio.intr.asic_chan = -1;
488 subpriv->dio.intr.num_asic_chans = -1;
489 subpriv->dio.intr.active = 0;
505 && subpriv->dio.intr.asic < 0) {
510 subpriv->dio.intr.asic = asic;
511 subpriv->dio.intr.active = 0;
512 subpriv->dio.intr.stop_count = 0;
513 subpriv->dio.intr.first_chan = byte_no * 8;
514 subpriv->dio.intr.asic_chan = thisasic_chanct;
515 subpriv->dio.intr.num_asic_chans =
516 s->n_chan - subpriv->dio.intr.first_chan;
521 subpriv->dio.intr.num_asic_chans;
525 spin_lock_init(&subpriv->dio.intr.spinlock);
532 * to do intr subdevs
902 if (subpriv->dio.intr.asic == asic) {
907 intr.spinlock,
912 if (subpriv->dio.intr.active) {
915 subpriv->dio.intr.asic_chan)
918 dio.intr.
921 dio.intr.first_chan;
924 intr.enabled_mask) {
957 if (!subpriv->dio.intr.continuous) {
959 if (subpriv->dio.intr.stop_count > 0) {
960 subpriv->dio.intr.stop_count--;
961 if (subpriv->dio.intr.stop_count == 0) {
974 (&subpriv->dio.intr.
999 asic = subpriv->dio.intr.asic;
1003 subpriv->dio.intr.enabled_mask = 0;
1004 subpriv->dio.intr.active = 0;
1006 nports = subpriv->dio.intr.num_asic_chans / CHANS_PER_PORT;
1007 firstport = subpriv->dio.intr.asic_chan / CHANS_PER_PORT;
1018 if (!subpriv->dio.intr.continuous && subpriv->dio.intr.stop_count == 0) {
1021 subpriv->dio.intr.active = 0;
1028 asic = subpriv->dio.intr.asic;
1032 subpriv->dio.intr.enabled_mask = 0;
1033 subpriv->dio.intr.active = 1;
1034 nports = subpriv->dio.intr.num_asic_chans / CHANS_PER_PORT;
1035 firstport = subpriv->dio.intr.asic_chan / CHANS_PER_PORT;
1045 bits &= ((0x1 << subpriv->dio.intr.num_asic_chans) -
1046 1) << subpriv->dio.intr.first_chan;
1047 subpriv->dio.intr.enabled_mask = bits;
1069 bits >> (subpriv->dio.intr.first_chan + (port -
1072 pol_bits >> (subpriv->dio.intr.first_chan +
1089 spin_lock_irqsave(&subpriv->dio.intr.spinlock, flags);
1090 if (subpriv->dio.intr.active)
1092 spin_unlock_irqrestore(&subpriv->dio.intr.spinlock, flags);
1110 spin_lock_irqsave(&subpriv->dio.intr.spinlock, flags);
1112 if (subpriv->dio.intr.active)
1114 spin_unlock_irqrestore(&subpriv->dio.intr.spinlock, flags);
1131 spin_lock_irqsave(&subpriv->dio.intr.spinlock, flags);
1132 subpriv->dio.intr.active = 1;
1137 subpriv->dio.intr.continuous = 0;
1138 subpriv->dio.intr.stop_count = cmd->stop_arg;
1142 subpriv->dio.intr.continuous = 1;
1143 subpriv->dio.intr.stop_count = 0;
1157 spin_unlock_irqrestore(&subpriv->dio.intr.spinlock, flags);