Home
last modified time | relevance | path

Searched refs:sg (Results 1 – 25 of 594) sorted by relevance

12345678910>>...24

/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))
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()
42 sg->page_link = page_link | (unsigned long) page; in sg_assign_page()
59 static inline void sg_set_page(struct scatterlist *sg, struct page *page, in sg_set_page() argument
62 sg_assign_page(sg, page); in sg_set_page()
[all …]
/linux/include/linux/
H A Dscatterlist.h31 #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
77 static inline unsigned int __sg_flags(struct scatterlist *sg) in __sg_flags() argument
79 return sg->page_link & SG_PAGE_LINK_MASK; in __sg_flags()
82 static inline struct scatterlist *sg_chain_ptr(struct scatterlist *sg) in sg_chain_ptr() argument
84 return (struct scatterlist *)(sg->page_link & ~SG_PAGE_LINK_MASK); in sg_chain_ptr()
87 static inline bool sg_is_chain(struct scatterlist *sg) in sg_is_chain() argument
89 return __sg_flags(sg) & SG_CHAIN; in sg_is_chain()
92 static inline bool sg_is_last(struct scatterlist *sg) in sg_is_last() argument
[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/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()
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()
46 sg = sg_next(sg); in scatterwalk_start_at_pos()
[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
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).
36 The most recent documentation of the sg driver is kept at
38 - https://sg.danny.cz/sg/
[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/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()
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()
123 sg = __sg_next(sg); in i915_rsgt_from_mm_node()
125 sg_dma_address(sg) = region_start + offset; 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()
77 static inline struct scatterlist *__sg_next(struct scatterlist *sg) in __sg_next() 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()
1041 static inline void gmap_insert_rmap(struct gmap *sg, unsigned long vmaddr, in gmap_insert_rmap() argument
1047 BUG_ON(!gmap_is_shadow(sg)); in gmap_insert_rmap()
1048 slot = radix_tree_lookup_slot(&sg->host_to_rmap, vmaddr >> PAGE_SHIFT); in gmap_insert_rmap()
1051 &sg->guest_table_lock); in gmap_insert_rmap()
1058 radix_tree_replace_slot(&sg->host_to_rmap, slot, rmap); in gmap_insert_rmap()
1061 radix_tree_insert(&sg->host_to_rmap, vmaddr >> PAGE_SHIFT, in gmap_insert_rmap()
[all …]
/linux/include/soc/fsl/
H A Ddpaa2-fd.h310 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()
320 static inline void dpaa2_sg_set_addr(struct dpaa2_sg_entry *sg, dma_addr_t addr) in dpaa2_sg_set_addr() argument
322 sg->addr = cpu_to_le64(addr); in dpaa2_sg_set_addr()
325 static inline bool dpaa2_sg_short_len(const struct dpaa2_sg_entry *sg) in dpaa2_sg_short_len() argument
327 return !!((le16_to_cpu(sg->format_offset) >> SG_SHORT_LEN_FLAG_SHIFT) in dpaa2_sg_short_len()
337 static inline u32 dpaa2_sg_get_len(const struct dpaa2_sg_entry *sg) in dpaa2_sg_get_len() argument
339 if (dpaa2_sg_short_len(sg)) in dpaa2_sg_get_len()
340 return le32_to_cpu(sg->len) & SG_SHORT_LEN_MASK; in dpaa2_sg_get_len()
342 return le32_to_cpu(sg->len); in dpaa2_sg_get_len()
[all …]
/linux/lib/
H A Dscatterlist.c25 int sg_nents(struct scatterlist *sg) in sg_nents() argument
28 for (nents = 0; sg; sg = sg_next(sg)) in sg_nents()
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()
83 struct scatterlist *sg, *ret = NULL; in sg_last() local
86 for_each_sg(sgl, sg, nents, i) in sg_last()
87 ret = sg; in sg_last()
118 void sg_init_one(struct scatterlist *sg, const void *buf, unsigned int buflen) in sg_init_one() argument
120 sg_init_table(sg, 1); in sg_init_one()
[all …]
/linux/samples/kfifo/
H A Ddma-example.c28 struct scatterlist sg[10]; in example_init() local
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()
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()
108 i, sg_page(&sg[i]), sg[i].offset, sg[i].length); in example_init()
110 if (sg_is_last(&sg[i])) in example_init()
/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/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/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/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/drivers/crypto/gemini/
H A Dsl3516-ce-cipher.c32 struct scatterlist *sg; in sl3516_ce_need_fallback() local
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()
71 if ((sg->length % 16) != 0) { in sl3516_ce_need_fallback()
[all …]
/linux/arch/alpha/kernel/
H A Dpci_iommu.c475 sg_classify(struct device *dev, struct scatterlist *sg, struct scatterlist *end, in sg_classify() argument
483 leader = sg; in sg_classify()
490 for (++sg; sg < end; ++sg) { in sg_classify()
492 addr = SG_ENT_PHYS_ADDRESS(sg); in sg_classify()
493 len = sg->length; in sg_classify()
499 sg->dma_address = -1; in sg_classify()
502 sg->dma_address = -2; in sg_classify()
509 leader = sg; in sg_classify()
531 struct scatterlist *sg; in sg_fill() local
588 sg = leader; in sg_fill()
[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/drivers/crypto/cavium/nitrox/
H A Dnitrox_req.h482 struct scatterlist *sg; member
573 static inline struct scatterlist *create_single_sg(struct scatterlist *sg, in create_single_sg() argument
576 sg_set_buf(sg, buf, buflen); in create_single_sg()
577 sg++; in create_single_sg()
578 return sg; in create_single_sg()
594 struct scatterlist *sg = to_sg; in create_multi_sg() local
602 sg_set_buf(sg, sg_virt(from_sg), sglen); in create_multi_sg()
604 sg++; in create_multi_sg()
607 return sg; in create_multi_sg()
647 struct scatterlist *sg; in nitrox_creq_set_src_sg() local
[all …]
/linux/drivers/target/tcm_fc/
H A Dtfc_io.c47 struct scatterlist *sg = NULL; in ft_queue_data_in() local
81 sg = se_cmd->t_data_sg; in ft_queue_data_in()
82 mem_len = sg->length; in ft_queue_data_in()
83 mem_off = sg->offset; in ft_queue_data_in()
84 page = sg_page(sg); in ft_queue_data_in()
99 sg = sg_next(sg); in ft_queue_data_in()
100 mem_len = min((size_t)sg->length, remaining); in ft_queue_data_in()
101 mem_off = sg->offset; in ft_queue_data_in()
102 page = sg_page(sg); in ft_queue_data_in()
202 struct scatterlist *sg = NULL; in ft_recv_write_data() local
[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
71 scatterwalk_start_at_pos(&walk, sg, start); in memcpy_from_sglist()
76 void memcpy_to_sglist(struct scatterlist *sg, unsigned int start, in memcpy_to_sglist() argument
[all …]

12345678910>>...24