Print this page
5042 stop using deprecated atomic functions


 268             emii, data));
 269 }
 270 
 271 /*
 272  * Atomically shift a 32-bit word left, returning
 273  * the value it had *before* the shift was applied
 274  */
 275 static uint32_t rge_atomic_shl32(uint32_t *sp, uint_t count);
 276 #pragma inline(rge_mii_put16)
 277 
 278 static uint32_t
 279 rge_atomic_shl32(uint32_t *sp, uint_t count)
 280 {
 281         uint32_t oldval;
 282         uint32_t newval;
 283 
 284         /* ATOMICALLY */
 285         do {
 286                 oldval = *sp;
 287                 newval = oldval << count;
 288         } while (cas32(sp, oldval, newval) != oldval);
 289 
 290         return (oldval);
 291 }
 292 
 293 /*
 294  * PHY operation routines
 295  */
 296 #if     RGE_DEBUGGING
 297 
 298 void
 299 rge_phydump(rge_t *rgep)
 300 {
 301         uint16_t regs[32];
 302         int i;
 303 
 304         ASSERT(mutex_owned(rgep->genlock));
 305 
 306         for (i = 0; i < 32; ++i) {
 307                 regs[i] = rge_mii_get16(rgep, i);
 308         }




 268             emii, data));
 269 }
 270 
 271 /*
 272  * Atomically shift a 32-bit word left, returning
 273  * the value it had *before* the shift was applied
 274  */
 275 static uint32_t rge_atomic_shl32(uint32_t *sp, uint_t count);
 276 #pragma inline(rge_mii_put16)
 277 
 278 static uint32_t
 279 rge_atomic_shl32(uint32_t *sp, uint_t count)
 280 {
 281         uint32_t oldval;
 282         uint32_t newval;
 283 
 284         /* ATOMICALLY */
 285         do {
 286                 oldval = *sp;
 287                 newval = oldval << count;
 288         } while (atomic_cas_32(sp, oldval, newval) != oldval);
 289 
 290         return (oldval);
 291 }
 292 
 293 /*
 294  * PHY operation routines
 295  */
 296 #if     RGE_DEBUGGING
 297 
 298 void
 299 rge_phydump(rge_t *rgep)
 300 {
 301         uint16_t regs[32];
 302         int i;
 303 
 304         ASSERT(mutex_owned(rgep->genlock));
 305 
 306         for (i = 0; i < 32; ++i) {
 307                 regs[i] = rge_mii_get16(rgep, i);
 308         }