tech-kern archive

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

Re: pchb@acpi again



Hi!


From: Chuck Silvers <chuq%chuq.com@localhost>
Date: Sun, 21 Apr 2013 08:33:24 -0700

> On Mon, Apr 15, 2013 at 09:14:51PM +0900, KIYOHARA Takashi wrote:
> > > > > in acpi_pci.c, why do you need to skip the check for ACPI_VALID_ADR?
> > > > > does the ACPI info on ia64 not have that flag set when it should?
> > > > 
> > > > In my memory, YES.  :-<
> > > > But I can't access to my ia64 now.  I will try and check at next 
> > > > weekend.
> > > 
> > > In my ia64(zx6000), it looked that AcpiNsSearchAndEnter() returned
> > > AE_NOT_FOUND.
> > > How enable ACPI_DEBUG_PRINT or others many print?
> > 
> > I look this messages on my ia64. (e.g. PCI0)
> > 
> > _ADR Not found in 0xe00000003f9dd1e8 [Not adding]
> > Name [_ADR] not found in scope [PCI0] 0xe00000003f9dd1e8
> > 
> > 
> > I think that no this problem crops up by all ia64 machines.  Do you know
> > the better evasion method?
> > # Can I fixup by acpi_md_callback()?  I look and find that now.
> 
> I was thinking that acpi_md_callback() was called before the code where you
> removed the check for ACPI_VALID_ADR, so you could have acpi_md_callback()
> walk through the device tree constructed by acpi_build_tree() and set
> ACPI_VALID_ADR on any devices where it was missing, as well as initializing
> ad->ad_devinfo->Address.  but the check for ACPI_VALID_ADR in question is in
> acpi_pcidev_scan(), which is called at the end of acpi_build_tree(),
> so it's actually called before acpi_md_callback() is called.
> 
> it happens that ad->ad_devinfo->Address will be zero if ACPI_VALID_ADR
> isn't set, I guess that value is actually correct on your system?

By my ia64 machine, it cannot ensure that address of pchb is right.
I checked the boot log(typescript) of FreeBSD and Debian.
FreeBSD had returned AE_NOT_FOUND.  The value of device and function
was not displayed in Linux.

  http://ftp.netbsd.org/pub/NetBSD/misc/kiyohara/ia64/typescript.FreeBSD_ia64
  http://ftp.netbsd.org/pub/NetBSD/misc/kiyohara/ia64/typescript.ia64.debian


> so I guess the easiest thing for now would be to add another MD callback
> that is called from acpi_build_tree() just before the call to
> acpi_pcidev_scan().  in that callback you could adjust ACPI_VALID_ADR
> and ad->ad_devinfo->Address as I was originally thinking.
> once we eventually migrate more of the logic from x86/mpacpi.c
> to dev/acpi/*.c, maybe we'll find that we can merge some of these
> callbacks.

I wish to call each device(or node?), like acpi_device_md_callback().
Please add new callback.

Thanks,
--
kiyohara


Home | Main Index | Thread Index | Old Index