Loading drivers/net/benet/be_cmds.c +4 −41 Original line number Diff line number Diff line Loading @@ -227,54 +227,17 @@ static int be_POST_stage_get(struct be_adapter *adapter, u16 *stage) return 0; } static int be_POST_stage_poll(struct be_adapter *adapter, u16 poll_stage) { u16 stage, cnt, error; for (cnt = 0; cnt < 5000; cnt++) { error = be_POST_stage_get(adapter, &stage); if (error) return -1; if (stage == poll_stage) break; udelay(1000); } if (stage != poll_stage) return -1; return 0; } int be_cmd_POST(struct be_adapter *adapter) { u16 stage, error; error = be_POST_stage_get(adapter, &stage); if (error) goto err; if (stage == POST_STAGE_ARMFW_RDY) return 0; if (stage != POST_STAGE_AWAITING_HOST_RDY) goto err; /* On awaiting host rdy, reset and again poll on awaiting host rdy */ iowrite32(POST_STAGE_BE_RESET, adapter->csr + MPU_EP_SEMAPHORE_OFFSET); error = be_POST_stage_poll(adapter, POST_STAGE_AWAITING_HOST_RDY); if (error) goto err; /* Now kickoff POST and poll on armfw ready */ iowrite32(POST_STAGE_HOST_RDY, adapter->csr + MPU_EP_SEMAPHORE_OFFSET); error = be_POST_stage_poll(adapter, POST_STAGE_ARMFW_RDY); if (error) goto err; if (error || stage != POST_STAGE_ARMFW_RDY) { dev_err(&adapter->pdev->dev, "POST failed.\n"); return -1; } return 0; err: printk(KERN_WARNING DRV_NAME ": ERROR, stage=%d\n", stage); return -1; } static inline void *embedded_payload(struct be_mcc_wrb *wrb) Loading Loading
drivers/net/benet/be_cmds.c +4 −41 Original line number Diff line number Diff line Loading @@ -227,54 +227,17 @@ static int be_POST_stage_get(struct be_adapter *adapter, u16 *stage) return 0; } static int be_POST_stage_poll(struct be_adapter *adapter, u16 poll_stage) { u16 stage, cnt, error; for (cnt = 0; cnt < 5000; cnt++) { error = be_POST_stage_get(adapter, &stage); if (error) return -1; if (stage == poll_stage) break; udelay(1000); } if (stage != poll_stage) return -1; return 0; } int be_cmd_POST(struct be_adapter *adapter) { u16 stage, error; error = be_POST_stage_get(adapter, &stage); if (error) goto err; if (stage == POST_STAGE_ARMFW_RDY) return 0; if (stage != POST_STAGE_AWAITING_HOST_RDY) goto err; /* On awaiting host rdy, reset and again poll on awaiting host rdy */ iowrite32(POST_STAGE_BE_RESET, adapter->csr + MPU_EP_SEMAPHORE_OFFSET); error = be_POST_stage_poll(adapter, POST_STAGE_AWAITING_HOST_RDY); if (error) goto err; /* Now kickoff POST and poll on armfw ready */ iowrite32(POST_STAGE_HOST_RDY, adapter->csr + MPU_EP_SEMAPHORE_OFFSET); error = be_POST_stage_poll(adapter, POST_STAGE_ARMFW_RDY); if (error) goto err; if (error || stage != POST_STAGE_ARMFW_RDY) { dev_err(&adapter->pdev->dev, "POST failed.\n"); return -1; } return 0; err: printk(KERN_WARNING DRV_NAME ": ERROR, stage=%d\n", stage); return -1; } static inline void *embedded_payload(struct be_mcc_wrb *wrb) Loading