linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jiahui Cen <cenjiahui@huawei.com>
To: John Garry <john.garry@huawei.com>, <linux-kernel@vger.kernel.org>
Cc: Wei Xu <xuwei5@hisilicon.com>, Arnd Bergmann <arnd@arndb.de>,
	"Bjorn Helgaas" <bhelgaas@google.com>,
	Andy Shevchenko <andy.shevchenko@gmail.com>,
	<xieyingtai@huawei.com>
Subject: Re: [PATCH] lib/logic_pio: Fix overlap check for pio registery
Date: Mon, 21 Dec 2020 11:24:55 +0800	[thread overview]
Message-ID: <006ad6ce-d6b2-59cb-8209-aca3f6e53fec@huawei.com> (raw)
In-Reply-To: <2cde14cd-91da-aae4-70aa-656d629259e6@huawei.com>

Hi John,

On 2020/12/18 18:40, John Garry wrote:
> On 18/12/2020 06:23, Jiahui Cen wrote:
>> Since the [start, end) is a half-open interval, a range with the end equal
>> to the start of another range should not be considered as overlapped.
>>
>> Signed-off-by: Jiahui Cen <cenjiahui@huawei.com>
>> ---
>>   lib/logic_pio.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/lib/logic_pio.c b/lib/logic_pio.c
>> index f32fe481b492..445d611f1dc1 100644
>> --- a/lib/logic_pio.c
>> +++ b/lib/logic_pio.c
>> @@ -57,7 +57,7 @@ int logic_pio_register_range(struct logic_pio_hwaddr *new_range)
>>               new_range->flags == LOGIC_PIO_CPU_MMIO) {
>>               /* for MMIO ranges we need to check for overlap */
>>               if (start >= range->hw_start + range->size ||
>> -                end < range->hw_start) {
>> +                end <= range->hw_start) {
> 
> It looks like your change is correct, but should not really have an impact in practice since:
> a: BIOSes generally list ascending IO port CPU addresses
> b. there is space between IO port CPU address regions
> 
> Have you seen a problem here?
> 

No serious problem. I found it just when I was working on adding support of
pci expander bridge for Arm in QEMU. I found the IO window of some extended
root bus could not be registered when I inserted the extended buses' _CRS
info into DSDT table in the x86 way, which does not sort the buses.

Though root buses should be sorted in QEMU, would it be better to accept
those non-ascending IO windows?

BTW, for b, it seems to be no space between IO windows of different root buses
generated by EDK2. Or maybe I missed something obvious.

Thanks,
Jiahui

  reply	other threads:[~2020-12-21  3:25 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-18  6:23 [PATCH] lib/logic_pio: Fix overlap check for pio registery Jiahui Cen
2020-12-18 10:40 ` John Garry
2020-12-21  3:24   ` Jiahui Cen [this message]
2020-12-21 11:12     ` John Garry
2020-12-21 13:04       ` Jiahui Cen
2021-01-15 10:10         ` John Garry
2021-01-18  1:27           ` Jiahui Cen
2021-03-15 10:30             ` John Garry

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=006ad6ce-d6b2-59cb-8209-aca3f6e53fec@huawei.com \
    --to=cenjiahui@huawei.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=arnd@arndb.de \
    --cc=bhelgaas@google.com \
    --cc=john.garry@huawei.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=xieyingtai@huawei.com \
    --cc=xuwei5@hisilicon.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).