On 2013年10月17日 07:05, Bjorn Helgaas wrote: > On Fri, Oct 11, 2013 at 08:18:58PM +0800, tianyu.lan@xxxxxxxxx wrote: >> From: Lan Tianyu <tianyu.lan@xxxxxxxxx> >> >> According ACPI 5.0 spec Section 19.1.8 > > This section reference is wrong. Table 5-133 (on page 243) does > point to Section 19.1.8, but that section is only the ASL grammar > description and doesn't have any useful information about what > _TRA means. > > A more useful reference (and the source of the quote below) is > Section 6.4.3.5.1. > >> "For bridges, translate addresses across the bridge, this is the >> offset that must be added to the address on the secondary side >> to obtain the address on the primary side. Non-bridge devices >> must list 0." > > You didn't quote this correctly. Here's a copy/paste from the spec: > > For bridges that translate addresses across the bridge, this is > the offset that must be added to the address on the secondary side > to obtain the address on the primary side. Non-bridge devices must > list 0 for all Address Translation offset bits. > >> This patch is to add address translation offset to the start/end >> of struct resource in the acpi_dev_resource_address_space(). >> Further more, non-bridge device's translation_offset should 0. >> So this change will affect other devices. >> >> Signed-off-by: Lan Tianyu <tianyu.lan@xxxxxxxxx> > > I like the patch, though :) With the above corrections, Hi Bjorn: Thanks for review. I will correct them. > > Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> > >> --- >> drivers/acpi/resource.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c >> index 929f416..84bc3db 100644 >> --- a/drivers/acpi/resource.c >> +++ b/drivers/acpi/resource.c >> @@ -192,8 +192,8 @@ bool acpi_dev_resource_address_space(struct acpi_resource *ares, >> if (ACPI_FAILURE(status)) >> return true; >> >> - res->start = addr.minimum; >> - res->end = addr.maximum; >> + res->start = addr.minimum + addr.translation_offset; >> + res->end = addr.maximum + addr.translation_offset; >> window = addr.producer_consumer == ACPI_PRODUCER; >> >> switch(addr.resource_type) { >> -- >> 1.8.2.1 >> -- Best regards Tianyu Lan -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html