* [PATCH RFT] mips: dma-mapping: support debug_dma_mapping_error @ 2012-10-25 23:36 Shuah Khan 2012-10-26 16:01 ` [PATCH RFT RESEND linux-next] " Shuah Khan 0 siblings, 1 reply; 9+ messages in thread From: Shuah Khan @ 2012-10-25 23:36 UTC (permalink / raw) To: ralf, kyungmin.park, m.szyprowski, arnd, andrzej.p Cc: linux-mips, LKML, shuahkhan Add support for debug_dma_mapping_error() call to avoid warning from debug_dma_unmap() interface when it checks for mapping error checked status. Without this patch, device driver failed to check map error warning is generated. Signed-off-by: Shuah Khan <shuah.khan@hp.com> --- arch/mips/include/asm/dma-mapping.h | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/mips/include/asm/dma-mapping.h b/arch/mips/include/asm/dma-mapping.h index be39a12..0929b08 100644 --- a/arch/mips/include/asm/dma-mapping.h +++ b/arch/mips/include/asm/dma-mapping.h @@ -40,6 +40,7 @@ static inline int dma_supported(struct device *dev, u64 mask) static inline int dma_mapping_error(struct device *dev, u64 mask) { struct dma_map_ops *ops = get_dma_ops(dev); + debug_dma_mapping_error(dev, mask); return ops->mapping_error(dev, mask); } -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH RFT RESEND linux-next] mips: dma-mapping: support debug_dma_mapping_error 2012-10-25 23:36 [PATCH RFT] mips: dma-mapping: support debug_dma_mapping_error Shuah Khan @ 2012-10-26 16:01 ` Shuah Khan 2012-10-26 16:45 ` David Daney 0 siblings, 1 reply; 9+ messages in thread From: Shuah Khan @ 2012-10-26 16:01 UTC (permalink / raw) To: ralf, kyungmin.park, arnd, andrzej.p, m.szyprowski Cc: linux-mips, LKML, shuahkhan Add support for debug_dma_mapping_error() call to avoid warning from debug_dma_unmap() interface when it checks for mapping error checked status. Without this patch, device driver failed to check map error warning is generated. Signed-off-by: Shuah Khan <shuah.khan@hp.com> --- arch/mips/include/asm/dma-mapping.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/mips/include/asm/dma-mapping.h b/arch/mips/include/asm/dma-mapping.h index be39a12..006b43e 100644 --- a/arch/mips/include/asm/dma-mapping.h +++ b/arch/mips/include/asm/dma-mapping.h @@ -40,6 +40,8 @@ static inline int dma_supported(struct device *dev, u64 mask) static inline int dma_mapping_error(struct device *dev, u64 mask) { struct dma_map_ops *ops = get_dma_ops(dev); + + debug_dma_mapping_error(dev, mask); return ops->mapping_error(dev, mask); } -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH RFT RESEND linux-next] mips: dma-mapping: support debug_dma_mapping_error 2012-10-26 16:01 ` [PATCH RFT RESEND linux-next] " Shuah Khan @ 2012-10-26 16:45 ` David Daney 2012-10-26 17:06 ` Shuah Khan 0 siblings, 1 reply; 9+ messages in thread From: David Daney @ 2012-10-26 16:45 UTC (permalink / raw) To: shuah.khan Cc: ralf, kyungmin.park, arnd, andrzej.p, m.szyprowski, linux-mips, LKML, shuahkhan On 10/26/2012 09:01 AM, Shuah Khan wrote: > Add support for debug_dma_mapping_error() call to avoid warning from > debug_dma_unmap() interface when it checks for mapping error checked > status. Without this patch, device driver failed to check map error > warning is generated. > > Signed-off-by: Shuah Khan <shuah.khan@hp.com> > --- > arch/mips/include/asm/dma-mapping.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/mips/include/asm/dma-mapping.h b/arch/mips/include/asm/dma-mapping.h > index be39a12..006b43e 100644 > --- a/arch/mips/include/asm/dma-mapping.h > +++ b/arch/mips/include/asm/dma-mapping.h > @@ -40,6 +40,8 @@ static inline int dma_supported(struct device *dev, u64 mask) > static inline int dma_mapping_error(struct device *dev, u64 mask) > { > struct dma_map_ops *ops = get_dma_ops(dev); > + > + debug_dma_mapping_error(dev, mask); > return ops->mapping_error(dev, mask); > } > > Although this is a start, I don't think it is sufficient. As far as I can tell, there are many missing calls to debug_dma_*() in the various MIPS commone and sub-architecture DMA code. Really you (or someone) needs to look at *all* the functions in arch/mips/asm/dma-mapping.h, and arch/mips/mm/dma-default.c and find places missing a debug_dma_*(). Thanks, David Daney ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH RFT RESEND linux-next] mips: dma-mapping: support debug_dma_mapping_error 2012-10-26 16:45 ` David Daney @ 2012-10-26 17:06 ` Shuah Khan 2012-10-26 20:07 ` David Daney 0 siblings, 1 reply; 9+ messages in thread From: Shuah Khan @ 2012-10-26 17:06 UTC (permalink / raw) To: David Daney Cc: ralf, kyungmin.park, arnd, andrzej.p, m.szyprowski, linux-mips, LKML, shuahkhan On Fri, 2012-10-26 at 09:45 -0700, David Daney wrote: > On 10/26/2012 09:01 AM, Shuah Khan wrote: > > Add support for debug_dma_mapping_error() call to avoid warning from > > debug_dma_unmap() interface when it checks for mapping error checked > > status. Without this patch, device driver failed to check map error > > warning is generated. > > > > Signed-off-by: Shuah Khan <shuah.khan@hp.com> > > --- > > arch/mips/include/asm/dma-mapping.h | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/arch/mips/include/asm/dma-mapping.h b/arch/mips/include/asm/dma-mapping.h > > index be39a12..006b43e 100644 > > --- a/arch/mips/include/asm/dma-mapping.h > > +++ b/arch/mips/include/asm/dma-mapping.h > > @@ -40,6 +40,8 @@ static inline int dma_supported(struct device *dev, u64 mask) > > static inline int dma_mapping_error(struct device *dev, u64 mask) > > { > > struct dma_map_ops *ops = get_dma_ops(dev); > > + > > + debug_dma_mapping_error(dev, mask); > > return ops->mapping_error(dev, mask); > > } > > > > > > Although this is a start, I don't think it is sufficient. > > As far as I can tell, there are many missing calls to debug_dma_*() in > the various MIPS commone and sub-architecture DMA code. > > Really you (or someone) needs to look at *all* the functions in > arch/mips/asm/dma-mapping.h, and arch/mips/mm/dma-default.c and find > places missing a debug_dma_*(). Is it correct to assume that this patch is not needed on MIPS until debug_dma interfaces get added to MIPS common and sub-architecture DMA code. When I didn't see dma_map_page() in arch/mips/include/asm/dma-mapping.h defined, and just an extern, I incorrectly assumed, it is getting picked up from <asm-generic/dma-mapping-common.h>, hence the need for this patch in the first place. -- Shuah ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH RFT RESEND linux-next] mips: dma-mapping: support debug_dma_mapping_error 2012-10-26 17:06 ` Shuah Khan @ 2012-10-26 20:07 ` David Daney 2012-10-26 21:51 ` Shuah Khan 0 siblings, 1 reply; 9+ messages in thread From: David Daney @ 2012-10-26 20:07 UTC (permalink / raw) To: shuah.khan Cc: ralf, kyungmin.park, arnd, andrzej.p, m.szyprowski, linux-mips, LKML, shuahkhan On 10/26/2012 10:06 AM, Shuah Khan wrote: > On Fri, 2012-10-26 at 09:45 -0700, David Daney wrote: >> On 10/26/2012 09:01 AM, Shuah Khan wrote: >>> Add support for debug_dma_mapping_error() call to avoid warning from >>> debug_dma_unmap() interface when it checks for mapping error checked >>> status. Without this patch, device driver failed to check map error >>> warning is generated. >>> >>> Signed-off-by: Shuah Khan <shuah.khan@hp.com> >>> --- >>> arch/mips/include/asm/dma-mapping.h | 2 ++ >>> 1 file changed, 2 insertions(+) >>> >>> diff --git a/arch/mips/include/asm/dma-mapping.h b/arch/mips/include/asm/dma-mapping.h >>> index be39a12..006b43e 100644 >>> --- a/arch/mips/include/asm/dma-mapping.h >>> +++ b/arch/mips/include/asm/dma-mapping.h >>> @@ -40,6 +40,8 @@ static inline int dma_supported(struct device *dev, u64 mask) >>> static inline int dma_mapping_error(struct device *dev, u64 mask) >>> { >>> struct dma_map_ops *ops = get_dma_ops(dev); >>> + >>> + debug_dma_mapping_error(dev, mask); >>> return ops->mapping_error(dev, mask); >>> } >>> >>> >> >> Although this is a start, I don't think it is sufficient. >> >> As far as I can tell, there are many missing calls to debug_dma_*() in >> the various MIPS commone and sub-architecture DMA code. >> >> Really you (or someone) needs to look at *all* the functions in >> arch/mips/asm/dma-mapping.h, and arch/mips/mm/dma-default.c and find >> places missing a debug_dma_*(). > > Is it correct to assume that this patch is not needed on MIPS until > debug_dma interfaces get added to MIPS common and sub-architecture DMA > code. No, you have a false predicate here. debug_dma_* *is* already mostly added. The problem is that it is incomplete. That is the nature of the problem. Your patch makes it slightly better, but doesn't fully fix the problems. > > When I didn't see dma_map_page() in arch/mips/include/asm/dma-mapping.h > defined, and just an extern, I incorrectly assumed, it is getting picked > up from <asm-generic/dma-mapping-common.h>, hence the need for this > patch in the first place. > > -- Shuah > > > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH RFT RESEND linux-next] mips: dma-mapping: support debug_dma_mapping_error 2012-10-26 20:07 ` David Daney @ 2012-10-26 21:51 ` Shuah Khan 2012-10-26 22:31 ` David Daney 0 siblings, 1 reply; 9+ messages in thread From: Shuah Khan @ 2012-10-26 21:51 UTC (permalink / raw) To: David Daney Cc: ralf, kyungmin.park, arnd, andrzej.p, m.szyprowski, linux-mips, LKML, shuahkhan On Fri, 2012-10-26 at 13:07 -0700, David Daney wrote: > On 10/26/2012 10:06 AM, Shuah Khan wrote: > > On Fri, 2012-10-26 at 09:45 -0700, David Daney wrote: > >> On 10/26/2012 09:01 AM, Shuah Khan wrote: > >>> Add support for debug_dma_mapping_error() call to avoid warning from > >>> debug_dma_unmap() interface when it checks for mapping error checked > >>> status. Without this patch, device driver failed to check map error > >>> warning is generated. > >>> > >>> Signed-off-by: Shuah Khan <shuah.khan@hp.com> > >>> --- > >>> arch/mips/include/asm/dma-mapping.h | 2 ++ > >>> 1 file changed, 2 insertions(+) > >>> > >>> diff --git a/arch/mips/include/asm/dma-mapping.h b/arch/mips/include/asm/dma-mapping.h > >>> index be39a12..006b43e 100644 > >>> --- a/arch/mips/include/asm/dma-mapping.h > >>> +++ b/arch/mips/include/asm/dma-mapping.h > >>> @@ -40,6 +40,8 @@ static inline int dma_supported(struct device *dev, u64 mask) > >>> static inline int dma_mapping_error(struct device *dev, u64 mask) > >>> { > >>> struct dma_map_ops *ops = get_dma_ops(dev); > >>> + > >>> + debug_dma_mapping_error(dev, mask); > >>> return ops->mapping_error(dev, mask); > >>> } > >>> > >>> > >> > >> Although this is a start, I don't think it is sufficient. > >> > >> As far as I can tell, there are many missing calls to debug_dma_*() in > >> the various MIPS commone and sub-architecture DMA code. > >> > >> Really you (or someone) needs to look at *all* the functions in > >> arch/mips/asm/dma-mapping.h, and arch/mips/mm/dma-default.c and find > >> places missing a debug_dma_*(). > > > > Is it correct to assume that this patch is not needed on MIPS until > > debug_dma interfaces get added to MIPS common and sub-architecture DMA > > code. > > No, you have a false predicate here. > > debug_dma_* *is* already mostly added. The problem is that it is > incomplete. That is the nature of the problem. Your patch makes it > slightly better, but doesn't fully fix the problems. Got it. Thanks. I would volunteer to look at fixing all the problems, but unfortunately I don't have a MIPS box handy for a thorough testing that would be necessary for such a change. -- Shuah > > > > > > When I didn't see dma_map_page() in arch/mips/include/asm/dma-mapping.h > > defined, and just an extern, I incorrectly assumed, it is getting picked > > up from <asm-generic/dma-mapping-common.h>, hence the need for this > > patch in the first place. > > > > -- Shuah > > > > > > > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH RFT RESEND linux-next] mips: dma-mapping: support debug_dma_mapping_error 2012-10-26 21:51 ` Shuah Khan @ 2012-10-26 22:31 ` David Daney 2012-10-30 19:58 ` Shuah Khan 0 siblings, 1 reply; 9+ messages in thread From: David Daney @ 2012-10-26 22:31 UTC (permalink / raw) To: shuah.khan Cc: ralf, kyungmin.park, arnd, andrzej.p, m.szyprowski, linux-mips, LKML, shuahkhan On 10/26/2012 02:51 PM, Shuah Khan wrote: >>>> On 10/26/2012 09:01 AM, Shuah Khan wrote: >>>>> Add support for debug_dma_mapping_error() call to avoid warning from >>>>> debug_dma_unmap() interface when it checks for mapping error checked >>>>> status. Without this patch, device driver failed to check map error >>>>> warning is generated. I'm confused. Your claim that a 'warning is generated' seems to be in conflict with... [...] > Got it. Thanks. I would volunteer to look at fixing all the problems, > but unfortunately I don't have a MIPS box handy This statement that you don't have hardware that exhibits the problem. How was the patch tested? How do you even know there is a problem? David Daney ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH RFT RESEND linux-next] mips: dma-mapping: support debug_dma_mapping_error 2012-10-26 22:31 ` David Daney @ 2012-10-30 19:58 ` Shuah Khan 2012-11-15 18:21 ` Shuah Khan 0 siblings, 1 reply; 9+ messages in thread From: Shuah Khan @ 2012-10-30 19:58 UTC (permalink / raw) To: David Daney Cc: ralf, kyungmin.park, arnd, andrzej.p, m.szyprowski, linux-mips, LKML, shuahkhan On Fri, 2012-10-26 at 15:31 -0700, David Daney wrote: > On 10/26/2012 02:51 PM, Shuah Khan wrote: > > >>>> On 10/26/2012 09:01 AM, Shuah Khan wrote: > >>>>> Add support for debug_dma_mapping_error() call to avoid warning from > >>>>> debug_dma_unmap() interface when it checks for mapping error checked > >>>>> status. Without this patch, device driver failed to check map error > >>>>> warning is generated. > > I'm confused. > > Your claim that a 'warning is generated' seems to be in conflict with... > > > [...] > > Got it. Thanks. I would volunteer to look at fixing all the problems, > > but unfortunately I don't have a MIPS box handy > > This statement that you don't have hardware that exhibits the problem. > > How was the patch tested? How do you even know there is a problem? I enhanced the existing dma debug interfaces to add an interface to debug missing dma_mapping_error() checks. That went into linux-next. With this patch, when dma_map_page() and dma_map_single() are debugged with a call to debug_dma_map_page() and the corresponding dma_mapping_error() interface doesn't call debug_dma_mapping_error() interface, a warning will be generated. I have been sending changes to arch specific dma_mapping_error() routines to add this debug interface. That is why I marked this patch RFT requesting testing. Thanks, -- Shuah ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH RFT RESEND linux-next] mips: dma-mapping: support debug_dma_mapping_error 2012-10-30 19:58 ` Shuah Khan @ 2012-11-15 18:21 ` Shuah Khan 0 siblings, 0 replies; 9+ messages in thread From: Shuah Khan @ 2012-11-15 18:21 UTC (permalink / raw) To: m.szyprowski Cc: ralf, kyungmin.park, arnd, andrzej.p, linux-mips, ddaney.cavm, shuahkhan, LKML On Tue, 2012-10-30 at 13:58 -0600, Shuah Khan wrote: > On Fri, 2012-10-26 at 15:31 -0700, David Daney wrote: > > On 10/26/2012 02:51 PM, Shuah Khan wrote: > > > > >>>> On 10/26/2012 09:01 AM, Shuah Khan wrote: > > >>>>> Add support for debug_dma_mapping_error() call to avoid warning from > > >>>>> debug_dma_unmap() interface when it checks for mapping error checked > > >>>>> status. Without this patch, device driver failed to check map error > > >>>>> warning is generated. > > > > I'm confused. > > > > Your claim that a 'warning is generated' seems to be in conflict with... > > > > > > [...] > > > Got it. Thanks. I would volunteer to look at fixing all the problems, > > > but unfortunately I don't have a MIPS box handy > > > > This statement that you don't have hardware that exhibits the problem. > > > > How was the patch tested? How do you even know there is a problem? > > I enhanced the existing dma debug interfaces to add an interface to > debug missing dma_mapping_error() checks. That went into linux-next. > With this patch, when dma_map_page() and dma_map_single() are debugged > with a call to debug_dma_map_page() and the corresponding > dma_mapping_error() interface doesn't call debug_dma_mapping_error() > interface, a warning will be generated. I have been sending changes to > arch specific dma_mapping_error() routines to add this debug interface. > That is why I marked this patch RFT requesting testing. Marek, This one is for mips to go through your tree with the other arch patches for debug_dma_mapping_error(). Thanks, -- Shuah ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2012-11-15 18:21 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-10-25 23:36 [PATCH RFT] mips: dma-mapping: support debug_dma_mapping_error Shuah Khan 2012-10-26 16:01 ` [PATCH RFT RESEND linux-next] " Shuah Khan 2012-10-26 16:45 ` David Daney 2012-10-26 17:06 ` Shuah Khan 2012-10-26 20:07 ` David Daney 2012-10-26 21:51 ` Shuah Khan 2012-10-26 22:31 ` David Daney 2012-10-30 19:58 ` Shuah Khan 2012-11-15 18:21 ` Shuah Khan
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox