/* Initialize the dml hardware connected to SD Card controller */It seems like the existing code is an attempt to fallback to use pio
-static void qcom_dma_setup(struct mmci_host *host)
+static int qcom_dma_setup(struct mmci_host *host)
{
u32 config;
void __iomem *base;
@@ -131,7 +131,7 @@ static void qcom_dma_setup(struct mmci_host *host)
if (producer_id < 0 || consumer_id < 0) {
host->variant->qcom_dml = false;
mode. However, I doubt it works as is.
That would be very bad!, We should report it and may be just continue with pio mode.
- return;My point is, if you return an error code here, it means that the error
+ return -EINVAL;
code becomes propagated and ->probe() will fail.
I think you meant IFC6410.. DB410c uses sdhci.
Ideally, we should be able fall back to pio mode when dma doesn't
work. I have looped in Srinivas who implemented the qcom dml support,
let's see if he can explains the intent with the code.
I also volunteer to help out running some tests on the 410c platform,
however allow me a day or two to do that.