Lines Matching refs:prog
4286 lom_prog_t *prog;
4293 prog = (lom_prog_t *)kmem_alloc(sizeof (lom_prog_t), KM_SLEEP);
4295 if (ddi_copyin((caddr_t)arg, (caddr_t)prog, sizeof (*prog),
4297 kmem_free((void *)prog, sizeof (*prog));
4302 "index 0x%x size 0x%x", prog->index, prog->size);
4305 if (prog->size == 0) {
4306 if (prog->index == 2) {
4313 prog->data[0] = bscv_get8_cached(ssp,
4316 if (ddi_copyout((caddr_t)prog, (caddr_t)arg,
4320 } else if (prog->index == 0) {
4322 } else if (prog->index == 1) {
4332 res = bscv_prog_receive_image(ssp, prog,
4336 kmem_free((void *)prog, sizeof (lom_prog_t));
4786 bscv_prog_receive_image(bscv_soft_state_t *ssp, lom_prog_t *prog,
4794 if ((prog->index & 0x7FFF) != ssp->prog_index) {
4797 prog->index & 0x7fff, ssp->prog_index);
4806 if ((prog->index & 0x7fff) == 0) {
4811 if ((ssp->image_ptr + prog->size) > max_size) {
4814 (ssp->image_ptr + prog->size), max_size);
4817 bcopy(prog->data, &imagep[ssp->image_ptr], prog->size);
4818 ssp->image_ptr += prog->size;
4822 if (prog->index & 0x8000) {
4947 /* Ensure prog mode entry to enable PRGMODE_OFF */