Linux-EDAC Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH rasdaemon 0/2] support l3tag&l3data decoding and one fix
@ 2020-03-23  9:14 Xiaofei Tan
  2020-03-23  9:14 ` [PATCH rasdaemon 1/2] rasdaemon: add support of l3tag and l3data in hip08 OEM format2 Xiaofei Tan
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Xiaofei Tan @ 2020-03-23  9:14 UTC (permalink / raw)
  To: mchehab, linux-edac; +Cc: linuxarm, shiju.jose, jonathan.cameron, Xiaofei Tan

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.

t00396350 (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 rasdaemon 1/2] rasdaemon: add support of l3tag and l3data in hip08 OEM format2
  2020-03-23  9:14 [PATCH rasdaemon 0/2] support l3tag&l3data decoding and one fix Xiaofei Tan
@ 2020-03-23  9:14 ` Xiaofei Tan
  2020-03-23  9:14 ` [PATCH rasdaemon 2/2] rasdaemon: fix the issue that non standard decoder can't work in pthread way Xiaofei Tan
  2020-05-19  9:01 ` [PATCH rasdaemon 0/2] support l3tag&l3data decoding and one fix Xiaofei Tan
  2 siblings, 0 replies; 4+ messages in thread
From: Xiaofei Tan @ 2020-03-23  9:14 UTC (permalink / raw)
  To: mchehab, linux-edac; +Cc: linuxarm, shiju.jose, jonathan.cameron, Xiaofei Tan

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	[flat|nested] 4+ messages in thread

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

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	[flat|nested] 4+ messages in thread

* Re: [PATCH rasdaemon 0/2] support l3tag&l3data decoding and one fix
  2020-03-23  9:14 [PATCH rasdaemon 0/2] support l3tag&l3data decoding and one fix Xiaofei Tan
  2020-03-23  9:14 ` [PATCH rasdaemon 1/2] rasdaemon: add support of l3tag and l3data in hip08 OEM format2 Xiaofei Tan
  2020-03-23  9:14 ` [PATCH rasdaemon 2/2] rasdaemon: fix the issue that non standard decoder can't work in pthread way Xiaofei Tan
@ 2020-05-19  9:01 ` Xiaofei Tan
  2 siblings, 0 replies; 4+ messages in thread
From: Xiaofei Tan @ 2020-05-19  9:01 UTC (permalink / raw)
  To: mchehab, linux-edac, Mauro Carvalho Chehab
  Cc: linuxarm, shiju.jose, jonathan.cameron

Hi Mauro
Could you please help to review this patch set. thanks.

On 2020/3/23 17:14, Xiaofei Tan wrote:
> 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.
> 
> t00396350 (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(-)
> 

-- 
 thanks
tanxiaofei


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

end of thread, back to index

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-23  9:14 [PATCH rasdaemon 0/2] support l3tag&l3data decoding and one fix Xiaofei Tan
2020-03-23  9:14 ` [PATCH rasdaemon 1/2] rasdaemon: add support of l3tag and l3data in hip08 OEM format2 Xiaofei Tan
2020-03-23  9:14 ` [PATCH rasdaemon 2/2] rasdaemon: fix the issue that non standard decoder can't work in pthread way Xiaofei Tan
2020-05-19  9:01 ` [PATCH rasdaemon 0/2] support l3tag&l3data decoding and one fix Xiaofei Tan

Linux-EDAC Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-edac/0 linux-edac/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-edac linux-edac/ https://lore.kernel.org/linux-edac \
		linux-edac@vger.kernel.org
	public-inbox-index linux-edac

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-edac


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git