Changeset 29818


Ignore:
Timestamp:
2012-01-19T20:51:54+01:00 (6 years ago)
Author:
jogo
Message:

kernel: fix OCF for linux 3.2

Add skb_frag_page from 3.2 to OCF for 3.1 and earlier and use it.

Location:
trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/kernel/modules/crypto.mk

    r29797 r29818  
    402402define KernelPackage/crypto-ocf 
    403403  TITLE:=OCF modules 
    404   DEPENDS:=+@OPENSSL_ENGINE @!TARGET_uml +kmod-crypto-manager @!LINUX_3_2||BROKEN 
     404  DEPENDS:=+@OPENSSL_ENGINE @!TARGET_uml +kmod-crypto-manager 
    405405  KCONFIG:= \ 
    406406        CONFIG_OCF_OCF \ 
  • trunk/target/linux/generic/files/crypto/ocf/c7108/aes-7108.c

    r21952 r29818  
    593593                         sg_num < SCATTERLIST_MAX; i++) { 
    594594                    if (skip < skb_shinfo(skb)->frags[i].size) { 
    595                         //sg[sg_num].page   = skb_shinfo(skb)->frags[i].page; 
     595                        //sg[sg_num].page   = skb_frag_page(&kb_shinfo(skb)->frags[i]); 
    596596                        //sg[sg_num].offset = skb_shinfo(skb)->frags[i].page_offset + skip; 
    597597                        len = skb_shinfo(skb)->frags[i].size - skip; 
     
    599599                            len = crd->crd_len - sg_len; 
    600600                        //sg[sg_num].length = len; 
    601                         sg_set_page(&sg[sg_num], skb_shinfo(skb)->frags[i].page, len, skb_shinfo(skb)->frags[i].page_offset + skip); 
     601                        sg_set_page(&sg[sg_num], skb_frag_page(&skb_shinfo(skb)->frags[i]), len, skb_shinfo(skb)->frags[i].page_offset + skip); 
    602602                        sg_len += sg[sg_num].length; 
    603603                        sg_num++; 
  • trunk/target/linux/generic/files/crypto/ocf/criov.c

    r27753 r29818  
    157157        for (i = 0; len > 0 && i < skb_shinfo(skb)->nr_frags; i++) { 
    158158                if (offset < skb_shinfo(skb)->frags[i].size) { 
    159                         memcpy(page_address(skb_shinfo(skb)->frags[i].page) + 
     159                        memcpy(page_address(skb_frag_page(&skb_shinfo(skb)->frags[i])) + 
    160160                                        skb_shinfo(skb)->frags[i].page_offset, 
    161161                                        cp, min_t(int, skb_shinfo(skb)->frags[i].size, len)); 
  • trunk/target/linux/generic/files/crypto/ocf/cryptocteon/cryptocteon.c

    r27753 r29818  
    474474                                i++) { 
    475475                        len = skb_shinfo(skb)->frags[i].size; 
    476                         sg_set_page(&sg[sg_num], skb_shinfo(skb)->frags[i].page, 
     476                        sg_set_page(&sg[sg_num], skb_frag_page(&skb_shinfo(skb)->frags[i]), 
    477477                                        len, skb_shinfo(skb)->frags[i].page_offset); 
    478478                        sg_len += len; 
  • trunk/target/linux/generic/files/crypto/ocf/cryptosoft.c

    r27753 r29818  
    778778                                        len = crd->crd_len - sg_len; 
    779779                                sg_set_page(&req->sg[sg_num], 
    780                                         skb_shinfo(skb)->frags[i].page, 
     780                                        skb_frag_page(&skb_shinfo(skb)->frags[i]), 
    781781                                        len, 
    782782                                        skb_shinfo(skb)->frags[i].page_offset + skip); 
  • trunk/target/linux/generic/files/crypto/ocf/hifn/hifn7751.c

    r27753 r29818  
    242242                buf->segs[buf->nsegs].ds_len = skb_shinfo(skb)->frags[i].size; 
    243243                buf->segs[buf->nsegs].ds_addr = pci_map_single(sc->sc_pcidev, 
    244                                 page_address(skb_shinfo(skb)->frags[i].page) + 
     244                                page_address(skb_frag_page(&skb_shinfo(skb)->frags[i])) + 
    245245                                        skb_shinfo(skb)->frags[i].page_offset, 
    246246                                buf->segs[buf->nsegs].ds_len, PCI_DMA_BIDIRECTIONAL); 
  • trunk/target/linux/generic/files/crypto/ocf/ocf-compat.h

    r27753 r29818  
    360360#endif 
    361361 
     362#include <linux/skbuff.h> 
     363 
     364#if LINUX_VERSION_CODE < KERNEL_VERSION(3,2,0) 
     365static inline struct page *skb_frag_page(const skb_frag_t *frag) 
     366{ 
     367        return frag->page; 
     368} 
     369#endif 
     370 
    362371#endif /* __KERNEL__ */ 
    363372 
  • trunk/target/linux/generic/files/crypto/ocf/safe/safe.c

    r27753 r29818  
    209209        for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) { 
    210210                pci_map_linear(sc, buf, 
    211                                 page_address(skb_shinfo(skb)->frags[i].page) + 
     211                                page_address(skb_frag_page(&skb_shinfo(skb)->frags[i])) + 
    212212                                                        skb_shinfo(skb)->frags[i].page_offset, 
    213213                                skb_shinfo(skb)->frags[i].size); 
  • trunk/target/linux/generic/files/crypto/ocf/ubsec_ssb/ubsec_ssb.c

    r27753 r29818  
    298298#ifdef UBSEC_VERBOSE_DEBUG 
    299299        DPRINTF("%s - map %d 0x%x %d\n", __FUNCTION__, i + 1,  
    300             (unsigned int)page_address(skb_shinfo(skb)->frags[i].page) + 
     300            (unsigned int)page_address(skb_frag_page(&skb_shinfo(skb)->frags[i])) + 
    301301            skb_shinfo(skb)->frags[i].page_offset, skb_shinfo(skb)->frags[i].size); 
    302302#endif 
    303303 
    304304        tmp = dma_map_single(sc->sc_dv, 
    305                              page_address(skb_shinfo(skb)->frags[i].page) + 
     305                             page_address(skb_frag_page(&skb_shinfo(skb)->frags[i])) + 
    306306                                 skb_shinfo(skb)->frags[i].page_offset,  
    307307                             skb_shinfo(skb)->frags[i].size, 
     
    309309 
    310310        q_map[i + 1].dma_paddr = tmp; 
    311         q_map[i + 1].dma_vaddr = (void*)(page_address(skb_shinfo(skb)->frags[i].page) + 
     311        q_map[i + 1].dma_vaddr = (void*)(page_address(skb_frag_page(&skb_shinfo(skb)->frags[i])) + 
    312312                                  skb_shinfo(skb)->frags[i].page_offset); 
    313313        q_map[i + 1].dma_size = skb_shinfo(skb)->frags[i].size; 
Note: See TracChangeset for help on using the changeset viewer.