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