pc: acpi: piix4: move IQCR() into SSDT
Signed-off-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
c35b6e8032
commit
100681ccf1
@ -1470,6 +1470,7 @@ static void build_piix4_pci0_int(Aml *table)
|
|||||||
Aml *dev;
|
Aml *dev;
|
||||||
Aml *crs;
|
Aml *crs;
|
||||||
Aml *field;
|
Aml *field;
|
||||||
|
Aml *if_ctx;
|
||||||
Aml *method;
|
Aml *method;
|
||||||
uint32_t irqs;
|
uint32_t irqs;
|
||||||
Aml *sb_scope = aml_scope("_SB");
|
Aml *sb_scope = aml_scope("_SB");
|
||||||
@ -1481,6 +1482,25 @@ static void build_piix4_pci0_int(Aml *table)
|
|||||||
aml_append(field, aml_named_field("PRQ3", 8));
|
aml_append(field, aml_named_field("PRQ3", 8));
|
||||||
aml_append(sb_scope, field);
|
aml_append(sb_scope, field);
|
||||||
|
|
||||||
|
/* _CRS method - get current settings */
|
||||||
|
method = aml_method("IQCR", 1, AML_SERIALIZED);
|
||||||
|
{
|
||||||
|
crs = aml_resource_template();
|
||||||
|
irqs = 0;
|
||||||
|
aml_append(crs, aml_interrupt(AML_CONSUMER, AML_LEVEL,
|
||||||
|
AML_ACTIVE_HIGH, AML_SHARED, &irqs, 1));
|
||||||
|
aml_append(method, aml_name_decl("PRR0", crs));
|
||||||
|
|
||||||
|
aml_append(method,
|
||||||
|
aml_create_dword_field(aml_name("PRR0"), aml_int(5), "PRRI"));
|
||||||
|
|
||||||
|
if_ctx = aml_if(aml_lless(aml_arg(0), aml_int(0x80)));
|
||||||
|
aml_append(if_ctx, aml_store(aml_arg(0), aml_name("PRRI")));
|
||||||
|
aml_append(method, if_ctx);
|
||||||
|
aml_append(method, aml_return(aml_name("PRR0")));
|
||||||
|
}
|
||||||
|
aml_append(sb_scope, method);
|
||||||
|
|
||||||
aml_append(sb_scope, build_link_dev("LNKA", 0, aml_name("PRQ0")));
|
aml_append(sb_scope, build_link_dev("LNKA", 0, aml_name("PRQ0")));
|
||||||
aml_append(sb_scope, build_link_dev("LNKB", 1, aml_name("PRQ1")));
|
aml_append(sb_scope, build_link_dev("LNKB", 1, aml_name("PRQ1")));
|
||||||
aml_append(sb_scope, build_link_dev("LNKC", 2, aml_name("PRQ2")));
|
aml_append(sb_scope, build_link_dev("LNKC", 2, aml_name("PRQ2")));
|
||||||
|
@ -140,17 +140,6 @@ DefinitionBlock (
|
|||||||
}
|
}
|
||||||
Return (0x0B)
|
Return (0x0B)
|
||||||
}
|
}
|
||||||
Method(IQCR, 1, Serialized) {
|
|
||||||
// _CRS method - get current settings
|
|
||||||
Name(PRR0, ResourceTemplate() {
|
|
||||||
Interrupt(, Level, ActiveHigh, Shared) { 0 }
|
|
||||||
})
|
|
||||||
CreateDWordField(PRR0, 0x05, PRRI)
|
|
||||||
If (LLess(Arg0, 0x80)) {
|
|
||||||
Store(Arg0, PRRI)
|
|
||||||
}
|
|
||||||
Return (PRR0)
|
|
||||||
}
|
|
||||||
|
|
||||||
External(LNKA, DeviceObj)
|
External(LNKA, DeviceObj)
|
||||||
External(LNKB, DeviceObj)
|
External(LNKB, DeviceObj)
|
||||||
|
Loading…
Reference in New Issue
Block a user