diff options
Diffstat (limited to 'target')
8 files changed, 19 insertions, 10 deletions
| diff --git a/target/linux/generic/files/crypto/ocf/c7108/aes-7108.c b/target/linux/generic/files/crypto/ocf/c7108/aes-7108.c index a5ac05495..d03540b64 100644 --- a/target/linux/generic/files/crypto/ocf/c7108/aes-7108.c +++ b/target/linux/generic/files/crypto/ocf/c7108/aes-7108.c @@ -592,13 +592,13 @@ c7108_process(void *arg, struct cryptop *crp, int hint)  			 i < skb_shinfo(skb)->nr_frags &&  			 sg_num < SCATTERLIST_MAX; i++) {  		    if (skip < skb_shinfo(skb)->frags[i].size) { -			//sg[sg_num].page   = skb_shinfo(skb)->frags[i].page; +			//sg[sg_num].page   = skb_frag_page(&kb_shinfo(skb)->frags[i]);  			//sg[sg_num].offset = skb_shinfo(skb)->frags[i].page_offset + skip;  			len = skb_shinfo(skb)->frags[i].size - skip;  			if (len + sg_len > crd->crd_len)  			    len = crd->crd_len - sg_len;  			//sg[sg_num].length = len; -			sg_set_page(&sg[sg_num], skb_shinfo(skb)->frags[i].page, len, skb_shinfo(skb)->frags[i].page_offset + skip); +			sg_set_page(&sg[sg_num], skb_frag_page(&skb_shinfo(skb)->frags[i]), len, skb_shinfo(skb)->frags[i].page_offset + skip);  			sg_len += sg[sg_num].length;  			sg_num++;  			skip = 0; diff --git a/target/linux/generic/files/crypto/ocf/criov.c b/target/linux/generic/files/crypto/ocf/criov.c index d3d8cfd8f..cdc731e29 100644 --- a/target/linux/generic/files/crypto/ocf/criov.c +++ b/target/linux/generic/files/crypto/ocf/criov.c @@ -156,7 +156,7 @@ skb_copy_bits_back(struct sk_buff *skb, int offset, caddr_t cp, int len)  	offset -= skb_headlen(skb);  	for (i = 0; len > 0 && i < skb_shinfo(skb)->nr_frags; i++) {  		if (offset < skb_shinfo(skb)->frags[i].size) { -			memcpy(page_address(skb_shinfo(skb)->frags[i].page) + +			memcpy(page_address(skb_frag_page(&skb_shinfo(skb)->frags[i])) +  					skb_shinfo(skb)->frags[i].page_offset,  					cp, min_t(int, skb_shinfo(skb)->frags[i].size, len));  			len -= skb_shinfo(skb)->frags[i].size; diff --git a/target/linux/generic/files/crypto/ocf/cryptocteon/cryptocteon.c b/target/linux/generic/files/crypto/ocf/cryptocteon/cryptocteon.c index 741e4fa31..b0c10a295 100644 --- a/target/linux/generic/files/crypto/ocf/cryptocteon/cryptocteon.c +++ b/target/linux/generic/files/crypto/ocf/cryptocteon/cryptocteon.c @@ -473,7 +473,7 @@ octo_process(device_t dev, struct cryptop *crp, int hint)  		for (i = 0; i < skb_shinfo(skb)->nr_frags && sg_num < SCATTERLIST_MAX;  				i++) {  			len = skb_shinfo(skb)->frags[i].size; -			sg_set_page(&sg[sg_num], skb_shinfo(skb)->frags[i].page, +			sg_set_page(&sg[sg_num], skb_frag_page(&skb_shinfo(skb)->frags[i]),  					len, skb_shinfo(skb)->frags[i].page_offset);  			sg_len += len;  			sg_num++; diff --git a/target/linux/generic/files/crypto/ocf/cryptosoft.c b/target/linux/generic/files/crypto/ocf/cryptosoft.c index 79aac9236..f9ecdf927 100644 --- a/target/linux/generic/files/crypto/ocf/cryptosoft.c +++ b/target/linux/generic/files/crypto/ocf/cryptosoft.c @@ -777,7 +777,7 @@ static void swcr_process_req(struct swcr_req *req)  				if (len + sg_len > crd->crd_len)  					len = crd->crd_len - sg_len;  				sg_set_page(&req->sg[sg_num], -					skb_shinfo(skb)->frags[i].page, +					skb_frag_page(&skb_shinfo(skb)->frags[i]),  					len,  					skb_shinfo(skb)->frags[i].page_offset + skip);  				sg_len += len; diff --git a/target/linux/generic/files/crypto/ocf/hifn/hifn7751.c b/target/linux/generic/files/crypto/ocf/hifn/hifn7751.c index 4803a83a5..b7df81907 100644 --- a/target/linux/generic/files/crypto/ocf/hifn/hifn7751.c +++ b/target/linux/generic/files/crypto/ocf/hifn/hifn7751.c @@ -241,7 +241,7 @@ pci_map_skb(struct hifn_softc *sc,struct hifn_operand *buf,struct sk_buff *skb)  	for (i = 0; i < skb_shinfo(skb)->nr_frags; ) {  		buf->segs[buf->nsegs].ds_len = skb_shinfo(skb)->frags[i].size;  		buf->segs[buf->nsegs].ds_addr = pci_map_single(sc->sc_pcidev, -				page_address(skb_shinfo(skb)->frags[i].page) + +				page_address(skb_frag_page(&skb_shinfo(skb)->frags[i])) +  					skb_shinfo(skb)->frags[i].page_offset,  				buf->segs[buf->nsegs].ds_len, PCI_DMA_BIDIRECTIONAL);  		buf->mapsize += buf->segs[buf->nsegs].ds_len; diff --git a/target/linux/generic/files/crypto/ocf/ocf-compat.h b/target/linux/generic/files/crypto/ocf/ocf-compat.h index 2d985360f..b76c369dd 100644 --- a/target/linux/generic/files/crypto/ocf/ocf-compat.h +++ b/target/linux/generic/files/crypto/ocf/ocf-compat.h @@ -359,6 +359,15 @@ static inline int ocf_run_thread(void *arg)  #include <linux/kthread.h>  #endif +#include <linux/skbuff.h> + +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,2,0) +static inline struct page *skb_frag_page(const skb_frag_t *frag) +{ +	return frag->page; +} +#endif +  #endif /* __KERNEL__ */  /****************************************************************************/ diff --git a/target/linux/generic/files/crypto/ocf/safe/safe.c b/target/linux/generic/files/crypto/ocf/safe/safe.c index 189b95f60..7d9b54117 100644 --- a/target/linux/generic/files/crypto/ocf/safe/safe.c +++ b/target/linux/generic/files/crypto/ocf/safe/safe.c @@ -208,7 +208,7 @@ pci_map_skb(struct safe_softc *sc,struct safe_operand *buf,struct sk_buff *skb)  	for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {  		pci_map_linear(sc, buf, -				page_address(skb_shinfo(skb)->frags[i].page) + +				page_address(skb_frag_page(&skb_shinfo(skb)->frags[i])) +  				                        skb_shinfo(skb)->frags[i].page_offset,  				skb_shinfo(skb)->frags[i].size);  	} diff --git a/target/linux/generic/files/crypto/ocf/ubsec_ssb/ubsec_ssb.c b/target/linux/generic/files/crypto/ocf/ubsec_ssb/ubsec_ssb.c index aa0733f08..f5d776236 100644 --- a/target/linux/generic/files/crypto/ocf/ubsec_ssb/ubsec_ssb.c +++ b/target/linux/generic/files/crypto/ocf/ubsec_ssb/ubsec_ssb.c @@ -297,18 +297,18 @@ dma_map_skb(struct ubsec_softc *sc, struct ubsec_dma_alloc* q_map, struct sk_buf  #ifdef UBSEC_VERBOSE_DEBUG          DPRINTF("%s - map %d 0x%x %d\n", __FUNCTION__, i + 1,  -            (unsigned int)page_address(skb_shinfo(skb)->frags[i].page) + +            (unsigned int)page_address(skb_frag_page(&skb_shinfo(skb)->frags[i])) +              skb_shinfo(skb)->frags[i].page_offset, skb_shinfo(skb)->frags[i].size);  #endif          tmp = dma_map_single(sc->sc_dv, -                             page_address(skb_shinfo(skb)->frags[i].page) + +                             page_address(skb_frag_page(&skb_shinfo(skb)->frags[i])) +                                   skb_shinfo(skb)->frags[i].page_offset,                                skb_shinfo(skb)->frags[i].size,                               DMA_BIDIRECTIONAL);          q_map[i + 1].dma_paddr = tmp; -        q_map[i + 1].dma_vaddr = (void*)(page_address(skb_shinfo(skb)->frags[i].page) + +        q_map[i + 1].dma_vaddr = (void*)(page_address(skb_frag_page(&skb_shinfo(skb)->frags[i])) +                                    skb_shinfo(skb)->frags[i].page_offset);          q_map[i + 1].dma_size = skb_shinfo(skb)->frags[i].size; | 
