linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
To: <shiju.jose@huawei.com>
Cc: <linux-cxl@vger.kernel.org>, <linux-acpi@vger.kernel.org>,
	<linux-mm@kvack.org>, <dan.j.williams@intel.com>,
	<dave@stgolabs.net>, <dave.jiang@intel.com>,
	<alison.schofield@intel.com>, <vishal.l.verma@intel.com>,
	<ira.weiny@intel.com>, <linux-edac@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <david@redhat.com>,
	<Vilas.Sridharan@amd.com>, <leo.duran@amd.com>,
	<Yazen.Ghannam@amd.com>, <rientjes@google.com>,
	<jiaqiyan@google.com>, <tony.luck@intel.com>, <Jon.Grimm@amd.com>,
	<dave.hansen@linux.intel.com>, <rafael@kernel.org>,
	<lenb@kernel.org>, <naoya.horiguchi@nec.com>,
	<james.morse@arm.com>, <jthoughton@google.com>,
	<somasundaram.a@hpe.com>, <erdemaktas@google.com>,
	<pgonda@google.com>, <duenwen@google.com>,
	<mike.malvestuto@intel.com>, <gthelen@google.com>,
	<wschwartz@amperecomputing.com>, <dferguson@amperecomputing.com>,
	<tanxiaofei@huawei.com>, <prime.zeng@hisilicon.com>,
	<kangkang.shen@futurewei.com>, <wanghuiqiang@huawei.com>,
	<linuxarm@huawei.com>
Subject: Re: [RFC PATCH v6 10/12] ACPICA: ACPI 6.5: Add support for RAS2 table
Date: Tue, 20 Feb 2024 13:58:26 +0000	[thread overview]
Message-ID: <20240220135826.000005e9@Huawei.com> (raw)
In-Reply-To: <20240215111455.1462-11-shiju.jose@huawei.com>

On Thu, 15 Feb 2024 19:14:52 +0800
<shiju.jose@huawei.com> wrote:

> From: Shiju Jose <shiju.jose@huawei.com>
> 
> Add support for ACPI RAS2 feature table(RAS2) defined in the ACPI 6.5
> Specification & upwards revision, section 5.2.21.
> 
> The RAS2 table provides interfaces for platform RAS features. RAS2 offers
> the same services as RASF, but is more scalable than the latter.
> RAS2 supports independent RAS controls and capabilities for a given RAS
> feature for multiple instances of the same component in a given system.
> The platform can support either RAS2 or RASF but not both.
> 
> Link: https://github.com/acpica/acpica/pull/899

It merged in October.  Rafael, can we get this into the kernel version
so we don't have a dependency in this patch set?

Thanks,

Jonathan



> Signed-off-by: Shiju Jose <shiju.jose@huawei.com>
> ---
>  include/acpi/actbl2.h | 137 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 137 insertions(+)
> 
> diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h
> index 9775384d61c6..15c271657f9f 100644
> --- a/include/acpi/actbl2.h
> +++ b/include/acpi/actbl2.h
> @@ -47,6 +47,7 @@
>  #define ACPI_SIG_PPTT           "PPTT"	/* Processor Properties Topology Table */
>  #define ACPI_SIG_PRMT           "PRMT"	/* Platform Runtime Mechanism Table */
>  #define ACPI_SIG_RASF           "RASF"	/* RAS Feature table */
> +#define ACPI_SIG_RAS2           "RAS2"	/* RAS2 Feature table */
>  #define ACPI_SIG_RGRT           "RGRT"	/* Regulatory Graphics Resource Table */
>  #define ACPI_SIG_RHCT           "RHCT"	/* RISC-V Hart Capabilities Table */
>  #define ACPI_SIG_SBST           "SBST"	/* Smart Battery Specification Table */
> @@ -2751,6 +2752,142 @@ enum acpi_rasf_status {
>  #define ACPI_RASF_ERROR                 (1<<2)
>  #define ACPI_RASF_STATUS                (0x1F<<3)
>  
> +/*******************************************************************************
> + *
> + * RAS2 - RAS2 Feature Table (ACPI 6.5)
> + *        Version 2
> + *
> + *
> + ******************************************************************************/
> +
> +struct acpi_table_ras2 {
> +	struct acpi_table_header header;        /* Common ACPI table header */
> +	u16 reserved;
> +	u16 num_pcc_descs;
> +};
> +
> +/*
> + * RAS2 Platform Communication Channel Descriptor
> + */
> +
> +struct acpi_ras2_pcc_desc {
> +	u8 channel_id;
> +	u16 reserved;
> +	u8 feature_type;
> +	u32 instance;
> +};
> +
> +/*
> + * RAS2 Platform Communication Channel Shared Memory Region
> + */
> +
> +struct acpi_ras2_shared_memory {
> +	u32 signature;
> +	u16 command;
> +	u16 status;
> +	u16 version;
> +	u8 features[16];
> +	u8 set_capabilities[16];
> +	u16 num_parameter_blocks;
> +	u32 set_capabilities_status;
> +};
> +
> +/* RAS2 Parameter Block Structure Header */
> +
> +struct acpi_ras2_parameter_block {
> +	u16 type;
> +	u16 version;
> +	u16 length;
> +};
> +
> +/*
> + * RAS2 Parameter Block Structure for PATROL_SCRUB
> + */
> +
> +struct acpi_ras2_patrol_scrub_parameter {
> +	struct acpi_ras2_parameter_block header;
> +	u16 patrol_scrub_command;
> +	u64 requested_address_range[2];
> +	u64 actual_address_range[2];
> +	u32 flags;
> +	u32 scrub_params_out;
> +	u32 scrub_params_in;
> +};
> +
> +/* Masks for Flags field above */
> +
> +#define ACPI_RAS2_SCRUBBER_RUNNING      1
> +
> +/*
> + * RAS2 Parameter Block Structure for LA2PA_TRANSLATION
> + */
> +
> +struct acpi_ras2_la2pa_translation_parameter {
> +	struct acpi_ras2_parameter_block header;
> +	u16 addr_translation_command;
> +	u64 sub_instance_id;
> +	u64 logical_address;
> +	u64 physical_address;
> +	u32 status;
> +};
> +
> +/* Channel Commands */
> +
> +enum acpi_ras2_commands {
> +	ACPI_RAS2_EXECUTE_RAS2_COMMAND = 1
> +};
> +
> +/* Platform RAS2 Features */
> +
> +enum acpi_ras2_features {
> +	ACPI_RAS2_PATROL_SCRUB_SUPPORTED = 0,
> +	ACPI_RAS2_LA2PA_TRANSLATION = 1
> +};
> +
> +/* RAS2 Patrol Scrub Commands */
> +
> +enum acpi_ras2_patrol_scrub_commands {
> +	ACPI_RAS2_GET_PATROL_PARAMETERS = 1,
> +	ACPI_RAS2_START_PATROL_SCRUBBER = 2,
> +	ACPI_RAS2_STOP_PATROL_SCRUBBER = 3
> +};
> +
> +/* RAS2 LA2PA Translation Commands */
> +
> +enum acpi_ras2_la2pa_translation_commands {
> +	ACPI_RAS2_GET_LA2PA_TRANSLATION = 1
> +};
> +
> +/* RAS2 LA2PA Translation Status values */
> +
> +enum acpi_ras2_la2pa_translation_status {
> +	ACPI_RAS2_LA2PA_TRANSLATION_SUCCESS = 0,
> +	ACPI_RAS2_LA2PA_TRANSLATION_FAIL = 1
> +};
> +
> +/* Channel Command flags */
> +
> +#define ACPI_RAS2_GENERATE_SCI          (1<<15)
> +
> +/* Status values */
> +
> +enum acpi_ras2_status {
> +	ACPI_RAS2_SUCCESS = 0,
> +	ACPI_RAS2_NOT_VALID  = 1,
> +	ACPI_RAS2_NOT_SUPPORTED = 2,
> +	ACPI_RAS2_BUSY = 3,
> +	ACPI_RAS2_FAILED = 4,
> +	ACPI_RAS2_ABORTED = 5,
> +	ACPI_RAS2_INVALID_DATA = 6
> +};
> +
> +/* Status flags */
> +
> +#define ACPI_RAS2_COMMAND_COMPLETE      (1)
> +#define ACPI_RAS2_SCI_DOORBELL          (1<<1)
> +#define ACPI_RAS2_ERROR                 (1<<2)
> +#define ACPI_RAS2_STATUS                (0x1F<<3)
> +
>  /*******************************************************************************
>   *
>   * RGRT - Regulatory Graphics Resource Table



  reply	other threads:[~2024-02-20 13:58 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-15 11:14 [RFC PATCH v6 00/12] cxl: Add support for CXL feature commands, CXL device patrol scrub control and DDR5 ECS control features shiju.jose
2024-02-15 11:14 ` [RFC PATCH v6 01/12] cxl/mbox: Add GET_SUPPORTED_FEATURES mailbox command shiju.jose
2024-02-20 11:02   ` Jonathan Cameron
2024-03-05 23:57   ` fan
2024-02-15 11:14 ` [RFC PATCH v6 02/12] cxl/mbox: Add GET_FEATURE " shiju.jose
2024-02-20 11:14   ` Jonathan Cameron
2024-02-23 12:23     ` Shiju Jose
2024-02-15 11:14 ` [RFC PATCH v6 03/12] cxl/mbox: Add SET_FEATURE " shiju.jose
2024-02-20 11:27   ` Jonathan Cameron
2024-02-15 11:14 ` [RFC PATCH v6 04/12] cxl/memscrub: Add CXL device patrol scrub control feature shiju.jose
2024-02-20 11:59   ` Jonathan Cameron
2024-02-15 11:14 ` [RFC PATCH v6 05/12] cxl/memscrub: Add CXL device ECS " shiju.jose
2024-02-20 12:17   ` Jonathan Cameron
2024-02-15 11:14 ` [RFC PATCH v6 06/12] memory: scrub: Add scrub subsystem driver supports configuring memory scrubs in the system shiju.jose
2024-02-20 12:39   ` Jonathan Cameron
2024-02-15 11:14 ` [RFC PATCH v6 07/12] cxl/memscrub: Register CXL device patrol scrub with scrub configure driver shiju.jose
2024-02-20 12:43   ` Jonathan Cameron
2024-02-15 11:14 ` [RFC PATCH v6 08/12] cxl/memscrub: Register CXL device ECS " shiju.jose
2024-02-20 13:39   ` Jonathan Cameron
2024-02-15 11:14 ` [RFC PATCH v6 09/12] ACPI:RASF: Add common library for RASF and RAS2 PCC interfaces shiju.jose
2024-02-20 13:53   ` Jonathan Cameron
2024-02-15 11:14 ` [RFC PATCH v6 10/12] ACPICA: ACPI 6.5: Add support for RAS2 table shiju.jose
2024-02-20 13:58   ` Jonathan Cameron [this message]
2024-02-15 11:14 ` [RFC PATCH v6 11/12] ACPI:RAS2: Add driver for ACPI RAS2 feature table (RAS2) shiju.jose
2024-02-15 11:14 ` [RFC PATCH v6 12/12] memory: RAS2: Add memory RAS2 driver shiju.jose
2024-02-20 16:12   ` Jonathan Cameron
2024-02-22  0:20 ` [RFC PATCH v6 00/12] cxl: Add support for CXL feature commands, CXL device patrol scrub control and DDR5 ECS control features Dan Williams
2024-02-23 12:16   ` Shiju Jose
2024-02-23 19:42     ` Dan Williams
2024-02-26 10:29       ` Jonathan Cameron
2024-02-29 19:51         ` Dan Williams
2024-03-01 14:41           ` Jonathan Cameron
2024-03-05  0:52             ` Jiaqi Yan
2024-02-29 20:41         ` Tony Luck
2024-03-01 13:19           ` Jonathan Cameron
2024-02-28 22:26       ` John Groves

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=20240220135826.000005e9@Huawei.com \
    --to=jonathan.cameron@huawei.com \
    --cc=Jon.Grimm@amd.com \
    --cc=Vilas.Sridharan@amd.com \
    --cc=Yazen.Ghannam@amd.com \
    --cc=alison.schofield@intel.com \
    --cc=dan.j.williams@intel.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=dave.jiang@intel.com \
    --cc=dave@stgolabs.net \
    --cc=david@redhat.com \
    --cc=dferguson@amperecomputing.com \
    --cc=duenwen@google.com \
    --cc=erdemaktas@google.com \
    --cc=gthelen@google.com \
    --cc=ira.weiny@intel.com \
    --cc=james.morse@arm.com \
    --cc=jiaqiyan@google.com \
    --cc=jthoughton@google.com \
    --cc=kangkang.shen@futurewei.com \
    --cc=lenb@kernel.org \
    --cc=leo.duran@amd.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-cxl@vger.kernel.org \
    --cc=linux-edac@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linuxarm@huawei.com \
    --cc=mike.malvestuto@intel.com \
    --cc=naoya.horiguchi@nec.com \
    --cc=pgonda@google.com \
    --cc=prime.zeng@hisilicon.com \
    --cc=rafael@kernel.org \
    --cc=rientjes@google.com \
    --cc=shiju.jose@huawei.com \
    --cc=somasundaram.a@hpe.com \
    --cc=tanxiaofei@huawei.com \
    --cc=tony.luck@intel.com \
    --cc=vishal.l.verma@intel.com \
    --cc=wanghuiqiang@huawei.com \
    --cc=wschwartz@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox