Hi Chris,

On 08/22/2011 11:41 AM, Laurent Pinchart wrote:
> 
> Hi Chris,
> 
> On Monday 22 August 2011 06:12:41 CJ wrote:
>> On 19/08/11 22:12, Laurent Pinchart wrote:
>>>> I am trying to get the mt9p031 working from nand with a ubifs file
>>>> system and I am having a few problems.
>>>>
>>>> /dev/media0 is not present unless I run:
>>>> #mknod /dev/media0 c 251 0
>>>> #chown root:video /dev/media0
>>>>
>>>> #media-ctl -p
>>>> Enumerating entities
>>>> media_open: Unable to enumerate entities for device /dev/media0
>>>> (Inappropriate ioctl for device)
>>>>
>>>> With the same rig/files it works fine running from EXT4 on an SD card.
>>>> Any idea why this does not work on nand with ubifs?
>>>
>>> Is the OMAP3 ISP driver loaded ? Has it probed the device successfully ?
>>> Check the kernel log for OMAP3 ISP-related messages.
>>
>> Here is the version running from SD card:
>> # dmesg | grep isp
>> [    0.265502] omap-iommu omap-iommu.0: isp registered
>> [    2.986541] omap3isp omap3isp: Revision 2.0 found
>> [    2.991577] omap-iommu omap-iommu.0: isp: version 1.1
>> [    2.997406] omap3isp omap3isp: hist: DMA channel = 0
>> [    3.006256] omap3isp omap3isp: isp_set_xclk(): cam_xclka set to
>> 21600000 Hz
>> [    3.011932] omap3isp omap3isp: isp_set_xclk(): cam_xclka set to 0 Hz
>>
>>  From NAND using UBIFS:
>> # dmesg | grep isp
>> [    3.457061] omap3isp omap3isp: Revision 2.0 found
>> [    3.462036] omap-iommu omap-iommu.0: isp: version 1.1
>> [    3.467620] omap3isp omap3isp: hist: DMA channel = 0
>> [    3.472564] omap3isp omap3isp: isp_set_xclk(): cam_xclka set to
>> 21600000 Hz
>> [    3.478027] omap3isp omap3isp: isp_set_xclk(): cam_xclka set to 0 Hz
>>
>> Seems to be missing:
>> omap-iommu omap-iommu.0: isp registered
>>
>> Is that the issue? Why would this not work when running from NAND?

I'm not sure, either, but I had a similar problem before using Laurent's
patch below. IIRC, usually udev would create /dev/media0 from a cached
list of /dev/*. Later modutils would come along and load the modules in
the proper order (iommu, then omap3-isp) and everybody was happy.
Occasionally, udev would fail to use the cached version of /dev/, and
look through /sys/devices to re-create the devices in /dev/. When media0
was found, omap3-isp.ko would be loaded, but iommu had not yet been,
presumably because it doesn't have an entry in /sys/devices/. So maybe
udev is behaving differently for you on NAND than it did on the card?
Either way, as I said, using Laurent's patch below did the job for me.

-Michael

> 
> I'm not sure why it doesn't work from NAND, but the iommu2 module needs to be 
> loaded before the omap3-isp module. Alternatively you can compile the iommu2 
> module in the kernel with
> 
> diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig
> index 49a4c75..3c87644 100644
> --- a/arch/arm/plat-omap/Kconfig
> +++ b/arch/arm/plat-omap/Kconfig
> @@ -132,7 +132,7 @@ config OMAP_MBOX_KFIFO_SIZE
>         module parameter).
>  
>  config OMAP_IOMMU
> -       tristate
> +       bool
>  
>  config OMAP_IOMMU_DEBUG
>         tristate "Export OMAP IOMMU internals in DebugFS"
> 


MATRIX VISION GmbH, Talstrasse 16, DE-71570 Oppenweiler
Registergericht: Amtsgericht Stuttgart, HRB 271090
Geschaeftsfuehrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner, Erhard Meier
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to