forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-09 95099d4622f8cb224d94e314c7a8e0df60b13f87
kernel/drivers/ata/pata_arasan_cf.c
....@@ -219,7 +219,6 @@
219219
220220 static struct scsi_host_template arasan_cf_sht = {
221221 ATA_BASE_SHT(DRIVER_NAME),
222
- .sg_tablesize = SG_NONE,
223222 .dma_boundary = 0xFFFFFFFFUL,
224223 };
225224
....@@ -527,9 +526,10 @@
527526
528527 /* request dma channels */
529528 /* dma_request_channel may sleep, so calling from process context */
530
- acdev->dma_chan = dma_request_slave_channel(acdev->host->dev, "data");
531
- if (!acdev->dma_chan) {
529
+ acdev->dma_chan = dma_request_chan(acdev->host->dev, "data");
530
+ if (IS_ERR(acdev->dma_chan)) {
532531 dev_err(acdev->host->dev, "Unable to get dma_chan\n");
532
+ acdev->dma_chan = NULL;
533533 goto chan_request_fail;
534534 }
535535
....@@ -540,6 +540,7 @@
540540 }
541541
542542 dma_release_channel(acdev->dma_chan);
543
+ acdev->dma_chan = NULL;
543544
544545 /* data xferred successfully */
545546 if (!ret) {
....@@ -832,7 +833,7 @@
832833 }
833834
834835 acdev->pbase = res->start;
835
- acdev->vbase = devm_ioremap_nocache(&pdev->dev, res->start,
836
+ acdev->vbase = devm_ioremap(&pdev->dev, res->start,
836837 resource_size(res));
837838 if (!acdev->vbase) {
838839 dev_warn(&pdev->dev, "ioremap fail\n");