Re: [Lhms-devel] [RFC] Patch [1/2] for acpi_memhotplug.c

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

 



On Thu, 2006-06-22 at 11:29 -0700, keith mannthey wrote:
> On Fri, 2006-06-23 at 02:41 +0900, KAMEZAWA Hiroyuki wrote:
> > On Thu, 22 Jun 2006 10:25:24 -0700
> > keith mannthey <kmannth@xxxxxxxxxx> wrote: 
> > > > Um...my concern is
> > > > - When notify comes, memory hotplug driver is called.
> > > > - but at acpi_bus_add(), PNP0C01 motherboad driver is attached to the device.
> > > 
> > > The patch I sent keeps the motherboard driver from attaching and allows
> > > the  PNP0C80 device to attach. 
> > > 
> > My point is...motherboard is not memory. Then, it shouldn't have _CRS handler.
> > Because your ME00/ME01 device has both HID for memory and CID for motherboard,
> > motherboard handler is called.
> > (acpi_add_single_object() attaches the driver which is found 1st.)
> > > > ==
> > > >         Device (ME01)
> > > >         {
> > > >             Name (_HID, EisaId ("PNP0C80"))
> > > >             Name (_CID, 0x010CD041)
> > > > ==
> > As I wrote in other mail, why memory and motherboard is compatible device in
> > your SSDT ? If this _CID is necessary for some reason, what should we do is
> > acpi handling problem.
> > So, what you should ask to acpi people is 
> > ==
> > my device has both _HID and _CID.  But the driver for _HID is different from
> > _CID. I'm glad if the driver for _HID is called but driver for _CID is found
> > before driver for _HID. Then, driver for _CID is called.
> > How should I do ? (or make patch to fix this..)
> > ==
> 
> I agree this is an acpi_handling problem where the wrong device is
> attached.  I am pursuing ACPI folks today. 
> 
> I have my patch in place to work around the problem and am looking into
> the the memory driver. 
> 
> In acpi_memory_enable_device 
> 
> in  list_for_each_entry(info, &mem_device->res_list, list) {
> 
> if 
> printk ("node: %d , start %08lx, end %08lx \n",node,info-
> >start_addr,info->start_addr+info->length);
> before doing the add memory I see
> 
> node: -1 , start 1f0000000, end 270000000
> On node -1 totalpages: 0
> node: -1 , start 170000000, end 1f0000000
> 
> Finding the 2 ranges (these are the right ranges and the right chunks)
> is great but acpi_get_node is not working for my handle. 
> 
> I am continuing to debug. 
> 
if acpi_get_pxm

status = acpi_evaluate_integer(handle, "_PXM", NULL, &pxm);  

This is looking to get the _PXM value from the handle.  I don't see a
_PXM filed in my SSDT for my memory device.  I don't think it is
required to have the _PXM field.  It would be nice if it had one but I
don't think Linux should require one.   

If the handle doesn't contain the _PXM device it should ask the arch if
it knows.  If the arch doesn't know (by way of SRAT at boot) then it
should set the node to 0.  I will send along a patch today. 


Thanks,
keith mannthey <kmannth@xxxxxxxxxx>
Linux Technology Center IBM

-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux