Lines Matching full:csb
138 * Update the CSB to indicate a translation error.
140 * User space will be polling on CSB after the request is issued.
141 * If NX can handle the request without any issues, it updates CSB.
143 * fault and update CSB with translation error.
145 * If we are unable to update the CSB means copy_to_user failed due to
151 struct coprocessor_status_block csb; in vas_update_csb() local
167 memset(&csb, 0, sizeof(csb)); in vas_update_csb()
168 csb.cc = CSB_CC_FAULT_ADDRESS; in vas_update_csb()
169 csb.ce = CSB_CE_TERMINATION; in vas_update_csb()
170 csb.cs = 0; in vas_update_csb()
171 csb.count = 0; in vas_update_csb()
178 csb.address = crb->stamp.nx.fault_storage_addr; in vas_update_csb()
179 csb.flags = 0; in vas_update_csb()
187 * pages faults on these requests. Update CSB with translation in vas_update_csb()
202 rc = copy_to_user(csb_addr, &csb, sizeof(csb)); in vas_update_csb()
204 * User space polls on csb.flags (first byte). So add barrier in vas_update_csb()
205 * then copy first byte with csb flags update. in vas_update_csb()
208 csb.flags = CSB_V; in vas_update_csb()
209 /* Make sure update to csb.flags is visible now */ in vas_update_csb()
211 rc = copy_to_user(csb_addr, &csb, sizeof(u8)); in vas_update_csb()
221 pr_debug("Invalid CSB address 0x%p signalling pid(%d)\n", in vas_update_csb()
230 * process will be polling on csb.flags after request is sent to in vas_update_csb()
231 * NX. So generally CSB update should not fail except when an in vas_update_csb()