Lines Matching refs:isac
51 switch (cs->dc.isac.ph_state) { in isac_new_ph()
266 cs->dc.isac.ph_state = (exval >> 2) & 0xf; in isac_interrupt()
268 debugl1(cs, "ph_state change %x", cs->dc.isac.ph_state); in isac_interrupt()
315 if (!cs->dc.isac.mon_rx) { in isac_interrupt()
316 if (!(cs->dc.isac.mon_rx = kmalloc(MAX_MON_FRAME, GFP_ATOMIC))) { in isac_interrupt()
319 cs->dc.isac.mocr &= 0xf0; in isac_interrupt()
320 cs->dc.isac.mocr |= 0x0a; in isac_interrupt()
321 cs->writeisac(cs, ISAC_MOCR, cs->dc.isac.mocr); in isac_interrupt()
324 cs->dc.isac.mon_rxp = 0; in isac_interrupt()
326 if (cs->dc.isac.mon_rxp >= MAX_MON_FRAME) { in isac_interrupt()
327 cs->dc.isac.mocr &= 0xf0; in isac_interrupt()
328 cs->dc.isac.mocr |= 0x0a; in isac_interrupt()
329 cs->writeisac(cs, ISAC_MOCR, cs->dc.isac.mocr); in isac_interrupt()
330 cs->dc.isac.mon_rxp = 0; in isac_interrupt()
335 cs->dc.isac.mon_rx[cs->dc.isac.mon_rxp++] = cs->readisac(cs, ISAC_MOR0); in isac_interrupt()
337 debugl1(cs, "ISAC MOR0 %02x", cs->dc.isac.mon_rx[cs->dc.isac.mon_rxp - 1]); in isac_interrupt()
338 if (cs->dc.isac.mon_rxp == 1) { in isac_interrupt()
339 cs->dc.isac.mocr |= 0x04; in isac_interrupt()
340 cs->writeisac(cs, ISAC_MOCR, cs->dc.isac.mocr); in isac_interrupt()
345 if (!cs->dc.isac.mon_rx) { in isac_interrupt()
346 if (!(cs->dc.isac.mon_rx = kmalloc(MAX_MON_FRAME, GFP_ATOMIC))) { in isac_interrupt()
349 cs->dc.isac.mocr &= 0x0f; in isac_interrupt()
350 cs->dc.isac.mocr |= 0xa0; in isac_interrupt()
351 cs->writeisac(cs, ISAC_MOCR, cs->dc.isac.mocr); in isac_interrupt()
354 cs->dc.isac.mon_rxp = 0; in isac_interrupt()
356 if (cs->dc.isac.mon_rxp >= MAX_MON_FRAME) { in isac_interrupt()
357 cs->dc.isac.mocr &= 0x0f; in isac_interrupt()
358 cs->dc.isac.mocr |= 0xa0; in isac_interrupt()
359 cs->writeisac(cs, ISAC_MOCR, cs->dc.isac.mocr); in isac_interrupt()
360 cs->dc.isac.mon_rxp = 0; in isac_interrupt()
365 cs->dc.isac.mon_rx[cs->dc.isac.mon_rxp++] = cs->readisac(cs, ISAC_MOR1); in isac_interrupt()
367 debugl1(cs, "ISAC MOR1 %02x", cs->dc.isac.mon_rx[cs->dc.isac.mon_rxp - 1]); in isac_interrupt()
368 cs->dc.isac.mocr |= 0x40; in isac_interrupt()
369 cs->writeisac(cs, ISAC_MOCR, cs->dc.isac.mocr); in isac_interrupt()
373 cs->dc.isac.mocr &= 0xf0; in isac_interrupt()
374 cs->writeisac(cs, ISAC_MOCR, cs->dc.isac.mocr); in isac_interrupt()
375 cs->dc.isac.mocr |= 0x0a; in isac_interrupt()
376 cs->writeisac(cs, ISAC_MOCR, cs->dc.isac.mocr); in isac_interrupt()
380 cs->dc.isac.mocr &= 0x0f; in isac_interrupt()
381 cs->writeisac(cs, ISAC_MOCR, cs->dc.isac.mocr); in isac_interrupt()
382 cs->dc.isac.mocr |= 0xa0; in isac_interrupt()
383 cs->writeisac(cs, ISAC_MOCR, cs->dc.isac.mocr); in isac_interrupt()
387 if ((!cs->dc.isac.mon_tx) || (cs->dc.isac.mon_txc && in isac_interrupt()
388 (cs->dc.isac.mon_txp >= cs->dc.isac.mon_txc) && in isac_interrupt()
390 cs->dc.isac.mocr &= 0xf0; in isac_interrupt()
391 cs->writeisac(cs, ISAC_MOCR, cs->dc.isac.mocr); in isac_interrupt()
392 cs->dc.isac.mocr |= 0x0a; in isac_interrupt()
393 cs->writeisac(cs, ISAC_MOCR, cs->dc.isac.mocr); in isac_interrupt()
394 if (cs->dc.isac.mon_txc && in isac_interrupt()
395 (cs->dc.isac.mon_txp >= cs->dc.isac.mon_txc)) in isac_interrupt()
399 if (cs->dc.isac.mon_txc && (cs->dc.isac.mon_txp >= cs->dc.isac.mon_txc)) { in isac_interrupt()
404 cs->dc.isac.mon_tx[cs->dc.isac.mon_txp++]); in isac_interrupt()
406 debugl1(cs, "ISAC %02x -> MOX0", cs->dc.isac.mon_tx[cs->dc.isac.mon_txp - 1]); in isac_interrupt()
410 if ((!cs->dc.isac.mon_tx) || (cs->dc.isac.mon_txc && in isac_interrupt()
411 (cs->dc.isac.mon_txp >= cs->dc.isac.mon_txc) && in isac_interrupt()
413 cs->dc.isac.mocr &= 0x0f; in isac_interrupt()
414 cs->writeisac(cs, ISAC_MOCR, cs->dc.isac.mocr); in isac_interrupt()
415 cs->dc.isac.mocr |= 0xa0; in isac_interrupt()
416 cs->writeisac(cs, ISAC_MOCR, cs->dc.isac.mocr); in isac_interrupt()
417 if (cs->dc.isac.mon_txc && in isac_interrupt()
418 (cs->dc.isac.mon_txp >= cs->dc.isac.mon_txc)) in isac_interrupt()
422 if (cs->dc.isac.mon_txc && (cs->dc.isac.mon_txp >= cs->dc.isac.mon_txc)) { in isac_interrupt()
427 cs->dc.isac.mon_tx[cs->dc.isac.mon_txp++]); in isac_interrupt()
429 debugl1(cs, "ISAC %02x -> MOX1", cs->dc.isac.mon_tx[cs->dc.isac.mon_txp - 1]); in isac_interrupt()
503 if ((cs->dc.isac.ph_state == ISAC_IND_EI) || in ISAC_l1hw()
504 (cs->dc.isac.ph_state == ISAC_IND_DR) || in ISAC_l1hw()
505 (cs->dc.isac.ph_state == ISAC_IND_RS)) in ISAC_l1hw()
575 kfree(cs->dc.isac.mon_rx); in DC_Close_isac()
576 cs->dc.isac.mon_rx = NULL; in DC_Close_isac()
577 kfree(cs->dc.isac.mon_tx); in DC_Close_isac()
578 cs->dc.isac.mon_tx = NULL; in DC_Close_isac()
621 cs->dc.isac.mon_tx = NULL; in initisac()
622 cs->dc.isac.mon_rx = NULL; in initisac()
624 cs->dc.isac.mocr = 0xaa; in initisac()
634 if (!cs->dc.isac.adf2) in initisac()
635 cs->dc.isac.adf2 = 0x80; in initisac()
636 cs->writeisac(cs, ISAC_ADF2, cs->dc.isac.adf2); in initisac()
666 cs->dc.isac.ph_state = (val >> 2) & 0xf; in clear_pending_isac_ints()