[PATCHv12 7/9] asm-generic/io: Add logging support for MMIO accessors

Greg KH gregkh at linuxfoundation.org
Thu Apr 28 03:51:49 PDT 2022


On Thu, Apr 28, 2022 at 03:25:30PM +0530, Sai Prakash Ranjan wrote:
> Add logging support for MMIO high level accessors such as read{b,w,l,q}
> and their relaxed versions to aid in debugging unexpected crashes/hangs
> caused by the corresponding MMIO operation.
> 
> Signed-off-by: Sai Prakash Ranjan <quic_saipraka at quicinc.com>
> ---
>  include/asm-generic/io.h | 82 ++++++++++++++++++++++++++++++++++++++--
>  1 file changed, 78 insertions(+), 4 deletions(-)
> 
> diff --git a/include/asm-generic/io.h b/include/asm-generic/io.h
> index 7ce93aaf69f8..99090722cb4b 100644
> --- a/include/asm-generic/io.h
> +++ b/include/asm-generic/io.h
> @@ -10,6 +10,7 @@
>  #include <asm/page.h> /* I/O is all done through memory accesses */
>  #include <linux/string.h> /* for memset() and memcpy() */
>  #include <linux/types.h>
> +#include <linux/instruction_pointer.h>
>  
>  #ifdef CONFIG_GENERIC_IOMAP
>  #include <asm-generic/iomap.h>
> @@ -61,6 +62,35 @@
>  #define __io_par(v)     __io_ar(v)
>  #endif
>  
> +#if IS_ENABLED(CONFIG_TRACE_MMIO_ACCESS) && !(defined(__DISABLE_TRACE_MMIO__))

Shouldn't you document __DISABLE_TRACE_MMIO__ somewhere?  It's not even
in the changelog.  Put a big comment above this for what is is for and
how to use it.  Otherwise you will forget all about this in 6 months :)

thanks,

greg k-h



More information about the linux-arm-kernel mailing list