From: Jiang Liu <jiang.liu@linux.intel.com>
To: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Bjorn Helgaas <bhelgaas@google.com>,
Yinghai Lu <yinghai@kernel.org>, Borislav Petkov <bp@alien8.de>,
Len Brown <lenb@kernel.org>, Tony Luck <tony.luck@intel.com>,
x86@kernel.org, linux-kernel@vger.kernel.org,
linux-pci@vger.kernel.org, linux-acpi@vger.kernel.org
Subject: Re: [RFC Patch 09/19] ACPI: Fix a bug in parsing ACPI Memroy24 resource
Date: Wed, 21 Jan 2015 10:15:01 +0800 [thread overview]
Message-ID: <54BF0BA5.8020806@linux.intel.com> (raw)
In-Reply-To: <1633329.njF7Ian1Kn@vostro.rjw.lan>
On 2015/1/21 8:42, Rafael J. Wysocki wrote:
> On Thursday, January 08, 2015 10:32:56 AM Jiang Liu wrote:
>> According to ACPI spec 5, section 6.4.3.1 "24-Bit Memory Range Descriptor",
>> minimum, maximum and address_length field in struct acpi_resource_memory24
>> is in granularity of 256-bytes. So shift 8-bit left to get correct address.
>
> Are you sure about this?
>
> I'm reading ACPI 5.1 ATM and (on page 316) it only says about the range length
> being in 256 byte blocks.
Hi Rafael,
According to ACPI spec 5.a sec 6.4.3.1,
Byte 4, "Range minimum base address, _MIN, bits[7:0]", "Address
bits[15:8] of the minimum base memory address for which
the card may be configured."
Byte 5, "Range minimum base address, _MIN, bits[15:8]", "Address
bits[23:16] of the minimum base memory address for
which the card may be configured".
Byte 10, "Range length, _LEN, bits[7:0]", "This field contains the lower
eight bits of the memory range length. The range length provides the
length of the memory range in 256 byte blocks."
Byte 11, "Range length, _LEN, bits[15:8]", "This field contains the
upper eight bits of the memory range length. The range length field
provides the length of the memory range in 256 byte blocks."
That means _MIN defines bits[23:8] of the minimal address, and _LEN
is in granularity of 256 bytes, so shift them left by 8 bits.
Regards,
Gerry
>
>> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
>> ---
>> 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 abe3a29ad802..f4aeef22a9d8 100644
>> --- a/drivers/acpi/resource.c
>> +++ b/drivers/acpi/resource.c
>> @@ -90,8 +90,8 @@ bool acpi_dev_resource_memory(struct acpi_resource *ares, struct resource *res)
>> switch (ares->type) {
>> case ACPI_RESOURCE_TYPE_MEMORY24:
>> memory24 = &ares->data.memory24;
>> - acpi_dev_get_memresource(res, memory24->minimum,
>> - memory24->address_length,
>> + acpi_dev_get_memresource(res, memory24->minimum << 8,
>> + memory24->address_length << 8,
>> memory24->write_protect);
>> break;
>> case ACPI_RESOURCE_TYPE_MEMORY32:
>>
>
next prev parent reply other threads:[~2015-01-21 2:15 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-08 2:32 [RFC Patch 00/19] Improve ACPI resource parsing interfaces and data structures Jiang Liu
2015-01-08 2:32 ` [RFC Patch 01/19] ACPI: Remove redundant check in function acpi_dev_resource_address_space() Jiang Liu
2015-01-08 2:32 ` [RFC Patch 02/19] ACPI: Implement proper length checks for mem resources Jiang Liu
2015-01-08 2:32 ` [RFC Patch 03/19] ACPI: Use the length check for io resources as well Jiang Liu
2015-01-08 2:32 ` [RFC Patch 04/19] ACPI: Let the parser return false for disabled resources Jiang Liu
2015-01-08 2:32 ` [RFC Patch 05/19] ACPI: Provide union for address_space64 and ext_address_space64 Jiang Liu
2015-01-21 0:32 ` Rafael J. Wysocki
2015-01-22 2:32 ` Zheng, Lv
2015-01-22 2:33 ` [Devel] " Zheng, Lv
2015-01-22 2:57 ` Jiang Liu
2015-01-22 3:24 ` Zheng, Lv
2015-01-22 3:25 ` [Devel] " Zheng, Lv
2015-01-22 10:38 ` Thomas Gleixner
2015-01-08 2:32 ` [RFC Patch 06/19] ACPI: Unify the parsing of address_space and ext_address_space Jiang Liu
2015-01-08 2:32 ` [RFC Patch 07/19] ACPI: Move the window flag logic to the combined parser Jiang Liu
2015-01-08 2:32 ` [RFC Patch 08/19] ACPI: Add prefetch decoding to the address space parser Jiang Liu
2015-01-21 0:35 ` Rafael J. Wysocki
2015-01-21 5:26 ` Jiang Liu
2015-01-21 14:48 ` Rafael J. Wysocki
2015-01-08 2:32 ` [RFC Patch 09/19] ACPI: Fix a bug in parsing ACPI Memroy24 resource Jiang Liu
2015-01-21 0:42 ` Rafael J. Wysocki
2015-01-21 2:15 ` Jiang Liu [this message]
2015-01-21 2:59 ` Rafael J. Wysocki
2015-01-21 2:48 ` Jiang Liu
2015-01-08 2:32 ` [RFC Patch 10/19] ACPI: Normalize return value of resource parser functions Jiang Liu
2015-01-08 2:32 ` [RFC Patch 11/19] ACPI: Set flag IORESOURCE_UNSET for unassigned resources Jiang Liu
2015-01-08 2:32 ` [RFC Patch 12/19] ACPI: Enforce stricter checks for address space descriptors Jiang Liu
2015-01-21 0:45 ` Rafael J. Wysocki
2015-01-21 2:18 ` Jiang Liu
2015-01-21 3:01 ` Rafael J. Wysocki
2015-01-08 2:33 ` [RFC Patch 13/19] ACPI: Return translation offset when parsing ACPI address space resources Jiang Liu
2015-01-08 2:33 ` [RFC Patch 14/19] ACPI: Translate resource into master side address for bridge window resources Jiang Liu
2015-01-21 0:50 ` Rafael J. Wysocki
2015-01-21 5:36 ` Jiang Liu
2015-01-21 14:48 ` Rafael J. Wysocki
2015-01-08 2:33 ` [RFC Patch 15/19] ACPI: Add field offset to struct resource_list_entry Jiang Liu
2015-01-21 0:53 ` Rafael J. Wysocki
2015-01-21 5:37 ` Jiang Liu
2015-01-21 14:47 ` Rafael J. Wysocki
2015-01-21 15:01 ` Jiang Liu
2015-01-08 2:33 ` [RFC Patch 16/19] ACPI: Introduce helper function acpi_dev_filter_resource_type() Jiang Liu
2015-01-15 21:30 ` Thomas Gleixner
2015-01-16 0:58 ` Jiang Liu
2015-01-08 2:33 ` [RFC Patch 17/19] resources: Move struct resource_list_entry from ACPI into resource core Jiang Liu
2015-01-21 1:10 ` Rafael J. Wysocki
2015-01-21 6:37 ` Jiang Liu
2015-01-21 9:43 ` Thomas Gleixner
2015-01-21 12:32 ` Jiang Liu
2015-01-08 2:33 ` [RFC Patch 18/19] PCI: Use common resource list management code instead of private implementation Jiang Liu
2015-01-08 2:33 ` Jiang Liu
2015-01-08 2:33 ` [RFC Patch 19/19] x86/PCI/ACPI: Use common ACPI resource interfaces to simplify implementation Jiang Liu
2015-01-11 22:38 ` [RFC Patch 00/19] Improve ACPI resource parsing interfaces and data structures Rafael J. Wysocki
2015-01-19 14:26 ` Jiang Liu
2015-01-19 15:06 ` Rafael J. Wysocki
2015-01-22 2:46 ` [Devel] [RFC PATCH] ACPICA: Resources: Provide common part for struct acpi_resource_address structures Lv Zheng
2015-01-22 2:46 ` Lv Zheng
2015-01-22 22:50 ` Rafael J. Wysocki
2015-01-23 2:21 ` Zheng, Lv
2015-01-23 2:21 ` [Devel] " Zheng, Lv
2015-01-23 15:21 ` Rafael J. Wysocki
2015-01-26 1:35 ` Zheng, Lv
2015-01-26 1:35 ` [Devel] " Zheng, Lv
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54BF0BA5.8020806@linux.intel.com \
--to=jiang.liu@linux.intel.com \
--cc=bhelgaas@google.com \
--cc=bp@alien8.de \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=rjw@rjwysocki.net \
--cc=tglx@linutronix.de \
--cc=tony.luck@intel.com \
--cc=x86@kernel.org \
--cc=yinghai@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.