On Monday 02 January 2006 22:11, [EMAIL PROTECTED] wrote:
> Hans,
>
> That did it - can you explain the difference between the two
> functions? The function prototype is not easily found on google. I
> would like to know the cause.

memcpy_toio is a kernel function which copies memory to so-called I/O 
memory, which is memory from another board (such as the PVR card) 
mapped through the PCI bus. I bet that the new gcc compiler inlines 
memcpy to use 64-bit memory copies for the amd64, but the PCI-bus 
cannot handle 64-bit memory transfers. memcpy_toio behaves well in this 
case.

I never saw it because I'm still using gcc-3.4 on my amd64 box. My 
32-bit environment has been updated to gcc-4, but that's 32-bit so it 
works there as well.

>
> How do we go about filing a bug report?

Nothing. I've fixed it in the ivtv-0.4 branch and in ivtv-0.5 head. It 
will be in the next release.

Thanks for testing!

        Hans

>
> Michael
>
> Quoting Hans Verkuil <[EMAIL PROTECTED]>:
> > OK, I thought so.
> >
> > Now for the interesting part:
> >
> > In ivtv-firmware.c, in the load_fw_direct inside CONFIG_FW_LOADER,
> > replace the two memcpy statements by memcpy_toio and let me know if
> > it now works. If my guess is correct it will work now. You can put
> > back the audio firmware, by the way.
> >
> >     Hans
> >
> > On Monday 02 January 2006 21:44, [EMAIL PROTECTED] wrote:
> > > Hans,
> > >
> > >   I'm afraid that renaming the audio firmware doesn't make any
> > > difference. Is there someway of ensuring that it is being loaded?
> > > The debug messages in dmesg do not explicitly state that the
> > > audio firmware is loaded in either 0.4.0/0.4.1/0.4.2.
> > >
> > > Cheers,
> > >
> > > Michael
> > >
> > > Quoting Hans Verkuil <[EMAIL PROTECTED]>:
> > > > On Monday 02 January 2006 20:17, [EMAIL PROTECTED] wrote:
> > > > > Hans,
> > > > >
> > > > > I wasn't able to apply the patch ( I'm a newbie w/ linux ) so
> > > > > I just modified the source with the information contained in
> > > > > your file.
> > > > >
> > > > > no hotplug gives:
> > > > >
> > > > > [ 1348.171567] ivtv0: loaded /lib/modules/v4l-cx2341x-enc.fw
> > > > > firmware (262144 bytes) [ 1348.423225] ivtv0: firmware sum =
> > > > > 0084a9cb
> > > > >
> > > > >
> > > > > hotplug gives:
> > > > >
> > > > > [ 1865.847204] ivtv0: loaded v4l-cx2341x-enc.fw firmware
> > > > > (262144 bytes, sum = 0084a9cb)
> > > > > [ 1866.098870] ivtv0: firmware sum = 00206879
> > > > >
> > > > > This is very interesting, it loads the firmware in
> > > > > load_fw_direct and then has the incorrect firmware in
> > > > > ivtv_enc_firmware_copy. The memcpy was successful, it did not
> > > > > return NULL(I checked).
> > > > >
> > > > > Could something else be overwriting this variable? Another
> > > > > thread perhaps?
> > > > >
> > > > > I'm willing to continue debugging but need a little help.
> > > >
> > > > Can you move the v4l-cx25840.fw to another name? The only thing
> > > > I can think of right now is that the load of that firmware
> > > > disturbs the load of this firmware. So by moving v4l-cx25840.fw
> > > > out of the way the cx25840 no longer can interfere. If that
> > > > makes no difference, then try to rmmod ivtv followed by
> > > > modprobe ivtv (since cx25840 was already loaded that too
> > > > excludes any interference of cx25840).
> > > >
> > > >         Hans
> > > >
> > > > > Thanks,
> > > > >
> > > > > Michael
> > > > >
> > > > > Quoting Hans Verkuil <[EMAIL PROTECTED]>:
> > > > > > Michael,
> > > > > >
> > > > > > I've attached a patch for ivtv-firmware.c. I'm curious what
> > > > > > the results will be. To be continued tomorrow...
> > > > > >
> > > > > >     Hans
> > > > > >
> > > > > > On Monday 02 January 2006 01:15, [EMAIL PROTECTED] wrote:
> > > > > > > Hans,
> > > > > > >
> > > > > > > Your guess was bang on - reverting to the "old way" of
> > > > > > > loading the firmware results in success. Something in the
> > > > > > > hotplug is causing grief.
> > > > > > >
> > > > > > > If you can give me a hand with the C, I can attempt the
> > > > > > > summations that you have requested. It would be nice to
> > > > > > > get to the bottom of this one.. I'm probably not the only
> > > > > > > one that has run into this problem.
> > > > > > >
> > > > > > > Cheers,
> > > > > > >
> > > > > > > Michael
> > > > > > >
> > > > > > > Quoting Hans Verkuil <[EMAIL PROTECTED]>:
> > > > > > > > On Monday 02 January 2006 00:27, [EMAIL PROTECTED] 
wrote:
> > > > > > > > > Hans,
> > > > > > > > >
> > > > > > > > > I've performed the operations as requested, and
> > > > > > > > > achieve the same result - I assume this removes zero
> > > > > > > > > padding on the firmware file?
> > > > > > > >
> > > > > > > > correct
> > > > > > > >
> > > > > > > > > [  307.521854] ivtv0: loaded v4l-cx2341x-enc.fw
> > > > > > > > > firmware (262144 bytes) [  307.753271] ivtv0 warning:
> > > > > > > > > Encoder mailbox not found [  307.784732] ivtv0
> > > > > > > > > warning: Decoder mailbox not found [  307.784735]
> > > > > > > > > ivtv0: Error locating firmware. [  307.791075] ivtv0:
> > > > > > > > > Error -12 on initialization [  307.791084] ivtv:
> > > > > > > > > probe of 0000:02:06.0 failed with error -12 [ 
> > > > > > > > > 307.791090] ivtv:
> > > > > > > > > ====================  END INIT IVTV
> > > > > > > > > ====================
> > > > > > > > >
> > > > > > > > > To be certain that the firmware was correct, I
> > > > > > > > > reloaded 0.4.0 using the shortened firmware file and
> > > > > > > > > was able to watch tv once again.
> > > > > > > > >
> > > > > > > > > I believe we have ruled out the firmware.. could
> > > > > > > > > there be something in ivtv 0.4.1/2 that is causing
> > > > > > > > > the grief? Is there some means of enabling more
> > > > > > > > > verbose debug messages? I don't mind recompiling...
> > > > > > > >
> > > > > > > > Well, ivtv-0.4.1 switched to the hotplug mechanism. My
> > > > > > > > guess the problem is with that.
> > > > > > > >
> > > > > > > > Edit ivtv-firmware.c, look for CONFIG_FW_LOADER and
> > > > > > > > replace that #if with #if 0. Do the same in
> > > > > > > > ivtv-driver.h and cx25840.h.
> > > > > > > >
> > > > > > > > Recompile, install and test. If it now works again,
> > > > > > > > then it is the new hotplug stuff that breaks things.
> > > > > > > > But why don't I get the same problems? Weird.
> > > > > > > >
> > > > > > > > If it is hotplug related and if you are handy with C,
> > > > > > > > then can you perhaps do some tests? I was thinking of
> > > > > > > > hacking ivtv-firmware.c so that the firmware load
> > > > > > > > routines so a simple sum of all the bytes in the
> > > > > > > > firmware and then show the grand total when done. I'd
> > > > > > > > be very interested to see if there are any difference
> > > > > > > > between the hotplug and non-hotplug cases.
> > > > >
> > > > > _______________________________________________
> > > > > ivtv-users mailing list
> > > > > [email protected]
> > > > > http://ivtvdriver.org/mailman/listinfo/ivtv-users
> > > >
> > > > _______________________________________________
> > > > ivtv-users mailing list
> > > > [email protected]
> > > > http://ivtvdriver.org/mailman/listinfo/ivtv-users
> > >
> > > _______________________________________________
> > > ivtv-users mailing list
> > > [email protected]
> > > http://ivtvdriver.org/mailman/listinfo/ivtv-users
> >
> > _______________________________________________
> > ivtv-users mailing list
> > [email protected]
> > http://ivtvdriver.org/mailman/listinfo/ivtv-users
>
> _______________________________________________
> ivtv-users mailing list
> [email protected]
> http://ivtvdriver.org/mailman/listinfo/ivtv-users

_______________________________________________
ivtv-users mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-users

Reply via email to