On 19 July I wrote...
===========================================================================
Subject: Device driver question: Why doesn't iohandle_to_phys work?
Fellow system managers:
Another toughie!
The platform involved is an
Alpha Station 600/5 266Mhz with 128MB memory
firmware is at CD v3.5 SRM 4.1-2
ARC 4.43
VMSPAL 1.25-2
OSFPAL 1.18-1
SROM 1.1
The driver in question is the 3rd party device driver for the Systran SCRAMNet
+, PCI, 32-bit card.
On the AlphaStation 600 platform only, the call to the iohandle_to_phys() is not
working when trying to retrieve a dense space address on the AlphaStation 600.
The exact same code works on the AlphaStation 1000.
The actual call in the driver is as follows:
vm_offset_t mem0_base;
mem0_base = iohandle_to_phys( pci_cfg_hdr->bar1,
HANDLE_DENSE_SPACE | HANDLE_LONGWORD );
On further examination of the returned mem0_base address we see that it is
actually returing a sparce space address (80.0000.0000 hex - AS600) when what we
expect is a dense space physical address (86.0000.0000 hex - AS600).
We are awaiting a reply from DEC CSC but so far they have not provided very good
direction. The suggestions from CSC have included uploading firmware several
versions back and swapping the card into a 32-bit slot. We did try each of the
suggestions received, we even stripped the unit of all other cards in order to
'guarrantee' that no other card's footprint was involved. Each time we run, we
are experiencing the same issues.
Systran has done all they can to support us, including comming on-site and
taking all of our abuse in a good hearted fashion.
Any inputs, advice, horror stories are welcome. This card is unfortunately a
necessary evil to the project I am trying to support and so I am really stumped
here. Of course, the platforms I must get this card to interface with are
working admirably and the parties involved in them swear by the SCRAMNet.
===============================================================================
Well, I never thought it would happen, but I stumped you folks!...
I received only one reply from Jim Zelenka, jz1j+_at_andrew.cmu.edu, and he wrote
in :
>Subject: Re: Device driver question: Why doesn't iohandle_to_phys work?
>
>I had that problem with some of my driver work on AlphaStations. Turns
>out that some adapters I/O mem cannot be mapped to dense space on some
>platforms. You'll have to use sparse space (which is kind of a pain,
>since sparse space isn't addressed linearly :-()
>
>-Jim Zelenka
This ought to be *incorrect*, since I have the mapping of the AS600 memory which
includes both sparse and dense space.
The call to iohandle_to_phys was indeed only returning sparse space. Since
Systran was on-site working this problem, and Digital's CSC was unable to
provide anything better to do we pulled a fast one--after the call to
iohandle_to_phys the 'correct' address to dense space was put in. With no other
3rd party cards and Digital apparently not using dense space, I don't expect
this to be a problem.
Bonnie DeBruler
debruler_at_eglin.af.mil
======================================================
==//===
// // TYBRIN Corporation Corp. (904) 651-1150
\\===================================================
1283 N. Eglin Pkwy. Office (904) 882-9794
Shalimar, FL 32579 Fax (904) 729-2550
Received on Tue Jul 23 1996 - 19:44:46 NZST