Lines Matching refs:sg_table
63 static u32 rd_release_sgl_table(struct rd_dev *rd_dev, struct rd_dev_sg_table *sg_table, in rd_release_sgl_table() argument
71 sg = sg_table[i].sg_table; in rd_release_sgl_table()
72 sg_per_table = sg_table[i].rd_sg_count; in rd_release_sgl_table()
84 kfree(sg_table); in rd_release_sgl_table()
112 static int rd_allocate_sgl_table(struct rd_dev *rd_dev, struct rd_dev_sg_table *sg_table, in rd_allocate_sgl_table() argument
142 sg_chain(sg_table[i - 1].sg_table, in rd_allocate_sgl_table()
146 sg_table[i].sg_table = sg; in rd_allocate_sgl_table()
147 sg_table[i].rd_sg_count = sg_per_table; in rd_allocate_sgl_table()
148 sg_table[i].page_start_offset = page_offset; in rd_allocate_sgl_table()
149 sg_table[i++].page_end_offset = (page_offset + sg_per_table) in rd_allocate_sgl_table()
176 struct rd_dev_sg_table *sg_table; in rd_build_device_space() local
195 sg_table = kcalloc(sg_tables, sizeof(*sg_table), GFP_KERNEL); in rd_build_device_space()
196 if (!sg_table) in rd_build_device_space()
199 rd_dev->sg_table_array = sg_table; in rd_build_device_space()
202 rc = rd_allocate_sgl_table(rd_dev, sg_table, total_sg_needed, 0x00); in rd_build_device_space()
235 struct rd_dev_sg_table *sg_table; in rd_build_prot_space() local
252 sg_table = kcalloc(sg_tables, sizeof(*sg_table), GFP_KERNEL); in rd_build_prot_space()
253 if (!sg_table) in rd_build_prot_space()
256 rd_dev->sg_prot_array = sg_table; in rd_build_prot_space()
259 rc = rd_allocate_sgl_table(rd_dev, sg_table, total_sg_needed, 0xff); in rd_build_prot_space()
341 struct rd_dev_sg_table *sg_table; in rd_get_sg_table() local
347 sg_table = &rd_dev->sg_table_array[i]; in rd_get_sg_table()
348 if ((sg_table->page_start_offset <= page) && in rd_get_sg_table()
349 (sg_table->page_end_offset >= page)) in rd_get_sg_table()
350 return sg_table; in rd_get_sg_table()
361 struct rd_dev_sg_table *sg_table; in rd_get_prot_table() local
367 sg_table = &rd_dev->sg_prot_array[i]; in rd_get_prot_table()
368 if ((sg_table->page_start_offset <= page) && in rd_get_prot_table()
369 (sg_table->page_end_offset >= page)) in rd_get_prot_table()
370 return sg_table; in rd_get_prot_table()
399 prot_sg = &prot_table->sg_table[prot_page - in rd_do_prot_rw()
446 rd_sg = &table->sg_table[rd_page - table->page_start_offset]; in rd_execute_rw()
517 rd_sg = table->sg_table; in rd_execute_rw()