All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hector Martin <marcan@marcan.st>
To: Arnd Bergmann <arnd@kernel.org>
Cc: Mark Kettenis <mark.kettenis@xs4all.nl>,
	DTML <devicetree@vger.kernel.org>, Marc Zyngier <maz@kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	SoC Team <soc@kernel.org>, Rob Herring <robh+dt@kernel.org>,
	Olof Johansson <olof@lixom.net>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 13/18] arm64: ioremap: use nGnRnE mappings on platforms that require it
Date: Tue, 9 Feb 2021 20:22:06 +0900	[thread overview]
Message-ID: <11cdf93c-0b25-e1c1-5d18-80ccb4a3f2d9@marcan.st> (raw)
In-Reply-To: <CAK8P3a043eO4p2o6tizR2x7a1TZHMqO7TdX53JC4bTZnbQd9iQ@mail.gmail.com>

On 09/02/2021 18.15, Arnd Bergmann wrote:
> Right, these are the same ranges that I found in the adt and that Mark
> listed in his code snippet, so it seems we all see the same partitioning
> of the address space. I also see them reflected in the
> /defaults/pmap-io-ranges property in ADT, which seems to have an entry
> for every register range that has some mmio registers, along with what
> appears to be a bitmask of some attributes, and it clearly shows
> the above ranges as having a distinct set of bits from the others
> (in little-endian):
> 
>   00000000 04000000 00000080 00000000 27000080 65494350
>   00000080 04000000 00000080 00000000 27000080 65494350
>   00000080 05000000 00000080 00000000 27000080 65494350
>   00000000 06000000 00000080 00000000 27000080 65494350
>   000000a0 06000000 00000020 00000000 27000080 65494350
>   000000c0 06000000 00000040 00000000 27000080 65494350
>     ^64-bit address       ^64-bit length            ^ 64-bit flags?

That's ASCII :-)

'PCIe'

> 
> As opposed to e.g.
> 
>   0000f002 05000000 00400000 00000000 07400000 54524144

'DART'

>   00800021 05000000 00400000 00000000 07400000 44495344

'DSID'

> Ok, so if we want this to get encoded in a 'struct resource' flag, the PCI
> resources should work just fine as these resources come from the
> PCI layer rather than of_address_to_resource(). I think it would be
> reasonable here to add something to of_address_to_resource() to
> set such a flag if we can find an unused one, and then require the
> drivers for this platform to go through devm_ioremap_resource()
> or similar.

This sounds reasonable. For setting such a flag, I guess looking for a 
property (inherited from parents) would make sense. `mmio-map-mode = 
"nonposted"` or something like that?

-- 
Hector Martin (marcan@marcan.st)
Public Key: https://mrcn.st/pub

WARNING: multiple messages have this Message-ID (diff)
From: Hector Martin <marcan@marcan.st>
To: Arnd Bergmann <arnd@kernel.org>
Cc: DTML <devicetree@vger.kernel.org>, Marc Zyngier <maz@kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	SoC Team <soc@kernel.org>, Rob Herring <robh+dt@kernel.org>,
	Olof Johansson <olof@lixom.net>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	Mark Kettenis <mark.kettenis@xs4all.nl>
Subject: Re: [PATCH 13/18] arm64: ioremap: use nGnRnE mappings on platforms that require it
Date: Tue, 9 Feb 2021 20:22:06 +0900	[thread overview]
Message-ID: <11cdf93c-0b25-e1c1-5d18-80ccb4a3f2d9@marcan.st> (raw)
Message-ID: <20210209112206.h22yNXTiLSK8haL4i4b8a3jVjcAUf2lIRfRf7IUh_-4@z> (raw)
In-Reply-To: <CAK8P3a043eO4p2o6tizR2x7a1TZHMqO7TdX53JC4bTZnbQd9iQ@mail.gmail.com>

On 09/02/2021 18.15, Arnd Bergmann wrote:
> Right, these are the same ranges that I found in the adt and that Mark
> listed in his code snippet, so it seems we all see the same partitioning
> of the address space. I also see them reflected in the
> /defaults/pmap-io-ranges property in ADT, which seems to have an entry
> for every register range that has some mmio registers, along with what
> appears to be a bitmask of some attributes, and it clearly shows
> the above ranges as having a distinct set of bits from the others
> (in little-endian):
> 
>   00000000 04000000 00000080 00000000 27000080 65494350
>   00000080 04000000 00000080 00000000 27000080 65494350
>   00000080 05000000 00000080 00000000 27000080 65494350
>   00000000 06000000 00000080 00000000 27000080 65494350
>   000000a0 06000000 00000020 00000000 27000080 65494350
>   000000c0 06000000 00000040 00000000 27000080 65494350
>     ^64-bit address       ^64-bit length            ^ 64-bit flags?

That's ASCII :-)

'PCIe'

> 
> As opposed to e.g.
> 
>   0000f002 05000000 00400000 00000000 07400000 54524144

'DART'

>   00800021 05000000 00400000 00000000 07400000 44495344

'DSID'

> Ok, so if we want this to get encoded in a 'struct resource' flag, the PCI
> resources should work just fine as these resources come from the
> PCI layer rather than of_address_to_resource(). I think it would be
> reasonable here to add something to of_address_to_resource() to
> set such a flag if we can find an unused one, and then require the
> drivers for this platform to go through devm_ioremap_resource()
> or similar.

This sounds reasonable. For setting such a flag, I guess looking for a 
property (inherited from parents) would make sense. `mmio-map-mode = 
"nonposted"` or something like that?

-- 
Hector Martin (marcan@marcan.st)
Public Key: https://mrcn.st/pub

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2021-02-09 11:25 UTC|newest]

Thread overview: 240+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-04 20:39 [PATCH 00/18] Apple M1 SoC platform bring-up Hector Martin
2021-02-04 20:39 ` Hector Martin
2021-02-04 20:39 ` [PATCH 01/18] dt-bindings: vendor-prefixes: add AAPL prefix Hector Martin
2021-02-04 20:39   ` Hector Martin
2021-02-08 10:27   ` Krzysztof Kozlowski
2021-02-08 10:27     ` Krzysztof Kozlowski
2021-02-08 17:32     ` Rob Herring
2021-02-08 17:32       ` Rob Herring
2021-02-08 18:12       ` Krzysztof Kozlowski
2021-02-08 18:12         ` Krzysztof Kozlowski
2021-02-08 19:59         ` Arnd Bergmann
2021-02-08 19:59           ` Arnd Bergmann
2021-02-08 23:17         ` Hector Martin
2021-02-08 23:17           ` Hector Martin
2021-02-04 20:39 ` [PATCH 02/18] dt-bindings: arm: cpus: Add AAPL,firestorm & icestorm compatibles Hector Martin
2021-02-04 20:39   ` [PATCH 02/18] dt-bindings: arm: cpus: Add AAPL, firestorm " Hector Martin
2021-02-04 20:39 ` [PATCH 03/18] dt-bindings: arm: AAPL: Add bindings for Apple ARM platforms Hector Martin
2021-02-04 20:39   ` Hector Martin
2021-02-04 20:39 ` [PATCH 04/18] arm64: Kconfig: Introduce CONFIG_ARCH_APPLE Hector Martin
2021-02-04 20:39   ` Hector Martin
2021-02-06 13:17   ` Marc Zyngier
2021-02-06 13:17     ` Marc Zyngier
2021-02-07  8:05     ` Hector Martin 'marcan'
2021-02-07  8:05       ` Hector Martin 'marcan'
2021-02-04 20:39 ` [PATCH 05/18] tty: serial: samsung_tty: add support for Apple UARTs Hector Martin
2021-02-04 20:39   ` Hector Martin
2021-02-04 23:55   ` kernel test robot
2021-02-04 23:55     ` kernel test robot
2021-02-04 23:55     ` kernel test robot
2021-02-05  9:44     ` Hector Martin 'marcan'
2021-02-05  9:44       ` Hector Martin 'marcan'
2021-02-05  2:19   ` kernel test robot
2021-02-05  2:19     ` kernel test robot
2021-02-05  2:19     ` kernel test robot
2021-02-06 13:15   ` Marc Zyngier
2021-02-06 13:15     ` Marc Zyngier
2021-02-07  9:12     ` Hector Martin 'marcan'
2021-02-07  9:12       ` Hector Martin 'marcan'
2021-02-07  9:26       ` Hector Martin 'marcan'
2021-02-07  9:26         ` Hector Martin 'marcan'
2021-02-08  9:36         ` Krzysztof Kozlowski
2021-02-08  9:36           ` Krzysztof Kozlowski
2021-02-08 16:14           ` Hector Martin
2021-02-08 16:14             ` Hector Martin
2021-02-08 10:34       ` Marc Zyngier
2021-02-08 10:34         ` Marc Zyngier
2021-02-08 16:18         ` Hector Martin
2021-02-08 16:18           ` Hector Martin
2021-02-08 16:46           ` Greg Kroah-Hartman
2021-02-08 16:46             ` Greg Kroah-Hartman
2021-02-08 23:22             ` Hector Martin
2021-02-08 23:22               ` Hector Martin
2021-02-08 10:54   ` Krzysztof Kozlowski
2021-02-08 10:54     ` Krzysztof Kozlowski
2021-02-08 16:10     ` Hector Martin
2021-02-08 16:10       ` Hector Martin
2021-02-08 18:37       ` Krzysztof Kozlowski
2021-02-08 18:37         ` Krzysztof Kozlowski
2021-02-08 23:23         ` Hector Martin
2021-02-08 23:23           ` Hector Martin
2021-02-04 20:39 ` [PATCH 06/18] dt-bindings: serial: samsung: Add AAPL,s5l-uart compatible Hector Martin
2021-02-04 20:39   ` [PATCH 06/18] dt-bindings: serial: samsung: Add AAPL, s5l-uart compatible Hector Martin
2021-02-04 20:39 ` [PATCH 07/18] tty: serial: samsung_tty: enable for ARCH_APPLE Hector Martin
2021-02-04 20:39   ` Hector Martin
2021-02-04 21:16   ` Arnd Bergmann
2021-02-04 21:16     ` Arnd Bergmann
2021-02-04 21:27     ` Hector Martin 'marcan'
2021-02-04 21:27       ` Hector Martin 'marcan'
2021-02-04 20:39 ` [PATCH 08/18] arm64: cpufeature: Add a feature for FIQ support Hector Martin
2021-02-04 20:39   ` Hector Martin
2021-02-06 13:58   ` Marc Zyngier
2021-02-06 13:58     ` Marc Zyngier
2021-02-07  8:28     ` Hector Martin 'marcan'
2021-02-07  8:28       ` Hector Martin 'marcan'
2021-02-08 11:29       ` Marc Zyngier
2021-02-08 11:29         ` Marc Zyngier
2021-02-08 15:51         ` Hector Martin
2021-02-08 15:51           ` Hector Martin
2021-02-04 20:39 ` [PATCH 09/18] arm64: cputype: Add CPU types for the Apple M1 big/little cores Hector Martin
2021-02-04 20:39   ` Hector Martin
2021-02-04 20:39 ` [PATCH 10/18] arm64: Introduce FIQ support Hector Martin
2021-02-04 20:39   ` Hector Martin
2021-02-06 15:37   ` Marc Zyngier
2021-02-06 15:37     ` Marc Zyngier
2021-02-06 16:22     ` Arnd Bergmann
2021-02-06 16:22       ` Arnd Bergmann
2021-02-07  8:36       ` Hector Martin 'marcan'
2021-02-07  8:36         ` Hector Martin 'marcan'
2021-02-07 12:25         ` Arnd Bergmann
2021-02-07 12:25           ` Arnd Bergmann
2021-02-07 15:38           ` Hector Martin 'marcan'
2021-02-07 15:38             ` Hector Martin 'marcan'
2021-02-07 18:49             ` Arnd Bergmann
2021-02-07 18:49               ` Arnd Bergmann
2021-02-08 23:34               ` Hector Martin
2021-02-08 23:34                 ` Hector Martin
2021-02-07  8:47     ` Hector Martin 'marcan'
2021-02-07  8:47       ` Hector Martin 'marcan'
2021-02-08 11:30       ` Marc Zyngier
2021-02-08 11:30         ` Marc Zyngier
2021-02-04 20:39 ` [PATCH 11/18] arm64: Kconfig: Require FIQ support for ARCH_APPLE Hector Martin
2021-02-04 20:39   ` Hector Martin
2021-02-06 15:46   ` Marc Zyngier
2021-02-06 15:46     ` Marc Zyngier
2021-02-07  9:23     ` Hector Martin 'marcan'
2021-02-07  9:23       ` Hector Martin 'marcan'
2021-02-08 12:05       ` Marc Zyngier
2021-02-08 12:05         ` Marc Zyngier
2021-02-08 15:48         ` Hector Martin
2021-02-08 15:48           ` Hector Martin
2021-02-04 20:39 ` [PATCH 12/18] arm64: setup: Use nGnRnE IO mappings for fixmap on Apple platforms Hector Martin
2021-02-04 20:39   ` Hector Martin
2021-02-04 22:25   ` Arnd Bergmann
2021-02-04 22:25     ` Arnd Bergmann
2021-02-04 20:39 ` [PATCH 13/18] arm64: ioremap: use nGnRnE mappings on platforms that require it Hector Martin
2021-02-04 20:39   ` Hector Martin
2021-02-04 22:21   ` Arnd Bergmann
2021-02-04 22:21     ` Arnd Bergmann
2021-02-08 22:57   ` Arnd Bergmann
2021-02-08 22:57     ` Arnd Bergmann
2021-02-08 23:20     ` Mark Kettenis
2021-02-08 23:20       ` Mark Kettenis
2021-02-09  0:25       ` Hector Martin
2021-02-09  0:25         ` Hector Martin
2021-02-09  9:15         ` Arnd Bergmann
2021-02-09  9:15           ` Arnd Bergmann
2021-02-09  9:58           ` Mark Kettenis
2021-02-09  9:58             ` Mark Kettenis
2021-02-09 11:22           ` Hector Martin [this message]
2021-02-09 11:22             ` Hector Martin
2021-02-09  9:35       ` Arnd Bergmann
2021-02-09  9:35         ` Arnd Bergmann
2021-02-10 12:24     ` Hector Martin
2021-02-10 12:24       ` Hector Martin
2021-02-10 13:40       ` Mark Kettenis
2021-02-10 13:40         ` Mark Kettenis
2021-02-04 20:39 ` [PATCH 14/18] dt-bindings: interrupt-controller: Add DT bindings for apple-aic Hector Martin
2021-02-04 20:39   ` Hector Martin
2021-02-09 23:07   ` Rob Herring
2021-02-09 23:07     ` Rob Herring
2021-02-04 20:39 ` [PATCH 15/18] irqchip/apple-aic: Add support for the Apple Interrupt Controller Hector Martin
2021-02-04 20:39   ` Hector Martin
2021-02-04 21:37   ` Arnd Bergmann
2021-02-04 21:37     ` Arnd Bergmann
2021-02-04 22:04     ` Hector Martin 'marcan'
2021-02-04 22:04       ` Hector Martin 'marcan'
2021-02-04 23:04       ` Arnd Bergmann
2021-02-04 23:04         ` Arnd Bergmann
2021-02-05  7:41         ` Hector Martin 'marcan'
2021-02-05  7:41           ` Hector Martin 'marcan'
2021-02-05 10:33           ` Arnd Bergmann
2021-02-05 10:33             ` Arnd Bergmann
2021-02-05  2:27   ` kernel test robot
2021-02-05  2:27     ` kernel test robot
2021-02-05  2:27     ` kernel test robot
2021-02-05  9:45     ` Hector Martin 'marcan'
2021-02-05  9:45       ` Hector Martin 'marcan'
2021-02-08  9:25   ` Marc Zyngier
2021-02-08  9:25     ` Marc Zyngier
2021-02-08 10:29     ` Arnd Bergmann
2021-02-08 10:29       ` Arnd Bergmann
2021-02-08 11:13       ` Hector Martin 'marcan'
2021-02-08 11:13         ` Hector Martin 'marcan'
2021-02-08 11:21         ` Arnd Bergmann
2021-02-08 11:21           ` Arnd Bergmann
2021-02-08 11:36       ` Marc Zyngier
2021-02-08 11:36         ` Marc Zyngier
2021-02-08 12:17         ` Arnd Bergmann
2021-02-08 12:17           ` Arnd Bergmann
2021-02-08 15:31         ` Hector Martin
2021-02-08 15:31           ` Hector Martin
2021-02-09  6:20     ` Hector Martin
2021-02-09  6:20       ` Hector Martin
2021-02-04 20:39 ` [PATCH 16/18] irqchip/apple-aic: Add SMP / IPI support Hector Martin
2021-02-04 20:39   ` Hector Martin
2021-02-04 20:39 ` [PATCH 17/18] dt-bindings: display: add AAPL,simple-framebuffer Hector Martin
2021-02-04 20:39   ` Hector Martin
2021-02-04 20:39 ` [PATCH 18/18] arm64: apple: Add initial Mac Mini 2020 (M1) devicetree Hector Martin
2021-02-04 20:39   ` Hector Martin
2021-02-04 21:29   ` Arnd Bergmann
2021-02-04 21:29     ` Arnd Bergmann
2021-02-04 21:44     ` Hector Martin 'marcan'
2021-02-04 21:44       ` Hector Martin 'marcan'
2021-02-04 23:08       ` Arnd Bergmann
2021-02-04 23:08         ` Arnd Bergmann
2021-02-05  7:11         ` Hector Martin 'marcan'
2021-02-05  7:11           ` Hector Martin 'marcan'
2021-02-05 12:43           ` Arnd Bergmann
2021-02-05 12:43             ` Arnd Bergmann
2021-02-08 11:04   ` Krzysztof Kozlowski
2021-02-08 11:04     ` Krzysztof Kozlowski
2021-02-08 11:56     ` Hector Martin 'marcan'
2021-02-08 11:56       ` Hector Martin 'marcan'
2021-02-08 12:13       ` Krzysztof Kozlowski
2021-02-08 12:13         ` Krzysztof Kozlowski
2021-02-08 12:40         ` Arnd Bergmann
2021-02-08 12:40           ` Arnd Bergmann
2021-02-08 14:12           ` Hector Martin
2021-02-08 14:12             ` Hector Martin
2021-02-08 17:58             ` Rob Herring
2021-02-08 17:58               ` Rob Herring
2021-02-09  0:32               ` Hector Martin
2021-02-09  0:32                 ` Hector Martin
2021-02-08 19:14       ` Rob Herring
2021-02-08 19:14         ` Rob Herring
2021-02-09  0:49         ` Hector Martin
2021-02-09  0:49           ` Hector Martin
2021-02-09  2:05           ` Rob Herring
2021-02-09  2:05             ` Rob Herring
2021-02-10 10:19       ` Tony Lindgren
2021-02-10 10:19         ` Tony Lindgren
2021-02-10 11:07         ` Hector Martin
2021-02-10 11:07           ` Hector Martin
2021-02-10 11:34           ` Tony Lindgren
2021-02-10 11:34             ` Tony Lindgren
2021-02-10 11:43             ` Hector Martin
2021-02-10 11:43               ` Hector Martin
2021-02-10 12:24               ` Daniel Palmer
2021-02-10 12:24                 ` Daniel Palmer
2021-02-10 12:24                 ` Daniel Palmer
2021-02-10 12:54                 ` Tony Lindgren
2021-02-10 12:54                   ` Tony Lindgren
2021-02-10 12:56                 ` Hector Martin
2021-02-10 12:56                   ` Hector Martin
2021-02-10 12:55             ` Krzysztof Kozlowski
2021-02-10 12:55               ` Krzysztof Kozlowski
2021-02-10 13:19               ` Tony Lindgren
2021-02-10 13:19                 ` Tony Lindgren
2021-02-10 13:25                 ` Krzysztof Kozlowski
2021-02-10 13:25                   ` Krzysztof Kozlowski
2021-02-08 12:27   ` Marc Zyngier
2021-02-08 12:27     ` Marc Zyngier
2021-02-08 14:53     ` Hector Martin
2021-02-08 14:53       ` Hector Martin
2021-02-08 15:36       ` Marc Zyngier
2021-02-08 15:36         ` Marc Zyngier
2021-02-04 22:43 ` [PATCH 00/18] Apple M1 SoC platform bring-up Arnd Bergmann
2021-02-04 22:43   ` Arnd Bergmann
2021-02-05 11:35 ` Hector Martin 'marcan'
2021-02-05 11:35   ` Hector Martin 'marcan'

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=11cdf93c-0b25-e1c1-5d18-80ccb4a3f2d9@marcan.st \
    --to=marcan@marcan.st \
    --cc=arnd@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.kettenis@xs4all.nl \
    --cc=maz@kernel.org \
    --cc=olof@lixom.net \
    --cc=robh+dt@kernel.org \
    --cc=soc@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.