Lines Matching refs:ctx

122 			     struct at86rf230_state_change *ctx,
348 struct at86rf230_state_change *ctx = context; in at86rf230_async_error_recover() local
349 struct at86rf230_local *lp = ctx->lp; in at86rf230_async_error_recover()
352 at86rf230_async_state_change(lp, ctx, STATE_RX_AACK_ON, NULL); in at86rf230_async_error_recover()
354 if (ctx->free) in at86rf230_async_error_recover()
355 kfree(ctx); in at86rf230_async_error_recover()
360 struct at86rf230_state_change *ctx, int rc) in at86rf230_async_error() argument
364 at86rf230_async_state_change(lp, ctx, STATE_FORCE_TRX_OFF, in at86rf230_async_error()
371 struct at86rf230_state_change *ctx, in at86rf230_async_read_reg() argument
376 u8 *tx_buf = ctx->buf; in at86rf230_async_read_reg()
379 ctx->msg.complete = complete; in at86rf230_async_read_reg()
380 rc = spi_async(lp->spi, &ctx->msg); in at86rf230_async_read_reg()
382 at86rf230_async_error(lp, ctx, rc); in at86rf230_async_read_reg()
387 struct at86rf230_state_change *ctx, in at86rf230_async_write_reg() argument
392 ctx->buf[0] = (reg & CMD_REG_MASK) | CMD_REG | CMD_WRITE; in at86rf230_async_write_reg()
393 ctx->buf[1] = val; in at86rf230_async_write_reg()
394 ctx->msg.complete = complete; in at86rf230_async_write_reg()
395 rc = spi_async(lp->spi, &ctx->msg); in at86rf230_async_write_reg()
397 at86rf230_async_error(lp, ctx, rc); in at86rf230_async_write_reg()
403 struct at86rf230_state_change *ctx = context; in at86rf230_async_state_assert() local
404 struct at86rf230_local *lp = ctx->lp; in at86rf230_async_state_assert()
405 const u8 *buf = ctx->buf; in at86rf230_async_state_assert()
409 if (trx_state != ctx->to_state) { in at86rf230_async_state_assert()
420 if (ctx->to_state == STATE_RX_AACK_ON) in at86rf230_async_state_assert()
436 if (ctx->to_state == STATE_TX_ON || in at86rf230_async_state_assert()
437 ctx->to_state == STATE_TRX_OFF) { in at86rf230_async_state_assert()
438 u8 state = ctx->to_state; in at86rf230_async_state_assert()
444 at86rf230_async_state_change(lp, ctx, state, in at86rf230_async_state_assert()
445 ctx->complete); in at86rf230_async_state_assert()
451 ctx->from_state, ctx->to_state, trx_state); in at86rf230_async_state_assert()
455 if (ctx->complete) in at86rf230_async_state_assert()
456 ctx->complete(context); in at86rf230_async_state_assert()
461 struct at86rf230_state_change *ctx = in at86rf230_async_state_timer() local
463 struct at86rf230_local *lp = ctx->lp; in at86rf230_async_state_timer()
465 at86rf230_async_read_reg(lp, RG_TRX_STATUS, ctx, in at86rf230_async_state_timer()
475 struct at86rf230_state_change *ctx = context; in at86rf230_async_state_delay() local
476 struct at86rf230_local *lp = ctx->lp; in at86rf230_async_state_delay()
486 switch (ctx->to_state) { in at86rf230_async_state_delay()
488 ctx->to_state = STATE_TX_ON; in at86rf230_async_state_delay()
492 ctx->to_state = STATE_TRX_OFF; in at86rf230_async_state_delay()
499 switch (ctx->from_state) { in at86rf230_async_state_delay()
501 switch (ctx->to_state) { in at86rf230_async_state_delay()
524 switch (ctx->to_state) { in at86rf230_async_state_delay()
543 switch (ctx->to_state) { in at86rf230_async_state_delay()
557 at86rf230_async_state_timer(&ctx->timer); in at86rf230_async_state_delay()
561 hrtimer_start(&ctx->timer, tim, HRTIMER_MODE_REL); in at86rf230_async_state_delay()
567 struct at86rf230_state_change *ctx = context; in at86rf230_async_state_change_start() local
568 struct at86rf230_local *lp = ctx->lp; in at86rf230_async_state_change_start()
569 u8 *buf = ctx->buf; in at86rf230_async_state_change_start()
575 at86rf230_async_read_reg(lp, RG_TRX_STATUS, ctx, in at86rf230_async_state_change_start()
581 if (trx_state == ctx->to_state) { in at86rf230_async_state_change_start()
582 if (ctx->complete) in at86rf230_async_state_change_start()
583 ctx->complete(context); in at86rf230_async_state_change_start()
588 ctx->from_state = trx_state; in at86rf230_async_state_change_start()
593 at86rf230_async_write_reg(lp, RG_TRX_STATE, ctx->to_state, ctx, in at86rf230_async_state_change_start()
599 struct at86rf230_state_change *ctx, in at86rf230_async_state_change() argument
603 ctx->to_state = state; in at86rf230_async_state_change()
604 ctx->complete = complete; in at86rf230_async_state_change()
605 at86rf230_async_read_reg(lp, RG_TRX_STATUS, ctx, in at86rf230_async_state_change()
612 struct at86rf230_state_change *ctx = context; in at86rf230_sync_state_change_complete() local
613 struct at86rf230_local *lp = ctx->lp; in at86rf230_sync_state_change_complete()
643 struct at86rf230_state_change *ctx = context; in at86rf230_tx_complete() local
644 struct at86rf230_local *lp = ctx->lp; in at86rf230_tx_complete()
647 kfree(ctx); in at86rf230_tx_complete()
653 struct at86rf230_state_change *ctx = context; in at86rf230_tx_on() local
654 struct at86rf230_local *lp = ctx->lp; in at86rf230_tx_on()
656 at86rf230_async_state_change(lp, ctx, STATE_RX_AACK_ON, in at86rf230_tx_on()
663 struct at86rf230_state_change *ctx = context; in at86rf230_tx_trac_check() local
664 struct at86rf230_local *lp = ctx->lp; in at86rf230_tx_trac_check()
667 u8 trac = TRAC_MASK(ctx->buf[1]); in at86rf230_tx_trac_check()
691 at86rf230_async_state_change(lp, ctx, STATE_TX_ON, at86rf230_tx_on); in at86rf230_tx_trac_check()
697 struct at86rf230_state_change *ctx = context; in at86rf230_rx_read_frame_complete() local
698 struct at86rf230_local *lp = ctx->lp; in at86rf230_rx_read_frame_complete()
699 const u8 *buf = ctx->buf; in at86rf230_rx_read_frame_complete()
713 kfree(ctx); in at86rf230_rx_read_frame_complete()
719 kfree(ctx); in at86rf230_rx_read_frame_complete()
725 struct at86rf230_state_change *ctx = context; in at86rf230_rx_trac_check() local
726 struct at86rf230_local *lp = ctx->lp; in at86rf230_rx_trac_check()
727 u8 *buf = ctx->buf; in at86rf230_rx_trac_check()
750 ctx->trx.len = AT86RF2XX_MAX_BUF; in at86rf230_rx_trac_check()
751 ctx->msg.complete = at86rf230_rx_read_frame_complete; in at86rf230_rx_trac_check()
752 rc = spi_async(lp->spi, &ctx->msg); in at86rf230_rx_trac_check()
754 ctx->trx.len = 2; in at86rf230_rx_trac_check()
755 at86rf230_async_error(lp, ctx, rc); in at86rf230_rx_trac_check()
762 struct at86rf230_state_change *ctx = context; in at86rf230_irq_trx_end() local
763 struct at86rf230_local *lp = ctx->lp; in at86rf230_irq_trx_end()
767 at86rf230_async_read_reg(lp, RG_TRX_STATE, ctx, in at86rf230_irq_trx_end()
770 at86rf230_async_read_reg(lp, RG_TRX_STATE, ctx, in at86rf230_irq_trx_end()
778 struct at86rf230_state_change *ctx = context; in at86rf230_irq_status() local
779 struct at86rf230_local *lp = ctx->lp; in at86rf230_irq_status()
780 const u8 *buf = ctx->buf; in at86rf230_irq_status()
786 at86rf230_irq_trx_end(ctx); in at86rf230_irq_status()
790 kfree(ctx); in at86rf230_irq_status()
813 struct at86rf230_state_change *ctx; in at86rf230_isr() local
818 ctx = kzalloc(sizeof(*ctx), GFP_ATOMIC); in at86rf230_isr()
819 if (!ctx) { in at86rf230_isr()
824 at86rf230_setup_spi_messages(lp, ctx); in at86rf230_isr()
826 ctx->free = true; in at86rf230_isr()
828 ctx->buf[0] = (RG_IRQ_STATUS & CMD_REG_MASK) | CMD_REG; in at86rf230_isr()
829 ctx->msg.complete = at86rf230_irq_status; in at86rf230_isr()
830 rc = spi_async(lp->spi, &ctx->msg); in at86rf230_isr()
832 at86rf230_async_error(lp, ctx, rc); in at86rf230_isr()
843 struct at86rf230_state_change *ctx = context; in at86rf230_write_frame_complete() local
844 struct at86rf230_local *lp = ctx->lp; in at86rf230_write_frame_complete()
846 ctx->trx.len = 2; in at86rf230_write_frame_complete()
851 at86rf230_async_write_reg(lp, RG_TRX_STATE, STATE_BUSY_TX, ctx, in at86rf230_write_frame_complete()
858 struct at86rf230_state_change *ctx = context; in at86rf230_write_frame() local
859 struct at86rf230_local *lp = ctx->lp; in at86rf230_write_frame()
861 u8 *buf = ctx->buf; in at86rf230_write_frame()
869 ctx->trx.len = skb->len + 2; in at86rf230_write_frame()
870 ctx->msg.complete = at86rf230_write_frame_complete; in at86rf230_write_frame()
871 rc = spi_async(lp->spi, &ctx->msg); in at86rf230_write_frame()
873 ctx->trx.len = 2; in at86rf230_write_frame()
874 at86rf230_async_error(lp, ctx, rc); in at86rf230_write_frame()
881 struct at86rf230_state_change *ctx = context; in at86rf230_xmit_tx_on() local
882 struct at86rf230_local *lp = ctx->lp; in at86rf230_xmit_tx_on()
884 at86rf230_async_state_change(lp, ctx, STATE_TX_ARET_ON, in at86rf230_xmit_tx_on()
891 struct at86rf230_state_change *ctx = context; in at86rf230_xmit_start() local
892 struct at86rf230_local *lp = ctx->lp; in at86rf230_xmit_start()
897 at86rf230_async_state_change(lp, ctx, STATE_TX_ARET_ON, in at86rf230_xmit_start()
900 at86rf230_async_state_change(lp, ctx, STATE_TX_ON, in at86rf230_xmit_start()
909 struct at86rf230_state_change *ctx = &lp->tx; in at86rf230_xmit() local
923 at86rf230_async_state_change(lp, ctx, STATE_TRX_OFF, in at86rf230_xmit()
926 at86rf230_xmit_start(ctx); in at86rf230_xmit()