Current-Users archive

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

PCI_PRODUCT(pa->pa_id) is wrong (Re: kern info: [drm] failed to find VBIOS tables



I've got mail from Nathanial Sloss <nat@NetBSD> for the information
and I trace it down that in following rom_product info does not match.

-----------------------------------------
     file:  sys/dev/pci/pci_map.c
 function:

   356  pci_find_rom(const struct pci_attach_args *pa, bus_space_tag_t bst,
   357      bus_space_handle_t bsh, bus_size_t sz, int type,
   358      bus_space_handle_t *romh, bus_size_t *romsz)

 line: 
      (rom.rom_product == PCI_PRODUCT(pa->pa_id)) &&

 value:
            rom.rom_product:  106
     PCI_PRODUCT(pa->pa_id):  166
-----------------------------------------
 dmesg |grep 166 shows following line

[     1.040238] i915drmkms0 at pci0 dev 2 function 0: vendor 8086 product 0166 (rev. 0x09)
[     1.038941] i915drmkms0 at pci0 dev 2 function 0: vendor 8086 product 0166 (rev. 0x09)
[     1.044984] i915drmkms0 at pci0 dev 2 function 0: vendor 8086 product 0166 (rev. 0x09)

-- 
Makoto Fujiwara
mef%NetBSD.org@localhost
makoto%if.t.u-tokyo.ac.jp@localhost
makoto%ki.nu@localhost
(the line number is shifted by debug print inserted)

   427                  if ((rom.rom_vendor == PCI_VENDOR(pa->pa_id)) &&
   428                      (rom.rom_product == PCI_PRODUCT(pa->pa_id)) &&
   429                      (rom.rom_class == PCI_CLASS(pa->pa_class)) &&
   430                      (rom.rom_subclass == PCI_SUBCLASS(pa->pa_class)) &&
   431                      (rom.rom_interface == PCI_INTERFACE(pa->pa_class)) &&
   432                      (rom.rom_code_type == type)) {
   433                          *romsz = imagesz;
   434                          bus_space_subregion(bst, bsh, offset, imagesz, romh);
   435                          return 0;
   436                  }


Home | Main Index | Thread Index | Old Index