<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/char/ipmi, branch v2.6.35.2</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/char/ipmi?h=v2.6.35.2</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/char/ipmi?h=v2.6.35.2'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2010-08-13T20:30:47Z</updated>
<entry>
<title>ipmi: fix ACPI detection with regspacing</title>
<updated>2010-08-13T20:30:47Z</updated>
<author>
<name>Yinghai Lu</name>
<email>yinghai@kernel.org</email>
</author>
<published>2010-08-10T00:18:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3821841da74077e09f22e9245a98a7e79016fbd1'/>
<id>urn:sha1:3821841da74077e09f22e9245a98a7e79016fbd1</id>
<content type='text'>
commit d9e1b6c45059ccfff647a120769ae86da78dfdc4 upstream.

After the commit that changed ipmi_si detecting sequence from SMBIOS/ACPI
to ACPI/SMBIOS,

| commit 754d453185275951d39792865927ec494fa1ebd8
| Author: Matthew Garrett &lt;mjg@redhat.com&gt;
| Date:   Wed May 26 14:43:47 2010 -0700
|
|    ipmi: change device discovery order
|
|    The ipmi spec provides an ordering for si discovery.  Change the driver to
|    match, with the exception of preferring smbios to SPMI as HPs (at least)
|    contain accurate information in the former but not the latter.

ipmi_si can not be initialized.

[  138.799739] calling  init_ipmi_devintf+0x0/0x109 @ 1
[  138.805050] ipmi device interface
[  138.818131] initcall init_ipmi_devintf+0x0/0x109 returned 0 after 12797 usecs
[  138.822998] calling  init_ipmi_si+0x0/0xa90 @ 1
[  138.840276] IPMI System Interface driver.
[  138.846137] ipmi_si: probing via ACPI
[  138.849225] ipmi_si 00:09: [io  0x0ca2] regsize 1 spacing 1 irq 0
[  138.864438] ipmi_si: Adding ACPI-specified kcs state machine
[  138.870893] ipmi_si: probing via SMBIOS
[  138.880945] ipmi_si: Adding SMBIOS-specified kcs state machineipmi_si: duplicate interface
[  138.896511] ipmi_si: probing via SPMI
[  138.899861] ipmi_si: Adding SPMI-specified kcs state machineipmi_si: duplicate interface
[  138.917095] ipmi_si: Trying ACPI-specified kcs state machine at i/o address 0xca2, slave address 0x0, irq 0
[  138.928658] ipmi_si: Interface detection failed
[  138.953411] initcall init_ipmi_si+0x0/0xa90 returned 0 after 110847 usecs

in smbios has
DMI/SMBIOS
Handle 0x00C5, DMI type 38, 18 bytes
IPMI Device Information
        Interface Type: KCS (Keyboard Control Style)
        Specification Version: 2.0
        I2C Slave Address: 0x00
        NV Storage Device: Not Present
        Base Address: 0x0000000000000CA2 (I/O)
        Register Spacing: 32-bit Boundaries
in DSDT has
                    Device (BMC)
                    {

                        Name (_HID, EisaId ("IPI0001"))
                        Method (_STA, 0, NotSerialized)
                        {
                            If (LEqual (OSN, Zero))
                            {
                                Return (Zero)
                            }

                            Return (0x0F)
                        }

                        Name (_STR, Unicode ("IPMI_KCS"))
                        Name (_UID, Zero)
                        Name (_CRS, ResourceTemplate ()
                        {
                            IO (Decode16,
                                0x0CA2,             // Range Minimum
                                0x0CA2,             // Range Maximum
                                0x00,               // Alignment
                                0x01,               // Length
                                )
                            IO (Decode16,
                                0x0CA6,             // Range Minimum
                                0x0CA6,             // Range Maximum
                                0x00,               // Alignment
                                0x01,               // Length
                                )
                        })
                        Method (_IFT, 0, NotSerialized)
                        {
                            Return (One)
                        }

                        Method (_SRV, 0, NotSerialized)
                        {
                            Return (0x0200)
                        }
                    }

so the reg spacing should be 4 instead of 1.

Try to calculate regspacing for this kind of system.

Observed on a Sun Fire X4800.  Other OSes work and pass certification.

Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Cc: Bjorn Helgaas &lt;bjorn.helgaas@hp.com&gt;
Acked-by: Matthew Garrett &lt;mjg@redhat.com&gt;
Cc: Len Brown &lt;len.brown@intel.com&gt;
Cc: Myron Stowe &lt;myron.stowe@hp.com&gt;
Cc: Corey Minyard &lt;minyard@acm.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>ipmi: set schedule_timeout_wait() value back to one</title>
<updated>2010-06-29T22:29:31Z</updated>
<author>
<name>Martin Wilck</name>
<email>martin.wilck@ts.fujitsu.com</email>
</author>
<published>2010-06-29T22:05:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8d1f66dc9b4f80a1441bc1c33efa98aca99e8813'/>
<id>urn:sha1:8d1f66dc9b4f80a1441bc1c33efa98aca99e8813</id>
<content type='text'>
Fix a regression introduced by ae74e823cb7d ("ipmi: add parameter to limit
CPU usage in kipmid").

Some systems were seeing CPU usage go up dramatically with the recent
changes to try to reduce timer usage in the IPMI driver.  This was traced
down to schedule_timeout_interruptible(1) being changed to
schedule_timeout_interruptbile(0).  Revert that part of the change.

Addresses https://bugzilla.kernel.org/show_bug.cgi?id=16147

Reported-by: Thomas Jarosch &lt;thomas.jarosch@intra2net.com&gt;
Signed-off-by: Corey Minyard &lt;cminyard@mvista.com&gt;
Tested-by: Thomas Jarosch &lt;thomas.jarosch@intra2net.com&gt;
Cc: &lt;stable@kernel.org&gt;		[2.6.34.x]
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>ipmi: make sure drivers were registered before unregistering them</title>
<updated>2010-06-29T22:29:31Z</updated>
<author>
<name>Matthew Garrett</name>
<email>mjg@redhat.com</email>
</author>
<published>2010-06-29T22:05:29Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=56480287f9776adc5b1a7a335ef62a9b9879ad7f'/>
<id>urn:sha1:56480287f9776adc5b1a7a335ef62a9b9879ad7f</id>
<content type='text'>
The ipmi code will never register a PCI or Open Firmware driver if a
hardcoded device is provided by the user by providing device addresses via
the module parameters.  This can cause us to attempt to unregister a
driver that was never registered, resulting in an oops.  Keep track of
registration in order to avoid this.

Fixes a post-2.6.34 regression.

Signed-off-by: Matthew Garrett &lt;mjg@redhat.com&gt;
Acked-by: Corey Minyard &lt;cminyard@mvista.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>ipmi: handle run_to_completion properly in deliver_recv_msg()</title>
<updated>2010-05-27T16:12:50Z</updated>
<author>
<name>Jiri Kosina</name>
<email>jkosina@suse.cz</email>
</author>
<published>2010-05-26T21:43:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a747c5abc329611220f16df0bb4cf0ca4a7fdf0c'/>
<id>urn:sha1:a747c5abc329611220f16df0bb4cf0ca4a7fdf0c</id>
<content type='text'>
If run_to_completion flag is set, it means that we are running in a
single-threaded mode, and thus no locks are held.

This fixes a deadlock when IPMI notifier is being called during panic.

Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
Acked-by: Corey Minyard &lt;minyard@acm.org&gt;
Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>ipmi: update driver to use dev_printk and its constructs</title>
<updated>2010-05-27T16:12:50Z</updated>
<author>
<name>Myron Stowe</name>
<email>myron.stowe@hp.com</email>
</author>
<published>2010-05-26T21:43:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=279fbd0c5daa60c76e59df33f436ca2300f2b603'/>
<id>urn:sha1:279fbd0c5daa60c76e59df33f436ca2300f2b603</id>
<content type='text'>
Update core IPMI driver printk()'s with dev_printk(), and its constructs,
to provide additional device topology information.

An example of the additional device topology for a PNP device -
  ipmi_si 00:02: probing via ACPI
  ipmi_si 00:02: [io  0x0ca2-0x0ca3] regsize 1 spacing 1 irq 0
  ipmi_si 00:02: Found new BMC (man_id: 0x00000b, prod_id: 0x0000, ...
  ipmi_si 00:02: IPMI kcs interface initialized

and for a PCI device -
  ipmi_si 0000:01:04.6: probing via PCI
  ipmi_si 0000:01:04.6: PCI INT A -&gt; GSI 21 (level, low) -&gt; IRQ 21
  ipmi_si 0000:01:04.6: [mem 0xf1ef0000-0xf1ef00ff] regsize 1 spaci...
  ipmi_si 0000:01:04.6: IPMI kcs interface initialized

[minyard@acm.org: rework to fix rejects, extended it a bit]
[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Myron Stowe &lt;myron.stowe@hp.com&gt;
Signed-off-by: Corey Minyard &lt;minyard@acm.org&gt;
Cc: Zhao Yakui &lt;yakui.zhao@intel.com&gt;
Cc: Len Brown &lt;lenb@kernel.org&gt;
Cc: Bjorn Helgaas &lt;bjorn.helgaas@hp.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>ipmi: convert tracking of the ACPI device pointer to a PNP device</title>
<updated>2010-05-27T16:12:50Z</updated>
<author>
<name>Myron Stowe</name>
<email>myron.stowe@hp.com</email>
</author>
<published>2010-05-26T21:43:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8c8eae2742d5ad05ef6e5b53c88e70a5231d7d9a'/>
<id>urn:sha1:8c8eae2742d5ad05ef6e5b53c88e70a5231d7d9a</id>
<content type='text'>
Convert PNP patch (git 9e368fa011d4e0aa050db348d69514900520e40b) to
maintain a pointer to a PNP device, 'pnp_dev', instead of the ACPI device,
'acpi_dev', that is currently being tracked with PNP based IPMI device
discovery.

Signed-off-by: Myron Stowe &lt;myron.stowe@hp.com&gt;
Acked-by: Zhao Yakui &lt;yakui.zhao@intel.com&gt;
Acked-by: Corey Minyard &lt;minyard@acm.org&gt;
Cc: Len Brown &lt;lenb@kernel.org&gt;
Cc: Bjorn Helgaas &lt;bjorn.helgaas@hp.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>ipmi: change timeout and event poll to one second</title>
<updated>2010-05-27T16:12:50Z</updated>
<author>
<name>Corey Minyard</name>
<email>cminyard@mvista.com</email>
</author>
<published>2010-05-26T21:43:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ddac44b7b21b72c0d9d6882ac8d7027afc25138c'/>
<id>urn:sha1:ddac44b7b21b72c0d9d6882ac8d7027afc25138c</id>
<content type='text'>
The timeouts in IPMI are in the 1-5 second range in message handling, so a
1 second timeout is a reasonable thing to do.  This should help with
reducing power consumption on idle systems.

Signed-off-by: Corey Minyard &lt;cminyard@mvista.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>ipmi: attempt to register multiple SIs of the same type</title>
<updated>2010-05-27T16:12:50Z</updated>
<author>
<name>Matthew Garrett</name>
<email>mjg@redhat.com</email>
</author>
<published>2010-05-26T21:43:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=06ee459402434aabed0c6d03c4cc10bfe4a3a65b'/>
<id>urn:sha1:06ee459402434aabed0c6d03c4cc10bfe4a3a65b</id>
<content type='text'>
Some odd systems may have multiple BMCs, and we want to be able to support
them.  Let's make the assumption that if a system legitimately has
multiple BMCs then each BMC's SI will be of the same type, and also that
we won't see multiple SIs of the same type unless we have multiple BMCs.
If these hold true then we should register all SIs of the same type.

Signed-off-by: Matthew Garrett &lt;mjg@redhat.com&gt;
Signed-off-by: Corey Minyard &lt;cminyard@mvista.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>ipmi: reduce polling</title>
<updated>2010-05-27T16:12:49Z</updated>
<author>
<name>Matthew Garrett</name>
<email>mjg@redhat.com</email>
</author>
<published>2010-05-26T21:43:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3326f4f2276791561af1fd5f2020be0186459813'/>
<id>urn:sha1:3326f4f2276791561af1fd5f2020be0186459813</id>
<content type='text'>
We can reasonably alter the poll rate depending on whether we're
performing a transaction or merely waiting for an event.

Signed-off-by: Matthew Garrett &lt;mjg@redhat.com&gt;
Signed-off-by: Corey Minyard &lt;cminyard@mvista.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>ipmi: reduce polling when interrupts are available</title>
<updated>2010-05-27T16:12:49Z</updated>
<author>
<name>Matthew Garrett</name>
<email>mjg@redhat.com</email>
</author>
<published>2010-05-26T21:43:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ea4078ca1a7a3a198e519c2a7a2ed6126e40b130'/>
<id>urn:sha1:ea4078ca1a7a3a198e519c2a7a2ed6126e40b130</id>
<content type='text'>
If we're not currently in the middle of a transaction, and if we have
interrupts, there's no real reason to poll the controller more frequently
than the core IPMI code does.  Set the interrupt_disabled flag
appropriately as the interrupt state changes, and make the timeout code
reset itself only if the transaction is incomplete or we have no
interrupts.

Signed-off-by: Matthew Garrett &lt;mjg@redhat.com&gt;
Signed-off-by: Corey Minyard &lt;cminyard@mvista.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
