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

Re: sync serial stops working




> Hallo to all
>
> With an Etrax-LX we communicate to a codec over synch.serial,
> MASTER_BIDIR, WORD_SIZE_16, FLOW_CONTROL_DISABLE, 4096 MHz.
> I open() with blocked and use 2 daemons, one for read() only and the other
> one for write().
What CoDec are you using and why did you choose 4096MHZ ? May be data's
are not available for sending from MASTER to CoDec SLAVE thru TDM Bus ?

May be are you succeed with lower bitrate.

>
> After a while the write or read process stops, one of them is always
> continuing with its job.
> The stopped process stays in the sync_serial driver and sleeps there,
> waiting for dma interrupt, which does not fire anymore.
> If I open /dev/syncserX with O_NONBLOCK, after a while write() or read()
> returns 0 and stops its mission.
>
> So I decided to connect two boards with LX on it over sync.serial, just to
> test the configuration and to find the problem.
> Board one as MASTER_BIDIR works perfect, board 2 as slave SLAVE_BIDIR
> shows
> the same problem.
> write() stops after an undefined time and waits for an interrupt which
> never
> happen.
> Stop the master and/or stop the clock does not help. The write() process
> at
> the slave sleeps and does not work anymore.
> The timing of clock and frame is like it should be. Sometimes slave and
> master receive more then 20Gigabytes without
> any errors, but then it stops for any unknown reason.
> Async. serial ports (cause DMA):
> # CONFIG_ETRAX_SERIAL_PORT1 is not set
> # CONFIG_ETRAX_SERIAL_PORT3 is not set
> # CONFIG_ETRAX_SERIAL_FLUSH_DMA_FAST is not set
>
> sync.serial port 0+1 and sync.serial DMA for port 0+1 is set.
>
> Does anybody know this problem?
> Thank you for your help.
>
> Willy
>
>


-- 
Betula électronique sarl <www.betula-electronique.com>
Bouaziz-Viallet Habib
70, rue Léon Jouhaux
F-38100 Grenoble
Tél : +33(0) 476 032 663