ser12 129 drivers/net/hamradio/baycom_ser_fdx.c } ser12; ser12 199 drivers/net/hamradio/baycom_ser_fdx.c bc->modem.ser12.pll_time; ser12 204 drivers/net/hamradio/baycom_ser_fdx.c bc->modem.ser12.pll_time += bc->baud_us; ser12 205 drivers/net/hamradio/baycom_ser_fdx.c bc->modem.ser12.dcd_time--; ser12 214 drivers/net/hamradio/baycom_ser_fdx.c if (bc->modem.ser12.dcd_time <= 0) { ser12 216 drivers/net/hamradio/baycom_ser_fdx.c hdlcdrv_setdcd(&bc->hdrv, (bc->modem.ser12.dcd_sum0 + ser12 217 drivers/net/hamradio/baycom_ser_fdx.c bc->modem.ser12.dcd_sum1 + ser12 218 drivers/net/hamradio/baycom_ser_fdx.c bc->modem.ser12.dcd_sum2) < 0); ser12 219 drivers/net/hamradio/baycom_ser_fdx.c bc->modem.ser12.dcd_sum2 = bc->modem.ser12.dcd_sum1; ser12 220 drivers/net/hamradio/baycom_ser_fdx.c bc->modem.ser12.dcd_sum1 = bc->modem.ser12.dcd_sum0; ser12 221 drivers/net/hamradio/baycom_ser_fdx.c bc->modem.ser12.dcd_sum0 = 2; /* slight bias */ ser12 222 drivers/net/hamradio/baycom_ser_fdx.c bc->modem.ser12.dcd_time += 120; ser12 224 drivers/net/hamradio/baycom_ser_fdx.c if (bc->modem.ser12.last_rxbit != curs) { ser12 225 drivers/net/hamradio/baycom_ser_fdx.c bc->modem.ser12.last_rxbit = curs; ser12 229 drivers/net/hamradio/baycom_ser_fdx.c bc->modem.ser12.pll_time += bdus8; ser12 231 drivers/net/hamradio/baycom_ser_fdx.c bc->modem.ser12.pll_time += 1000000 - bdus8; ser12 234 drivers/net/hamradio/baycom_ser_fdx.c bc->modem.ser12.dcd_sum0 += 4; ser12 236 drivers/net/hamradio/baycom_ser_fdx.c bc->modem.ser12.dcd_sum0--; ser12 241 drivers/net/hamradio/baycom_ser_fdx.c while (bc->modem.ser12.pll_time >= 1000000) ser12 242 drivers/net/hamradio/baycom_ser_fdx.c bc->modem.ser12.pll_time -= 1000000; ser12 290 drivers/net/hamradio/baycom_ser_fdx.c outb(0x0e | (!!bc->modem.ser12.tx_bit), MCR(dev->base_addr)); ser12 306 drivers/net/hamradio/baycom_ser_fdx.c if (bc->modem.ser12.txshreg <= 1) { ser12 307 drivers/net/hamradio/baycom_ser_fdx.c bc->modem.ser12.txshreg = 0x10000 | hdlcdrv_getbits(&bc->hdrv); ser12 314 drivers/net/hamradio/baycom_ser_fdx.c bc->modem.ser12.tx_bit = !(bc->modem.ser12.tx_bit ^ (bc->modem.ser12.txshreg & 1)); ser12 315 drivers/net/hamradio/baycom_ser_fdx.c bc->modem.ser12.txshreg >>= 1; ser12 323 drivers/net/hamradio/baycom_ser_fdx.c bc->modem.ser12.txshreg = 1; ser12 116 drivers/net/hamradio/baycom_ser_hdx.c } ser12; ser12 193 drivers/net/hamradio/baycom_ser_hdx.c outb(0x0e | (!!bc->modem.ser12.tx_bit), MCR(dev->base_addr)); ser12 196 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.tx_bit = !(bc->modem.ser12.tx_bit ^ ser12 211 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.dcd_shreg = (bc->modem.ser12.dcd_shreg << 1) | ser12 212 drivers/net/hamradio/baycom_ser_hdx.c (cur_s != bc->modem.ser12.last_sample); ser12 213 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.last_sample = cur_s; ser12 214 drivers/net/hamradio/baycom_ser_hdx.c if(bc->modem.ser12.dcd_shreg & 1) { ser12 219 drivers/net/hamradio/baycom_ser_hdx.c dcdspos += ((bc->modem.ser12.dcd_shreg >> 1) & 1); ser12 220 drivers/net/hamradio/baycom_ser_hdx.c if (!(bc->modem.ser12.dcd_shreg & 0x7ffffffe)) ser12 222 drivers/net/hamradio/baycom_ser_hdx.c dcdsneg += ((bc->modem.ser12.dcd_shreg >> 2) & 1); ser12 223 drivers/net/hamradio/baycom_ser_hdx.c dcdsneg += ((bc->modem.ser12.dcd_shreg >> 3) & 1); ser12 224 drivers/net/hamradio/baycom_ser_hdx.c dcdsneg += ((bc->modem.ser12.dcd_shreg >> 4) & 1); ser12 226 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.dcd_sum0 += 16*dcdspos - dcdsneg; ser12 228 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.dcd_sum0--; ser12 230 drivers/net/hamradio/baycom_ser_hdx.c if(!bc->modem.ser12.dcd_time) { ser12 231 drivers/net/hamradio/baycom_ser_hdx.c hdlcdrv_setdcd(&bc->hdrv, (bc->modem.ser12.dcd_sum0 + ser12 232 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.dcd_sum1 + ser12 233 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.dcd_sum2) < 0); ser12 234 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.dcd_sum2 = bc->modem.ser12.dcd_sum1; ser12 235 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.dcd_sum1 = bc->modem.ser12.dcd_sum0; ser12 237 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.dcd_sum0 = 2; ser12 238 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.dcd_time = SER12_DCD_INTERVAL(bc); ser12 240 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.dcd_time--; ser12 245 drivers/net/hamradio/baycom_ser_hdx.c if (bc->modem.ser12.interm_sample) { ser12 254 drivers/net/hamradio/baycom_ser_hdx.c switch (bc->modem.ser12.dcd_shreg & 7) { ser12 272 drivers/net/hamradio/baycom_ser_hdx.c if (bc->modem.ser12.last_sample == ser12 273 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.last_rxbit) ser12 275 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.last_rxbit = ser12 276 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.last_sample; ser12 278 drivers/net/hamradio/baycom_ser_hdx.c if (++bc->modem.ser12.interm_sample >= 3) ser12 279 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.interm_sample = 0; ser12 283 drivers/net/hamradio/baycom_ser_hdx.c if (bc->modem.ser12.dcd_shreg & 1) { ser12 287 drivers/net/hamradio/baycom_ser_hdx.c dcdspos += ((bc->modem.ser12.dcd_shreg >> 1) & 1); ser12 288 drivers/net/hamradio/baycom_ser_hdx.c dcdspos += (!(bc->modem.ser12.dcd_shreg & 0x7ffffffe)) ser12 290 drivers/net/hamradio/baycom_ser_hdx.c dcdsneg += ((bc->modem.ser12.dcd_shreg >> 2) & 1); ser12 291 drivers/net/hamradio/baycom_ser_hdx.c dcdsneg += ((bc->modem.ser12.dcd_shreg >> 3) & 1); ser12 292 drivers/net/hamradio/baycom_ser_hdx.c dcdsneg += ((bc->modem.ser12.dcd_shreg >> 4) & 1); ser12 294 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.dcd_sum0 += 16*dcdspos - dcdsneg; ser12 300 drivers/net/hamradio/baycom_ser_hdx.c if (bc->modem.ser12.interm_sample) { ser12 309 drivers/net/hamradio/baycom_ser_hdx.c switch (bc->modem.ser12.dcd_shreg & 3) { ser12 327 drivers/net/hamradio/baycom_ser_hdx.c if (bc->modem.ser12.last_sample == ser12 328 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.last_rxbit) ser12 330 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.last_rxbit = ser12 331 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.last_sample; ser12 333 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.interm_sample = !bc->modem.ser12.interm_sample; ser12 337 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.dcd_sum0 -= (bc->modem.ser12.dcd_shreg & 1); ser12 344 drivers/net/hamradio/baycom_ser_hdx.c if(!bc->modem.ser12.dcd_time) { ser12 348 drivers/net/hamradio/baycom_ser_hdx.c hdlcdrv_setdcd(&bc->hdrv, (bc->modem.ser12.dcd_sum0 + ser12 349 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.dcd_sum1 + ser12 350 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.dcd_sum2) < 0); ser12 351 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.dcd_sum2 = bc->modem.ser12.dcd_sum1; ser12 352 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.dcd_sum1 = bc->modem.ser12.dcd_sum0; ser12 354 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.dcd_sum0 = 2; ser12 355 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.dcd_time = SER12_DCD_INTERVAL(bc); ser12 357 drivers/net/hamradio/baycom_ser_hdx.c bc->modem.ser12.dcd_time--;