ACPICA: Hardware: Add optimized access bit width support
authorLv Zheng <lv.zheng@intel.com>
Thu, 5 May 2016 04:58:39 +0000 (12:58 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 5 May 2016 13:22:27 +0000 (15:22 +0200)
commitb314a172ee968d45f72dffea68ab8af38aa80ded
treefde8dae9e9616f7acc4fab60a58463a9d16a49c7
parente35d75024b28083b0a84cdb73b826f8450b29d49
ACPICA: Hardware: Add optimized access bit width support

ACPICA commit c49a751b4dae7baec1790748a2b4b6e8ab599f51

For Access Size = 0, it actually can use user expected access bit width.
This patch implements this.

Besides of the ACPICA upstream commit, this patch also includes a fix fixing
the issue reported by the FreeBSD community.

The old register descriptors are translated in acpi_tb_init_generic_address()
with access_width being filled with 0. This breaks code in
acpi_hw_get_access_bit_width() when the registers are 16-bit IO ports and their
bit_width fields are filled with 16. The rapid fix is meant to make code
written for acpi_hw_get_access_bit_width() regression safer before the issue is
correctly fixed from acpi_tb_init_generic_address(). Reported by
John Baldwin <jhb@freebsd.org>, fixed by Lv Zheng <lv.zheng@intel.com>, tested
by Jung-uk Kim <jkim@freebsd.org>.

Link: https://github.com/acpica/acpica/commit/c49a751b
Reported-by: John Baldwin <jhb@freebsd.org>
Tested-by Jung-uk Kim <jkim@freebsd.org>.
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpica/hwregs.c