public inbox for linux-arm-kernel@lists.infradead.org 
 help / color / mirror / Atom feed
From: tn@semihalf•com (Tomasz Nowicki)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH V1 11/11] arm64, pci, acpi: Support for ACPI based PCI hostbridge init
Date: Thu, 29 Oct 2015 17:27:07 +0100	[thread overview]
Message-ID: <563248DB.9020900@semihalf.com> (raw)
In-Reply-To: <563233EE.1090907@codeaurora.org>

On 29.10.2015 15:57, Sinan Kaya wrote:
>
>
> On 10/28/2015 4:36 PM, Sinan Kaya wrote:
>> 2. The second problem is about the PCIe resources.
>>
>> pci_0000:01:00.0:_can't_enable_device:_BAR_0_[mem_0x80100100000-0x80100101fff_64bit]_not_claimed
>>
>>
>> pci 0000:01:00.0: Can't enable PCI device, BIOS handoff failed.
>> pci 0000:00:00.0: BAR 14: assigned [mem 0x80100100000-0x801003fffff]
>> pci 0000:00:00.0: BAR 13: no space for [io  size 0x1000]
>> pci 0000:00:00.0: BAR 13: failed to assign [io  size 0x1000]
>> pci 0000:00:00.0: BAR 13: no space for [io  size 0x1000]
>> pci 0000:00:00.0: BAR 13: failed to assign [io  size 0x1000]
>> pci 0000:01:00.0: BAR 0: assigned [mem 0x80100100000-0x80100101fff 64bit]
>>
>> For some reason, the kernel is unable to assign resources.
>>
>> I appreciate any pointers you might give.
>
> Tomasz,
> I debugged this part of the problem yesterday night.
>
> I have one set up with 4.2 kernel and Mark Salter's original ACPI PCIE
> patch. His patchwork works fine with our ACPI table.
>
> This is what IO resource looks like in our table. PCI IO is supported
> using the ACPI translation attribute on ARM systems.
>
> QWORDIO(            // produced resource
>      ResourceProducer,    // bit 0 of general flags is 0
>      MinFixed,        // Range is fixed
>      MaxFixed,        // Range is fixed
>      PosDecode,
>      EntireRange,
>      0x0000,            // Granularity
>      0x1000,            // Min,
>      0xFFFF,            // Max
>      0x8FFFFFEF000,        // Translation
>      0xF000,            // Range Length
>      ,, PI00
>   )
>
> It looks like you are missing the translation support for the IO
> aperture and Mark Salter's patch has this support.
>
> Yours is missing in pci_acpi_root_prepare_resources function here.
> Mark's patch uses the offset argument to reorganize the resource.
>
>
> +            resource_size_t length = res->end - res->start;
> +
> +            err = pci_register_io_range(res->start, length);
> +            if (err) {
> +                resource_list_destroy_entry(entry);
> +                continue;
> +            }
> +
> +            port = pci_address_to_pio(res->start);
> +            if (port == (unsigned long)-1) {
> +                resource_list_destroy_entry(entry);
> +                continue;
> +            }
> +
> +            res->start = port;
> +            res->end = res->start + length - 1;
> +
> +            if (pci_remap_iospace(res, res->start) < 0)
> +                resource_list_destroy_entry(entry);
>
>

Thanks for the heads up, working on it.

Regards,
Tomasz

  reply	other threads:[~2015-10-29 16:27 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-27 16:38 [PATCH V1 00/11] MMCONFIG refactoring and ARM64 PCI hostbridge init based on ACPI Tomasz Nowicki
2015-10-27 16:38 ` [PATCH V1 01/11] x86, pci: Reorder logic of pci_mmconfig_insert() function Tomasz Nowicki
2015-10-27 16:38 ` [PATCH V1 02/11] x86, pci, acpi: Move arch-agnostic MMCONFIG (aka ECAM) and ACPI code out of arch/x86/ directory Tomasz Nowicki
2015-10-27 16:38 ` [PATCH V1 03/11] pci, acpi, mcfg: Provide generic implementation of MCFG code initialization Tomasz Nowicki
2015-10-27 16:38 ` [PATCH V1 04/11] x86, pci: mmconfig_{32, 64}.c code refactoring - remove code duplication Tomasz Nowicki
2015-10-27 16:38 ` [PATCH V1 05/11] x86, pci, ecam: mmconfig_64.c becomes default implementation for ECAM driver Tomasz Nowicki
2015-10-27 16:38 ` [PATCH V1 06/11] pci, acpi, mcfg: Provide default RAW ACPI PCI config space accessors Tomasz Nowicki
2015-10-27 16:38 ` [PATCH V1 07/11] XEN / PCI: Remove the dependence on arch x86 when PCI_MMCONFIG=y Tomasz Nowicki
2015-10-27 16:47   ` [Linaro-acpi] " Tomasz Nowicki
2015-10-27 17:25     ` Boris Ostrovsky
2015-10-28 10:49       ` Stefano Stabellini
2015-10-28 10:56         ` Tomasz Nowicki
2015-10-28 13:45           ` Hanjun Guo
2015-10-28 14:07             ` Boris Ostrovsky
2015-10-27 16:38 ` [PATCH V1 08/11] pci, acpi, ecam: Add flag to indicate whether ECAM region was hot added or not Tomasz Nowicki
2015-10-27 16:38 ` [PATCH V1 09/11] x86, pci: Use previously added ECAM hot_added flag to remove ECAM regions Tomasz Nowicki
2015-10-27 16:38 ` [PATCH V1 10/11] pci, acpi: Provide generic way to assign bus domain number Tomasz Nowicki
2015-10-28 11:38   ` Liviu.Dudau at arm.com
2015-10-28 12:47     ` [Linaro-acpi] " Tomasz Nowicki
2015-11-03 16:10   ` Lorenzo Pieralisi
2015-11-04 10:04     ` [Linaro-acpi] " Tomasz Nowicki
2015-10-27 16:38 ` [PATCH V1 11/11] arm64, pci, acpi: Support for ACPI based PCI hostbridge init Tomasz Nowicki
2015-10-28 11:49   ` Liviu.Dudau at arm.com
2015-10-28 13:42     ` Tomasz Nowicki
2015-10-28 13:51       ` Liviu.Dudau at arm.com
2015-11-03 14:32     ` Lorenzo Pieralisi
2015-11-03 16:28       ` Liviu.Dudau at arm.com
2015-10-28 18:46   ` Sinan Kaya
2015-10-28 20:36     ` Sinan Kaya
2015-10-29 11:38       ` Tomasz Nowicki
2015-10-29 15:01         ` Sinan Kaya
2015-10-29 15:53           ` Tomasz Nowicki
2015-10-29 16:20             ` Sinan Kaya
2015-10-29 14:57       ` Sinan Kaya
2015-10-29 16:27         ` Tomasz Nowicki [this message]
2015-11-03 14:15     ` Lorenzo Pieralisi
2015-11-03 14:39       ` Tomasz Nowicki
2015-11-03 15:10         ` Sinan Kaya
2015-11-03 15:59           ` Arnd Bergmann
2015-11-03 16:33             ` Sinan Kaya
2015-11-03 16:55               ` Arnd Bergmann
2015-11-03 17:43                 ` Sinan Kaya
2015-11-05 14:48                   ` [Linaro-acpi] " Sinan Kaya
2015-11-03 15:19       ` Hanjun Guo
2015-11-03 17:39         ` David Daney
2015-11-03 18:00           ` Gabriele Paoloni
2015-11-03 16:55   ` Lorenzo Pieralisi
2015-11-04  9:59     ` Tomasz Nowicki
2015-11-04 10:11     ` Tomasz Nowicki
2015-10-30  4:07 ` [PATCH V1 00/11] MMCONFIG refactoring and ARM64 PCI hostbridge init based on ACPI Jon Masters
2015-10-30  4:50   ` Hanjun Guo
2015-10-30  8:26   ` Tomasz Nowicki
2015-10-30 16:38 ` Suravee Suthikulpanit
2015-12-07 20:31 ` Bjorn Helgaas
2015-12-09 10:01   ` Jayachandran C.
2015-12-09 15:55     ` Lorenzo Pieralisi
2015-12-16 12:51       ` Jayachandran C.
2015-12-16 14:05         ` Lorenzo Pieralisi
2015-12-08 17:43 ` Jeremy Linton

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=563248DB.9020900@semihalf.com \
    --to=tn@semihalf$(echo .)com \
    --cc=linux-arm-kernel@lists$(echo .)infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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