Hi SrujanaChalla,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   83bdc7275e6206f560d247be856bceba3e1ed8f2
commit: 655ff1a1a727f9b83df317c4ad3b2f4a48f6206c crypto: marvell - create 
common Kconfig and Makefile for Marvell
date:   4 months ago
config: arm-randconfig-s031-20200730 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.2-98-g4932334a-dirty
        git checkout 655ff1a1a727f9b83df317c4ad3b2f4a48f6206c
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arm 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


sparse warnings: (new ones prefixed by >>)

   drivers/crypto/marvell/cesa/tdma.c:86:37: sparse: sparse: restricted __le32 
degrades to integer
   drivers/crypto/marvell/cesa/tdma.c:89:37: sparse: sparse: restricted __le32 
degrades to integer
>> drivers/crypto/marvell/cesa/tdma.c:117:40: sparse: sparse: incorrect type in 
>> assignment (different base types) @@     expected restricted __le32 
>> [usertype] next_dma @@     got unsigned int [usertype] cur_dma @@
   drivers/crypto/marvell/cesa/tdma.c:117:40: sparse:     expected restricted 
__le32 [usertype] next_dma
>> drivers/crypto/marvell/cesa/tdma.c:117:40: sparse:     got unsigned int 
>> [usertype] cur_dma
>> drivers/crypto/marvell/cesa/tdma.c:240:19: sparse: sparse: incorrect type in 
>> assignment (different base types) @@     expected restricted __le32 
>> [usertype] src @@     got unsigned int [usertype] src @@
   drivers/crypto/marvell/cesa/tdma.c:240:19: sparse:     expected restricted 
__le32 [usertype] src
>> drivers/crypto/marvell/cesa/tdma.c:240:19: sparse:     got unsigned int 
>> [usertype] src
   drivers/crypto/marvell/cesa/tdma.c:292:19: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __le32 [usertype] 
src @@     got unsigned int [usertype] src @@
   drivers/crypto/marvell/cesa/tdma.c:292:19: sparse:     expected restricted 
__le32 [usertype] src
   drivers/crypto/marvell/cesa/tdma.c:292:19: sparse:     got unsigned int 
[usertype] src
>> drivers/crypto/marvell/cesa/tdma.c:293:19: sparse: sparse: incorrect type in 
>> assignment (different base types) @@     expected restricted __le32 
>> [usertype] dst @@     got unsigned int [usertype] dst @@
   drivers/crypto/marvell/cesa/tdma.c:293:19: sparse:     expected restricted 
__le32 [usertype] dst
>> drivers/crypto/marvell/cesa/tdma.c:293:19: sparse:     got unsigned int 
>> [usertype] dst

vim +117 drivers/crypto/marvell/cesa/tdma.c

db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18   
78  
53da740fed302f drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21   
79  void mv_cesa_dma_prepare(struct mv_cesa_req *dreq,
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18   
80                       struct mv_cesa_engine *engine)
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18   
81  {
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18   
82      struct mv_cesa_tdma_desc *tdma;
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18   
83  
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18   
84      for (tdma = dreq->chain.first; tdma; tdma = tdma->next) {
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18   
85              if (tdma->flags & CESA_TDMA_DST_IN_SRAM)
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
@86                      tdma->dst = cpu_to_le32(tdma->dst + engine->sram_dma);
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18   
87  
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18   
88              if (tdma->flags & CESA_TDMA_SRC_IN_SRAM)
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18   
89                      tdma->src = cpu_to_le32(tdma->src + engine->sram_dma);
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18   
90  
b99acf79a17bf4 drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21   
91              if ((tdma->flags & CESA_TDMA_TYPE_MSK) == CESA_TDMA_OP)
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18   
92                      mv_cesa_adjust_op(engine, tdma->op);
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18   
93      }
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18   
94  }
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18   
95  
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21   
96  void mv_cesa_tdma_chain(struct mv_cesa_engine *engine,
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21   
97                      struct mv_cesa_req *dreq)
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21   
98  {
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21   
99      if (engine->chain.first == NULL && engine->chain.last == NULL) {
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
100              engine->chain.first = dreq->chain.first;
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
101              engine->chain.last  = dreq->chain.last;
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
102      } else {
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
103              struct mv_cesa_tdma_desc *last;
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
104  
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
105              last = engine->chain.last;
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
106              last->next = dreq->chain.first;
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
107              engine->chain.last = dreq->chain.last;
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
108  
8759fec4af222f drivers/crypto/marvell/tdma.c      Romain Perier    2016-12-14  
109              /*
8759fec4af222f drivers/crypto/marvell/tdma.c      Romain Perier    2016-12-14  
110               * Break the DMA chain if the CESA_TDMA_BREAK_CHAIN is set on
8759fec4af222f drivers/crypto/marvell/tdma.c      Romain Perier    2016-12-14  
111               * the last element of the current chain, or if the request
8759fec4af222f drivers/crypto/marvell/tdma.c      Romain Perier    2016-12-14  
112               * being queued needs the IV regs to be set before lauching
8759fec4af222f drivers/crypto/marvell/tdma.c      Romain Perier    2016-12-14  
113               * the request.
8759fec4af222f drivers/crypto/marvell/tdma.c      Romain Perier    2016-12-14  
114               */
8759fec4af222f drivers/crypto/marvell/tdma.c      Romain Perier    2016-12-14  
115              if (!(last->flags & CESA_TDMA_BREAK_CHAIN) &&
8759fec4af222f drivers/crypto/marvell/tdma.c      Romain Perier    2016-12-14  
116                  !(dreq->chain.first->flags & CESA_TDMA_SET_STATE))
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21 
@117                      last->next_dma = dreq->chain.first->cur_dma;
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
118      }
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
119  }
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
120  
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
121  int mv_cesa_tdma_process(struct mv_cesa_engine *engine, u32 status)
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
122  {
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
123      struct crypto_async_request *req = NULL;
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
124      struct mv_cesa_tdma_desc *tdma = NULL, *next = NULL;
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
125      dma_addr_t tdma_cur;
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
126      int res = 0;
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
127  
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
128      tdma_cur = readl(engine->regs + CESA_TDMA_CUR);
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
129  
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
130      for (tdma = engine->chain.first; tdma; tdma = next) {
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
131              spin_lock_bh(&engine->lock);
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
132              next = tdma->next;
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
133              spin_unlock_bh(&engine->lock);
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
134  
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
135              if (tdma->flags & CESA_TDMA_END_OF_REQ) {
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
136                      struct crypto_async_request *backlog = NULL;
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
137                      struct mv_cesa_ctx *ctx;
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
138                      u32 current_status;
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
139  
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
140                      spin_lock_bh(&engine->lock);
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
141                      /*
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
142                       * if req is NULL, this means we're processing the
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
143                       * request in engine->req.
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
144                       */
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
145                      if (!req)
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
146                              req = engine->req;
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
147                      else
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
148                              req = mv_cesa_dequeue_req_locked(engine,
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
149                                                               &backlog);
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
150  
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
151                      /* Re-chaining to the next request */
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
152                      engine->chain.first = tdma->next;
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
153                      tdma->next = NULL;
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
154  
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
155                      /* If this is the last request, clear the chain */
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
156                      if (engine->chain.first == NULL)
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
157                              engine->chain.last  = NULL;
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
158                      spin_unlock_bh(&engine->lock);
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
159  
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
160                      ctx = crypto_tfm_ctx(req->tfm);
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
161                      current_status = (tdma->cur_dma == tdma_cur) ?
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
162                                        status : CESA_SA_INT_ACC0_IDMA_DONE;
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
163                      res = ctx->ops->process(req, current_status);
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
164                      ctx->ops->complete(req);
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
165  
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
166                      if (res == 0)
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
167                              mv_cesa_engine_enqueue_complete_request(engine,
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
168                                                                      req);
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
169  
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
170                      if (backlog)
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
171                              backlog->complete(backlog, -EINPROGRESS);
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
172              }
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
173  
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
174              if (res || tdma->cur_dma == tdma_cur)
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
175                      break;
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
176      }
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
177  
655ff1a1a727f9 drivers/crypto/marvell/cesa/tdma.c SrujanaChalla    2020-03-13  
178      /*
655ff1a1a727f9 drivers/crypto/marvell/cesa/tdma.c SrujanaChalla    2020-03-13  
179       * Save the last request in error to engine->req, so that the core
655ff1a1a727f9 drivers/crypto/marvell/cesa/tdma.c SrujanaChalla    2020-03-13  
180       * knows which request was fautly
655ff1a1a727f9 drivers/crypto/marvell/cesa/tdma.c SrujanaChalla    2020-03-13  
181       */
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
182      if (res) {
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
183              spin_lock_bh(&engine->lock);
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
184              engine->req = req;
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
185              spin_unlock_bh(&engine->lock);
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
186      }
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
187  
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
188      return res;
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
189  }
85030c5168f1df drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
190  
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
191  static struct mv_cesa_tdma_desc *
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
192  mv_cesa_dma_add_desc(struct mv_cesa_tdma_chain *chain, gfp_t flags)
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
193  {
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
194      struct mv_cesa_tdma_desc *new_tdma = NULL;
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
195      dma_addr_t dma_handle;
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
196  
472d640bd0fe5b drivers/crypto/marvell/tdma.c      Julia Lawall     2016-04-29  
197      new_tdma = dma_pool_zalloc(cesa_dev->dma->tdma_desc_pool, flags,
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
198                                 &dma_handle);
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
199      if (!new_tdma)
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
200              return ERR_PTR(-ENOMEM);
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
201  
5d754137ab905a drivers/crypto/marvell/tdma.c      Russell King     2015-10-18  
202      new_tdma->cur_dma = dma_handle;
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
203      if (chain->last) {
5d754137ab905a drivers/crypto/marvell/tdma.c      Russell King     2015-10-18  
204              chain->last->next_dma = cpu_to_le32(dma_handle);
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
205              chain->last->next = new_tdma;
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
206      } else {
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
207              chain->first = new_tdma;
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
208      }
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
209  
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
210      chain->last = new_tdma;
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
211  
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
212      return new_tdma;
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
213  }
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
214  
0c99620f0ac13a drivers/crypto/marvell/tdma.c      Romain Perier    2016-10-05  
215  int mv_cesa_dma_add_result_op(struct mv_cesa_tdma_chain *chain, dma_addr_t 
src,
bac8e805a30dc2 drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
216                        u32 size, u32 flags, gfp_t gfp_flags)
bac8e805a30dc2 drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
217  {
0c99620f0ac13a drivers/crypto/marvell/tdma.c      Romain Perier    2016-10-05  
218      struct mv_cesa_tdma_desc *tdma, *op_desc;
bac8e805a30dc2 drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
219  
bac8e805a30dc2 drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
220      tdma = mv_cesa_dma_add_desc(chain, gfp_flags);
bac8e805a30dc2 drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
221      if (IS_ERR(tdma))
bac8e805a30dc2 drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
222              return PTR_ERR(tdma);
bac8e805a30dc2 drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
223  
0c99620f0ac13a drivers/crypto/marvell/tdma.c      Romain Perier    2016-10-05  
224      /* We re-use an existing op_desc object to retrieve the context
0c99620f0ac13a drivers/crypto/marvell/tdma.c      Romain Perier    2016-10-05  
225       * and result instead of allocating a new one.
0c99620f0ac13a drivers/crypto/marvell/tdma.c      Romain Perier    2016-10-05  
226       * There is at least one object of this type in a CESA crypto
0c99620f0ac13a drivers/crypto/marvell/tdma.c      Romain Perier    2016-10-05  
227       * req, just pick the first one in the chain.
0c99620f0ac13a drivers/crypto/marvell/tdma.c      Romain Perier    2016-10-05  
228       */
0c99620f0ac13a drivers/crypto/marvell/tdma.c      Romain Perier    2016-10-05  
229      for (op_desc = chain->first; op_desc; op_desc = op_desc->next) {
0c99620f0ac13a drivers/crypto/marvell/tdma.c      Romain Perier    2016-10-05  
230              u32 type = op_desc->flags & CESA_TDMA_TYPE_MSK;
0c99620f0ac13a drivers/crypto/marvell/tdma.c      Romain Perier    2016-10-05  
231  
0c99620f0ac13a drivers/crypto/marvell/tdma.c      Romain Perier    2016-10-05  
232              if (type == CESA_TDMA_OP)
0c99620f0ac13a drivers/crypto/marvell/tdma.c      Romain Perier    2016-10-05  
233                      break;
0c99620f0ac13a drivers/crypto/marvell/tdma.c      Romain Perier    2016-10-05  
234      }
0c99620f0ac13a drivers/crypto/marvell/tdma.c      Romain Perier    2016-10-05  
235  
0c99620f0ac13a drivers/crypto/marvell/tdma.c      Romain Perier    2016-10-05  
236      if (!op_desc)
0c99620f0ac13a drivers/crypto/marvell/tdma.c      Romain Perier    2016-10-05  
237              return -EIO;
bac8e805a30dc2 drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
238  
bac8e805a30dc2 drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
239      tdma->byte_cnt = cpu_to_le32(size | BIT(31));
bac8e805a30dc2 drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21 
@240      tdma->src = src;
0c99620f0ac13a drivers/crypto/marvell/tdma.c      Romain Perier    2016-10-05  
241      tdma->dst = op_desc->src;
0c99620f0ac13a drivers/crypto/marvell/tdma.c      Romain Perier    2016-10-05  
242      tdma->op = op_desc->op;
bac8e805a30dc2 drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
243  
bac8e805a30dc2 drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
244      flags &= (CESA_TDMA_DST_IN_SRAM | CESA_TDMA_SRC_IN_SRAM);
0c99620f0ac13a drivers/crypto/marvell/tdma.c      Romain Perier    2016-10-05  
245      tdma->flags = flags | CESA_TDMA_RESULT;
bac8e805a30dc2 drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
246      return 0;
bac8e805a30dc2 drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
247  }
bac8e805a30dc2 drivers/crypto/marvell/tdma.c      Romain Perier    2016-06-21  
248  
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
249  struct mv_cesa_op_ctx *mv_cesa_dma_add_op(struct mv_cesa_tdma_chain *chain,
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
250                                      const struct mv_cesa_op_ctx *op_templ,
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
251                                      bool skip_ctx,
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
252                                      gfp_t flags)
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
253  {
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
254      struct mv_cesa_tdma_desc *tdma;
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
255      struct mv_cesa_op_ctx *op;
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
256      dma_addr_t dma_handle;
6de59d453ae567 drivers/crypto/marvell/tdma.c      Russell King     2015-10-18  
257      unsigned int size;
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
258  
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
259      tdma = mv_cesa_dma_add_desc(chain, flags);
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
260      if (IS_ERR(tdma))
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
261              return ERR_CAST(tdma);
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
262  
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
263      op = dma_pool_alloc(cesa_dev->dma->op_pool, flags, &dma_handle);
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
264      if (!op)
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
265              return ERR_PTR(-ENOMEM);
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
266  
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
267      *op = *op_templ;
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
268  
6de59d453ae567 drivers/crypto/marvell/tdma.c      Russell King     2015-10-18  
269      size = skip_ctx ? sizeof(op->desc) : sizeof(*op);
6de59d453ae567 drivers/crypto/marvell/tdma.c      Russell King     2015-10-18  
270  
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
271      tdma = chain->last;
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
272      tdma->op = op;
6de59d453ae567 drivers/crypto/marvell/tdma.c      Russell King     2015-10-18  
273      tdma->byte_cnt = cpu_to_le32(size | BIT(31));
ea1f662bde0675 drivers/crypto/marvell/tdma.c      Russell King     2015-10-18  
274      tdma->src = cpu_to_le32(dma_handle);
36225b9170ea7b drivers/crypto/marvell/tdma.c      Thomas Petazzoni 2016-08-09  
275      tdma->dst = CESA_SA_CFG_SRAM_OFFSET;
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
276      tdma->flags = CESA_TDMA_DST_IN_SRAM | CESA_TDMA_OP;
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
277  
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
278      return op;
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
279  }
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
280  
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
281  int mv_cesa_dma_add_data_transfer(struct mv_cesa_tdma_chain *chain,
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
282                                dma_addr_t dst, dma_addr_t src, u32 size,
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
283                                u32 flags, gfp_t gfp_flags)
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
284  {
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
285      struct mv_cesa_tdma_desc *tdma;
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
286  
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
287      tdma = mv_cesa_dma_add_desc(chain, gfp_flags);
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
288      if (IS_ERR(tdma))
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
289              return PTR_ERR(tdma);
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
290  
6de59d453ae567 drivers/crypto/marvell/tdma.c      Russell King     2015-10-18  
291      tdma->byte_cnt = cpu_to_le32(size | BIT(31));
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
292      tdma->src = src;
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18 
@293      tdma->dst = dst;
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
294  
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
295      flags &= (CESA_TDMA_DST_IN_SRAM | CESA_TDMA_SRC_IN_SRAM);
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
296      tdma->flags = flags | CESA_TDMA_DATA;
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
297  
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
298      return 0;
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
299  }
db509a45339fd7 drivers/crypto/marvell/tdma.c      Boris Brezillon  2015-06-18  
300  

:::::: The code at line 117 was first introduced by commit
:::::: 85030c5168f1df03a164d47254cc785331f1dfe2 crypto: marvell - Add support 
for chaining crypto requests in TDMA mode

:::::: TO: Romain Perier <[email protected]>
:::::: CC: Herbert Xu <[email protected]>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

Reply via email to