@@ -122,8 +122,7 @@ static void _hw_rng_reset_status(struct spacemit_crng *priv)
122
122
123
123
static int hw_rng_dma_setup (struct spacemit_crng * priv , uint32_t pa , size_t size )
124
124
{
125
- uint32_t val , val_size ;
126
- int ret ;
125
+ uint32_t val ;
127
126
128
127
/* dma setup */
129
128
val = readl (priv -> base + RNG_INT_MASK );
@@ -150,8 +149,8 @@ static int hw_rng_dma_setup(struct spacemit_crng *priv, uint32_t pa, size_t size
150
149
val = readl (priv -> base + RNG_SQU_CTRL );
151
150
val = SQU_CTRL_ENABLE_DMA ;
152
151
writel (val , priv -> base + RNG_SQU_CTRL );
153
- ret = RNG_SUCCESS ;
154
- return ret ;
152
+
153
+ return RNG_SUCCESS ;
155
154
}
156
155
157
156
static int get_rng_seed (struct spacemit_crng * priv )
@@ -198,7 +197,7 @@ static int get_rng_seed(struct spacemit_crng *priv)
198
197
return RNG_SUCCESS ;
199
198
}
200
199
201
- static int hw_get_random_dma (struct spacemit_crng * priv , uint64_t pa , size_t size , void * buf )
200
+ __maybe_unused static int hw_get_random_dma (struct spacemit_crng * priv , uint64_t pa , size_t size , void * buf )
202
201
{
203
202
uint32_t val ;
204
203
int ret = 0 ;
@@ -374,13 +373,8 @@ static int spacemit_crng_init(struct hwrng *rng)
374
373
static int spacemit_crng_read (struct hwrng * rng , void * buf , size_t max , bool wait )
375
374
{
376
375
struct spacemit_crng * priv = to_spacemit_crng (rng );
377
- struct device * dev = (struct device * )priv -> rng .priv ;
378
- uint64_t data_addr , align_addr ;
379
376
int ret = 0 ;
380
- size_t header_sz = 0 , aligned_sz = 0 , tail_sz = 0 ;
381
377
size_t left_bytes = 0 , process_sz ;
382
- size_t pos = 0 ;
383
- void * data_buf ;
384
378
385
379
/* use cpu mode */
386
380
left_bytes = max ;
@@ -393,44 +387,6 @@ static int spacemit_crng_read(struct hwrng *rng, void *buf, size_t max, bool wai
393
387
ret += process_sz ;
394
388
}
395
389
396
- /*
397
- if (max < 16) {
398
- hw_get_random_cpu(priv, buf, max);
399
- return ret;
400
- }
401
-
402
- data_buf = dma_alloc_coherent(dev, max, &data_addr, GFP_KERNEL);
403
- if(!data_buf)
404
- return -ENOMEM;
405
- align_addr = (data_addr + 15) & ~0xf;
406
- header_sz = align_addr - data_addr;
407
- aligned_sz = (max - header_sz) & ~0xF;
408
- tail_sz = max - header_sz - aligned_sz;
409
-
410
- if (header_sz) {
411
- ret = hw_get_random_cpu(priv, buf, header_sz);
412
- if (ret != RNG_SUCCESS)
413
- return -1;
414
- }
415
-
416
- left_bytes = aligned_sz;
417
- while (left_bytes > 0) {
418
- process_sz = left_bytes > DMA_MAX_SIZE ? DMA_MAX_SIZE : left_bytes;
419
- ret = hw_get_random_dma(priv, align_addr + pos, process_sz, data_buf);
420
- if(ret != RNG_SUCCESS)
421
- return -1;
422
- left_bytes -= process_sz;
423
- pos += process_sz;
424
- }
425
-
426
- if (tail_sz) {
427
- ret = hw_get_random_cpu(priv, (void *)((unsigned long)buf + header_sz + aligned_sz), tail_sz);
428
- if (ret != RNG_SUCCESS)
429
- return -1;
430
- }
431
- memcpy(buf, data_buf, max);
432
- dma_free_coherent(dev, max, data_buf, GFP_KERNEL);
433
- */
434
390
return ret ;
435
391
}
436
392
0 commit comments