[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

AW: [microblaze-uclinux] FSL



Hello Stephane,

I have put some printk's in the fsl driver.
The read call executes the function read_tasklet_func repeatedly in an
infinite loop.
Function fsl_nget returns no data(does not block), and at the end
wake_up(&fsl_read_queue) is executed, so the function read_tasklet_func
is executed again and again.
Some idea why this could happen?
Thanks a lot.

Best regards,
Raul Camaras

-----Ursprüngliche Nachricht-----
Von: owner-microblaze-uclinux@xxxxxxxxxxxxxx
[mailto:owner-microblaze-uclinux@xxxxxxxxxxxxxx] Im Auftrag von Stephane
Rousseau
Gesendet: Dienstag, 30. Oktober 2007 18:44
An: microblaze-uclinux@xxxxxxxxxxxxxx
Betreff: Re: [microblaze-uclinux] FSL

Hello Raul,

Your read call shouldn't block at least you should receive an error.
The driver use non blocking nget assembler function to read. Try to
investigate a litte more.

Using the driver, you should not use the assembly instructions to
access the FSL link into a userland application, allways use the read
and write. Assembly instructions are into the low level implementation
for use exclusivly. This protect userland process to access the
hardware directly.

Best regards,

Stephane Rousseau





On 10/30/07, Raul Camaras <raul.camaras@xxxxxxxxxxxxxxxxxxx> wrote:
> Hello,
> Thank you for your answer Stephane.
> Next problem:
> An application in Microblaze writing and reading from the FSL works.
> It uses:
>
> asm volatile ("nput %0, rfsl" "0" :: "d" (data_to_local_link[k]));
>
> to write, and
>
> asm volatile ("nget %0, rfsl" "1" : "=d" (data_back_local_link[r]));
>
> to read.
>
> Under uClinux I try to use your example code, but the read call blocks
> any time!
> Did I forget some call to ioctl??
> What can be the reason?
> Thanks a lot.
> Regards,
> Raul Camaras
>
> -----Ursprüngliche Nachricht-----
> Von: owner-microblaze-uclinux@xxxxxxxxxxxxxx
> [mailto:owner-microblaze-uclinux@xxxxxxxxxxxxxx] Im Auftrag von
Stephane
> Rousseau
> Gesendet: Dienstag, 30. Oktober 2007 04:09
> An: microblaze-uclinux@xxxxxxxxxxxxxx
> Betreff: Re: [microblaze-uclinux] FSL
>
> Hi Raul,
>
> If you are on version 2.4, you can use the driver FSLFIFO made by Mr.
> Williams. FSL driver are not yet available on version 2.6.
>
> Here is an exemple assuming a request/response component on the FSL
link
> 1 :
>
> {
> filerw = open("/dev/fslfifo1", O_RDWR);
>
> res = write(filerw, &dataout[], dimout);
>
> res = read(filerw, &datain[], dimin);
> close(fichier);
> }
>
>
> Regards,
>
> Stephane Rousseau
>
> On 10/29/07, Raul Camaras <raul.camaras@xxxxxxxxxxxxxxxxxxx> wrote:
> > Hello,
> >
> > does anybody have an example of using a FSL under uClinux?
> > Thanks a lot.
> > Regards,
> >
> > Raul Camaras
> >
> >
> >
> > ___________________________
> > microblaze-uclinux mailing list
> > microblaze-uclinux@xxxxxxxxxxxxxx
> > Project Home Page :
> http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
> > Mailing List Archive :
> http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/
> >
> >
> ___________________________
> microblaze-uclinux mailing list
> microblaze-uclinux@xxxxxxxxxxxxxx
> Project Home Page :
http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
> Mailing List Archive :
> http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/
>
>
> ___________________________
> microblaze-uclinux mailing list
> microblaze-uclinux@xxxxxxxxxxxxxx
> Project Home Page :
http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
> Mailing List Archive :
http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/
>
>

___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive :
http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/


___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/