linux-edac.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RESEND 0/2] support l3tag&l3data decoding and one fix
@ 2020-05-27  8:02 Xiaofei Tan
  2020-05-27  8:02 ` [PATCH RESEND 1/2] rasdaemon: add support of l3tag and l3data in hip08 OEM format2 Xiaofei Tan
  2020-05-27  8:02 ` [PATCH RESEND 2/2] rasdaemon: fix the issue that non standard decoder can't work in pthread way Xiaofei Tan
  0 siblings, 2 replies; 4+ messages in thread
From: Xiaofei Tan @ 2020-05-27  8:02 UTC (permalink / raw)
  To: mchehab+huawei, linux-edac
  Cc: Xiaofei Tan, linuxarm, shiju.jose, jonathan.cameron

This patch set does two things:
1.add decoding for two modules, l3tag and l3data.
2.fix the issue that non standard decoder can't work in pthread way.

Xiaofei Tan (2):
  rasdaemon: add support of l3tag and l3data in hip08 OEM format2
  rasdaemon: fix the issue that non standard decoder can't work in
    pthread way

 non-standard-hisi_hip08.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
 ras-events.c              |  8 ++------
 2 files changed, 46 insertions(+), 6 deletions(-)

-- 
2.8.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH RESEND 1/2] rasdaemon: add support of l3tag and l3data in hip08 OEM format2
  2020-05-27  8:02 [PATCH RESEND 0/2] support l3tag&l3data decoding and one fix Xiaofei Tan
@ 2020-05-27  8:02 ` Xiaofei Tan
  2020-07-21 11:21   ` Mauro Carvalho Chehab
  2020-05-27  8:02 ` [PATCH RESEND 2/2] rasdaemon: fix the issue that non standard decoder can't work in pthread way Xiaofei Tan
  1 sibling, 1 reply; 4+ messages in thread
From: Xiaofei Tan @ 2020-05-27  8:02 UTC (permalink / raw)
  To: mchehab+huawei, linux-edac
  Cc: Xiaofei Tan, linuxarm, shiju.jose, jonathan.cameron

The two modules, l3tag and l3data were originally reported through "ARM
processor error section". But it is not suitable. Because l3tag or l3data
doesn't belong to any single CPU core. So we change it to use OEM format2.

Signed-off-by: Xiaofei Tan <tanxiaofei@huawei.com>
---
 non-standard-hisi_hip08.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/non-standard-hisi_hip08.c b/non-standard-hisi_hip08.c
index 4cfa107..8bf10c1 100644
--- a/non-standard-hisi_hip08.c
+++ b/non-standard-hisi_hip08.c
@@ -52,6 +52,8 @@
 #define HISI_OEM_MODULE_ID_PA	2
 #define HISI_OEM_MODULE_ID_HLLC	3
 #define HISI_OEM_MODULE_ID_DDRC	4
+#define HISI_OEM_MODULE_ID_L3T	5
+#define HISI_OEM_MODULE_ID_L3D	6
 
 #define HISI_OEM_TYPE2_VALID_ERR_FR	BIT(6)
 #define HISI_OEM_TYPE2_VALID_ERR_CTRL	BIT(7)
@@ -374,6 +376,36 @@ static const char *ddrc_submodule_name[] = {
 	"TA_DDRC3",
 };
 
+static const char *l3tag_submodule_name[] = {
+	"TB_PARTITION0",
+	"TB_PARTITION1",
+	"TB_PARTITION2",
+	"TB_PARTITION3",
+	"TB_PARTITION4",
+	"TB_PARTITION5",
+	"TB_PARTITION6",
+	"TB_PARTITION7",
+	"TA_PARTITION0",
+	"TA_PARTITION1",
+	"TA_PARTITION2",
+	"TA_PARTITION3",
+	"TA_PARTITION4",
+	"TA_PARTITION5",
+	"TA_PARTITION6",
+	"TA_PARTITION7",
+};
+
+static const char *l3data_submodule_name[] = {
+	"TB_BANK0",
+	"TB_BANK1",
+	"TB_BANK2",
+	"TB_BANK3",
+	"TA_BANK0",
+	"TA_BANK1",
+	"TA_BANK2",
+	"TA_BANK3",
+};
+
 static const struct hisi_module_info hisi_oem_type2_module[] = {
 	{
 		.id = HISI_OEM_MODULE_ID_SMMU,
@@ -404,6 +436,18 @@ static const struct hisi_module_info hisi_oem_type2_module[] = {
 		.sub_num = ARRAY_SIZE(ddrc_submodule_name),
 	},
 	{
+		.id = HISI_OEM_MODULE_ID_L3T,
+		.name = "L3TAG",
+		.sub = l3tag_submodule_name,
+		.sub_num = ARRAY_SIZE(l3tag_submodule_name),
+	},
+	{
+		.id = HISI_OEM_MODULE_ID_L3D,
+		.name = "L3DATA",
+		.sub = l3data_submodule_name,
+		.sub_num = ARRAY_SIZE(l3data_submodule_name),
+	},
+	{
 	}
 };
 
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH RESEND 2/2] rasdaemon: fix the issue that non standard decoder can't work in pthread way
  2020-05-27  8:02 [PATCH RESEND 0/2] support l3tag&l3data decoding and one fix Xiaofei Tan
  2020-05-27  8:02 ` [PATCH RESEND 1/2] rasdaemon: add support of l3tag and l3data in hip08 OEM format2 Xiaofei Tan
@ 2020-05-27  8:02 ` Xiaofei Tan
  1 sibling, 0 replies; 4+ messages in thread
From: Xiaofei Tan @ 2020-05-27  8:02 UTC (permalink / raw)
  To: mchehab+huawei, linux-edac
  Cc: Xiaofei Tan, linuxarm, shiju.jose, jonathan.cameron

The non standard decoding functions are registered in app init process
through __attribute__((constructor)), and unregistered in app exit process
through __attribute__((destructor)). We don't need to unregister them
in any other steps. This patch removes these unnecessary unregister calls.

Fixes: 78a21c1e9770 ("rasdaemon: add closure and cleanups for the database")
Signed-off-by: Xiaofei Tan <tanxiaofei@huawei.com>
---
 ras-events.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/ras-events.c b/ras-events.c
index 5635278..e6c89dd 100644
--- a/ras-events.c
+++ b/ras-events.c
@@ -496,10 +496,8 @@ static int read_ras_event_all_cpus(struct pthread_data *pdata,
 	    "Old kernel detected. Stop listening and fall back to pthread way.\n");
 
 cleanup:
-	if (pdata[0].ras->record_events) {
-		unregister_ns_dec_tab();
+	if (pdata[0].ras->record_events)
 		ras_mc_event_closedb(pdata[0].cpu, pdata[0].ras);
-	}
 
 error:
 	kbuffer_free(kbuf);
@@ -598,10 +596,8 @@ static void *handle_ras_events_cpu(void *priv)
 
 	read_ras_event(fd, pdata, kbuf, page);
 
-	if (pdata->ras->record_events) {
-		unregister_ns_dec_tab();
+	if (pdata->ras->record_events)
 		ras_mc_event_closedb(pdata->cpu, pdata->ras);
-	}
 
 	close(fd);
 	kbuffer_free(kbuf);
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH RESEND 1/2] rasdaemon: add support of l3tag and l3data in hip08 OEM format2
  2020-05-27  8:02 ` [PATCH RESEND 1/2] rasdaemon: add support of l3tag and l3data in hip08 OEM format2 Xiaofei Tan
@ 2020-07-21 11:21   ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 4+ messages in thread
From: Mauro Carvalho Chehab @ 2020-07-21 11:21 UTC (permalink / raw)
  To: Xiaofei Tan; +Cc: linux-edac, linuxarm, shiju.jose, jonathan.cameron

Em Wed, 27 May 2020 16:02:32 +0800
Xiaofei Tan <tanxiaofei@huawei.com> escreveu:

> The two modules, l3tag and l3data were originally reported through "ARM
> processor error section". But it is not suitable. Because l3tag or l3data
> doesn't belong to any single CPU core. So we change it to use OEM format2.
> 
> Signed-off-by: Xiaofei Tan <tanxiaofei@huawei.com>

Patches applied, thanks!

> ---
>  non-standard-hisi_hip08.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 44 insertions(+)
> 
> diff --git a/non-standard-hisi_hip08.c b/non-standard-hisi_hip08.c
> index 4cfa107..8bf10c1 100644
> --- a/non-standard-hisi_hip08.c
> +++ b/non-standard-hisi_hip08.c
> @@ -52,6 +52,8 @@
>  #define HISI_OEM_MODULE_ID_PA	2
>  #define HISI_OEM_MODULE_ID_HLLC	3
>  #define HISI_OEM_MODULE_ID_DDRC	4
> +#define HISI_OEM_MODULE_ID_L3T	5
> +#define HISI_OEM_MODULE_ID_L3D	6
>  
>  #define HISI_OEM_TYPE2_VALID_ERR_FR	BIT(6)
>  #define HISI_OEM_TYPE2_VALID_ERR_CTRL	BIT(7)
> @@ -374,6 +376,36 @@ static const char *ddrc_submodule_name[] = {
>  	"TA_DDRC3",
>  };
>  
> +static const char *l3tag_submodule_name[] = {
> +	"TB_PARTITION0",
> +	"TB_PARTITION1",
> +	"TB_PARTITION2",
> +	"TB_PARTITION3",
> +	"TB_PARTITION4",
> +	"TB_PARTITION5",
> +	"TB_PARTITION6",
> +	"TB_PARTITION7",
> +	"TA_PARTITION0",
> +	"TA_PARTITION1",
> +	"TA_PARTITION2",
> +	"TA_PARTITION3",
> +	"TA_PARTITION4",
> +	"TA_PARTITION5",
> +	"TA_PARTITION6",
> +	"TA_PARTITION7",
> +};
> +
> +static const char *l3data_submodule_name[] = {
> +	"TB_BANK0",
> +	"TB_BANK1",
> +	"TB_BANK2",
> +	"TB_BANK3",
> +	"TA_BANK0",
> +	"TA_BANK1",
> +	"TA_BANK2",
> +	"TA_BANK3",
> +};
> +
>  static const struct hisi_module_info hisi_oem_type2_module[] = {
>  	{
>  		.id = HISI_OEM_MODULE_ID_SMMU,
> @@ -404,6 +436,18 @@ static const struct hisi_module_info hisi_oem_type2_module[] = {
>  		.sub_num = ARRAY_SIZE(ddrc_submodule_name),
>  	},
>  	{
> +		.id = HISI_OEM_MODULE_ID_L3T,
> +		.name = "L3TAG",
> +		.sub = l3tag_submodule_name,
> +		.sub_num = ARRAY_SIZE(l3tag_submodule_name),
> +	},
> +	{
> +		.id = HISI_OEM_MODULE_ID_L3D,
> +		.name = "L3DATA",
> +		.sub = l3data_submodule_name,
> +		.sub_num = ARRAY_SIZE(l3data_submodule_name),
> +	},
> +	{
>  	}
>  };
>  



Thanks,
Mauro

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-07-21 11:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-27  8:02 [PATCH RESEND 0/2] support l3tag&l3data decoding and one fix Xiaofei Tan
2020-05-27  8:02 ` [PATCH RESEND 1/2] rasdaemon: add support of l3tag and l3data in hip08 OEM format2 Xiaofei Tan
2020-07-21 11:21   ` Mauro Carvalho Chehab
2020-05-27  8:02 ` [PATCH RESEND 2/2] rasdaemon: fix the issue that non standard decoder can't work in pthread way Xiaofei Tan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).