Symbol: rnandc
drivers/mtd/nand/raw/renesas-nand-controller.c
1017
struct rnandc *rnandc = to_rnandc(chip->controller);
drivers/mtd/nand/raw/renesas-nand-controller.c
1020
dev_err(rnandc->dev, "Unsupported page size\n");
drivers/mtd/nand/raw/renesas-nand-controller.c
1035
dev_err(rnandc->dev, "Unsupported ECC chunk size\n");
drivers/mtd/nand/raw/renesas-nand-controller.c
1065
dev_err(rnandc->dev, "Unsupported ECC strength\n");
drivers/mtd/nand/raw/renesas-nand-controller.c
1086
struct rnandc *rnandc = to_rnandc(chip->controller);
drivers/mtd/nand/raw/renesas-nand-controller.c
1095
dev_err(rnandc->dev, "No minimum ECC strength\n");
drivers/mtd/nand/raw/renesas-nand-controller.c
1120
struct rnandc *rnandc = to_rnandc(chip->controller);
drivers/mtd/nand/raw/renesas-nand-controller.c
1130
dev_err(rnandc->dev, "Small page devices not supported\n");
drivers/mtd/nand/raw/renesas-nand-controller.c
1150
dev_err(rnandc->dev, "Unsupported memory organization\n");
drivers/mtd/nand/raw/renesas-nand-controller.c
1158
dev_err(rnandc->dev, "ECC initialization failed (%d)\n", ret);
drivers/mtd/nand/raw/renesas-nand-controller.c
1174
static int rnandc_alloc_dma_buf(struct rnandc *rnandc,
drivers/mtd/nand/raw/renesas-nand-controller.c
1182
list_for_each_entry_safe(entry, temp, &rnandc->chips, node) {
drivers/mtd/nand/raw/renesas-nand-controller.c
1188
if (rnandc->buf && rnandc->buf_sz < max_len) {
drivers/mtd/nand/raw/renesas-nand-controller.c
1189
devm_kfree(rnandc->dev, rnandc->buf);
drivers/mtd/nand/raw/renesas-nand-controller.c
1190
rnandc->buf = NULL;
drivers/mtd/nand/raw/renesas-nand-controller.c
1193
if (!rnandc->buf) {
drivers/mtd/nand/raw/renesas-nand-controller.c
1194
rnandc->buf_sz = max_len;
drivers/mtd/nand/raw/renesas-nand-controller.c
1195
rnandc->buf = devm_kmalloc(rnandc->dev, max_len,
drivers/mtd/nand/raw/renesas-nand-controller.c
1197
if (!rnandc->buf)
drivers/mtd/nand/raw/renesas-nand-controller.c
1204
static int rnandc_chip_init(struct rnandc *rnandc, struct device_node *np)
drivers/mtd/nand/raw/renesas-nand-controller.c
1215
dev_err(rnandc->dev, "Invalid reg property (%d)\n", ret);
drivers/mtd/nand/raw/renesas-nand-controller.c
1220
rnand = devm_kzalloc(rnandc->dev, struct_size(rnand, sels, nsels),
drivers/mtd/nand/raw/renesas-nand-controller.c
1231
dev_err(rnandc->dev, "Incomplete reg property (%d)\n", ret);
drivers/mtd/nand/raw/renesas-nand-controller.c
1236
dev_err(rnandc->dev, "Invalid reg property (%d)\n", cs);
drivers/mtd/nand/raw/renesas-nand-controller.c
1240
if (test_and_set_bit(cs, &rnandc->assigned_cs)) {
drivers/mtd/nand/raw/renesas-nand-controller.c
1241
dev_err(rnandc->dev, "CS %d already assigned\n", cs);
drivers/mtd/nand/raw/renesas-nand-controller.c
1253
chip->controller = &rnandc->controller;
drivers/mtd/nand/raw/renesas-nand-controller.c
1257
mtd->dev.parent = rnandc->dev;
drivers/mtd/nand/raw/renesas-nand-controller.c
1259
dev_err(rnandc->dev, "Missing MTD label\n");
drivers/mtd/nand/raw/renesas-nand-controller.c
1265
dev_err(rnandc->dev, "Failed to scan the NAND chip (%d)\n", ret);
drivers/mtd/nand/raw/renesas-nand-controller.c
1269
ret = rnandc_alloc_dma_buf(rnandc, mtd);
drivers/mtd/nand/raw/renesas-nand-controller.c
1275
dev_err(rnandc->dev, "Failed to register MTD device (%d)\n", ret);
drivers/mtd/nand/raw/renesas-nand-controller.c
1279
list_add_tail(&rnand->node, &rnandc->chips);
drivers/mtd/nand/raw/renesas-nand-controller.c
1289
static void rnandc_chips_cleanup(struct rnandc *rnandc)
drivers/mtd/nand/raw/renesas-nand-controller.c
1295
list_for_each_entry_safe(entry, temp, &rnandc->chips, node) {
drivers/mtd/nand/raw/renesas-nand-controller.c
1304
static int rnandc_chips_init(struct rnandc *rnandc)
drivers/mtd/nand/raw/renesas-nand-controller.c
1308
for_each_child_of_node_scoped(rnandc->dev->of_node, np) {
drivers/mtd/nand/raw/renesas-nand-controller.c
1309
ret = rnandc_chip_init(rnandc, np);
drivers/mtd/nand/raw/renesas-nand-controller.c
1311
rnandc_chips_cleanup(rnandc);
drivers/mtd/nand/raw/renesas-nand-controller.c
1321
struct rnandc *rnandc;
drivers/mtd/nand/raw/renesas-nand-controller.c
1325
rnandc = devm_kzalloc(&pdev->dev, sizeof(*rnandc), GFP_KERNEL);
drivers/mtd/nand/raw/renesas-nand-controller.c
1326
if (!rnandc)
drivers/mtd/nand/raw/renesas-nand-controller.c
1329
rnandc->dev = &pdev->dev;
drivers/mtd/nand/raw/renesas-nand-controller.c
1330
nand_controller_init(&rnandc->controller);
drivers/mtd/nand/raw/renesas-nand-controller.c
1331
rnandc->controller.ops = &rnandc_ops;
drivers/mtd/nand/raw/renesas-nand-controller.c
1332
INIT_LIST_HEAD(&rnandc->chips);
drivers/mtd/nand/raw/renesas-nand-controller.c
1333
init_completion(&rnandc->complete);
drivers/mtd/nand/raw/renesas-nand-controller.c
1335
rnandc->regs = devm_platform_ioremap_resource(pdev, 0);
drivers/mtd/nand/raw/renesas-nand-controller.c
1336
if (IS_ERR(rnandc->regs))
drivers/mtd/nand/raw/renesas-nand-controller.c
1337
return PTR_ERR(rnandc->regs);
drivers/mtd/nand/raw/renesas-nand-controller.c
1354
rnandc->ext_clk_rate = clk_get_rate(eclk);
drivers/mtd/nand/raw/renesas-nand-controller.c
1357
rnandc_dis_interrupts(rnandc);
drivers/mtd/nand/raw/renesas-nand-controller.c
1364
rnandc->use_polling = true;
drivers/mtd/nand/raw/renesas-nand-controller.c
1367
"renesas-nand-controller", rnandc);
drivers/mtd/nand/raw/renesas-nand-controller.c
1376
rnandc_clear_fifo(rnandc);
drivers/mtd/nand/raw/renesas-nand-controller.c
1378
platform_set_drvdata(pdev, rnandc);
drivers/mtd/nand/raw/renesas-nand-controller.c
1380
ret = rnandc_chips_init(rnandc);
drivers/mtd/nand/raw/renesas-nand-controller.c
1394
struct rnandc *rnandc = platform_get_drvdata(pdev);
drivers/mtd/nand/raw/renesas-nand-controller.c
1396
rnandc_chips_cleanup(rnandc);
drivers/mtd/nand/raw/renesas-nand-controller.c
244
static inline struct rnandc *to_rnandc(struct nand_controller *ctrl)
drivers/mtd/nand/raw/renesas-nand-controller.c
246
return container_of(ctrl, struct rnandc, controller);
drivers/mtd/nand/raw/renesas-nand-controller.c
259
static void rnandc_dis_correction(struct rnandc *rnandc)
drivers/mtd/nand/raw/renesas-nand-controller.c
263
control = readl_relaxed(rnandc->regs + CONTROL_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
265
writel_relaxed(control, rnandc->regs + CONTROL_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
268
static void rnandc_en_correction(struct rnandc *rnandc)
drivers/mtd/nand/raw/renesas-nand-controller.c
272
control = readl_relaxed(rnandc->regs + CONTROL_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
274
writel_relaxed(control, rnandc->regs + CONTROL_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
277
static void rnandc_clear_status(struct rnandc *rnandc)
drivers/mtd/nand/raw/renesas-nand-controller.c
279
writel_relaxed(0, rnandc->regs + INT_STATUS_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
280
writel_relaxed(0, rnandc->regs + ECC_STAT_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
281
writel_relaxed(0, rnandc->regs + ECC_CNT_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
284
static void rnandc_dis_interrupts(struct rnandc *rnandc)
drivers/mtd/nand/raw/renesas-nand-controller.c
286
writel_relaxed(0, rnandc->regs + INT_MASK_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
289
static void rnandc_en_interrupts(struct rnandc *rnandc, u32 val)
drivers/mtd/nand/raw/renesas-nand-controller.c
291
if (!rnandc->use_polling)
drivers/mtd/nand/raw/renesas-nand-controller.c
292
writel_relaxed(val, rnandc->regs + INT_MASK_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
295
static void rnandc_clear_fifo(struct rnandc *rnandc)
drivers/mtd/nand/raw/renesas-nand-controller.c
297
writel_relaxed(FIFO_INIT, rnandc->regs + FIFO_INIT_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
303
struct rnandc *rnandc = to_rnandc(chip->controller);
drivers/mtd/nand/raw/renesas-nand-controller.c
306
if (chip == rnandc->selected_chip && die_nr == rnand->selected_die)
drivers/mtd/nand/raw/renesas-nand-controller.c
309
rnandc_clear_status(rnandc);
drivers/mtd/nand/raw/renesas-nand-controller.c
310
writel_relaxed(MEM_CTRL_CS(cs) | MEM_CTRL_DIS_WP(cs), rnandc->regs + MEM_CTRL_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
311
writel_relaxed(rnand->control, rnandc->regs + CONTROL_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
312
writel_relaxed(rnand->ecc_ctrl, rnandc->regs + ECC_CTRL_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
313
writel_relaxed(rnand->timings_asyn, rnandc->regs + TIMINGS_ASYN_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
314
writel_relaxed(rnand->tim_seq0, rnandc->regs + TIM_SEQ0_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
315
writel_relaxed(rnand->tim_seq1, rnandc->regs + TIM_SEQ1_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
316
writel_relaxed(rnand->tim_gen_seq0, rnandc->regs + TIM_GEN_SEQ0_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
317
writel_relaxed(rnand->tim_gen_seq1, rnandc->regs + TIM_GEN_SEQ1_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
318
writel_relaxed(rnand->tim_gen_seq2, rnandc->regs + TIM_GEN_SEQ2_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
319
writel_relaxed(rnand->tim_gen_seq3, rnandc->regs + TIM_GEN_SEQ3_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
321
rnandc->selected_chip = chip;
drivers/mtd/nand/raw/renesas-nand-controller.c
325
static void rnandc_trigger_op(struct rnandc *rnandc, struct rnandc_op *rop)
drivers/mtd/nand/raw/renesas-nand-controller.c
327
writel_relaxed(rop->addr0_col, rnandc->regs + ADDR0_COL_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
328
writel_relaxed(rop->addr0_row, rnandc->regs + ADDR0_ROW_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
329
writel_relaxed(rop->addr1_col, rnandc->regs + ADDR1_COL_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
330
writel_relaxed(rop->addr1_row, rnandc->regs + ADDR1_ROW_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
331
writel_relaxed(rop->ecc_offset, rnandc->regs + ECC_OFFSET_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
332
writel_relaxed(rop->gen_seq_ctrl, rnandc->regs + GEN_SEQ_CTRL_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
333
writel_relaxed(DATA_SIZE(rop->len), rnandc->regs + DATA_SIZE_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
334
writel_relaxed(rop->command, rnandc->regs + COMMAND_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
337
static void rnandc_trigger_dma(struct rnandc *rnandc)
drivers/mtd/nand/raw/renesas-nand-controller.c
341
DMA_CTRL_START, rnandc->regs + DMA_CTRL_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
346
struct rnandc *rnandc = private;
drivers/mtd/nand/raw/renesas-nand-controller.c
348
rnandc_dis_interrupts(rnandc);
drivers/mtd/nand/raw/renesas-nand-controller.c
349
complete(&rnandc->complete);
drivers/mtd/nand/raw/renesas-nand-controller.c
354
static int rnandc_wait_end_of_op(struct rnandc *rnandc,
drivers/mtd/nand/raw/renesas-nand-controller.c
362
ret = readl_poll_timeout(rnandc->regs + STATUS_REG, status,
drivers/mtd/nand/raw/renesas-nand-controller.c
366
dev_err(rnandc->dev, "Operation timed out, status: 0x%08x\n",
drivers/mtd/nand/raw/renesas-nand-controller.c
372
static int rnandc_wait_end_of_io(struct rnandc *rnandc,
drivers/mtd/nand/raw/renesas-nand-controller.c
378
if (rnandc->use_polling) {
drivers/mtd/nand/raw/renesas-nand-controller.c
383
ret = readl_poll_timeout(rnandc->regs + INT_STATUS_REG, status,
drivers/mtd/nand/raw/renesas-nand-controller.c
388
ret = wait_for_completion_timeout(&rnandc->complete,
drivers/mtd/nand/raw/renesas-nand-controller.c
402
struct rnandc *rnandc = to_rnandc(chip->controller);
drivers/mtd/nand/raw/renesas-nand-controller.c
421
rnandc_clear_status(rnandc);
drivers/mtd/nand/raw/renesas-nand-controller.c
422
reinit_completion(&rnandc->complete);
drivers/mtd/nand/raw/renesas-nand-controller.c
423
rnandc_en_interrupts(rnandc, INT_DMA_ENDED);
drivers/mtd/nand/raw/renesas-nand-controller.c
424
rnandc_en_correction(rnandc);
drivers/mtd/nand/raw/renesas-nand-controller.c
427
dma_addr = dma_map_single(rnandc->dev, rnandc->buf, mtd->writesize,
drivers/mtd/nand/raw/renesas-nand-controller.c
429
if (dma_mapping_error(rnandc->dev, dma_addr))
drivers/mtd/nand/raw/renesas-nand-controller.c
432
writel(dma_addr, rnandc->regs + DMA_ADDR_LOW_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
433
writel(mtd->writesize, rnandc->regs + DMA_CNT_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
434
writel(DMA_TLVL_MAX, rnandc->regs + DMA_TLVL_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
436
rnandc_trigger_op(rnandc, &rop);
drivers/mtd/nand/raw/renesas-nand-controller.c
437
rnandc_trigger_dma(rnandc);
drivers/mtd/nand/raw/renesas-nand-controller.c
439
ret = rnandc_wait_end_of_io(rnandc, chip);
drivers/mtd/nand/raw/renesas-nand-controller.c
440
dma_unmap_single(rnandc->dev, dma_addr, mtd->writesize, DMA_FROM_DEVICE);
drivers/mtd/nand/raw/renesas-nand-controller.c
441
rnandc_dis_correction(rnandc);
drivers/mtd/nand/raw/renesas-nand-controller.c
443
dev_err(rnandc->dev, "Read page operation never ending\n");
drivers/mtd/nand/raw/renesas-nand-controller.c
447
ecc_stat = readl_relaxed(rnandc->regs + ECC_STAT_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
462
bf = nand_check_erased_ecc_chunk(rnandc->buf + off,
drivers/mtd/nand/raw/renesas-nand-controller.c
476
bf = ECC_CNT(cs, readl_relaxed(rnandc->regs + ECC_CNT_REG));
drivers/mtd/nand/raw/renesas-nand-controller.c
485
memcpy(buf, rnandc->buf, mtd->writesize);
drivers/mtd/nand/raw/renesas-nand-controller.c
493
struct rnandc *rnandc = to_rnandc(chip->controller);
drivers/mtd/nand/raw/renesas-nand-controller.c
518
rnandc_clear_status(rnandc);
drivers/mtd/nand/raw/renesas-nand-controller.c
519
rnandc_en_correction(rnandc);
drivers/mtd/nand/raw/renesas-nand-controller.c
520
rnandc_trigger_op(rnandc, &rop);
drivers/mtd/nand/raw/renesas-nand-controller.c
522
while (!FIFO_STATE_C_EMPTY(readl(rnandc->regs + FIFO_STATE_REG)))
drivers/mtd/nand/raw/renesas-nand-controller.c
525
while (FIFO_STATE_R_EMPTY(readl(rnandc->regs + FIFO_STATE_REG)))
drivers/mtd/nand/raw/renesas-nand-controller.c
528
ioread32_rep(rnandc->regs + FIFO_DATA_REG, bufpoi + page_off,
drivers/mtd/nand/raw/renesas-nand-controller.c
531
if (!FIFO_STATE_R_EMPTY(readl(rnandc->regs + FIFO_STATE_REG))) {
drivers/mtd/nand/raw/renesas-nand-controller.c
532
dev_err(rnandc->dev, "Clearing residual data in the read FIFO\n");
drivers/mtd/nand/raw/renesas-nand-controller.c
533
rnandc_clear_fifo(rnandc);
drivers/mtd/nand/raw/renesas-nand-controller.c
536
ret = rnandc_wait_end_of_op(rnandc, chip);
drivers/mtd/nand/raw/renesas-nand-controller.c
537
rnandc_dis_correction(rnandc);
drivers/mtd/nand/raw/renesas-nand-controller.c
539
dev_err(rnandc->dev, "Read subpage operation never ending\n");
drivers/mtd/nand/raw/renesas-nand-controller.c
543
ecc_stat = readl_relaxed(rnandc->regs + ECC_STAT_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
570
bf = ECC_CNT(cs, readl_relaxed(rnandc->regs + ECC_CNT_REG));
drivers/mtd/nand/raw/renesas-nand-controller.c
585
struct rnandc *rnandc = to_rnandc(chip->controller);
drivers/mtd/nand/raw/renesas-nand-controller.c
600
memcpy(rnandc->buf, buf, mtd->writesize);
drivers/mtd/nand/raw/renesas-nand-controller.c
604
rnandc_clear_status(rnandc);
drivers/mtd/nand/raw/renesas-nand-controller.c
605
reinit_completion(&rnandc->complete);
drivers/mtd/nand/raw/renesas-nand-controller.c
606
rnandc_en_interrupts(rnandc, INT_MEM_RDY(cs));
drivers/mtd/nand/raw/renesas-nand-controller.c
607
rnandc_en_correction(rnandc);
drivers/mtd/nand/raw/renesas-nand-controller.c
610
dma_addr = dma_map_single(rnandc->dev, (void *)rnandc->buf, mtd->writesize,
drivers/mtd/nand/raw/renesas-nand-controller.c
612
if (dma_mapping_error(rnandc->dev, dma_addr))
drivers/mtd/nand/raw/renesas-nand-controller.c
615
writel(dma_addr, rnandc->regs + DMA_ADDR_LOW_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
616
writel(mtd->writesize, rnandc->regs + DMA_CNT_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
617
writel(DMA_TLVL_MAX, rnandc->regs + DMA_TLVL_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
619
rnandc_trigger_op(rnandc, &rop);
drivers/mtd/nand/raw/renesas-nand-controller.c
620
rnandc_trigger_dma(rnandc);
drivers/mtd/nand/raw/renesas-nand-controller.c
622
ret = rnandc_wait_end_of_io(rnandc, chip);
drivers/mtd/nand/raw/renesas-nand-controller.c
623
dma_unmap_single(rnandc->dev, dma_addr, mtd->writesize, DMA_TO_DEVICE);
drivers/mtd/nand/raw/renesas-nand-controller.c
624
rnandc_dis_correction(rnandc);
drivers/mtd/nand/raw/renesas-nand-controller.c
626
dev_err(rnandc->dev, "Write page operation never ending\n");
drivers/mtd/nand/raw/renesas-nand-controller.c
641
struct rnandc *rnandc = to_rnandc(chip->controller);
drivers/mtd/nand/raw/renesas-nand-controller.c
661
rnandc_clear_status(rnandc);
drivers/mtd/nand/raw/renesas-nand-controller.c
662
rnandc_en_correction(rnandc);
drivers/mtd/nand/raw/renesas-nand-controller.c
663
rnandc_trigger_op(rnandc, &rop);
drivers/mtd/nand/raw/renesas-nand-controller.c
665
while (FIFO_STATE_W_FULL(readl(rnandc->regs + FIFO_STATE_REG)))
drivers/mtd/nand/raw/renesas-nand-controller.c
668
iowrite32_rep(rnandc->regs + FIFO_DATA_REG, bufpoi + page_off,
drivers/mtd/nand/raw/renesas-nand-controller.c
671
while (!FIFO_STATE_W_EMPTY(readl(rnandc->regs + FIFO_STATE_REG)))
drivers/mtd/nand/raw/renesas-nand-controller.c
674
ret = rnandc_wait_end_of_op(rnandc, chip);
drivers/mtd/nand/raw/renesas-nand-controller.c
675
rnandc_dis_correction(rnandc);
drivers/mtd/nand/raw/renesas-nand-controller.c
677
dev_err(rnandc->dev, "Write subpage operation never ending\n");
drivers/mtd/nand/raw/renesas-nand-controller.c
691
struct rnandc *rnandc = to_rnandc(chip->controller);
drivers/mtd/nand/raw/renesas-nand-controller.c
841
dev_err(rnandc->dev, "Cannot handle more than one wait delay\n");
drivers/mtd/nand/raw/renesas-nand-controller.c
848
rnandc_trigger_op(rnandc, &rop);
drivers/mtd/nand/raw/renesas-nand-controller.c
853
while (!FIFO_STATE_C_EMPTY(readl(rnandc->regs + FIFO_STATE_REG)))
drivers/mtd/nand/raw/renesas-nand-controller.c
856
while (FIFO_STATE_R_EMPTY(readl(rnandc->regs + FIFO_STATE_REG)))
drivers/mtd/nand/raw/renesas-nand-controller.c
859
ioread32_rep(rnandc->regs + FIFO_DATA_REG, rop.buf, words);
drivers/mtd/nand/raw/renesas-nand-controller.c
861
last_bytes = readl_relaxed(rnandc->regs + FIFO_DATA_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
866
if (!FIFO_STATE_R_EMPTY(readl(rnandc->regs + FIFO_STATE_REG))) {
drivers/mtd/nand/raw/renesas-nand-controller.c
867
dev_warn(rnandc->dev,
drivers/mtd/nand/raw/renesas-nand-controller.c
869
rnandc_clear_fifo(rnandc);
drivers/mtd/nand/raw/renesas-nand-controller.c
872
while (FIFO_STATE_W_FULL(readl(rnandc->regs + FIFO_STATE_REG)))
drivers/mtd/nand/raw/renesas-nand-controller.c
875
iowrite32_rep(rnandc->regs + FIFO_DATA_REG, rop.buf,
drivers/mtd/nand/raw/renesas-nand-controller.c
881
writel_relaxed(last_bytes, rnandc->regs + FIFO_DATA_REG);
drivers/mtd/nand/raw/renesas-nand-controller.c
884
while (!FIFO_STATE_W_EMPTY(readl(rnandc->regs + FIFO_STATE_REG)))
drivers/mtd/nand/raw/renesas-nand-controller.c
888
ret = rnandc_wait_end_of_op(rnandc, chip);
drivers/mtd/nand/raw/renesas-nand-controller.c
899
struct rnandc *rnandc = to_rnandc(chip->controller);
drivers/mtd/nand/raw/renesas-nand-controller.c
900
unsigned int period_ns = 1000000000 / rnandc->ext_clk_rate;
drivers/mtd/nand/raw/renesas-nand-controller.c
909
dev_err(rnandc->dev, "Read and write hold times must be identical\n");