is_done
static int is_done;
if (is_done != 0) {
if (is_done < 0)
result = is_done;
is_done = result;
is_done = 1;
is_done = 1;
int zynqmp_pm_is_sram_init_done(bool *is_done)
if (!is_done)
*is_done = true;
*is_done = false;
while (!is_done(task))
while (!is_done(task))
if (!read_poll_timeout_atomic(ops->is_done, done, done, 2,
ops->is_done(dev), timeout))
.is_done = orion_mdio_smi_is_done,
.is_done = orion_mdio_xsmi_is_done,
int (*is_done)(struct orion_mdio_dev *);
int is_done = 0;
is_done = 1;
is_done = 1;
} while (!is_done && (ret >= 0));
unsigned int count, bufferspace, is_done;
is_done = (count < ep->ep.maxpacket);
is_done = 1;
is_done ? " (done)" : "");
if (is_done)
return is_done;
bool is_done = false;
is_done = true;
is_done = true;
if (is_done) {
return pkt->handler->prepare(pkt, is_done);
static int usbhsf_dma_prepare_pop(struct usbhs_pkt *pkt, int *is_done)
return usbhsf_dma_prepare_pop_with_usb_dmac(pkt, is_done);
return usbhsf_dma_prepare_pop_with_rx_irq(pkt, is_done);
static int usbhsf_dma_try_pop_with_rx_irq(struct usbhs_pkt *pkt, int *is_done)
return pkt->handler->try_run(pkt, is_done);
static int usbhsf_dma_try_pop(struct usbhs_pkt *pkt, int *is_done)
return usbhsf_dma_try_pop_with_rx_irq(pkt, is_done);
static int usbhsf_dma_pop_done_with_rx_irq(struct usbhs_pkt *pkt, int *is_done)
*is_done = 1;
usbhsf_prepare_pop(pkt, is_done);
int *is_done)
*is_done = 1;
static int usbhsf_dma_pop_done(struct usbhs_pkt *pkt, int *is_done)
return usbhsf_dma_pop_done_with_usb_dmac(pkt, is_done);
return usbhsf_dma_pop_done_with_rx_irq(pkt, is_done);
int (*func)(struct usbhs_pkt *pkt, int *is_done);
int is_done = 0;
ret = func(pkt, &is_done);
if (is_done)
if (is_done) {
static int usbhsf_null_handle(struct usbhs_pkt *pkt, int *is_done)
static int usbhs_dcp_dir_switch_to_write(struct usbhs_pkt *pkt, int *is_done)
static int usbhs_dcp_dir_switch_to_read(struct usbhs_pkt *pkt, int *is_done)
static int usbhs_dcp_dir_switch_done(struct usbhs_pkt *pkt, int *is_done)
*is_done = 1;
static int usbhsf_dcp_data_stage_try_push(struct usbhs_pkt *pkt, int *is_done)
return pkt->handler->prepare(pkt, is_done);
int *is_done)
return pkt->handler->prepare(pkt, is_done);
static int usbhsf_pio_try_push(struct usbhs_pkt *pkt, int *is_done)
*is_done = 0; /* there are remainder data */
*is_done = 1; /* short packet */
*is_done = !pkt->zero; /* send zero packet ? */
usbhsf_tx_irq_ctrl(pipe, !*is_done);
usbhs_pipe_running(pipe, !*is_done);
pkt->length, pkt->actual, *is_done, pkt->zero);
static int usbhsf_pio_prepare_push(struct usbhs_pkt *pkt, int *is_done)
return usbhsf_pio_try_push(pkt, is_done);
static int usbhsf_prepare_pop(struct usbhs_pkt *pkt, int *is_done)
static int usbhsf_pio_try_pop(struct usbhs_pkt *pkt, int *is_done)
*is_done = 1;
pkt->length, pkt->actual, *is_done, pkt->zero);
static int usbhsf_ctrl_stage_end(struct usbhs_pkt *pkt, int *is_done)
*is_done = 1;
static int usbhsf_dma_prepare_push(struct usbhs_pkt *pkt, int *is_done)
return pkt->handler->prepare(pkt, is_done);
static int usbhsf_dma_push_done(struct usbhs_pkt *pkt, int *is_done)
*is_done = 0; /* there are remainder data */
*is_done = 1; /* short packet */
*is_done = !pkt->zero; /* send zero packet? */
usbhs_pipe_running(pipe, !*is_done);
if (!*is_done) {
return pkt->handler->try_run(pkt, is_done);
int *is_done)
return usbhsf_prepare_pop(pkt, is_done);
int *is_done)
int (*prepare)(struct usbhs_pkt *pkt, int *is_done);
int (*try_run)(struct usbhs_pkt *pkt, int *is_done);
int (*dma_done)(struct usbhs_pkt *pkt, int *is_done);
int zynqmp_pm_is_sram_init_done(bool *is_done);
static inline int zynqmp_pm_is_sram_init_done(bool *is_done)