All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Helgaas <helgaas@kernel.org>
To: Tuan Phan <tuanphan@os.amperecomputing.com>
Cc: patches@amperecomputing.com, Bjorn Helgaas <bhelgaas@google.com>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Len Brown <lenb@kernel.org>,
	linux-pci@vger.kernel.org, linux-acpi@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] PCI/ACPI: Add Ampere Altra SOC MCFG quirk
Date: Thu, 17 Sep 2020 12:33:10 -0500	[thread overview]
Message-ID: <20200917173310.GA1714144@bjorn-Precision-5520> (raw)
In-Reply-To: <1596751055-12316-1-git-send-email-tuanphan@os.amperecomputing.com>

On Thu, Aug 06, 2020 at 02:57:34PM -0700, Tuan Phan wrote:
> Ampere Altra SOC supports only 32-bit ECAM reading. Therefore,
> add an MCFG quirk for the platform.
> 
> Signed-off-by: Tuan Phan <tuanphan@os.amperecomputing.com>

Applied to pci/enumeration for v5.10, thanks!

> ---
>  drivers/acpi/pci_mcfg.c  | 20 ++++++++++++++++++++
>  drivers/pci/ecam.c       | 10 ++++++++++
>  include/linux/pci-ecam.h |  1 +
>  3 files changed, 31 insertions(+)
> 
> diff --git a/drivers/acpi/pci_mcfg.c b/drivers/acpi/pci_mcfg.c
> index 54b36b7ad47d..e526571e0ebd 100644
> --- a/drivers/acpi/pci_mcfg.c
> +++ b/drivers/acpi/pci_mcfg.c
> @@ -142,6 +142,26 @@ static struct mcfg_fixup mcfg_quirks[] = {
>  	XGENE_V2_ECAM_MCFG(4, 0),
>  	XGENE_V2_ECAM_MCFG(4, 1),
>  	XGENE_V2_ECAM_MCFG(4, 2),
> +
> +#define ALTRA_ECAM_QUIRK(rev, seg) \
> +	{ "Ampere", "Altra   ", rev, seg, MCFG_BUS_ANY, &pci_32b_read_ops }
> +
> +	ALTRA_ECAM_QUIRK(1, 0),
> +	ALTRA_ECAM_QUIRK(1, 1),
> +	ALTRA_ECAM_QUIRK(1, 2),
> +	ALTRA_ECAM_QUIRK(1, 3),
> +	ALTRA_ECAM_QUIRK(1, 4),
> +	ALTRA_ECAM_QUIRK(1, 5),
> +	ALTRA_ECAM_QUIRK(1, 6),
> +	ALTRA_ECAM_QUIRK(1, 7),
> +	ALTRA_ECAM_QUIRK(1, 8),
> +	ALTRA_ECAM_QUIRK(1, 9),
> +	ALTRA_ECAM_QUIRK(1, 10),
> +	ALTRA_ECAM_QUIRK(1, 11),
> +	ALTRA_ECAM_QUIRK(1, 12),
> +	ALTRA_ECAM_QUIRK(1, 13),
> +	ALTRA_ECAM_QUIRK(1, 14),
> +	ALTRA_ECAM_QUIRK(1, 15),
>  };
>  
>  static char mcfg_oem_id[ACPI_OEM_ID_SIZE];
> diff --git a/drivers/pci/ecam.c b/drivers/pci/ecam.c
> index 8f065a42fc1a..b54d32a31669 100644
> --- a/drivers/pci/ecam.c
> +++ b/drivers/pci/ecam.c
> @@ -168,4 +168,14 @@ const struct pci_ecam_ops pci_32b_ops = {
>  		.write		= pci_generic_config_write32,
>  	}
>  };
> +
> +/* ECAM ops for 32-bit read only (non-compliant) */
> +const struct pci_ecam_ops pci_32b_read_ops = {
> +	.bus_shift	= 20,
> +	.pci_ops	= {
> +		.map_bus	= pci_ecam_map_bus,
> +		.read		= pci_generic_config_read32,
> +		.write		= pci_generic_config_write,
> +	}
> +};
>  #endif
> diff --git a/include/linux/pci-ecam.h b/include/linux/pci-ecam.h
> index 1af5cb02ef7f..033ce74f02e8 100644
> --- a/include/linux/pci-ecam.h
> +++ b/include/linux/pci-ecam.h
> @@ -51,6 +51,7 @@ extern const struct pci_ecam_ops pci_generic_ecam_ops;
>  
>  #if defined(CONFIG_ACPI) && defined(CONFIG_PCI_QUIRKS)
>  extern const struct pci_ecam_ops pci_32b_ops;	/* 32-bit accesses only */
> +extern const struct pci_ecam_ops pci_32b_read_ops; /* 32-bit read only */
>  extern const struct pci_ecam_ops hisi_pcie_ops;	/* HiSilicon */
>  extern const struct pci_ecam_ops thunder_pem_ecam_ops; /* Cavium ThunderX 1.x & 2.x */
>  extern const struct pci_ecam_ops pci_thunder_ecam_ops; /* Cavium ThunderX 1.x */
> -- 
> 2.18.4
> 

      parent reply	other threads:[~2020-09-17 17:33 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-06 21:57 [PATCH] PCI/ACPI: Add Ampere Altra SOC MCFG quirk Tuan Phan
2020-08-06 22:27 ` Bjorn Helgaas
2020-08-06 22:40   ` Tuan Phan
2020-08-06 22:55     ` Bjorn Helgaas
2020-09-17 17:33 ` Bjorn Helgaas [this message]

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=20200917173310.GA1714144@bjorn-Precision-5520 \
    --to=helgaas@kernel.org \
    --cc=bhelgaas@google.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=patches@amperecomputing.com \
    --cc=rjw@rjwysocki.net \
    --cc=tuanphan@os.amperecomputing.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.