summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authornjl <njl@FreeBSD.org>2003-11-22 00:48:08 +0000
committernjl <njl@FreeBSD.org>2003-11-22 00:48:08 +0000
commit75a8ab1efd9c3919ca3e70304a850b5774766e95 (patch)
tree52f3911078c3fe49b0f00d79d34e3253267bc19e /sys
parent2c3c1553db8b14d671579b63b34ef741d4e21a58 (diff)
downloadFreeBSD-src-75a8ab1efd9c3919ca3e70304a850b5774766e95.zip
FreeBSD-src-75a8ab1efd9c3919ca3e70304a850b5774766e95.tar.gz
Commit rev 1.1.1.20 to HEAD. This file was off the vendor branch and thus
the changes need to be made to HEAD. Approved by: re (previously)
Diffstat (limited to 'sys')
-rw-r--r--sys/contrib/dev/acpica/exfldio.c28
1 files changed, 19 insertions, 9 deletions
diff --git a/sys/contrib/dev/acpica/exfldio.c b/sys/contrib/dev/acpica/exfldio.c
index 1eda818..9994218 100644
--- a/sys/contrib/dev/acpica/exfldio.c
+++ b/sys/contrib/dev/acpica/exfldio.c
@@ -441,10 +441,10 @@ AcpiExFieldDatumIo (
/*
* The four types of fields are:
*
- * BufferFields - Read/write from/to a Buffer
- * RegionFields - Read/write from/to a Operation Region.
- * BankFields - Write to a Bank Register, then read/write from/to an OpRegion
- * IndexFields - Write to an Index Register, then read/write from/to a Data Register
+ * BufferField - Read/write from/to a Buffer
+ * RegionField - Read/write from/to a Operation Region.
+ * BankField - Write to a Bank Register, then read/write from/to an OpRegion
+ * IndexField - Write to an Index Register, then read/write from/to a Data Register
*/
switch (ACPI_GET_OBJECT_TYPE (ObjDesc))
{
@@ -542,27 +542,37 @@ AcpiExFieldDatumIo (
/* Write the index value to the IndexRegister (itself a RegionField) */
+ FieldDatumByteOffset += ObjDesc->IndexField.Value;
+
+ ACPI_DEBUG_PRINT ((ACPI_DB_BFIELD,
+ "Write to Index Register: Value %8.8X\n",
+ FieldDatumByteOffset));
+
Status = AcpiExInsertIntoField (ObjDesc->IndexField.IndexObj,
- &ObjDesc->IndexField.Value,
- sizeof (ObjDesc->IndexField.Value));
+ &FieldDatumByteOffset,
+ sizeof (FieldDatumByteOffset));
if (ACPI_FAILURE (Status))
{
return_ACPI_STATUS (Status);
}
+ ACPI_DEBUG_PRINT ((ACPI_DB_BFIELD,
+ "I/O to Data Register: ValuePtr %p\n",
+ Value));
+
if (ReadWrite == ACPI_READ)
{
/* Read the datum from the DataRegister */
Status = AcpiExExtractFromField (ObjDesc->IndexField.DataObj,
- Value, ObjDesc->CommonField.AccessByteWidth);
+ Value, sizeof (ACPI_INTEGER));
}
else
{
- /* Write the datum to the Data register */
+ /* Write the datum to the DataRegister */
Status = AcpiExInsertIntoField (ObjDesc->IndexField.DataObj,
- Value, ObjDesc->CommonField.AccessByteWidth);
+ Value, sizeof (ACPI_INTEGER));
}
break;
OpenPOWER on IntegriCloud