All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Thierry Reding <thierry.reding@avionic-design.de>
Cc: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>,
	Stephen Warren <swarren@wwwdotorg.org>,
	linux-tegra@vger.kernel.org,
	Grant Likely <grant.likely@secretlab.ca>,
	Rob Herring <rob.herring@calxeda.com>,
	Russell King <linux@arm.linux.org.uk>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Andrew Murray <andrew.murray@arm.com>,
	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	devicetree-discuss@lists.ozlabs.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org
Subject: Re: [PATCH 05/14] lib: Add I/O map cache implementation
Date: Thu, 10 Jan 2013 18:26:55 +0000	[thread overview]
Message-ID: <201301101826.56248.arnd@arndb.de> (raw)
In-Reply-To: <20130110102544.GA5546@avionic-0098.adnet.avionic-design.de>

On Thursday 10 January 2013, Thierry Reding wrote:
> I don't understand how this would help. The encoding is like this:
> 
>         [27:24] extended register number
>         [23:16] bus number
>         [15:11] device number
>         [10: 8] function number
>         [ 7: 0] register number
> 
> So it doesn't matter whether I use separate areas per bus or not. As
> soon as the whole extended configuration space needs to be accessed a
> whopping 28 bits (256 MiB) are required.
> 
> What you propose would work if only regular configuration space is
> supported. I'm not sure if that's an option.

I mean something like:

struct tegra_bus_private {
	...
	void __iomem *config_space[16];
};


void tegra_scan_bus(struct pci_bus *bus)
{
	int i;
	struct tegra_bus_private *priv = bus->dev->private;

	for (i=0; i<16; i++)
		priv->config_space[i] = ioremap(config_space_phys +
				 65536 * bus->primary + i * SZ_1M, 65536);

	...
}

	Arnd

WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
To: Thierry Reding
	<thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
Cc: Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
	linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
	Jason Gunthorpe
	<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>,
	Bjorn Helgaas <bhelgaas-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Andrew Murray <andrew.murray-5wv7dgnIgG8@public.gmane.org>,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH 05/14] lib: Add I/O map cache implementation
Date: Thu, 10 Jan 2013 18:26:55 +0000	[thread overview]
Message-ID: <201301101826.56248.arnd@arndb.de> (raw)
In-Reply-To: <20130110102544.GA5546-RM9K5IK7kjIyiCvfTdI0JKcOhU4Rzj621B7CTYaBSLdn68oJJulU0Q@public.gmane.org>

On Thursday 10 January 2013, Thierry Reding wrote:
> I don't understand how this would help. The encoding is like this:
> 
>         [27:24] extended register number
>         [23:16] bus number
>         [15:11] device number
>         [10: 8] function number
>         [ 7: 0] register number
> 
> So it doesn't matter whether I use separate areas per bus or not. As
> soon as the whole extended configuration space needs to be accessed a
> whopping 28 bits (256 MiB) are required.
> 
> What you propose would work if only regular configuration space is
> supported. I'm not sure if that's an option.

I mean something like:

struct tegra_bus_private {
	...
	void __iomem *config_space[16];
};


void tegra_scan_bus(struct pci_bus *bus)
{
	int i;
	struct tegra_bus_private *priv = bus->dev->private;

	for (i=0; i<16; i++)
		priv->config_space[i] = ioremap(config_space_phys +
				 65536 * bus->primary + i * SZ_1M, 65536);

	...
}

	Arnd

WARNING: multiple messages have this Message-ID (diff)
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 05/14] lib: Add I/O map cache implementation
Date: Thu, 10 Jan 2013 18:26:55 +0000	[thread overview]
Message-ID: <201301101826.56248.arnd@arndb.de> (raw)
In-Reply-To: <20130110102544.GA5546@avionic-0098.adnet.avionic-design.de>

On Thursday 10 January 2013, Thierry Reding wrote:
> I don't understand how this would help. The encoding is like this:
> 
>         [27:24] extended register number
>         [23:16] bus number
>         [15:11] device number
>         [10: 8] function number
>         [ 7: 0] register number
> 
> So it doesn't matter whether I use separate areas per bus or not. As
> soon as the whole extended configuration space needs to be accessed a
> whopping 28 bits (256 MiB) are required.
> 
> What you propose would work if only regular configuration space is
> supported. I'm not sure if that's an option.

I mean something like:

struct tegra_bus_private {
	...
	void __iomem *config_space[16];
};


void tegra_scan_bus(struct pci_bus *bus)
{
	int i;
	struct tegra_bus_private *priv = bus->dev->private;

	for (i=0; i<16; i++)
		priv->config_space[i] = ioremap(config_space_phys +
				 65536 * bus->primary + i * SZ_1M, 65536);

	...
}

	Arnd

  parent reply	other threads:[~2013-01-10 18:26 UTC|newest]

Thread overview: 250+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-09 20:43 [PATCH 00/14] Rewrite Tegra PCIe driver Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-09 20:43 ` [PATCH 01/14] of/pci: Provide support for parsing PCI DT ranges property Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-11  0:06   ` Stephen Warren
2013-01-11  0:06     ` Stephen Warren
2013-01-11  4:02     ` Thierry Reding
2013-01-11  4:02       ` Thierry Reding
2013-01-11  4:02       ` Thierry Reding
2013-01-09 20:43 ` [PATCH 02/14] of/pci: Add of_pci_get_devfn() function Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-11  0:09   ` Stephen Warren
2013-01-11  0:09     ` Stephen Warren
2013-01-11  0:09     ` Stephen Warren
2013-01-11  4:06     ` Thierry Reding
2013-01-11  4:06       ` Thierry Reding
2013-01-09 20:43 ` [PATCH 03/14] of/pci: Add of_pci_get_bus() function Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43 ` [PATCH 04/14] of/pci: Add of_pci_parse_bus_range() function Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43 ` [PATCH 05/14] lib: Add I/O map cache implementation Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 21:19   ` Arnd Bergmann
2013-01-09 21:19     ` Arnd Bergmann
2013-01-09 21:19     ` Arnd Bergmann
2013-01-09 21:54     ` Thierry Reding
2013-01-09 21:54       ` Thierry Reding
2013-01-09 22:10       ` Arnd Bergmann
2013-01-09 22:10         ` Arnd Bergmann
2013-01-09 22:10         ` Arnd Bergmann
2013-01-09 23:12         ` Stephen Warren
2013-01-09 23:12           ` Stephen Warren
2013-01-09 23:12           ` Stephen Warren
2013-01-09 23:17           ` Jason Gunthorpe
2013-01-09 23:17             ` Jason Gunthorpe
2013-01-10  7:19             ` Thierry Reding
2013-01-10  7:19               ` Thierry Reding
2013-01-10  7:19               ` Thierry Reding
2013-01-10  9:17               ` Arnd Bergmann
2013-01-10  9:17                 ` Arnd Bergmann
2013-01-10  9:17                 ` Arnd Bergmann
2013-01-10 10:25                 ` Thierry Reding
2013-01-10 10:25                   ` Thierry Reding
2013-01-10 10:25                   ` Thierry Reding
2013-01-10 18:20                   ` Jason Gunthorpe
2013-01-10 18:20                     ` Jason Gunthorpe
2013-01-10 18:20                     ` Jason Gunthorpe
2013-01-10 18:55                     ` Thierry Reding
2013-01-10 18:55                       ` Thierry Reding
2013-01-10 18:55                       ` Thierry Reding
2013-01-10 19:03                       ` Thierry Reding
2013-01-10 19:03                         ` Thierry Reding
2013-01-10 19:24                         ` Jason Gunthorpe
2013-01-10 19:24                           ` Jason Gunthorpe
2013-01-10 20:20                           ` Thierry Reding
2013-01-10 20:20                             ` Thierry Reding
2013-01-10 20:20                             ` Thierry Reding
2013-01-10 21:06                             ` Jason Gunthorpe
2013-01-10 21:06                               ` Jason Gunthorpe
2013-01-10 21:06                               ` Jason Gunthorpe
2013-01-16 10:18                           ` Thierry Reding
2013-01-16 10:18                             ` Thierry Reding
2013-01-16 10:18                             ` Thierry Reding
2013-01-16 11:25                             ` Russell King - ARM Linux
2013-01-16 11:25                               ` Russell King - ARM Linux
2013-01-16 11:25                               ` Russell King - ARM Linux
2013-01-16 11:52                               ` Thierry Reding
2013-01-16 11:52                                 ` Thierry Reding
2013-01-16 11:52                                 ` Thierry Reding
2013-01-10 18:26                   ` Arnd Bergmann [this message]
2013-01-10 18:26                     ` Arnd Bergmann
2013-01-10 18:26                     ` Arnd Bergmann
2013-01-10 18:57                     ` Thierry Reding
2013-01-10 18:57                       ` Thierry Reding
2013-01-10 18:57                       ` Thierry Reding
2013-01-10  7:10         ` Thierry Reding
2013-01-10  7:10           ` Thierry Reding
2013-01-10  7:10           ` Thierry Reding
2013-01-09 21:28   ` Russell King - ARM Linux
2013-01-09 21:28     ` Russell King - ARM Linux
2013-01-09 21:28     ` Russell King - ARM Linux
2013-01-09 21:57     ` Thierry Reding
2013-01-09 21:57       ` Thierry Reding
2013-01-09 21:57       ` Thierry Reding
2013-01-09 20:43 ` [PATCH 06/14] ARM: pci: Keep pci_common_init() around after init Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-02-05 20:41   ` Thierry Reding
2013-02-05 20:41     ` Thierry Reding
2013-02-05 20:41     ` Thierry Reding
2013-02-06 16:30     ` Russell King - ARM Linux
2013-02-06 16:30       ` Russell King - ARM Linux
2013-02-06 16:30       ` Russell King - ARM Linux
2013-02-06 19:35       ` Thierry Reding
2013-02-06 19:35         ` Thierry Reding
2013-02-06 19:35         ` Thierry Reding
2013-02-06  8:36   ` Thomas Petazzoni
2013-02-06  8:36     ` Thomas Petazzoni
2013-02-06  8:36     ` Thomas Petazzoni
2013-02-06 16:38   ` Linus Walleij
2013-02-06 16:38     ` Linus Walleij
2013-02-06 16:38     ` Linus Walleij
2013-02-07  0:54     ` Arnd Bergmann
2013-02-07  0:54       ` Arnd Bergmann
2013-02-06 17:07       ` Linus Walleij
2013-02-06 17:07         ` Linus Walleij
2013-02-06 17:07         ` Linus Walleij
2013-02-07  1:20         ` Arnd Bergmann
2013-02-07  1:20           ` Arnd Bergmann
2013-02-07  1:20           ` Arnd Bergmann
2013-01-09 20:43 ` [PATCH 07/14] ARM: pci: Allow passing per-controller private data Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43 ` [PATCH 08/14] ARM: tegra: Move tegra_pcie_xclk_clamp() to PMC Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43 ` [PATCH 09/14] ARM: tegra: Move pmc.h to include/mach Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-11  0:15   ` Stephen Warren
2013-01-11  0:15     ` Stephen Warren
2013-01-11  0:15     ` Stephen Warren
2013-01-11  4:08     ` Thierry Reding
2013-01-11  4:08       ` Thierry Reding
2013-01-11  4:08       ` Thierry Reding
2013-01-09 20:43 ` [PATCH 10/14] PCI: tegra: Move PCIe driver to drivers/pci/host Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 21:22   ` Arnd Bergmann
2013-01-09 21:22     ` Arnd Bergmann
2013-01-09 21:22     ` Arnd Bergmann
2013-01-09 21:58     ` Thierry Reding
2013-01-09 21:58       ` Thierry Reding
2013-01-09 21:58       ` Thierry Reding
2013-01-09 22:03       ` Arnd Bergmann
2013-01-09 22:03         ` Arnd Bergmann
2013-01-10 23:54   ` Stephen Warren
2013-01-10 23:54     ` Stephen Warren
2013-01-11  3:40     ` Thierry Reding
2013-01-11  3:40       ` Thierry Reding
2013-01-11 15:36       ` Arnd Bergmann
2013-01-11 15:36         ` Arnd Bergmann
2013-01-11 15:36         ` Arnd Bergmann
2013-01-11 15:45         ` Thierry Reding
2013-01-11 15:45           ` Thierry Reding
2013-01-11 15:45           ` Thierry Reding
2013-01-12 12:36           ` Thierry Reding
2013-01-12 12:36             ` Thierry Reding
2013-01-12 12:36             ` Thierry Reding
2013-01-12 21:12             ` Arnd Bergmann
2013-01-12 21:12               ` Arnd Bergmann
2013-01-13  9:58               ` Thierry Reding
2013-01-13  9:58                 ` Thierry Reding
2013-01-14  9:57                 ` Andrew Murray
2013-01-14  9:57                   ` Andrew Murray
2013-01-14  9:57                   ` Andrew Murray
2013-01-15 12:08                   ` Thierry Reding
2013-01-15 12:08                     ` Thierry Reding
2013-01-15 12:08                     ` Thierry Reding
2013-01-15 12:44                     ` Arnd Bergmann
2013-01-15 12:44                       ` Arnd Bergmann
2013-01-15 15:40                       ` Andrew Murray
2013-01-15 15:40                         ` Andrew Murray
2013-01-15 15:40                         ` Andrew Murray
2013-01-15 21:14                         ` Thierry Reding
2013-01-15 21:14                           ` Thierry Reding
2013-01-15 21:14                           ` Thierry Reding
2013-01-16 14:00                           ` Arnd Bergmann
2013-01-16 14:00                             ` Arnd Bergmann
2013-01-16 16:17                             ` Andrew Murray
2013-01-16 16:17                               ` Andrew Murray
2013-01-16 18:31                               ` Thierry Reding
2013-01-16 18:31                                 ` Thierry Reding
2013-01-17 15:42                                 ` Andrew Murray
2013-01-17 15:42                                   ` Andrew Murray
2013-01-17 16:05                                   ` Thierry Reding
2013-01-17 16:05                                     ` Thierry Reding
2013-01-17 16:05                                     ` Thierry Reding
2013-01-17 16:22                                     ` Andrew Murray
2013-01-17 16:22                                       ` Andrew Murray
2013-01-17 20:30                                       ` Thierry Reding
2013-01-17 20:30                                         ` Thierry Reding
2013-01-17 20:30                                         ` Thierry Reding
2013-01-18  9:18                                         ` Andrew Murray
2013-01-18  9:18                                           ` Andrew Murray
2013-01-22 19:29                                       ` Jason Gunthorpe
2013-01-22 19:29                                         ` Jason Gunthorpe
2013-01-22 19:29                                         ` Jason Gunthorpe
2013-01-29 13:31                                         ` Andrew Murray
2013-01-29 13:31                                           ` Andrew Murray
2013-01-11  0:48   ` Stephen Warren
2013-01-11  0:48     ` Stephen Warren
2013-01-11  0:48     ` Stephen Warren
2013-01-11  3:52     ` Thierry Reding
2013-01-11  3:52       ` Thierry Reding
2013-01-11  3:52       ` Thierry Reding
2013-01-11 20:34       ` Stephen Warren
2013-01-11 20:34         ` Stephen Warren
2013-01-18  9:56   ` Andrew Murray
2013-01-18  9:56     ` Andrew Murray
2013-01-18 10:09     ` Thierry Reding
2013-01-18 10:09       ` Thierry Reding
2013-01-18 10:09       ` Thierry Reding
2013-02-13 23:11   ` Thomas Petazzoni
2013-02-13 23:11     ` Thomas Petazzoni
2013-02-13 23:11     ` Thomas Petazzoni
2013-01-09 20:43 ` [PATCH 11/14] ARM: tegra: tamonten: Add PCIe support Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 21:23   ` Arnd Bergmann
2013-01-09 21:23     ` Arnd Bergmann
2013-01-09 21:23     ` Arnd Bergmann
2013-01-10 20:21     ` Thierry Reding
2013-01-10 20:21       ` Thierry Reding
2013-01-10 20:21       ` Thierry Reding
2013-01-09 20:43 ` [PATCH 12/14] ARM: tegra: tec: " Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-11  0:22   ` Stephen Warren
2013-01-11  0:22     ` Stephen Warren
2013-01-11  0:22     ` Stephen Warren
2013-01-11  4:34     ` Thierry Reding
2013-01-11  4:34       ` Thierry Reding
2013-01-09 20:43 ` [PATCH 13/14] ARM: tegra: harmony: Initialize PCIe from DT Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-10 23:58   ` Stephen Warren
2013-01-10 23:58     ` Stephen Warren
2013-01-10 23:58     ` Stephen Warren
2013-01-09 20:43 ` [PATCH 14/14] ARM: tegra: trimslice: " Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-10 23:56   ` Stephen Warren
2013-01-10 23:56     ` Stephen Warren
2013-01-10 23:56     ` Stephen Warren
2013-01-11 18:48     ` Thierry Reding
2013-01-11 18:48       ` Thierry Reding
2013-01-11 18:48       ` Thierry Reding
2013-01-09 21:25 ` [PATCH 00/14] Rewrite Tegra PCIe driver Thomas Petazzoni
2013-01-09 21:25   ` Thomas Petazzoni
2013-01-09 21:25   ` Thomas Petazzoni
2013-01-10  6:55   ` Thierry Reding
2013-01-10  6:55     ` Thierry Reding
2013-01-10  6:55     ` Thierry Reding
2013-01-10  8:34     ` Thomas Petazzoni
2013-01-10  8:34       ` Thomas Petazzoni
2013-01-28 18:15 ` Bjorn Helgaas
2013-01-28 18:15   ` Bjorn Helgaas
     [not found] ` <1357764194-12677-1-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2013-03-06 18:16   ` Murali Karicheri

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=201301101826.56248.arnd@arndb.de \
    --to=arnd@arndb.de \
    --cc=andrew.murray@arm.com \
    --cc=bhelgaas@google.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --cc=jgunthorpe@obsidianresearch.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=rob.herring@calxeda.com \
    --cc=swarren@wwwdotorg.org \
    --cc=thierry.reding@avionic-design.de \
    --cc=thomas.petazzoni@free-electrons.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 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.