Lines Matching refs:behavior
466 const struct pci_bridge_reg_behavior *behavior; in pci_bridge_emul_conf_read() local
472 behavior = bridge->pci_regs_behavior; in pci_bridge_emul_conf_read()
479 behavior = NULL; in pci_bridge_emul_conf_read()
486 behavior = bridge->pcie_cap_regs_behavior; in pci_bridge_emul_conf_read()
492 behavior = NULL; in pci_bridge_emul_conf_read()
515 if (behavior) in pci_bridge_emul_conf_read()
516 *value &= behavior[reg / 4].ro | behavior[reg / 4].rw | in pci_bridge_emul_conf_read()
517 behavior[reg / 4].w1c; in pci_bridge_emul_conf_read()
543 const struct pci_bridge_reg_behavior *behavior; in pci_bridge_emul_conf_write() local
553 behavior = bridge->pci_regs_behavior; in pci_bridge_emul_conf_write()
560 behavior = bridge->pcie_cap_regs_behavior; in pci_bridge_emul_conf_write()
566 behavior = NULL; in pci_bridge_emul_conf_write()
583 if (behavior) { in pci_bridge_emul_conf_write()
585 new = old & (~mask | ~behavior[reg / 4].rw); in pci_bridge_emul_conf_write()
588 new |= (value << shift) & (behavior[reg / 4].rw & mask); in pci_bridge_emul_conf_write()
591 new &= ~((value << shift) & (behavior[reg / 4].w1c & mask)); in pci_bridge_emul_conf_write()
602 if (behavior) { in pci_bridge_emul_conf_write()
607 new &= ~(behavior[reg / 4].w1c & ~mask); in pci_bridge_emul_conf_write()
613 new |= (value << shift) & (behavior[reg / 4].w1c & mask); in pci_bridge_emul_conf_write()