[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <518da468c15047c0b78781784688f4f5@huawei.com>
Date: Mon, 16 Sep 2024 16:16:27 +0000
From: Shiju Jose <shiju.jose@...wei.com>
To: Jonathan Cameron <jonathan.cameron@...wei.com>
CC: Borislav Petkov <bp@...en8.de>, "linux-edac@...r.kernel.org"
<linux-edac@...r.kernel.org>, "linux-cxl@...r.kernel.org"
<linux-cxl@...r.kernel.org>, "linux-acpi@...r.kernel.org"
<linux-acpi@...r.kernel.org>, "linux-mm@...ck.org" <linux-mm@...ck.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"tony.luck@...el.com" <tony.luck@...el.com>, "rafael@...nel.org"
<rafael@...nel.org>, "lenb@...nel.org" <lenb@...nel.org>,
"mchehab@...nel.org" <mchehab@...nel.org>, "dan.j.williams@...el.com"
<dan.j.williams@...el.com>, "dave@...olabs.net" <dave@...olabs.net>,
"dave.jiang@...el.com" <dave.jiang@...el.com>, "alison.schofield@...el.com"
<alison.schofield@...el.com>, "vishal.l.verma@...el.com"
<vishal.l.verma@...el.com>, "ira.weiny@...el.com" <ira.weiny@...el.com>,
"david@...hat.com" <david@...hat.com>, "Vilas.Sridharan@....com"
<Vilas.Sridharan@....com>, "leo.duran@....com" <leo.duran@....com>,
"Yazen.Ghannam@....com" <Yazen.Ghannam@....com>, "rientjes@...gle.com"
<rientjes@...gle.com>, "jiaqiyan@...gle.com" <jiaqiyan@...gle.com>,
"Jon.Grimm@....com" <Jon.Grimm@....com>, "dave.hansen@...ux.intel.com"
<dave.hansen@...ux.intel.com>, "naoya.horiguchi@....com"
<naoya.horiguchi@....com>, "james.morse@....com" <james.morse@....com>,
"jthoughton@...gle.com" <jthoughton@...gle.com>, "somasundaram.a@....com"
<somasundaram.a@....com>, "erdemaktas@...gle.com" <erdemaktas@...gle.com>,
"pgonda@...gle.com" <pgonda@...gle.com>, "duenwen@...gle.com"
<duenwen@...gle.com>, "mike.malvestuto@...el.com"
<mike.malvestuto@...el.com>, "gthelen@...gle.com" <gthelen@...gle.com>,
"wschwartz@...erecomputing.com" <wschwartz@...erecomputing.com>,
"dferguson@...erecomputing.com" <dferguson@...erecomputing.com>,
"wbs@...amperecomputing.com" <wbs@...amperecomputing.com>,
"nifan.cxl@...il.com" <nifan.cxl@...il.com>, "jgroves@...ron.com"
<jgroves@...ron.com>, "vsalve@...ron.com" <vsalve@...ron.com>, tanxiaofei
<tanxiaofei@...wei.com>, "Zengtao (B)" <prime.zeng@...ilicon.com>, "Roberto
Sassu" <roberto.sassu@...wei.com>, "kangkang.shen@...urewei.com"
<kangkang.shen@...urewei.com>, wanghuiqiang <wanghuiqiang@...wei.com>,
Linuxarm <linuxarm@...wei.com>
Subject: RE: [PATCH v12 01/17] EDAC: Add support for EDAC device features
control
>-----Original Message-----
>From: Jonathan Cameron <jonathan.cameron@...wei.com>
>Sent: 16 September 2024 11:50
>To: Shiju Jose <shiju.jose@...wei.com>
>Cc: Borislav Petkov <bp@...en8.de>; linux-edac@...r.kernel.org; linux-
>cxl@...r.kernel.org; linux-acpi@...r.kernel.org; linux-mm@...ck.org; linux-
>kernel@...r.kernel.org; tony.luck@...el.com; rafael@...nel.org;
>lenb@...nel.org; mchehab@...nel.org; dan.j.williams@...el.com;
>dave@...olabs.net; dave.jiang@...el.com; alison.schofield@...el.com;
>vishal.l.verma@...el.com; ira.weiny@...el.com; david@...hat.com;
>Vilas.Sridharan@....com; leo.duran@....com; Yazen.Ghannam@....com;
>rientjes@...gle.com; jiaqiyan@...gle.com; Jon.Grimm@....com;
>dave.hansen@...ux.intel.com; naoya.horiguchi@....com;
>james.morse@....com; jthoughton@...gle.com; somasundaram.a@....com;
>erdemaktas@...gle.com; pgonda@...gle.com; duenwen@...gle.com;
>mike.malvestuto@...el.com; gthelen@...gle.com;
>wschwartz@...erecomputing.com; dferguson@...erecomputing.com;
>wbs@...amperecomputing.com; nifan.cxl@...il.com; jgroves@...ron.com;
>vsalve@...ron.com; tanxiaofei <tanxiaofei@...wei.com>; Zengtao (B)
><prime.zeng@...ilicon.com>; Roberto Sassu <roberto.sassu@...wei.com>;
>kangkang.shen@...urewei.com; wanghuiqiang <wanghuiqiang@...wei.com>;
>Linuxarm <linuxarm@...wei.com>
>Subject: Re: [PATCH v12 01/17] EDAC: Add support for EDAC device features
>control
>
>On Mon, 16 Sep 2024 10:21:58 +0100
>Shiju Jose <shiju.jose@...wei.com> wrote:
>
>> Thanks for reviewing.
>>
>> >-----Original Message-----
>> >From: Borislav Petkov <bp@...en8.de>
>> >Sent: 13 September 2024 17:41
>> >To: Shiju Jose <shiju.jose@...wei.com>
>> >Cc: linux-edac@...r.kernel.org; linux-cxl@...r.kernel.org; linux-
>> >acpi@...r.kernel.org; linux-mm@...ck.org;
>> >linux-kernel@...r.kernel.org; tony.luck@...el.com; rafael@...nel.org;
>> >lenb@...nel.org; mchehab@...nel.org; dan.j.williams@...el.com;
>> >dave@...olabs.net; Jonathan Cameron <jonathan.cameron@...wei.com>;
>> >dave.jiang@...el.com; alison.schofield@...el.com;
>> >vishal.l.verma@...el.com; ira.weiny@...el.com; david@...hat.com;
>> >Vilas.Sridharan@....com; leo.duran@....com;
>Yazen.Ghannam@....com;
>> >rientjes@...gle.com; jiaqiyan@...gle.com; Jon.Grimm@....com;
>> >dave.hansen@...ux.intel.com; naoya.horiguchi@....com;
>> >james.morse@....com; jthoughton@...gle.com;
>somasundaram.a@....com;
>> >erdemaktas@...gle.com; pgonda@...gle.com; duenwen@...gle.com;
>> >mike.malvestuto@...el.com; gthelen@...gle.com;
>> >wschwartz@...erecomputing.com; dferguson@...erecomputing.com;
>> >wbs@...amperecomputing.com; nifan.cxl@...il.com; jgroves@...ron.com;
>> >vsalve@...ron.com; tanxiaofei <tanxiaofei@...wei.com>; Zengtao (B)
>> ><prime.zeng@...ilicon.com>; Roberto Sassu <roberto.sassu@...wei.com>;
>> >kangkang.shen@...urewei.com; wanghuiqiang
><wanghuiqiang@...wei.com>;
>> >Linuxarm <linuxarm@...wei.com>
>> >Subject: Re: [PATCH v12 01/17] EDAC: Add support for EDAC device
>> >features control
>> >
>> >On Wed, Sep 11, 2024 at 10:04:30AM +0100, shiju.jose@...wei.com wrote:
>> >> +/**
>> >> + * edac_dev_feature_init - Init a RAS feature
>> >> + * @parent: client device.
>> >> + * @dev_data: pointer to the edac_dev_data structure, which
>> >> +contains
>> >> + * client device specific info.
>> >> + * @feat: pointer to struct edac_dev_feature.
>> >> + * @attr_groups: pointer to attribute group's container.
>> >> + *
>> >> + * Returns number of scrub features attribute groups on success,
>> >
>> >Not "scrub" - this is an interface initializing a generic feature.
>> Will correct.
>> >
>> >> + * error otherwise.
>> >> + */
>> >> +static int edac_dev_feat_init(struct device *parent,
>> >> + struct edac_dev_data *dev_data,
>> >> + const struct edac_dev_feature *ras_feat,
>> >> + const struct attribute_group **attr_groups) {
>> >> + int num;
>> >> +
>> >> + switch (ras_feat->ft_type) {
>> >> + case RAS_FEAT_SCRUB:
>> >> + dev_data->scrub_ops = ras_feat->scrub_ops;
>> >> + dev_data->private = ras_feat->ctx;
>> >> + return 1;
>> >> + case RAS_FEAT_ECS:
>> >> + num = ras_feat->ecs_info.num_media_frus;
>> >> + dev_data->ecs_ops = ras_feat->ecs_ops;
>> >> + dev_data->private = ras_feat->ctx;
>> >> + return num;
>> >> + case RAS_FEAT_PPR:
>> >> + dev_data->ppr_ops = ras_feat->ppr_ops;
>> >> + dev_data->private = ras_feat->ctx;
>> >> + return 1;
>> >> + default:
>> >> + return -EINVAL;
>> >> + }
>> >> +}
>> >
>> >And why does this function even exist and has kernel-doc comments
>> >when all it does is assign a couple of values? And it gets called exactly once?
>> >
>> >Just merge its body into the call site. There you can reuse the
>> >switch-case there too. No need for too much noodling around.
>> edac_dev_feat_init () function is updated with feature specific function call()
>etc in subsequent
>> EDAC feature specific patches. Thus added a separate function.
>> >
>> >> diff --git a/include/linux/edac.h b/include/linux/edac.h index
>> >> b4ee8961e623..b337254cf5b8 100644
>> >> --- a/include/linux/edac.h
>> >> +++ b/include/linux/edac.h
>> >> @@ -661,4 +661,59 @@ static inline struct dimm_info
>> >> *edac_get_dimm(struct mem_ctl_info *mci,
>> >>
>> >> return mci->dimms[index];
>> >> }
>> >> +
>> >> +/* EDAC device features */
>> >> +
>> >> +#define EDAC_FEAT_NAME_LEN 128
>> >> +
>> >> +/* RAS feature type */
>> >> +enum edac_dev_feat {
>> >> + RAS_FEAT_SCRUB,
>> >> + RAS_FEAT_ECS,
>> >> + RAS_FEAT_PPR,
>> >> + RAS_FEAT_MAX
>> >
>> >I still don't know what ECS or PPR is.
>> I will add comment/documentation here with a short explanation of
>> features if that make sense?
>> Each feature is described in the subsequent EDAC feature specific patches.
>Can you bring the enum entries in with those patches?
>That way there is no reference to them before we have the information on what
>they are.
Will do.
>
>J
>> >
>> >--
>> >Regards/Gruss,
>> > Boris.
>> >
>> >https://people.kernel.org/tglx/notes-about-netiquette
>>
Thanks,
Shiju
Powered by blists - more mailing lists