Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: pchb@acpi again
On Wed, May 08, 2013 at 08:59:02PM +0900, KIYOHARA Takashi wrote:
> Index: acpi_machdep.c
> ===================================================================
> RCS file: /cvsroot/src/sys/arch/ia64/acpi/acpi_machdep.c,v
> retrieving revision 1.6
> diff -u -r1.6 acpi_machdep.c
> --- acpi_machdep.c 23 Sep 2012 00:31:05 -0000 1.6
> +++ acpi_machdep.c 8 May 2013 11:49:39 -0000
> @@ -195,6 +195,20 @@
> }
>
> int
> +acpi_node_md_callback(struct acpi_devnode *ad)
> +{
> +
> + if (ad->ad_devinfo->Flags & ACPI_PCI_ROOT_BRIDGE)
> + if (!(ad->ad_devinfo->Valid & ACPI_VALID_ADR)) {
> + /* Fixup no _ADR */
> + ad->ad_devinfo->Valid |= ACPI_VALID_ADR;
> + return 1;
> + }
> +
> + return 0;
> +}
> +
I think what Chuck is saying: how can you mark it as a valid address if the
bridge does not have the (segment, bus, device, function)-information, which
in ACPI is derived from the _ADR-field and this way mapped to pci(4)? See
also the MI-functions acpi_pcidev_find() and acpi_pcidev_find_dev() in
acpi_pci.c. In other words, you should initialize the ad->ad_devinfo->Address
itself from the MD-code (and then, when it is valid, mark it as valid).
- Jukka.
Home |
Main Index |
Thread Index |
Old Index