From: Matt_Domsch@Dell.com
To: linux-ia64@vger.kernel.org
Subject: RE: [Linux-ia64] translating ACPI _HID & _UID to PCI bus number
Date: Thu, 03 May 2001 03:50:16 +0000 [thread overview]
Message-ID: <marc-linux-ia64-105590693005523@msgid-missing> (raw)
In-Reply-To: <marc-linux-ia64-105590693005516@msgid-missing>
> It's not actually clear from the conversation so far what
> exactly Matt is
> after. I get the impression, however, that what he wants to do is
> synthesise an _HID/_UID pair, which is not quite what's being
> discussed
> here.
I'm creating a DEVICE_PATH that looks like ACPI()/PCI()/SCSI()/HardDrive().
I have the PCI bus, device, and function number (via ioctl in kernel 2.4.4)
of the IDE/SCSI/FC/I2O controller, the SCSI ID and LUN, and all the Hard
Drive information. I'm looking for the ACPI _HID and _UID which match the
controller.
I can cheat somewhat. I do have the EFI blkX variables, which contain
something like (unparsed):
/proc/efi/vars/blk0-47c7b225-c42a-11d2-8e57-00a0c969723b
Type: 2 Subtype: 1 Length: c
ACPI Device Path: ACPI Device Path
_HID: a0341d0
_GID: 1
Type: 1 Subtype: 1 Length: 6
Hardware Device Path: PCI
Function 0x0, Device 0x2
Type: 3 Subtype: 2 Length: 8
Messaging Device Path: SCSI
Target ID: 0
Logical Unit Number: 0
I could look for a device that matches on PCI device,function and SCSI
ID/LUN, and then copy the ACPI Device Path portion, but that still leaves
open the possibility of a PCI device on a separate bus that happens to match
all these fields.
> If that's the case, typically _HID is the 32-bit
> vendor/device ID of the
> controller, and _UID is the instance count for the given
> _HID, eg. the
> first controller has a _UID of 0, the second has a _UID of 1, etc.
From this example, taken from actual hardware, the _HID is not anything like
the PCI vendor/device ID. In this case this is a QLogic 12160 PCI SCSI
controller, 0x1077/0x1216.
> > So to get PCI bus number of a given PCI bus:
> > 1. you can use _BBN of the device, but this works only on
> root pci bridges.
This isn't a bridge, so no luck.
> Because Matt's tool is running in userspace, however, this
> may not be so
> easy to achieve.
>
> > Thus, there seems to be no perfect solutions here... to get
> > pci bus number from acpi name space alone.
>
> That's basically correct; you can't do this.
I appreciate the help. If there isn't a way to do this *today*, what steps
might we take to make this information available in the future?
Thanks,
Matt
--
Matt Domsch
Sr. Software Engineer
Dell Linux Systems Group
Linux OS Development
www.dell.com/linux
prev parent reply other threads:[~2001-05-03 3:50 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-05-02 19:33 [Linux-ia64] translating ACPI _HID & _UID to PCI bus number Matt_Domsch
2001-05-02 20:26 ` Nakajima, Jun
2001-05-02 21:02 ` Lee, Jung-Ik
2001-05-02 23:23 ` Nakajima, Jun
2001-05-02 23:43 ` Mike Smith
2001-05-03 3:50 ` Matt_Domsch [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=marc-linux-ia64-105590693005523@msgid-missing \
--to=matt_domsch@dell.com \
--cc=linux-ia64@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.