On Nov 7, 2006, at 10:44 PM, Tyler Trafford wrote: > I'm pretty sure those writel's were there to fix something.... > *checks* > > Refer to these: > > http://ivtvdriver.org/trac/changeset/3089 > http://ivtvdriver.org/trac/changeset/3152
I'm not sure what the agreement is on 'writel()' at the moment in this thread, but I'd just like to state that its use in the changesets above breaks the loading of firmware on big-endian architectures (notably PPC). Releases since those changesets above fail at insmod with the error 'encoder mailbox not found' although the firmware is located, read, and attempted to be loaded. If the driver does not revert to memcpy/memcpy_toio (as has been suggested) could I recommend the use of '__raw_writel()' instead? writel on most big-endian architectures does a byteswap operation to ensure the data is available to the little-endian PCI bus in its correct order, but for some reason the firmware is already little- endian beforehand. Using __raw_writel does not run a byteswap on the data, and the firmware gets loaded correctly - even on little-endian machines. - Ricardo _______________________________________________ ivtv-devel mailing list [email protected] http://ivtvdriver.org/mailman/listinfo/ivtv-devel
