<p>Arthur Heymans has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/22802">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">[WIP/NOTFORMERGE]sb/intel/i82801ix: Automatically generate pirq ACPI<br><br>Does not work at all...<br><br>Change-Id: Iee38eaee8d443286cdcecc4f9df0b713639da669<br>Signed-off-by: Arthur Heymans <arthur@aheymans.xyz><br>---<br>M src/southbridge/intel/i82801ix/lpc.c<br>1 file changed, 45 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/02/22802/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/src/southbridge/intel/i82801ix/lpc.c b/src/southbridge/intel/i82801ix/lpc.c<br>index bc45b9d..65d6dae 100644<br>--- a/src/southbridge/intel/i82801ix/lpc.c<br>+++ b/src/southbridge/intel/i82801ix/lpc.c<br>@@ -562,8 +562,53 @@<br> {<br>      device_t dev = dev_find_slot(0, PCI_DEVFN(0x1f,0));<br>   config_t *chip = dev->chip_info;<br>+  device_t irq_dev;<br>+    u8 int_pin;<br>+<br>+       const char *link_list[4] = {"\\_SB.PCI0.LPCB.LNKA",<br>+                                    "\\_SB.PCI0.LPCB.LNKB",<br>+                                    "\\_SB.PCI0.LPCB.LNKC",<br>+                                    "\\_SB.PCI0.LPCB.LNKD"};<br> <br>     intel_acpi_pcie_hotplug_generator(chip->pcie_hotplug_map, 8);<br>+<br>+  acpigen_write_scope("\\_SB");<br>+      acpigen_write_device("PCI0");<br>+      acpigen_write_method("_PRT", 0);<br>+   acpigen_write_if();<br>+  acpigen_emit_namestring("PICM");<br>+   acpigen_emit_byte(RETURN_OP);<br>+        acpigen_emit_byte(PACKAGE_OP);<br>+       for (irq_dev = all_devices; irq_dev; irq_dev = irq_dev->next) {<br>+           int_pin = pci_read_config8(irq_dev, PCI_INTERRUPT_PIN);<br>+              acpigen_write_package(4);<br>+            acpigen_emit_dword((((irq_dev->bus->secondary >> 11) & 0x1f) << 16) & 0xffff);<br>+             acpigen_emit_dword(int_pin);<br>+         acpigen_emit_dword(0);<br>+               acpigen_emit_dword(16 + (int_pin - 1));<br>+              acpigen_pop_len();<br>+   }<br>+    acpigen_pop_len(); /* package */<br>+     acpigen_pop_len(); /* return PICM */<br>+ acpigen_pop_len(); /* if PICM */<br>+     acpigen_write_else();<br>+        acpigen_emit_byte(RETURN_OP);<br>+        acpigen_emit_byte(PACKAGE_OP);<br>+       for (irq_dev = all_devices; irq_dev; irq_dev = irq_dev->next) {<br>+           int_pin = pci_read_config8(irq_dev, PCI_INTERRUPT_PIN);<br>+              acpigen_write_package(4);<br>+            acpigen_emit_dword((((irq_dev->bus->secondary >> 11) & 0x1f) << 16) & 0xffff);<br>+             acpigen_emit_dword(int_pin);<br>+         acpigen_write_string(link_list[int_pin - 1]);<br>+                acpigen_emit_dword(0);<br>+               acpigen_pop_len();<br>+   }<br>+    acpigen_pop_len(); /* package */<br>+     acpigen_pop_len(); /* return else PICM */<br>+    acpigen_pop_len(); /* else PICM*/<br>+    acpigen_pop_len(); /* _PRT */<br>+        acpigen_pop_len(); /* PCI0 */<br>+        acpigen_pop_len(); /* \_SB */<br> }<br> <br> static struct pci_operations pci_ops = {<br></pre><p>To view, visit <a href="https://review.coreboot.org/22802">change 22802</a>. To unsubscribe, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/22802"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: Iee38eaee8d443286cdcecc4f9df0b713639da669 </div>
<div style="display:none"> Gerrit-Change-Number: 22802 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Arthur Heymans <arthur@aheymans.xyz> </div>