• Lv Zheng's avatar
    ACPICA: Hardware: Add optimized access bit width support · b314a172
    Lv Zheng authored
    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/c49a751bReported-by: default avatarJohn Baldwin <jhb@freebsd.org>
    Tested-by Jung-uk Kim <jkim@freebsd.org>.
    Signed-off-by: default avatarLv Zheng <lv.zheng@intel.com>
    Signed-off-by: default avatarBob Moore <robert.moore@intel.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    b314a172
hwregs.c 20.9 KB