CVMX_SCR_SCRATCH
old_scratch = cvmx_scratch_read64(CVMX_SCR_SCRATCH);
cvmx_pow_work_request_async(CVMX_SCR_SCRATCH, CVMX_POW_NO_WAIT);
work = cvmx_pow_work_response_async(CVMX_SCR_SCRATCH);
cvmx_pow_work_request_async_nocheck(CVMX_SCR_SCRATCH,
cvmx_scratch_write64(CVMX_SCR_SCRATCH, old_scratch);
old_scratch = cvmx_scratch_read64(CVMX_SCR_SCRATCH);
old_scratch2 = cvmx_scratch_read64(CVMX_SCR_SCRATCH + 8);
cvmx_fau_async_fetch_and_add32(CVMX_SCR_SCRATCH + 8,
cvmx_fau_async_fetch_and_add32(CVMX_SCR_SCRATCH,
cvmx_scratch_read64(CVMX_SCR_SCRATCH);
skb_to_free = cvmx_scratch_read64(CVMX_SCR_SCRATCH);
buffers_to_free = cvmx_scratch_read64(CVMX_SCR_SCRATCH + 8);
cvmx_fau_async_fetch_and_add32(CVMX_SCR_SCRATCH,
total_to_clean = cvmx_scratch_read64(CVMX_SCR_SCRATCH);
cvmx_scratch_write64(CVMX_SCR_SCRATCH, old_scratch);
cvmx_scratch_write64(CVMX_SCR_SCRATCH + 8, old_scratch2);