> > Unsurprisingly, I also couldn't get the mode switching between DMA and > > PIOQUEUE to work :( > > I'd say more work should be invested into this.
I ran out of ideas. Next thing I'd do is to ask FSL if this is possible
at all. Yet, I'd like to have some solution for 3.7.
> Besides, what about rather > trying PIO + DMA instead of PIOQ + DMA?
That could also be a solution.
> > However, I did come up with an idea how to select DMA or PIOQUEUE per
> > bus via devicetree. If we change the view from "I want PIOQUEUE" to "I
> > don't want DMA", we could simply override the default DMA configuration
> > in the devicetree with, e.g.:
> >
> > i2c0: i2c@80058000 {
> > ...
> > fsl,i2c-dma-channel = <>;
> > };
> >
> > So, no DMA channel set up will fall back to PIOQUEUE. This is more
> > generic than a custom binding, because if one doesn't want DMA, don't
> > configure it. That should also work with other devices which can fall
> > back to something. I think this is worth trying, another advantage is
> > that it doesn't expose something new to the user. So, there is no legacy
> > support needed in case there will be a better way of configuration.
>
> Ewww ... that's such an ad-hoc hack.
Please give reasons.
> Besides, someone might simply forget to add the binding, you'd need to
> print a warning.
? It is "on" by default because of the entry in the dtsi. And the status
of DMA will be printed.
> > + dev_info(dev, "registered. DMA: %s\n", i2c->dma_mode ? "on" : "off");
>
> dev_debug() ?
Yup.
--
Pengutronix e.K. | Wolfram Sang |
Industrial Linux Solutions | http://www.pengutronix.de/ |
signature.asc
Description: Digital signature
