Lines Matching full:pe
55 struct radix_tree_root pe_tree; /* Maps PE handles to pe_data */
70 u64 pe; member
107 static void read_irq(struct spa *spa, u64 *dsisr, u64 *dar, u64 *pe) in read_irq() argument
114 *pe = reg & SPA_PE_MASK; in read_irq()
130 trace_ocxl_fault_ack(spa->spa_mem, spa->xsl_fault.pe, in ack_irq()
194 struct ocxl_process_element *pe; in xsl_fault_handler() local
202 pe = spa->spa_mem + pe_handle; in xsl_fault_handler()
203 pid = be32_to_cpu(pe->pid); in xsl_fault_handler()
204 /* We could be reading all null values here if the PE is being in xsl_fault_handler()
222 * AFU about PASID termination before removing the PE, in xsl_fault_handler()
249 spa->xsl_fault.pe = pe_handle; in xsl_fault_handler()
544 struct ocxl_process_element *pe; in ocxl_link_add_pe() local
554 pe = spa->spa_mem + pe_handle; in ocxl_link_add_pe()
556 if (pe->software_state) { in ocxl_link_add_pe()
573 memset(pe, 0, sizeof(struct ocxl_process_element)); in ocxl_link_add_pe()
574 pe->config_state = cpu_to_be64(calculate_cfg_state(pidr == 0)); in ocxl_link_add_pe()
575 pe->pasid = cpu_to_be32(pasid << (31 - 19)); in ocxl_link_add_pe()
576 pe->bdf = cpu_to_be16(bdf); in ocxl_link_add_pe()
577 pe->lpid = cpu_to_be32(mfspr(SPRN_LPID)); in ocxl_link_add_pe()
578 pe->pid = cpu_to_be32(pidr); in ocxl_link_add_pe()
579 pe->tid = cpu_to_be32(tidr); in ocxl_link_add_pe()
580 pe->amr = cpu_to_be64(amr); in ocxl_link_add_pe()
581 pe->software_state = cpu_to_be32(SPA_PE_VALID); in ocxl_link_add_pe()
600 * Barrier is to make sure PE is visible in the SPA before it in ocxl_link_add_pe()
634 struct ocxl_process_element *pe; in ocxl_link_update_pe() local
641 pe = spa->spa_mem + pe_handle; in ocxl_link_update_pe()
645 pe->tid = cpu_to_be32(tid); in ocxl_link_update_pe()
648 * The barrier makes sure the PE is updated in ocxl_link_update_pe()
650 * old PE cannot be reloaded erroneously. in ocxl_link_update_pe()
670 struct ocxl_process_element *pe; in ocxl_link_remove_pe() local
680 * Before removing the PE, the driver is supposed to have in ocxl_link_remove_pe()
685 * We clear the PE and remove the context from our radix in ocxl_link_remove_pe()
696 pe = spa->spa_mem + pe_handle; in ocxl_link_remove_pe()
700 if (!(be32_to_cpu(pe->software_state) & SPA_PE_VALID)) { in ocxl_link_remove_pe()
706 be32_to_cpu(pe->pid), be32_to_cpu(pe->tid)); in ocxl_link_remove_pe()
708 memset(pe, 0, sizeof(struct ocxl_process_element)); in ocxl_link_remove_pe()
710 * The barrier makes sure the PE is removed from the SPA in ocxl_link_remove_pe()
712 * old PE cannot be reloaded erroneously. in ocxl_link_remove_pe()
726 WARN(1, "Couldn't find pe data when removing PE\n"); in ocxl_link_remove_pe()