File tree Expand file tree Collapse file tree 2 files changed +5
-8
lines changed Expand file tree Collapse file tree 2 files changed +5
-8
lines changed Original file line number Diff line number Diff line change @@ -3781,18 +3781,14 @@ int sdhci_setup_host(struct sdhci_host *host)
3781
3781
host -> flags &= ~SDHCI_USE_ADMA ;
3782
3782
}
3783
3783
3784
- /*
3785
- * It is assumed that a 64-bit capable device has set a 64-bit DMA mask
3786
- * and *must* do 64-bit DMA. A driver has the opportunity to change
3787
- * that during the first call to ->enable_dma(). Similarly
3788
- * SDHCI_QUIRK2_BROKEN_64_BIT_DMA must be left to the drivers to
3789
- * implement.
3790
- */
3791
3784
if (sdhci_can_64bit_dma (host ))
3792
3785
host -> flags |= SDHCI_USE_64_BIT_DMA ;
3793
3786
3794
3787
if (host -> flags & (SDHCI_USE_SDMA | SDHCI_USE_ADMA )) {
3795
- ret = sdhci_set_dma_mask (host );
3788
+ if (host -> ops -> set_dma_mask )
3789
+ ret = host -> ops -> set_dma_mask (host );
3790
+ else
3791
+ ret = sdhci_set_dma_mask (host );
3796
3792
3797
3793
if (!ret && host -> ops -> enable_dma )
3798
3794
ret = host -> ops -> enable_dma (host );
Original file line number Diff line number Diff line change @@ -622,6 +622,7 @@ struct sdhci_ops {
622
622
623
623
u32 (* irq )(struct sdhci_host * host , u32 intmask );
624
624
625
+ int (* set_dma_mask )(struct sdhci_host * host );
625
626
int (* enable_dma )(struct sdhci_host * host );
626
627
unsigned int (* get_max_clock )(struct sdhci_host * host );
627
628
unsigned int (* get_min_clock )(struct sdhci_host * host );
You can’t perform that action at this time.
0 commit comments