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