Linux 3.7 does not boot on OMAP L137 with CONFIG_TI_EDMA=y
Hi,
commit c2dde5f8f2095d7c623ff3565c1462e190272273 (dmaengine: add TI EDMA DMA engine driver)
with new option CONFIG_TI_EDMA=y causes system hang after "Uncompressing Linux... done, booting the kernel." on OMAP L137.
The same problem still exists in current v3.7-rc8-41-gcaf4919.
This causes some regressions, for instance the converted to new DMA engine SPI driver does not work without CONFIG_TI_EDMA=y:
spi_davinci spi_davinci.0: Runtime PM disabled, clock forced on. spi_davinci spi_davinci.0: request RX DMA channel failed Trying to free nonexistent resource <0000000001c41000-0000000001c41000>
By the way:
1. It's possible to compile davinci SPI driver with CONFIG_DMADEVICES=n (and CONFIG_TI_EMDA=n), but it does work in that configuration (see error above).
2. The "Trying to free nonexistent resource" seems to indicate some other error in SPI driver cleanup after error code.
Krzysiek
Quoted 7 lines · Krzysztof Mazur
Hi,
commit
c2dde5f8f2095d7c623ff3565c1462e190272273(dmaengine: add TI EDMA DMA engine driver)
with new optionCONFIG_TI_EDMA=ycauses system hang after "Uncompressing Linux... done, booting the kernel." on OMAP L137.
The system board is probably also important. The problem occurs on Spectrum Digital OMAP-L137 EVM. I used following board-specific options:
CONFIG_ARCH_DAVINCI=yCONFIG_CP_INTC=yCONFIG_ARCH_DAVINCI_DA830=yCONFIG_ARCH_DAVINCI_DA8XX=yCONFIG_MACH_DAVINCI_DA830_EVM=yCONFIG_DA830_UI_LCD=yCONFIG_GPIO_PCA953X=yCONFIG_DAVINCI_MUX=yCONFIG_DAVINCI_RESET_CLOCKS=y
Quoted 10 lines
The same problem still exists in current v3.7-rc8-41-gcaf4919.
This causes some regressions, for instance the converted to new DMA engine SPI driver does not work without
CONFIG_TI_EDMA=y:
spi_davincispi_davinci.0: Runtime PM disabled, clock forced on.spi_davincispi_davinci.0: request RX DMA channel failed Trying to free nonexistent resource <0000000001c41000-0000000001c41000>
Quoted 9 lines
By the way:
1. It's possible to compile davinci SPI driver with
CONFIG_DMADEVICES=n(andCONFIG_TI_EMDA=n), but it does work in that configuration (see error above).2. The "Trying to free nonexistent resource" seems to indicate some other error in SPI driver cleanup after error code.
Krzysiek