scc_param
struct hns_roce_scc_param *scc_param;
scc_param = &hr_dev->scc_param[algo_type];
scoped_guard(mutex, &scc_param->scc_mutex) {
(void *)scc_param->param + param_attr->offset,
struct hns_roce_scc_param *scc_param;
scc_param = &hr_dev->scc_param[algo_type];
guard(mutex)(&scc_param->scc_mutex);
memcpy(&old_val, (void *)scc_param->param + param_attr->offset,
memcpy((void *)scc_param->param + param_attr->offset, &attr_val,
memcpy((void *)scc_param->param + param_attr->offset, &old_val,
struct hns_roce_scc_param *scc_param;
scc_param = kvcalloc(HNS_ROCE_SCC_ALGO_TOTAL, sizeof(*scc_param),
if (!scc_param)
scc_param[i].algo_type = i;
scc_param[i].hr_dev = hr_dev;
mutex_init(&scc_param[i].scc_mutex);
hr_dev->scc_param = scc_param;
if (!hr_dev->scc_param)
mutex_destroy(&hr_dev->scc_param[i].scc_mutex);
kvfree(hr_dev->scc_param);
struct hns_roce_scc_param *scc_param;
struct hns_roce_scc_param *scc_param = &hr_dev->scc_param[algo];
lockdep_assert_held(&scc_param->scc_mutex);
memcpy(&desc.data, scc_param->param, sizeof(scc_param->param));
struct hns_roce_scc_param *scc_param;
scc_param = &hr_dev->scc_param[algo];
scoped_guard(mutex, &scc_param->scc_mutex)
memcpy(scc_param->param, &desc.data, sizeof(scc_param->param));
u32 scc_param[2];