Re: Problems getting the 1394 ROM configuration info

From: Jeff Henkels (jeff_at_mapson.privatemail.com)
Date: 08/14/04


Date: Sat, 14 Aug 2004 11:58:25 -0700


"BJ Johns" <hjohns1@ix.netcom.com> wrote in message
news:OJ8bYg6fEHA.1656@TK2MSFTNGP10.phx.gbl...
> I am new to device drivers and am working on a driver for a 1394 firewire
> video device. I am having some problems in getting the ROM configuration
> info.
>
> I am able to perform multiple async reads of 4 bytes at a time to read the
> ROM data starting at 0xFFFFFF0000400 and continuing until I have read the
> entire contents of the config info. And I have verified that all of the
> retrieved data is correct.

So, how do you figure out how many quadlets you have to read to get the
entire config ROM? I'd like to try this method next.

> But if I try to read anything more than 4 bytes at a time, I just get all
> zero's back. First question....Is there a limit to the number of bytes
that
> can be retrieved at a time when reading the ROM config info?
>
> Next, I tried calling REQUEST_GET_CONFIGURATION_INFO in the
IOCTL_1394_CLASS
> to get the buffer sizes of the Unit Directory, Unit Dependent Directory,
> Vendor Leaf and Model Leaf by first setting each of these values to zero
> before making the call. After returning success, the call only seems to
set
> the u.GetConfigurationInformation.UnitDirectoryBufferSize value to 12
(which
> is incorrect) and leaves all others at zero.

I've noticed this too; I've been working with the 1394DCAM DDK sample, which
uses REQUEST_GET_CONFIGURATION_INFO. My guess, based on one or two things
I've read here in this group, is that the 1394 class driver assumes a
specific format for the config ROM and gets confused if the format isn't
what it expects.

> Why does it not return the correct values?
>
> At worst case I can just take the retrieved data from my first technique
and
> extract the same information as the call
> to REQUEST_GET_CONFIGURATION_INFO should have done but I want to find out
> why this call doesn't seem to work for me.
>
> Thanks
> -BJ
>
>



Relevant Pages

  • Re: Cant Compile Nvidia Driver for Linux
    ... a generic kernel .config. ... boards and Linux's internal AGP driver when used with nVidia's ... Device Drivers -> Character Devices -> AGPGART Interface, ...
    (comp.os.linux.questions)
  • RE: [UPDATED PATCH] EFI support for ia32 kernels
    ... >> reuse a single driver image for multiple architectures assuming there ... As one of the people responsible for the EFI Specification and our ... Perhaps the UNDI network card interface that Intel developed ... BIOS can't shadow that much ROM code. ...
    (Linux-Kernel)
  • [PATCH 2/2] Kconfig cleanup - new.
    ... config HID_TOPSEED ... Enable support for digital audio processing capability. ... A driver for the silicon tuner XC5000 from Xceive. ... This driver enables the radio controller for WHCI cards. ...
    (Linux-Kernel)
  • How to add wake on lan support for your card (was: Re: FreeBSD WOL sis on)
    ... about drivers either before I started working on the WOL patch. ... first look at the Linux driver to find out whether ... There is usually a register in the chip with bits that define ... The WOL config register is usually a 16bit or 32bit ...
    (freebsd-hackers)
  • Re: [PATCH] Kconfig cleanup including spelling and grammar touchups.
    ... config MACH_OMAP_PALMTT ... Enables the DMA1 input channel for ser0. ... If you do not enable DMA, an interrupt for each character will be ... This driver can also be built as a module. ...
    (Linux-Kernel)