forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-10 748e4f3d702def1a4bff191e0cf93b6a05340f01
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,11 @@
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) {
532
- dev_err(acdev->host->dev, "Unable to get dma_chan\n");
529
+ acdev->dma_chan = dma_request_chan(acdev->host->dev, "data");
530
+ if (IS_ERR(acdev->dma_chan)) {
531
+ dev_err_probe(acdev->host->dev, PTR_ERR(acdev->dma_chan),
532
+ "Unable to get dma_chan\n");
533
+ acdev->dma_chan = NULL;
533534 goto chan_request_fail;
534535 }
535536
....@@ -540,6 +541,7 @@
540541 }
541542
542543 dma_release_channel(acdev->dma_chan);
544
+ acdev->dma_chan = NULL;
543545
544546 /* data xferred successfully */
545547 if (!ret) {
....@@ -832,7 +834,7 @@
832834 }
833835
834836 acdev->pbase = res->start;
835
- acdev->vbase = devm_ioremap_nocache(&pdev->dev, res->start,
837
+ acdev->vbase = devm_ioremap(&pdev->dev, res->start,
836838 resource_size(res));
837839 if (!acdev->vbase) {
838840 dev_warn(&pdev->dev, "ioremap fail\n");