Home
last modified time | relevance | path

Searched full:sg (Results 1 – 25 of 859) sorted by relevance

12345678910>>...35

/linux/include/linux/
H A Dscatterlist.h26 * to get bus addresses of each of the SG entries and their lengths.
27 * You should only work with the number of sg entries dma_map_sg
28 * returns, or alternatively stop on the first sg_dma_len(sg) which
31 #define sg_dma_address(sg) ((sg)->dma_address) argument
34 #define sg_dma_len(sg) ((sg)->dma_length) argument
36 #define sg_dma_len(sg) ((sg)->length) argument
52 * Notes on SG table design.
55 * the page pointer AND encode information about the sg table as well. The two
58 * If bit 0 is set, then the page_link contains a pointer to the next sg
59 * table list. Otherwise the next entry is at sg + 1.
[all …]
/linux/tools/virtio/linux/
H A Dscatterlist.h15 #define sg_is_chain(sg) ((sg)->page_link & 0x01) argument
16 #define sg_is_last(sg) ((sg)->page_link & 0x02) argument
17 #define sg_chain_ptr(sg) \ argument
18 ((struct scatterlist *) ((sg)->page_link & ~0x03))
21 * sg_assign_page - Assign a given page to an SG entry
22 * @sg: SG entry
26 * Assign page to sg entry. Also see sg_set_page(), the most commonly used
30 static inline void sg_assign_page(struct scatterlist *sg, struct page *page) in sg_assign_page() argument
32 unsigned long page_link = sg->page_link & 0x3; in sg_assign_page()
40 BUG_ON(sg_is_chain(sg)); in sg_assign_page()
[all …]
/linux/Documentation/scsi/
H A Dscsi-generic.rst4 SCSI Generic (sg) driver
11 The SCSI Generic driver (sg) is one of the four "high level" SCSI device
12 drivers along with sd, st and sr (disk, tape and CD-ROM respectively). Sg
15 Thus sg is used for scanners, CD writers and reading audio CDs digitally
23 Major versions of the sg driver
25 There are three major versions of sg found in the Linux kernel (lk):
26 - sg version 1 (original) from 1992 to early 1999 (lk 2.2.5) .
28 - sg version 2 from lk 2.2.6 in the 2.2 series. It is based on
30 - sg version 3 found in the lk 2.4 series (and the lk 2.5 series).
34 Sg driver documentation
[all …]
/linux/drivers/ata/
H A Dsata_gemini.c120 bool gemini_sata_bridge_enabled(struct sata_gemini *sg, bool is_ata1) in gemini_sata_bridge_enabled() argument
122 if (!sg->sata_bridge) in gemini_sata_bridge_enabled()
128 if ((sg->muxmode == GEMINI_MUXMODE_2) && in gemini_sata_bridge_enabled()
131 if ((sg->muxmode == GEMINI_MUXMODE_3) && in gemini_sata_bridge_enabled()
139 enum gemini_muxmode gemini_sata_get_muxmode(struct sata_gemini *sg) in gemini_sata_get_muxmode() argument
141 return sg->muxmode; in gemini_sata_get_muxmode()
145 static int gemini_sata_setup_bridge(struct sata_gemini *sg, in gemini_sata_setup_bridge() argument
155 if (sg->muxmode == GEMINI_MUXMODE_2) in gemini_sata_setup_bridge()
157 writel(val, sg->base + GEMINI_SATA0_CTRL); in gemini_sata_setup_bridge()
161 if (sg->muxmode == GEMINI_MUXMODE_3) in gemini_sata_setup_bridge()
[all …]
/linux/drivers/clk/sprd/
H A Dgate.c13 static void clk_gate_toggle(const struct sprd_gate *sg, bool en) in clk_gate_toggle() argument
15 const struct sprd_clk_common *common = &sg->common; in clk_gate_toggle()
17 bool set = sg->flags & CLK_GATE_SET_TO_DISABLE ? true : false; in clk_gate_toggle()
24 reg |= sg->enable_mask; in clk_gate_toggle()
26 reg &= ~sg->enable_mask; in clk_gate_toggle()
31 static void clk_sc_gate_toggle(const struct sprd_gate *sg, bool en) in clk_sc_gate_toggle() argument
33 const struct sprd_clk_common *common = &sg->common; in clk_sc_gate_toggle()
34 bool set = sg->flags & CLK_GATE_SET_TO_DISABLE ? 1 : 0; in clk_sc_gate_toggle()
45 offset = set ? sg->sc_offset : sg->sc_offset * 2; in clk_sc_gate_toggle()
48 sg->enable_mask); in clk_sc_gate_toggle()
[all …]
/linux/lib/
H A Dscatterlist.c18 * @sg: The scatterlist
21 * Allows to know how many entries are in sg, taking into account
25 int sg_nents(struct scatterlist *sg) in sg_nents() argument
28 for (nents = 0; sg; sg = sg_next(sg)) in sg_nents()
37 * @sg: The scatterlist
41 * Determines the number of entries in sg that are required to meet
45 * the number of sg entries needed, negative error on failure
48 int sg_nents_for_len(struct scatterlist *sg, u64 len) in sg_nents_for_len() argument
56 for (nents = 0, total = 0; sg; sg = sg_next(sg)) { in sg_nents_for_len()
58 total += sg->length; in sg_nents_for_len()
[all …]
/linux/drivers/gpu/drm/i915/
H A Di915_scatterlist.c18 struct scatterlist *sg, *new_sg; in i915_sg_trim() local
28 for_each_sg(orig_st->sgl, sg, orig_st->nents, i) { in i915_sg_trim()
29 sg_set_page(new_sg, sg_page(sg), sg->length, 0); in i915_sg_trim()
30 sg_dma_address(new_sg) = sg_dma_address(sg); in i915_sg_trim()
31 sg_dma_len(new_sg) = sg_dma_len(sg); in i915_sg_trim()
70 * @region_start: An offset to add to the dma addresses of the sg list.
71 * @page_alignment: Required page alignment for each sg entry. Power of two.
89 struct scatterlist *sg; in i915_rsgt_from_mm_node() local
112 sg = st->sgl; in i915_rsgt_from_mm_node()
121 if (offset != prev_end || sg->length >= max_segment) { in i915_rsgt_from_mm_node()
[all …]
H A Di915_scatterlist.h50 static inline int __sg_page_count(const struct scatterlist *sg) in __sg_page_count() argument
52 return sg->length >> PAGE_SHIFT; in __sg_page_count()
55 static inline int __sg_dma_page_count(const struct scatterlist *sg) in __sg_dma_page_count() argument
57 return sg_dma_len(sg) >> PAGE_SHIFT; in __sg_dma_page_count()
60 static inline struct scatterlist *____sg_next(struct scatterlist *sg) in ____sg_next() argument
62 ++sg; in ____sg_next()
63 if (unlikely(sg_is_chain(sg))) in ____sg_next()
64 sg = sg_chain_ptr(sg); in ____sg_next()
65 return sg; in ____sg_next()
70 * @sg: The current sg entry
[all …]
/linux/drivers/crypto/
H A Domap-crypto.c17 struct scatterlist **sg, in omap_crypto_copy_sg_lists() argument
20 int n = sg_nents(*sg); in omap_crypto_copy_sg_lists()
24 new_sg = kmalloc_array(n, sizeof(*sg), GFP_KERNEL); in omap_crypto_copy_sg_lists()
33 while (*sg && total) { in omap_crypto_copy_sg_lists()
34 int len = (*sg)->length; in omap_crypto_copy_sg_lists()
41 sg_set_page(tmp, sg_page(*sg), len, (*sg)->offset); in omap_crypto_copy_sg_lists()
47 *sg = sg_next(*sg); in omap_crypto_copy_sg_lists()
50 *sg = new_sg; in omap_crypto_copy_sg_lists()
55 static int omap_crypto_copy_sgs(int total, int bs, struct scatterlist **sg, in omap_crypto_copy_sgs() argument
73 scatterwalk_map_and_copy(buf, *sg, 0, total, 0); in omap_crypto_copy_sgs()
[all …]
/linux/include/crypto/
H A Dscatterwalk.h21 struct scatterlist *sg, int num) in scatterwalk_crypto_chain() argument
23 if (sg) in scatterwalk_crypto_chain()
24 sg_chain(head, num, sg); in scatterwalk_crypto_chain()
30 struct scatterlist *sg) in scatterwalk_start() argument
32 walk->sg = sg; in scatterwalk_start()
33 walk->offset = sg->offset; in scatterwalk_start()
37 * This is equivalent to scatterwalk_start(walk, sg) followed by
41 struct scatterlist *sg, in scatterwalk_start_at_pos() argument
44 while (pos > sg->length) { in scatterwalk_start_at_pos()
45 pos -= sg->length; in scatterwalk_start_at_pos()
[all …]
/linux/include/soc/fsl/
H A Ddpaa2-fd.h284 * @addr: address of the sg entry
285 * @len: length in this sg entry
302 /* Accessors for SG entry fields */
305 * dpaa2_sg_get_addr() - Get the address from SG entry
306 * @sg: the given scatter-gathering object
310 static inline dma_addr_t dpaa2_sg_get_addr(const struct dpaa2_sg_entry *sg) in dpaa2_sg_get_addr() argument
312 return (dma_addr_t)le64_to_cpu(sg->addr); in dpaa2_sg_get_addr()
316 * dpaa2_sg_set_addr() - Set the address in SG entry
317 * @sg: the given scatter-gathering object
320 static inline void dpaa2_sg_set_addr(struct dpaa2_sg_entry *sg, dma_addr_t addr) in dpaa2_sg_set_addr() argument
[all …]
/linux/arch/s390/mm/
H A Dgmap.c276 struct gmap *sg, *next; in gmap_remove() local
282 list_for_each_entry_safe(sg, next, &gmap->children, list) { in gmap_remove()
283 list_del(&sg->list); in gmap_remove()
284 gmap_put(sg); in gmap_remove()
866 * Expected to be called with sg->mm->mmap_lock in read and
912 * Expected to be called with sg->mm->mmap_lock in read
952 * Context: Called with sg->mm->mmap_lock in read.
1035 * @sg: pointer to the shadow guest address space structure
1039 * Called with the sg->guest_table_lock
1041 static inline void gmap_insert_rmap(struct gmap *sg, unsigned long vmaddr, in gmap_insert_rmap() argument
[all …]
/linux/drivers/crypto/gemini/
H A Dsl3516-ce-cipher.c32 struct scatterlist *sg; in sl3516_ce_need_fallback() local
41 * Note: TX need one control desc for each SG in sl3516_ce_need_fallback()
53 sg = areq->src; in sl3516_ce_need_fallback()
54 while (sg) { in sl3516_ce_need_fallback()
55 if ((sg->length % 16) != 0) { in sl3516_ce_need_fallback()
59 if ((sg_dma_len(sg) % 16) != 0) { in sl3516_ce_need_fallback()
63 if (!IS_ALIGNED(sg->offset, 16)) { in sl3516_ce_need_fallback()
67 sg = sg_next(sg); in sl3516_ce_need_fallback()
69 sg = areq->dst; in sl3516_ce_need_fallback()
70 while (sg) { in sl3516_ce_need_fallback()
[all …]
/linux/drivers/net/ethernet/marvell/octeontx2/nic/
H A Dotx2_txrx.c111 struct sg_list *sg; in otx2_xdp_snd_pkt_handler() local
113 sg = &sq->sg[snd_comp->sqe_id]; in otx2_xdp_snd_pkt_handler()
114 if (sg->flags & OTX2_AF_XDP_FRAME) { in otx2_xdp_snd_pkt_handler()
119 if (sg->flags & OTX2_XDP_REDIRECT) in otx2_xdp_snd_pkt_handler()
120 otx2_dma_unmap_page(pfvf, sg->dma_addr[0], sg->size[0], DMA_TO_DEVICE); in otx2_xdp_snd_pkt_handler()
121 xdp_return_frame((struct xdp_frame *)sg->skb); in otx2_xdp_snd_pkt_handler()
122 sg->skb = (u64)NULL; in otx2_xdp_snd_pkt_handler()
135 struct sg_list *sg; in otx2_snd_pkt_handler() local
143 sg = &sq->sg[snd_comp->sqe_id]; in otx2_snd_pkt_handler()
144 skb = (struct sk_buff *)sg->skb; in otx2_snd_pkt_handler()
[all …]
/linux/net/mac80211/
H A Daead_api.c22 struct scatterlist sg[3]; in aead_encrypt() local
35 sg_init_table(sg, 3); in aead_encrypt()
36 sg_set_buf(&sg[0], __aad, aad_len); in aead_encrypt()
37 sg_set_buf(&sg[1], data, data_len); in aead_encrypt()
38 sg_set_buf(&sg[2], mic, mic_len); in aead_encrypt()
41 aead_request_set_crypt(aead_req, sg, sg, data_len, b_0); in aead_encrypt()
42 aead_request_set_ad(aead_req, sg[0].length); in aead_encrypt()
54 struct scatterlist sg[3]; in aead_decrypt() local
70 sg_init_table(sg, 3); in aead_decrypt()
71 sg_set_buf(&sg[0], __aad, aad_len); in aead_decrypt()
[all …]
H A Daes_gmac.c20 struct scatterlist sg[5]; in ieee80211_aes_gmac() local
42 sg_init_table(sg, 5); in ieee80211_aes_gmac()
43 sg_set_buf(&sg[0], __aad, GMAC_AAD_LEN); in ieee80211_aes_gmac()
44 sg_set_buf(&sg[1], zero, 8); in ieee80211_aes_gmac()
45 sg_set_buf(&sg[2], data + 8, in ieee80211_aes_gmac()
47 sg_set_buf(&sg[3], zero, IEEE80211_GMAC_MIC_LEN); in ieee80211_aes_gmac()
48 sg_set_buf(&sg[4], mic, IEEE80211_GMAC_MIC_LEN); in ieee80211_aes_gmac()
50 sg_init_table(sg, 4); in ieee80211_aes_gmac()
51 sg_set_buf(&sg[0], __aad, GMAC_AAD_LEN); in ieee80211_aes_gmac()
52 sg_set_buf(&sg[ in ieee80211_aes_gmac()
[all...]
/linux/drivers/target/iscsi/cxgbit/
H A Dcxgbit_ddp.c13 struct scatterlist *sg = sg_pp ? *sg_pp : NULL; in cxgbit_set_one_ppod() local
21 if (sg) { in cxgbit_set_one_ppod()
22 addr = sg_dma_address(sg); in cxgbit_set_one_ppod()
23 len = sg_dma_len(sg); in cxgbit_set_one_ppod()
27 if (sg) { in cxgbit_set_one_ppod()
30 if (offset == (len + sg->offset)) { in cxgbit_set_one_ppod()
32 sg = sg_next(sg); in cxgbit_set_one_ppod()
33 if (sg) { in cxgbit_set_one_ppod()
34 addr = sg_dma_address(sg); in cxgbit_set_one_ppod()
35 len = sg_dma_len(sg); in cxgbit_set_one_ppod()
[all …]
/linux/arch/alpha/kernel/
H A Dpci_iommu.c263 assume it doesn't support sg mapping, and, since we tried to in pci_map_single_1()
266 printk_once(KERN_WARNING "pci_map_single: no HW sg\n"); in pci_map_single_1()
293 DBGA2("pci_map_single: [%pa,%zx] np %ld -> sg %llx from %ps\n", in pci_map_single_1()
396 DBGA2("pci_unmap_single: sg [%llx,%zx] np %ld from %ps\n", in alpha_pci_unmap_phys()
422 with vmalloc and sg if we can't find contiguous memory. */ in alpha_pci_alloc_coherent()
471 #define SG_ENT_VIRT_ADDRESS(SG) (sg_virt((SG))) argument
472 #define SG_ENT_PHYS_ADDRESS(SG) __pa(SG_ENT_VIRT_ADDRESS(SG)) argument
475 sg_classify(struct device *dev, struct scatterlist *sg, struct scatterlist *end, in sg_classify() argument
483 leader = sg; in sg_classify()
488 /* we will not marge sg without device. */ in sg_classify()
[all …]
/linux/arch/powerpc/platforms/powernv/
H A Dopal-sensor-groups.c27 struct attribute_group sg; member
129 static int __init add_attr_group(const __be32 *ops, int len, struct sensor_group *sg, in add_attr_group() argument
138 add_attr(handle, &sg->sgattrs[count], j); in add_attr_group()
139 sg->sg.attrs[count] = in add_attr_group()
140 &sg->sgattrs[count].attr.attr; in add_attr_group()
144 return sysfs_create_group(sg_kobj, &sg->sg); in add_attr_group()
162 struct device_node *sg, *node; in opal_sensor_groups_init() local
165 sg = of_find_compatible_node(NULL, NULL, "ibm,opal-sensor-group"); in opal_sensor_groups_init()
166 if (!sg) { in opal_sensor_groups_init()
171 sgs = kcalloc(of_get_child_count(sg), sizeof(*sgs), GFP_KERNEL); in opal_sensor_groups_init()
[all …]
/linux/samples/kfifo/
H A Ddma-example.c28 struct scatterlist sg[10]; in example_init() local
60 * We need two different SG entries: one for the free space area at the in example_init()
64 sg_init_table(sg, ARRAY_SIZE(sg)); in example_init()
65 nents = kfifo_dma_in_prepare(&fifo, sg, ARRAY_SIZE(sg), FIFO_SIZE); in example_init()
77 "sg[%d] -> " in example_init()
79 i, sg_page(&sg[i]), sg[i].offset, sg[i].length); in example_init()
81 if (sg_is_last(&sg[i])) in example_init()
95 nents = kfifo_dma_out_prepare(&fifo, sg, ARRAY_SIZE(sg), 8); in example_init()
106 "sg[%d] -> " in example_init()
108 i, sg_page(&sg[i]), sg[i].offset, sg[i].length); in example_init()
[all …]
/linux/drivers/crypto/cavium/nitrox/
H A Dnitrox_req.h453 * struct sglist_component - SG list component format
469 * strutct nitrox_sgtable - SG list information
474 * @sg: crypto request buffer.
482 struct scatterlist *sg; member
506 * @in: SG table for input
507 * @out SG table for output
566 * create_single_sg - Point SG entry to the data
567 * @sg: Destination SG list
571 * Returns next free entry in the destination SG list
573 static inline struct scatterlist *create_single_sg(struct scatterlist *sg, in create_single_sg() argument
[all …]
/linux/tools/testing/selftests/bpf/progs/
H A Dloop6.c28 #define sg_is_chain(sg) ((sg)->page_link & SG_CHAIN)
29 #define sg_is_last(sg) ((sg)->page_link & SG_END)
30 #define sg_chain_ptr(sg) \
31 ((struct scatterlist *) ((sg)->page_link & ~(SG_CHAIN | SG_END)))
35 struct scatterlist sg; argument
37 bpf_probe_read_kernel(&sg, sizeof(sg), sgp); argument
38 if (sg_is_last(&sg))
36 sg_is_last(sg) global() argument
42 struct scatterlist sg; __sg_next() local
[all...]
/linux/drivers/crypto/qce/
H A Ddma.c59 struct scatterlist *sg = sgt->sgl, *sg_last = NULL; in qce_sgtable_add() local
62 while (sg) { in qce_sgtable_add()
63 if (!sg_page(sg)) in qce_sgtable_add()
65 sg = sg_next(sg); in qce_sgtable_add()
68 if (!sg) in qce_sgtable_add()
71 while (new_sgl && sg && max_len) { in qce_sgtable_add()
73 sg_set_page(sg, sg_page(new_sgl), new_len, new_sgl->offset); in qce_sgtable_add()
74 sg_last = sg; in qce_sgtable_add()
75 sg = sg_next(sg); in qce_sgtable_add()
83 static int qce_dma_prep_sg(struct dma_chan *chan, struct scatterlist *sg, in qce_dma_prep_sg() argument
[all …]
/linux/crypto/
H A Dscatterwalk.c20 struct scatterlist *sg = walk->sg; in scatterwalk_skip() local
22 nbytes += walk->offset - sg->offset; in scatterwalk_skip()
24 while (nbytes > sg->length) { in scatterwalk_skip()
25 nbytes -= sg->length; in scatterwalk_skip()
26 sg = sg_next(sg); in scatterwalk_skip()
28 walk->sg = sg; in scatterwalk_skip()
29 walk->offset = sg->offset + nbytes; in scatterwalk_skip()
63 void memcpy_from_sglist(void *buf, struct scatterlist *sg, in memcpy_from_sglist() argument
68 if (unlikely(nbytes == 0)) /* in case sg == NULL */ in memcpy_from_sglist()
71 scatterwalk_start_at_pos(&walk, sg, start); in memcpy_from_sglist()
[all …]
H A Daf_alg.c610 struct scatterlist *sg = NULL; in af_alg_alloc_tsgl() local
614 sg = sgl->sg; in af_alg_alloc_tsgl()
616 if (!sg || sgl->cur >= MAX_SGL_ENTS) { in af_alg_alloc_tsgl()
618 struct_size(sgl, sg, (MAX_SGL_ENTS + 1)), in af_alg_alloc_tsgl()
623 sg_init_table(sgl->sg, MAX_SGL_ENTS + 1); in af_alg_alloc_tsgl()
626 if (sg) in af_alg_alloc_tsgl()
627 sg_chain(sg, MAX_SGL_ENTS + 1, sgl->sg); in af_alg_alloc_tsgl()
636 * af_alg_count_tsgl - Count number of TX SG entrie
658 const struct scatterlist *sg = sgl->sg; af_alg_count_tsgl() local
708 struct scatterlist *sg; af_alg_pull_tsgl() local
777 struct scatterlist *sg; af_alg_free_areq_sgls() local
1000 struct scatterlist *sg; af_alg_sendmsg() local
[all...]

12345678910>>...35