• Home
  • Raw
  • Download

Lines Matching refs:ix

85 static void _drx_release_fw(struct drx397xD_state *s, enum fw_ix ix)  in _drx_release_fw()  argument
87 memset(&fw[ix].data[0], 0, sizeof(fw[0].data)); in _drx_release_fw()
88 if (fw[ix].file) in _drx_release_fw()
89 release_firmware(fw[ix].file); in _drx_release_fw()
94 enum fw_ix ix = s->chip_rev; in drx_release_fw() local
98 write_lock(&fw[ix].lock); in drx_release_fw()
99 if (fw[ix].refcnt) { in drx_release_fw()
100 fw[ix].refcnt--; in drx_release_fw()
101 if (fw[ix].refcnt == 0) in drx_release_fw()
102 _drx_release_fw(s, ix); in drx_release_fw()
104 write_unlock(&fw[ix].lock); in drx_release_fw()
107 static int drx_load_fw(struct drx397xD_state *s, enum fw_ix ix) in drx_load_fw() argument
115 if (ix < 0 || ix >= ARRAY_SIZE(fw)) in drx_load_fw()
117 s->chip_rev = ix; in drx_load_fw()
119 write_lock(&fw[ix].lock); in drx_load_fw()
120 if (fw[ix].file) { in drx_load_fw()
124 memset(&fw[ix].data[0], 0, sizeof(fw[0].data)); in drx_load_fw()
126 if (request_firmware(&fw[ix].file, fw[ix].name, &s->i2c->dev) != 0) { in drx_load_fw()
128 mod_name, fw[ix].name); in drx_load_fw()
133 if (!fw[ix].file->data || fw[ix].file->size < 10) in drx_load_fw()
136 data = fw[ix].file->data; in drx_load_fw()
137 size = fw[ix].file->size; in drx_load_fw()
160 fw[ix].data[j] = &data[i + len + 1]; in drx_load_fw()
179 _drx_release_fw(s, ix); in drx_load_fw()
180 fw[ix].refcnt--; in drx_load_fw()
182 fw[ix].refcnt++; in drx_load_fw()
183 write_unlock(&fw[ix].lock); in drx_load_fw()
189 static int write_fw(struct drx397xD_state *s, enum blob_ix ix) in write_fw() argument
198 if (ix < 0 || ix >= ARRAY_SIZE(blob_name)) { in write_fw()
202 pr_debug("%s %s\n", __func__, blob_name[ix]); in write_fw()
205 data = fw[s->chip_rev].data[ix]; in write_fw()