Skip to content

RFC arm: pcibios: remove pci_sys_data domain

Liviu Dudau linux-arm-kernel linux-pci 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest1 of 2 patches 0 repliesNew

1 of 2 patches is in this archive. The cover letter announces 2.

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
2/2arm: pcibios: move to generic PCI domains+0 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [RFC PATCH 0/2] arm: pcibios: remove pci_sys_data domain
Quoted 24 lines · Jason Gunthorpe
Quoted 23 lines · Lorenzo Pieralisi
Quoted 7 lines · Jason Gunthorpe
Quoted 4 lines · Lorenzo Pieralisi

Code in drivers/pci/pci-mvebu.c has been changed to add a domain number to PCI resources by using the nr value coming from the setup pcibios32 callback, which may not be correct and should be considered a temporary solution waiting for review comments.

Quoted 7 lines

The intent of the string was to have the domain number so that resources in /proc/iomem can be correlated with lspci.

This would be a 'best practice' - all PCI drivers need to request resource, and the resource should be relatable back to the PCI domain... So it would be best if the domain number was available at this point in a driver's flow.

It is not available with the new approach and the generic PCI domains since the set-up hook is called before creating the pci_bus. That's why I mentioned that in the cover letter, and that's good it caught your attention.

On a side note, when the resources are parsed from DT ranges, ie in:

Quoted 7 lines
Quoted 4 lines

of_pci_get_host_bridge_resources()

the resources won't contain the domain number you are looking for here, for the records, so we'd better find an agreement sooner rather than later.

Well, it is very unfortunate that things are globally not sequenced to allow proper resource names :(

But of_pci_get_host_bridge_resources() does not request the resources, it only creates them out of the DT ranges. If/when the driver decides the list of resources is correct and it can work with it can also request them and use whatever domain number allocation strategy it wants (auto-incrementing or DT based). So I don't think the global sequencing is broken here.

Best regards,
Liviu

Quoted 12 lines

But it also isn't really a big deal in the grand scheme of things. Maybe it can be fixed later :|

Quoted 3 lines

So basically I could go as far as sticking 0000 to the string given the current code. I did not drop the 0x04x entirely since I do not want to break userspace, I was tempted though, let me know if I am allowed to do that.

I'd just drop it entirely then, nobody is going to parse /proc/iomem

Jason

Signature · 8 lines
====================
| I would like to |
| fix the world,  |
| but they're not |
| giving me the   |
 \ source code!  /
  ---------------
    ?\_(?)_/?