Re: [PATCH 1/2] pci: Add IORESOURCE_BIT entry for PCIe ECAM resources.

From: Kumar Gala
Date: Mon Jun 02 2014 - 14:09:23 EST



On Jun 2, 2014, at 11:23 AM, Grant Likely <grant.likely@xxxxxxxxxx> wrote:

> On Mon, 2 Jun 2014 10:40:30 -0500, Kumar Gala <galak@xxxxxxxxxxxxxx> wrote:
>>
>> On Jun 2, 2014, at 10:09 AM, Grant Likely <grant.likely@xxxxxxxxxx> wrote:
>>
>>> On Sat, 31 May 2014 20:41:04 +0200, Arnd Bergmann <arnd@xxxxxxxx> wrote:
>>>> On Saturday 31 May 2014 01:36:40 Liviu Dudau wrote:
>>>>> We would like to be able to describe PCIe ECAM resources as
>>>>> IORESOURCE_MEM blocks while distinguish them from standard
>>>>> memory resources. Add an IORESOURCE_BIT entry for this case.
>>>>>
>>>>> Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx>
>>>>
>>>> I still don't see any value in this at all. What is the advantage
>>>> of doing this opposed to just having a standardized 'reg' property
>>>> for a particular compatible string?
>>>
>>> I'm inclined to agree. It doesn't seem appropriate to put config space
>>> in ranges, and the host controller binding is responsible for
>>> identifying how config space is memory mapped.
>>>
>>> g.
>>
>> I don’t agree when it comes to ECAM, but we can drop this for now
>> until someone really does that.
>
> Okay, humor me then. What would a ranges property look like for ECAM? Do
> you have an example? I believe there would need to be a separate entry
> for each and every PCI device on the bus to get the config spaces to be
> contiguous.

The definition of ECAM is a 256M linear region with each 4k being a different bus/dev/func.

So the ranges would look something like:

ranges = <0x00000000 0 0x00000000 0x0ff00000 0 0x10000000> /* configuration space */

The reason I think allow an ECAM makes sense in ranges is because it allows for a direct IO read/write to CFG space (w/o any mapping) similar to what one would do for MEM space or IO.

> However, what do we do with the 2 cases that exist in upstream that
>> are using ranges for cfg space?
>
> Ignore them in the core code? Make the specific host controller handle
> them I would think.

I just meant, should we ‘break’ their DTs and move them from using ranges to reg?

- k

> --
> To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html

--
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/