Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Feb 2008 17:44:58 +0200
From:      Andriy Gapon <avg@icyb.net.ua>
To:        Rui Paulo <rpaulo@freebsd.org>
Cc:        freebsd-acpi@freebsd.org
Subject:   Re: acpi_throttle: quirk based on pci info
Message-ID:  <47BAF97A.80405@icyb.net.ua>
In-Reply-To: <98F7E48C-1CBF-494D-8411-D80E25247214@FreeBSD.org>
References:  <47B96989.6070008@icyb.net.ua> <98F7E48C-1CBF-494D-8411-D80E25247214@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
on 19/02/2008 01:00 Rui Paulo said the following:
> On Feb 18, 2008, at 11:18 AM, Andriy Gapon wrote:
> 
>> While looking for something else I accidentally noticed that
>> acpi_throttle has one quirk for some early revisions of PIIX4 chipset
>> and the quirk is enabled based on PCI info.
>> I have a newer revision of PIIX4 so the quirk is not applicable in  
>> my case.
>>
>> Nevertheless I noticed that acpi_throttle is initialized before PCI  
>> bus
>> driver, so when it calls pci_find_device() it always returns NULL and
>> quirk is not applied. At least this is what I see in dmesg on my  
>> machine.
> 
> I run into a similar problem on my SoC MacBook project and I ended up  
> using the SMI vendor strings because it was too early in boot in order  
> to find the PCI devices. The problem here is very similar.
> Maybe we should try to use SMI vendor strings instead of  
> pci_find_device()?

I am not familiar with this approach and I am not sure if that works
with that type of (quite old) hardware.

When I worked on something else I remember somebody (maybe Nate)
recommending me to model my code after ichss:
sys/dev/cpufreq/ichss.c

Maybe the same approach could be used here?

I.e. no identify method for acpi bus.
Additional device/driver for pci bus.
pci probe method checks for duplicates and adds the acpi device as a
child to acpi bus.
pci probe method sets quirks based on pci info.
pci probe method runs device_probe_and_attach on the acpi device.
as a consequence acpi probe and attach (for successful probe) are executed.

The only unclear issue is where to place the code that is currently in
(acpi) identify method - should it go to pci identify method or should
it go to acpi probe method.

-- 
Andriy Gapon



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47BAF97A.80405>