Lines Matching refs:prg
428 pxtool_validate_barnum_bdf(pcitool_reg_t *prg) in pxtool_validate_barnum_bdf() argument
432 if (prg->barnum >= (sizeof (pci_bars) / sizeof (pci_bars[0]))) { in pxtool_validate_barnum_bdf()
433 prg->status = PCITOOL_OUT_OF_RANGE; in pxtool_validate_barnum_bdf()
437 } else if (((prg->bus_no & in pxtool_validate_barnum_bdf()
438 (PCI_REG_BUS_M >> PCI_REG_BUS_SHIFT)) != prg->bus_no) || in pxtool_validate_barnum_bdf()
439 ((prg->dev_no & in pxtool_validate_barnum_bdf()
440 (PCI_REG_DEV_M >> PCI_REG_DEV_SHIFT)) != prg->dev_no) || in pxtool_validate_barnum_bdf()
441 ((prg->func_no & in pxtool_validate_barnum_bdf()
442 (PCI_REG_FUNC_M >> PCI_REG_FUNC_SHIFT)) != prg->func_no)) { in pxtool_validate_barnum_bdf()
443 prg->status = PCITOOL_INVALID_ADDRESS; in pxtool_validate_barnum_bdf()
631 pcitool_reg_t prg; in pxtool_dev_reg_ops() local
643 if (ddi_copyin(arg, &prg, sizeof (pcitool_reg_t), in pxtool_dev_reg_ops()
649 if ((rval = pxtool_dev_reg_ops_platchk(dip, &prg)) != SUCCESS) { in pxtool_dev_reg_ops()
654 prg.bus_no, prg.dev_no, prg.func_no); in pxtool_dev_reg_ops()
656 prg.barnum, prg.offset, prg.acc_attr); in pxtool_dev_reg_ops()
658 if ((rval = pxtool_validate_barnum_bdf(&prg)) != SUCCESS) in pxtool_dev_reg_ops()
661 if (prg.barnum == 0) { /* Proper config space desired. */ in pxtool_dev_reg_ops()
664 if (prg.offset >= DEV_CFG_SPACE_SIZE) { in pxtool_dev_reg_ops()
667 prg.offset); in pxtool_dev_reg_ops()
668 prg.status = PCITOOL_OUT_OF_RANGE; in pxtool_dev_reg_ops()
692 off_in_space = PX_GET_BDF(&prg); in pxtool_dev_reg_ops()
693 prg.phys_addr = in pxtool_dev_reg_ops()
695 prg.phys_addr += prg.offset; in pxtool_dev_reg_ops()
699 "end:%s\n", off_in_space, prg.phys_addr, in pxtool_dev_reg_ops()
700 PCITOOL_ACC_IS_BIG_ENDIAN(prg.acc_attr) ? "big":"ltl"); in pxtool_dev_reg_ops()
706 rval = pxtool_pcicfg_access(px_p, &prg, &prg.data, write_flag); in pxtool_dev_reg_ops()
712 if ((rval = pxtool_get_bar(px_p, &prg, &bar, &space)) != SUCCESS) in pxtool_dev_reg_ops()
721 if ((PCI_BAR_OFFSET(prg) == PCI_CONF_ROM) && (write_flag)) { in pxtool_dev_reg_ops()
722 prg.status = PCITOOL_ROM_WRITE; in pxtool_dev_reg_ops()
739 prg.status = PCITOOL_IO_ERROR; in pxtool_dev_reg_ops()
750 off_in_space = bar + prg.offset; in pxtool_dev_reg_ops()
751 prg.phys_addr = pxtool_get_phys_addr(px_p, space, off_in_space); in pxtool_dev_reg_ops()
755 "phys_addr:0x%" PRIx64 "\n", bar, prg.offset, prg.phys_addr); in pxtool_dev_reg_ops()
757 rval = pxtool_pciiomem_access(px_p, &prg, &prg.data, write_flag); in pxtool_dev_reg_ops()
760 prg.drvr_version = PCITOOL_VERSION; in pxtool_dev_reg_ops()
761 if (ddi_copyout(&prg, arg, sizeof (pcitool_reg_t), in pxtool_dev_reg_ops()