2020-04-08 20:20:32

by Grygorii Strashko

[permalink] [raw]
Subject: [PATCH] dma-debug: fix displaying of dma allocation type

The commit 2e05ea5cdc1a ("dma-mapping: implement dma_map_single_attrs using
dma_map_page_attrs") removed "dma_debug_page" enum, but missed to update
type2name string table. This causes incorrect displaying of dma allocation
type. Fix it by removing "page" string from type2name string table.

Before (dma_alloc_coherent()):
k3-ringacc 4b800000.ringacc: scather-gather idx 2208 P=d1140000 N=d114 D=d1140000 L=40 DMA_BIDIRECTIONAL dma map error check not applicable
k3-ringacc 4b800000.ringacc: scather-gather idx 2216 P=d1150000 N=d115 D=d1150000 L=40 DMA_BIDIRECTIONAL dma map error check not applicable

After:
k3-ringacc 4b800000.ringacc: coherent idx 2208 P=d1140000 N=d114 D=d1140000 L=40 DMA_BIDIRECTIONAL dma map error check not applicable
k3-ringacc 4b800000.ringacc: coherent idx 2216 P=d1150000 N=d115 D=d1150000 L=40 DMA_BIDIRECTIONAL dma map error check not applicable

Fixes: 2e05ea5cdc1a ("dma-mapping: implement dma_map_single_attrs using dma_map_page_attrs")
Signed-off-by: Grygorii Strashko <[email protected]>
---
kernel/dma/debug.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/dma/debug.c b/kernel/dma/debug.c
index 2031ed1ad7fa..09b85ba0c137 100644
--- a/kernel/dma/debug.c
+++ b/kernel/dma/debug.c
@@ -137,7 +137,7 @@ static const char *const maperr2str[] = {
[MAP_ERR_CHECKED] = "dma map error checked",
};

-static const char *type2name[5] = { "single", "page",
+static const char *type2name[5] = { "single",
"scather-gather", "coherent",
"resource" };

--
2.17.1


2020-04-08 20:21:52

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH] dma-debug: fix displaying of dma allocation type

On Wed, Apr 08, 2020 at 09:48:04PM +0300, Grygorii Strashko wrote:
> The commit 2e05ea5cdc1a ("dma-mapping: implement dma_map_single_attrs using
> dma_map_page_attrs") removed "dma_debug_page" enum, but missed to update
> type2name string table. This causes incorrect displaying of dma allocation
> type. Fix it by removing "page" string from type2name string table.
>
> Before (dma_alloc_coherent()):
> k3-ringacc 4b800000.ringacc: scather-gather idx 2208 P=d1140000 N=d114 D=d1140000 L=40 DMA_BIDIRECTIONAL dma map error check not applicable
> k3-ringacc 4b800000.ringacc: scather-gather idx 2216 P=d1150000 N=d115 D=d1150000 L=40 DMA_BIDIRECTIONAL dma map error check not applicable
>
> After:
> k3-ringacc 4b800000.ringacc: coherent idx 2208 P=d1140000 N=d114 D=d1140000 L=40 DMA_BIDIRECTIONAL dma map error check not applicable
> k3-ringacc 4b800000.ringacc: coherent idx 2216 P=d1150000 N=d115 D=d1150000 L=40 DMA_BIDIRECTIONAL dma map error check not applicable
>
> Fixes: 2e05ea5cdc1a ("dma-mapping: implement dma_map_single_attrs using dma_map_page_attrs")
> Signed-off-by: Grygorii Strashko <[email protected]>
> ---
> kernel/dma/debug.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/dma/debug.c b/kernel/dma/debug.c
> index 2031ed1ad7fa..09b85ba0c137 100644
> --- a/kernel/dma/debug.c
> +++ b/kernel/dma/debug.c
> @@ -137,7 +137,7 @@ static const char *const maperr2str[] = {
> [MAP_ERR_CHECKED] = "dma map error checked",
> };
>
> -static const char *type2name[5] = { "single", "page",
> +static const char *type2name[5] = { "single",
> "scather-gather", "coherent",
> "resource" };

To make sure this doesn't happen anymore, can you switch to
named initializers?

2020-04-08 20:30:06

by Grygorii Strashko

[permalink] [raw]
Subject: Re: [PATCH] dma-debug: fix displaying of dma allocation type



On 08/04/2020 21:49, Christoph Hellwig wrote:
> On Wed, Apr 08, 2020 at 09:48:04PM +0300, Grygorii Strashko wrote:
>> The commit 2e05ea5cdc1a ("dma-mapping: implement dma_map_single_attrs using
>> dma_map_page_attrs") removed "dma_debug_page" enum, but missed to update
>> type2name string table. This causes incorrect displaying of dma allocation
>> type. Fix it by removing "page" string from type2name string table.
>>
>> Before (dma_alloc_coherent()):
>> k3-ringacc 4b800000.ringacc: scather-gather idx 2208 P=d1140000 N=d114 D=d1140000 L=40 DMA_BIDIRECTIONAL dma map error check not applicable
>> k3-ringacc 4b800000.ringacc: scather-gather idx 2216 P=d1150000 N=d115 D=d1150000 L=40 DMA_BIDIRECTIONAL dma map error check not applicable
>>
>> After:
>> k3-ringacc 4b800000.ringacc: coherent idx 2208 P=d1140000 N=d114 D=d1140000 L=40 DMA_BIDIRECTIONAL dma map error check not applicable
>> k3-ringacc 4b800000.ringacc: coherent idx 2216 P=d1150000 N=d115 D=d1150000 L=40 DMA_BIDIRECTIONAL dma map error check not applicable
>>
>> Fixes: 2e05ea5cdc1a ("dma-mapping: implement dma_map_single_attrs using dma_map_page_attrs")
>> Signed-off-by: Grygorii Strashko <[email protected]>
>> ---
>> kernel/dma/debug.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/kernel/dma/debug.c b/kernel/dma/debug.c
>> index 2031ed1ad7fa..09b85ba0c137 100644
>> --- a/kernel/dma/debug.c
>> +++ b/kernel/dma/debug.c
>> @@ -137,7 +137,7 @@ static const char *const maperr2str[] = {
>> [MAP_ERR_CHECKED] = "dma map error checked",
>> };
>>
>> -static const char *type2name[5] = { "single", "page",
>> +static const char *type2name[5] = { "single",
>> "scather-gather", "coherent",
>> "resource" };
>
> To make sure this doesn't happen anymore, can you switch to
> named initializers?
>

Just to clarify.
Do you mean
[dma_debug_coherent] = "coherent",
?


--
Best regards,
grygorii

2020-04-08 20:32:15

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH] dma-debug: fix displaying of dma allocation type

On Wed, Apr 08, 2020 at 10:13:55PM +0300, Grygorii Strashko wrote:
>>> -static const char *type2name[5] = { "single", "page",
>>> +static const char *type2name[5] = { "single",
>>> "scather-gather", "coherent",
>>> "resource" };
>>
>> To make sure this doesn't happen anymore, can you switch to
>> named initializers?
>>
>
> Just to clarify.
> Do you mean
> [dma_debug_coherent] = "coherent",
> ?

Yes.