MVME2431: how to use vme?

Simone Piccardi Simone.Piccardi at
Tue May 25 00:18:05 EST 1999

Hi Gabriel,
thanks for the help, I had already found the solution looking at the
My universe.c now looks like:

        /* Set up an A32/D32 image with BLT for tests */
        SET_REG(0xd8000000 - universe.bus_delta, LSI_BS(2));
        SET_REG(0xdc000000 - universe.bus_delta, LSI_BD(2));
        SET_REG(universe.bus_delta, LSI_TO(2));
                /*| UNIVERSE_BLT*/ ,

that is quite the same that you say me; and it work. I have just a
question, there is any drawback to set the region addresses directly
inside the BS and BD registers, or I have to put the different offset
like you did? Has I said I'm quite new to VME, and also if now I'm
beginning to understand some things, all these addresses stuffs are
still a little bit too complex for me.

I also had to modify the VME_attr declaration as:

        VME_attr memdesc = {
          base:  0xdaffe000, 
          limit: 0xdafff000, 
          flags: VME_AM_A32(32) | VME_USE_MAP 
and in this way mmap work (I can access the board after the mmap by some
*(mp)=0x5 or val[i]=*mp); I used this declaration (a page size) way
because using limit: 0xdaffe020 make mmap not working. I'll try your
values to see if everything is OK.

A second question is about the BLT flag, as I understand is used to
enable block tranfer. Now we don't need it because the board that we use
has only a readout address that take values stored inside internal FIFO;
this lead to about 700ns to read one word, but our hardware people are
thinking about to make a new board, putting everything inside a buffer,
so if I'll had to use this how I have to read? For what I undertand
block tranfer tranfer on read a whole block of data but how can I
specify the size? 

Just a last thing, I tried to compile the driver removing the 
line to use debugging info, but after I did this with make modules when
it try to compile the module I get:

universe.c:856: parse error before
universe.c:856: `tmp' undeclared (first use in this
universe.c:856: (Each undeclared identifier is reported only
universe.c:856: for each function it appears
universe.c:856: parse error before
universe.c: At top
universe.c:856: parse error before
universe.c:857: parse error before
universe.c:857: warning: type defaults to `int' in declaration of
universe.c:857: `tmp' used prior to

and a lot of this (line number could be different from your original
code, because I put some debugging printk inside the code), I'm missing
some other declaration?

(and thanks for writing the driver!!!)
Simone Piccardi
Microsoft is NOT the answer. Microsoft is the Question.
The answer is: "NO!"

[[ This message was sent via the linuxppc-dev mailing list.  Replies are ]]
[[ not  forced  back  to the list, so be sure to Cc linuxppc-dev if your ]]
[[ reply is of general interest. Please check ]]
[[ and for useful information before posting.   ]]

More information about the Linuxppc-dev mailing list