PCI_ATTACH_DEVICE problem/question....

Well, after scratching my head a bit, I have found
a problem that has sort of got me a bit annoyed.

We have a tuner driver routine that needs to work
to various different PCI tuner cards that all use the
same Bt878 series Conexant decoder chip but have
different tuners, etc.

In my code, I have been using the PCI Subsystem
and Subsystem vendor ID’s to identify the pertinent
versions of hardware.

When I run on 6.0A or 6.0B everything works as
expected. However on 6.0C it seems that my call
to pci_attach_device w/PCI_INIT_ALL no longer
initializes the subsys/subven ID’s to anything but 0.
I have yet to test to see how this behaves on 6.1
(though based on personal experiences with 6.1 so
far my expectations are not all that good…).

Is this a known problem?

Has something in the defined behaviour of
pci_attach_device or PCI_INIT_ALL changed somewhere?

Thanks!


Michael Burkey mailto:Michael.Burkey@Nexwarecorp.com)
Nexware Corp. (http://www.nexwarecorp.com)
Software Engineer
865.546.9998 x201

This is strange, as nothing has changed in this logic! If you
do a ‘pci -v’ do you see the subsys/subven ID’s?

Previously, Michael D. Burkey wrote in qdn.public.qnxrtp.os:

Well, after scratching my head a bit, I have found
a problem that has sort of got me a bit annoyed.

We have a tuner driver routine that needs to work
to various different PCI tuner cards that all use the
same Bt878 series Conexant decoder chip but have
different tuners, etc.

In my code, I have been using the PCI Subsystem
and Subsystem vendor ID’s to identify the pertinent
versions of hardware.

When I run on 6.0A or 6.0B everything works as
expected. However on 6.0C it seems that my call
to pci_attach_device w/PCI_INIT_ALL no longer
initializes the subsys/subven ID’s to anything but 0.
I have yet to test to see how this behaves on 6.1
(though based on personal experiences with 6.1 so
far my expectations are not all that good…).

Is this a known problem?

Has something in the defined behaviour of
pci_attach_device or PCI_INIT_ALL changed somewhere?

Thanks!


Michael Burkey mailto:> Michael.Burkey@Nexwarecorp.com> )
Nexware Corp. (> http://www.nexwarecorp.com> )
Software Engineer
865.546.9998 x201




\

I can do a “pci -v” and the subsys/subven are right
there where I expect them to be.

This one has got me stumped as well. My code hasn’t
changed and I’ve added printf’s immediately after I
do the pci_attach_device call and its returning 0 for
both values. However, on the older build of QNX
on our target box it is returning the correct value.
I’ll try merging the 6.0B pci-bios into the boot image
for my 6.0C machine and see what happens. But so
far it definitely seems to be a 6.0b/6.0c issue.

“Hugh Brown” <hsbrown@qnx.com> wrote in message news:Voyager.010829080017.2311A@node90.ott.qnx.com

This is strange, as nothing has changed in this logic! If you
do a ‘pci -v’ do you see the subsys/subven ID’s?

Previously, Michael D. Burkey wrote in qdn.public.qnxrtp.os:
Well, after scratching my head a bit, I have found
a problem that has sort of got me a bit annoyed.

We have a tuner driver routine that needs to work
to various different PCI tuner cards that all use the
same Bt878 series Conexant decoder chip but have
different tuners, etc.

In my code, I have been using the PCI Subsystem
and Subsystem vendor ID’s to identify the pertinent
versions of hardware.

When I run on 6.0A or 6.0B everything works as
expected. However on 6.0C it seems that my call
to pci_attach_device w/PCI_INIT_ALL no longer
initializes the subsys/subven ID’s to anything but 0.
I have yet to test to see how this behaves on 6.1
(though based on personal experiences with 6.1 so
far my expectations are not all that good…).

Is this a known problem?

Has something in the defined behaviour of
pci_attach_device or PCI_INIT_ALL changed somewhere?

Thanks!


Michael Burkey mailto:> Michael.Burkey@Nexwarecorp.com> )
Nexware Corp. (> http://www.nexwarecorp.com> )
Software Engineer
865.546.9998 x201





\